版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
青岛理工大学琴岛学院本科毕业设计说明书(论文)PAGEII摘要本文设计出以STC89C52单片机为核心的四路抢答器。包括以下几个模块:参赛选手及主持人用按键模块、选手抢答成功显示模块、抢答倒计时显示模块、报警系统模块。同时系统能够实现:开始抢答后才有效,开始抢答前无效;抢答限定时间和回答问题的时间设定为15s;抢答成功会显示选手号并有发光二极管提示。该抢答器除具有基本的抢答功能外,还具有计时和报警功能。在规定的时间内无人抢答,则系统中的蜂鸣器将发响,提示主持人本轮抢答无效,实现报警功能。本设计的系统实用性强、判断精确、操作简单、扩展功能强。我们采用了数字显示器直接指示的设计思想,它能根据不同的抢答输入信号,经过单片机的控制处理并产生不同的与输入信号相对应的输出信号,最后通过LED数码管显示相应的路数,即使两组的抢答时间相差几微秒,也可分辨出是哪组优先按下的按键,它充分利用了单片机系统具有结构简单、功能强大、可靠性好、实用性强的特点。关键词:STC89C52单片机,定时器/计数器,数码管,发光二极管,蜂鸣器等AbstractThispaper
designsfour
wayresponder
basedonSTC89C52microcontroller.Includesthefollowingmodules:
contestants
and
thehost
withthekey
module,thecontestantviestoanswerfirst
successful
answerinthecountdown
displaymodule,
displaymodule,
alarm
module.
The
systemcanrealize
effective:beganresponder,Qiangdabeforethestart
timeand
answer
answer
invalid;thetimelimit
setfor15s;
successfulanswer
willshow
contestantnumber
and
alightemittingdiode
tips.
The
responderadditiontoabasic
functionoutside,stillhavetimeandalarmfunction.
Nobodyanswerthequestionontime,
thesystemwillsendthebuzzer
rang,
suggestingthat
hostthiscontestnullandvoid,
realizealarmfunction.Thedesignofthesystem
ispractical,
accuratejudgment,
simpleoperation,strongfunctionexpansion.
Design
weadopteddigitaldisplaydirectinstructions,
itcanaccordingto
answer
differentinputsignals,
the
controlprocessor
andproduce
differentoutputsignal
correspondingtotheinputsignal,
and
displaythecorresponding
number
throughtheLEDdigitaltube,evenifthe
timedifferencebetweenthetwogroupsanswer
afewmicroseconds,
which
canalsobe
distinguished
group
priority
press
button,
itmakesfulluseofthe
singlechipmicrocomputersystem
hasthecharacteristicsofsimplestructure,
powerfulfunction,
goodreliability,
andstrongpracticability.Keywords:
STC89C52microcontroller,timer/counter,
digitaltube,
lightemittingdiode,
abuzzer目录TOC\o"1-3"\f\u摘要 I1绪论 11.1单片机抢答器的背景 11.2数字抢答器的概述 11.3抢答器的应用 11.4国内外研究现状 21.5抢答器目前存在的主要问题 21.6设计要求及目的 22方案设计与选择 42.1实现方式的选择 42.2控制器的选择 42.3显示模块的选择 43硬件的设计 53.1总体设计框图 53.2单片机 53.3参赛选手及主持人用按键模块 143.4选手抢答成功显示模块 143.5抢答倒计时显示模块 163.6报警系统模块 164软件的设计 184.1软件任务分析 184.2抢答器流程图 185系统的仿真 205.1proteus软件的介绍及使用 205.2抢答器proteus软件的仿真 255.3系统的调试 28结论 29致谢 30参考文献 31附录 32附录一总设计图 32附录二C程序 33附录二英译汉 38PAGE491绪论1.1单片机抢答器的背景二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。在知识竞赛中,特别是做抢答题时,在抢答过程中,为了更确切的知道哪一组或哪一位选手先抢答到题,必须要有一个系统来完成这个任务。若在抢答中,只靠人的视觉(或者是听觉)是很难判断出哪一组(或哪一个选手)先抢答到题的。利用单片机编程来设计抢答器,可以使以上问题得以解决,即使两组的抢答时间相差几微秒,也能轻松的分辨出哪一组(或哪个选手)先抢答到题的。本文主要介绍了抢答器的工作原理及设计,以及它的实际用途。1.2数字抢答器的概述单片机把我们带入了智能化的电子领域,许多繁琐的系统若由单片机进行设计,便能收到电路更简单、功能更齐全的良好效果。若把经典的电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。
而随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。本设计就是基于单片机设计抢答系统,通过串口通信动态传输数据,使抢答系统有了更多更完善的功能。单片机系统的硬件结构给予了抢答系统“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在传统的抢答器面前具有电路简单、成本低、运行可靠等特色。对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。选手们都站在同一个起跑线上,体现了公平公正的原则。1.3抢答器的应用随着我国经济和文化事业的发展,在很多公开竞争场合要求有公正的竞争裁决,诸如证券、股票交易及各种智力竞赛等,因此出现了抢答器。抢答器一般是由很多电路组成的,线路复杂,可靠性不高,功能也比较简单,特别是当抢答路数很多时,实现起来就更为困难。因此我们设计了以单片机为核心的新型智能的抢答器,在保留了原始抢答器的基本功能的同时又增加一系列的实用功能并简化其电路结构。抢答器又称为第一信号鉴别器,其主要应用于各种知识竞赛、文艺活动等场合。传统普通抢答器主要存在以下缺陷:(一)、在一次抢答过程中,当出现超前违规抢答时,只能处理违规抢答信号,而对没有违规的有效抢答信号不能进行处理,因而使该次抢答过程变为无效。(二)、当有多个违规抢答时,普通抢答器或采用优先编码电路选择其中一个,或利用抢答电路电子元件的“竞争”选择其中一个。对于后者由于抢答电路制作完毕后电子元件被固定。各路抢答信号的“竞争”能力也被固定,因而本质上也有优先权。普通抢答器存在不公平性。(三)、当有多个违规抢答时,普通抢答器只能“抓住”其中一个而出现“漏洞”。1.4国内外研究现状抢答器作为一种电子产品,早已广泛应用于各种智力和知识竞赛场合,但目前所使用的抢答器有的电路较复杂不便于制作,可靠性低,实现起来很困难;有的则用一些专用的集成块,而专用集成块的购买又很困难。为适应高校等多代表队单位活动的需要而设计一个多功能抢答器,这种抢答器具有电路简单,元件普通,易于购买等优点,很好地解决了制作者制作困难和难于购买的问题。在国内外已经开始了普遍的应用。1.5抢答器目前存在的主要问题随着改革开放事业的不断深入,促使人们学科学、学技术、学知识的手段多种多样,抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。但抢答器的使用频率校低,且有的要么制作复杂,要么可靠性低,减少兴致。作为一个单位若专购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展。而且目前多数抢答器存在3个不足之处:第一,现场线路连接复杂。因为每个选手位于抢答现场的不同位置,每个选手与控制台之间要有长长的连接线。选手越多,连接线就越多、越乱,这些连接线不仅影响了现场的美观,而且降低了抢答器的可靠性,增加了安装的难度,甚至影响了现场人员的走动。第二,电路复杂。因为单片机只完成号码处理、计时、数据运算等功能,其它功能如选手号码的识别、译码、计分显示等仍只能通过数字集成电路完成。采用单片机扫描技术识别选手抢按号码时,电路的延迟时间较大。第三,选手抢按成功,但出现没有抢答被记录的问题。1.6设计要求及目的1.6.1基本功能设计一个抢答器,可以同时供4名选手或4个代表队参加比赛,他们的编号分别是1、2、3、4,各用一个抢答按钮,按钮的编号与选手的编号相对应,也是1、2、3、4。给节目主持人设置一个控制开关clear,用来控制系统的清零(编号显示数码管灭灯)和抢答的开始。抢答器开始时数码管显示抢答倒计时,各组抢答分数显示为0。抢答后显示优先抢答者序号,同时发出音响。并且不出现其他抢答者的序号。1.6.2扩展功能抢答器具有定时抢答的功能,且一次抢答的时间可以由主持人设定,当主持人按下“clear”按钮后,要求定时器立即倒计时,并在显示器上显示,同时扬声器发出短暂声响,声响持续0.5S左右。2)参赛选手在设定的时间内抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答时刻的时间,并保持到主持人将系统清零为止。如果定时抢答时间已到,却没有选手抢答,则本次抢答无效,系统短暂报警,并封存输入电路,禁止选手超时后抢答,时间显示器上显示00。3)设计四个发光二极管当有人抢答成功时相应的发光二极管发出红色的光。2方案设计与选择2.1实现方式的选择 方案一:采用纯数字门电路。通过各种逻辑门电路的组合连接,实现系统功能。此方案设计复杂,电路复杂,功能单一,且需要门电路较多,成本较高,也不美观。维护调试都比较麻烦。 方案二:采用单片机为主控制器。此方案电路简单,设计工作主要是软件设计,设计较为灵活,功能都是通过软件实现,硬件花费少;应用KEIL软件、C语言编程、Proteus仿真等软件,软件设计也较为方便。系统易于调试维护。应用单片机使得系统更具有智能化的特色,是当今的主流。故采用本方案。2.2控制器的选择 方案一:采用AT89C51系列单片机。由于AT系列单片机烧录调试程序需要专门烧写器。购买烧写器成本较高,且烧录不方便。 方案二:采用STC89C51系列单片机。STC8951系列单片机为AT8951的同类替代产品,除去和AT8951具有的相同性能外,还可以直接用串口烧录程序,大大简化了程序烧写的流程。降低了成本,加快了开发周期。考虑到单片机内部存储器的大小(STC89C52的flash为8K,RAM为512),本系统选用STC89C52单片机。2.3显示模块的选择 方案一:采用L12864液晶显示。此器件能显示4*8个字符,操作简便,但器件很小,视觉效果差。 方案二:采用数码管显示。此器件价格较低廉,能显示数字,亮度较高,且规格较多,本系统可选用大尺寸、高亮度的LED数码管。故选用此方案。3硬件的设计为使硬件电路设计尽可能合理,应注意以下几方面:(1)尽可能采用功能强的芯片,以简化电路,功能强的芯片可以代替若干普通芯片,随着生产工艺的提高,新型芯片的的价格不断下降,并不一定比若干普通芯片价格的总和高。(2)留有设计余地。在设计硬件电路时,要考虑到将来修改扩展的方便。因为很少有一锤定音的电路设计,如果现在不留余地,将来可能要为一点小小的修改或扩展而被迫进行全面返工。(3)程序空间,选用片内程序空间足够大的单片机,本设计采用STC89C52单片机。(4)I/O端口,在样机研制出来后进行现场试用时,往往会发现一些被忽视的问题,而这些问题不是靠单纯的软件措施来解决的。如有些新的信号需要采集,就必须增加输入检测端;有些物理量需要控制,就必须增加输出端。如果在硬件电路设计就预留出一些I/O端口,虽然当时空着没用,那么用的时候就派上用场了。3.1总体设计框图单单片机参赛选手及主持人用按键模块选手抢答成功显示模块抢答倒计时显示模块报警系统模块图3-1系统的硬件框图本次设计是以STC89C52单片机为核心的独立抢答器,其中包括独立按键、发光二极管、LED数码管、蜂鸣器等3.2单片机3.2.1单片机的选择单片机选用的是Atmel公司推出的STC89C52,它是一种低损耗、高性能、CMOS八位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。在单芯片上拥有灵巧的8位CPU和在线系统可编程Flash,使得STC89C52具有以下标准功能:8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定时器/计数器串口、中断继续工作。掉电保护方式下RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。而且,它还具有一个看门狗(WDT)定时/计数器。如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。STC89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中端口,2个16位可编程定时计数器,2个全双工串行通信口,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。由于单片机的种类很多,在选择单片机时要依据实际设计要求选择合适的单片机。例如当设计仅仅需要一个单片机定时器那么选择89C1051或89C2051即可,而不选择89C52,因为后者的价格较高一些。当然若程序和数据区的要求较高那么选择的单片机还要满足程序空间的要求。下面我们来比较89C51和89C52:表3.151和52的比较数据存储器程序存储器定时器中断51系列128B4KB2552系列256B8KB38在本课题中,我们选用现在较为流行的52系列单片机,即选用ATMEL公司的STC89C52。3.2.2STC89C52单片机STC89C52单片机采用40Pin封装的双列直接DIP结构,图3-2是它的引脚配置,40个引脚中,电源Vcc和接地GND各一根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口和P3口复用。现在我们对这些引脚的功能加以说明。VCC:电源GND:地P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体如表3-2所示。在flash编程和校验时,P1口接收低8位地址字节。P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。在访问外部程序存储器或用16位地址读取外部数据存储器时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。表3.2P1口引脚及功能表引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MIOS(在系统编程用)P1.7SCK(在系统编程用)P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。P3口亦作为STC89C52特殊功能(第二功能)使用,如表3.3所示。在flash编程和校验时,P3口也接收一些控制信号。表3.3P3口引脚及功能表引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2/INT0(外部中断0)P3.3/INT0(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(外部1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。/PSEN:外部程序存储器选通信号(/PSEN)是外部程序存储器选通信号。STC89C52从外部程序存储器执行外部代码时,/PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,/PSEN将不被激活。/EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,/EA必须接GND。为了执行内部程序指令,/EA应该接VCC。在flash编程期间,/EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。图3-2STC89C52的引脚图3.2.3时钟频率电路的设计时钟电路是计算机的心脏,它控制着计算机的工作节奏。单片机允许的时钟频率是因型号而异的。晶振的选择:6MHz的晶振,其机器周期是2us。12MHz的晶振,其机器周期是1us,也就是说在执行同一条指令时用6MHz的晶振所用的时间是12MHz晶振的两倍。为了提高整个系统的性能我选择了12MHz的晶振。振荡方式的选择:内部振荡方式,单片机内部都有一个反相放大器,XTAL1、XTAL2分别为反相放大器输入和输出端,外接定时反馈元件以后就组成振荡器,产生时钟送至单片机内部的各个部件。这样就构成了内部振荡方式外部振荡方式是把已有的时钟信号引入单片机内。这种方式适合用来使单片机的时钟与外部信号一致。在我的这个设计中没有也无需与外部时钟信号一致,所以我选择了内部振荡方式,由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。晶振我选择了12MHz,相对于6MHz的晶振,整个系统的运行速度更快了。电容器C1、C2起稳定振荡频率、快速起振的作用,电容值我选择了30pF。内部振荡方式所得的时钟信号稳定性高。图3-3时钟电路图单片机必须在时钟的驱动下才能工作.在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。C1,C2的典型值为30PF。单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。其大小是时钟信号频率的倒数,常用fosc表示。如时钟频率为12MHz,即fosc=12MHz,则时钟周期为1/12µs。3.2.4复位电路的设计单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,图3-4复位电路图3.3参赛选手及主持人用按键模块该模块用的是独立按键,共分为七个。按键一般分为独立按键和矩阵按键:独立按键控制简单,但是所需的端口较多;矩阵按键控制较复杂,要有横向和纵向的扫描。本次设计所需的按键不多,为了应用的方便选用独立按键。按键是人与微机系统打交道的主要设备,应用按键可以方便的控制系统。图3-5独立按键图该电路有七个独立按键。按键key1-key4分别是四位选手或四个代表队的按键,当开始抢答时按下相应的按键即可抢答。按键key9-key11主要是对答题和抢答时间调整而设计的,开始按键用clear即key11表示,作用是将系统状态在调整状态和应答状态相互转换,在调整状态时,裁判可以用“+”即key10、“-”即key9按钮调整抢答时间,抢答时间的初始值设置为15秒;应答状态时,系统可以响应选手的抢答,并给出相关反应。“clear”按钮接P3.7,“+”按钮接P3.6,“-”按钮接P3.5。3.4选手抢答成功显示模块本模块包括抢答成功时数码管显示抢答成功的选手号和抢答成功选手的led灯亮。3.4.1数码管显示本电路由数码管、三极管构成。三极管的作用是为数码管提供驱动,使之更亮。单片机引脚接三极管基极,控制三极管的导通对数码管选择位控制。数码管为共阳极数码管。如图3-6所示。图3-6显示电路图从左到右四个数码管一次是:抢答倒计时的十位和个位、不显示、显示抢答成功号码。显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。在这里我们使用的是七段数码管显示,通常在显示上我们采用的方法一般包括两种:一种是静态显示,一种是动态显示。其中静态显示的特点是显示稳定不闪烁,程序编写简单,但占用端口资源多;动态显示的特点是显示稳定性没静态好,程序编写复杂,但是相对静态显示而言占用端口资源少。在本设计中根据实际情况采用的是动态显示方法。3.4.2发光二极管显示本次设计一共用了四个红色的发光二极管,设计发光二极管的目的是为了显示当有人抢答成功时的提示,若有人抢答成功则发光二极管就会发出红色的光直到主持人按clear键。图3-7发光二极管图3.5抢答倒计时显示模块本模块是为了显示倒计时的时间,用两位数码管显示。倒计时的时间长短可由主持人设计,按键key8、key9是倒计时的加减键。3.6报警系统模块本模块要用来进行报警提示,在抢答无效、本次无人抢答、抢答成功时都能发出报警声,以提醒主持人和选手。报警系统的应用多种多样:有发光报警;有红外线的指示;有声响报警等。根据本次设计的目的和要求用声音报警最为合适。我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。用P3.3口和蜂鸣器相连,在抢答开始和抢答过程中有人抢答,则会给选手答题警示声。若定时时间已到,无人抢答则本次抢答无效,系统报警并禁止抢答,定时显示器上最终显示为00。图3-8蜂鸣器4软件的设计4.1软件任务分析软件任务分析和硬件电路设计结合进行,哪些功能由硬件完成,哪些任务由软件完成,在硬件电路设计基本定型后,也就基本上决定下来了。软件任务分析环节是为软件设计做一个总体规划。从软件的功能来看可分为两大类:一类是执行软件,它能完成各种实质性的功能,如测量,计算,显示,打印[8],输出控制和通信等,另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系统软件中充当组织调度角色的软件。这两类软件的设计方法各有特色,执行软件的设计偏重算法效率,与硬件关系密切,千变万化。软件任务分析时,应将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义(输入输出定义)。在各执行模块进行定义时,将要牵扯到的数据结构和数据类型问题也一并规划好。各执行模块规划好后,就可以监控程序了。首先根据系统功能和键盘设置选择一种最适合的监控程序结构。相对来讲,执行模块任务明确单纯,比较容易编程,而监控程序较易出问题。这如同当一名操作工人比较容易,而当一个厂长就比较难了。软件任务分析的另一个内容是如何安排监控软件和各执行模块。整个系统软件可分为后台程序(背景程序)和前台程序。后台程序指主程序及其调用的子程序,这类程序对实时性要求不是太高,延误几十ms甚至几百ms也没关系,故通常将监控程序(键盘解释程序),显示程序和打印程序等与操作者打交道的程序放在后台程序中执行;而前台程序安排一些实时性要求较高的内容,如定时系统和外部中断(如掉电中断)。也可以将全部程序均安排在前台,后台程序为“使系统进入睡眠状态”,以利于系统节电和抗干扰4.2抢答器流程图流程图是使用图形表示算法的思路是一种极好的方法,不论采用何种程序设计方法,程序总体结构确定后,一般以程序流程图的形式对其进行描述。总体框图中的各个子模块或各个子任务也应该结合具体的教学模型和算法画出较详细的程序流程图,供后面编写具体程序和阅读程序使用。流程图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。流程图的基本结构为顺序结构,分支结构(又称选择结构),循环结构。为便于识别,绘制流程图的习惯做法是:方框表示:要执行的处理(Process)平行四边型表示:代表资料输入(Input)不规则图形代表资料输出(Output)或报表输出(Print)菱形表示:决策或判断(例如:If...Then...Else)读取倒计时时间设计读取倒计时时间设计开始抢答有按键按下?按键处理结束本轮抢答倒计时时间?到?到??有按键按下?超时处理犯规处理开始是是是是是否否否否图4-1软件流程图5系统的仿真本次设计的仿真用的是keil和Proteus的联调,做出仿真效果,使得设计结果更加形象具体。5.1proteus软件的介绍及使用5.1.1什么是Proteus软件Proteus软件是LabcenterElectronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。下图是Protues软件初始界面:图5-1Protues软件初始界面该软件的特点有:满足常用单片机软件仿真系统的标准,并在同类产品中具有明显优势。具有模电仿真、数电仿真、单片机及其外围电路组成系统仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC系列以及各种外围芯片。支持大量的存储器和外围芯片。5.1.2怎样操作Proteus仿真软件在进行下面的操作前,我先说明一点:我的Proteus版本是7.1,如果你使用的是6.9以前的版本,可能你发现在鼠标操作上会略有不同。这主要表现在6.9以前的版本鼠标左右键的作用与一般软件刚好相反,而7.0以后已经完全改过。首先我们把压缩文件解压到D盘,然后找到ISISManage找到Findkey然后再安装即可使用,双击打开桌面是上的那个软件即可使用。下面我们首先来熟悉一下Proteus的界面。Proteus是一个标准的Windows窗口程序,和大多数程序一样,没有太大区别,其启动界面如下图所示:图5-2Proteus启动界面图如图中所示,区域①为菜单及工具栏,区域②为预览区,区域③为元器件浏览区,区域④为编辑窗口,区域⑤为对象拾取区,区域⑥为元器件调整工具栏,区域⑦为运行工具条。下面我们就以建立一个和我们在Keil简介中所讲的工程项目相配套的Proteus工程为例来详细讲述Proteus的操作方法以及注意事项。首先点击启动界面区域③中的“P”按钮(PickDevices,拾取元器件)来打开“PickDevices”(拾取元器件)对话框从元件库中拾取所需的元器件。对话框如下图所示:图5-3用proteus软件查找元器件在对话框中的“Keywords”里面输入我们要检索的元器件的关键词,比如我们要选择项目中使用的AT89C51,就可以直接输入。输入以后我们能够在中间的“Results”结果栏里面看到我们搜索的元器件的结果。在对话框的右侧,我们还能够看到我们选择的元器件的仿真模型、引脚以及PCB参数。搜索到所需的元器件以后,我们可以双击元器件名来将相应的元器件加入到我们的文档中,那么接着我们还可以用相同的方法来搜索并加入其他的元器件。当我们已经将所需的元器件全部加入到文档中时,我们可以点击“OK”按钮来完成元器件的添加。添加好元器件以后,下面我们所需要做的就是将元器件按照我们的需要连接成电路。首先在元器件浏览区中点击我们需要添加到文档中的元器件,这时我们就可以在浏览区看到我们所选择的元器件的形状与方向,如果其方向不符合你的要求,你可以通过点击元器件调整工具栏中的工具来任意进行调整,调整完成之后在文档中单击并选定好需要放置的位置即可。接着按相同的操作即可完成所有元器件的布置,接下来是连线。事实上Proteus的自动布线功能是如此的完美以至于我们在做布线时从来都不会觉得这是一项任务,而通常像是在享受布线的乐趣。布线时我们只需要单击选择起点,然后在需要转弯的地方单击一下,按照你所需走线的方向移动鼠标到线的终点单击即可。本例我们布线的结果如下图所示(仿真我们在上面的Keil操作介绍中的简单例子)。图5-4发光二极管发光原理图因为该工程十分简单,我们没有必要加上复位电路,所以这点在图中予以忽略,请大家注意。除此以外,你可能还发现,单片机系统没有晶振,这一点你需注意。事实上在Proteus中单片机的晶振可以省略,系统默认为12MHz,而且很多时候,当然也为了方便,我们只需要取默认值就可以了。Proteus中单片机芯片默认已经添加电源与地,所以我们可以省略。然后在添加电源与地以前,我们先来看一下上面第一个图中区域⑤的对象拾取区,在这里只说明本文中可能会用得到的以及比较重要的工具。l:(SelectionMode)。选择模式,通常情况下我们都需要选中它,比如布局时和布线时。l:(ComponentMode)。组件模式,点击该按钮,能够显示出区域③中的元器件,以便我们选择。l
:(WireLabelMode)。线路标签模式,选中它并单击文档区电路连线能够为连线添加标签。经常与总线配合使用。l
:(TextScriptMode)。文本模式,选中它能够为文档添加文本。l
:(BusesMode)。总线模式,选中它能够在电路中画总线。关于总线画法的详细步骤与注意事项我们在下面会进行专门讲解。l:(TerminalsMode)。终端模式,选中它能够为电路添加各种终端,比如输入、输出、电源、地等等。l:(VirtualInstrumentsMode)。虚拟仪器模式,选中它我们能够在区域③中看到很多虚拟仪器,比如示波器、电压表、电流表等等。关于它们的用法我们会在后面的相应章节中详细讲述。添加电源:首先点击,选择终端模式,然后在元器件浏览区中点击POWER(电源)来选中电源,通过区域⑥中的元器件调整工具进行适当的调整,然后就可以在文档区中单击放置电源了。连接好电路图以后我们还需要做一些修改,由上5-1-3图我们可以看出,图中的R1电阻值为10k,这个电阻作为限流电阻显然太大,将使发光二极管D1亮度很低或者根本就不亮,影响我们的仿真结果。故要进行修改,修改方法:首先我们双击电阻图标,这时软件将弹出“EditComponent”对话框(见下图所示的对话框),对话框中的“ComponentReferer”是组件标签之意,可以随便填写,也可以取默认,但要注意在同一文档中不能有两个组件标签相同;“Resistance”就是电阻值了,我们可以在其后的框中根据需要填入相应的电阻值。填写时需注意其格式,如果直接填写数字,则单位默认为Ω;如果在数字后面加上K或者k,则表示kΩ之意。这里我们填入220,表示220Ω。修改好各组件属性以后就要将程序(HEX文件)载入单片机了。首先双击单片机图标,系统同样会弹出“EditComponent”对话框,如下图。在这个对话框中我们点击“Programfiles”框右侧的,来打开选择程序代码窗口,选中相应的HEX文件后返回,这时,按钮左侧的框中就填入了相应的HEX文件,我们点击对话框的“OK”按钮,回到文档,程序文件就添加完毕了。图5-5装载程序装载好程序,我们就可以进行仿真了。首先来熟悉一下上面第一个图中区域⑦的运行工具条。因为比较简单,我们只作一下介绍。工具条从左到右依次是“Play”、“Step”、“Pause”、“Stop”按钮,即运行、步进、暂停、停止。下面我们点击“Play”按钮来仿真运行,效果如下图所示,可以看到系统按照我们的程序在运行着,而且我们还能看到其高低电平的实时变化。如果我们已经观察到了结果就可以点击“Stop”来停止运行。5.2抢答器proteus软件的仿真绘制抢答器的软件仿真图右一下步骤:(1)、查找所需要的元器件;(2)、根据电路图进行连线;(3)、下载所写完的C程序即可以仿真。通过以上步骤,来实现抢答器设计的仿真实现,仿真如下图所示:当所有选手都准备完成后,仿真初始状态如下图:图5-1初始图开始抢答时,当有人抢答成功时的图如下,截图为选手1抢答成功,12表示抢答倒计时,1表示选手1抢答成功,led灯亮也表示选手1抢答成功。图5-2抢答成功图当抢答倒计时时间到是如果没有人抢答,则四个led灯不亮,数码管从左到右以次显示00、不显示、不显示。图5-3无人抢答图5.3系统的调试系统调试包括硬件调试和软件调试,而且两者是密不可分的。我们设计好的硬件电路和软件程序,只有经过联合调试,才能验证其正确性;软硬件的配人情况以及是否达到设计任务的要求,也只有经过调试,才能发现问题并加以解决、完善,最终开发成实用产品。因本次设计没有具体的硬件电路,故没有硬件调试。软件调试一般包括分块调试和联机调试两个阶段。程序的分块调试一般在单片机开发装置上进行,可根据所调程序功能块的入口参量初值编制一个特殊的程序段,并连同被调程序功能块一起在开发装置上运行;也可配合对应硬件电路单独运行某程序功能块,然后检查是否正确,如果执行结果与预想的不一致,可以通过单步运行或设置断点的方法,查出原因并加以改正,直到运行结果正确为止。这时该程序功能块已调试完毕,可去掉附加程序段。其它程序功能块可按此法进行调试。程序联机调试就是将已调试好的各程序功能块按总体结构联成一个完整程序,在所研制的硬件电路上运行。从而试验程序整体运行的完整性、正确性和与硬件电路的配合情况。在联调中可能会有某些支路上的程序、功能块因受条件制约而得不到相应的输入参数,这时,调试人员应创造条件进行模拟调试。在联调中如发现硬件问题也应及时修正,直到单片机系统的软件、硬件全部调试成功为止。系统调试完成后,还要进行一段时间的试运行,从而检验系统的稳定性和抗干扰能力,验证系统功能是否达到设计要求,是否达到预期的效果。结论经过近几个月的努力,在老师和同学的商讨和帮助下,我较好的完成了设计任务,通过此次课程设计,我重新认识到了自学的重要性,以及学以致用的道理。也让我深刻明白了理论知识与社会实践相结合的道理,得到了以前书本知识所不曾得到的知识,更加明白了如今信息时代电子技能知识的重要性。我在图书馆查阅了大量的资料,同时也认识到了图书馆的重要作用。通过此次的抢答器的设计,让我重新拾起了以前所学习的电子知识,及我觉得此次设计让我更加巩固了所学的知识并在设计的过程中学会了与时俱进,克服了编程的枯燥感,让我受益匪浅。在学习单片机这门课程的时候,我们应该记好你的记笔记,课下好好的做练习题才能把C程序设计灵活的运用到单片机程序的设计上,在单片机这门课程的学习上,我们还应该知道一种常用的仿真软件proteus软件,可以让你我们更为清晰的掌握89C51/52系列的实际应用上的设计。在今后的学习过程中,应该多到图书馆看一些专业方面的书籍,以丰富自己的知识。也使我加深了对单片机及接口技术的理解和应用,由于知识水平的局限,设计中可能会存在着一些不足,我真诚的接受老师和同学的批评和指正.。本设计增强了我对实际通信技术、电子信息等方面的认识,掌握了分析、处理问题的方法、逻辑思维能力等基本技能的训练,具有了一定程度的实际工作能力。本次设计还有不足的地方,例如还可以将设计的扩展功能增强:1、可以设计声控装置,在主持人说开始时,系统自动完成清零并开始计时的功能。2、增加记分模块,可以设定初始积分,并记录每次抢答完成后的积分。3、将抢答按键用无线实现,如红外线,使抢答者可以远距离进行抢答,并简化按键模块的线路布置。如果提供相应的器材及时间上的宽限,一定可以完成上述扩展功能,进一步完善作品。在本次设计中,我明白了,再困难的问题,只要把它分开来实现,再将这些组合起来,问题就可得到解决。这使我受益匪浅,对我今后的工作和学习有着深远的影响。致谢经过近几个月的艰苦奋战,我的毕业设计已接近尾声。在这几个月的时间里,我衷心感谢我的指导老师姚老师,在课题选定、理论指导和方案的论证上,对我精心的指导和耐心的鼓励,使我能够坚持到底,毕业设计有了圆满的结果。除此之外,在课题进行当中,还得到了其他老师的细心指导和诸多帮助,他们的无私帮助和耐心指导也是我得以完成本课题的关键。他们渊博的知识,深邃的思想,严谨的治学风格、平易近人的处事态度和幽默风趣的话语,让我在学习知识和解决问题时感到无比的轻松和愉快。至此论文定稿之际,对老师表示衷心的感谢!感谢老师能在繁忙之中抽出时间为我提供耐心的指导,帮我们解决在设计过程中遇到的种种问题。可以说如果没有他们的帮助我就不可能顺利的按时完成毕业设计。我还要感谢我的一些同学,他们在我最需要帮助的时候无私的伸出了援助之手,在此,对于他们无私的帮助我表示深深的感谢。真诚的感谢所有的帮助过我的老师们,同学们、家人和朋友们。感谢对本设计进行评审的专家们,感谢他们给我提出的宝贵意见和建议。参考文献[1]李全利.单片机原理及接口技术.高等教育出版社[2]公茂法.单片机原理与实践.北京航空航天出版社[3]及力.Protel99原理图与PCB设计教程.电子工业出版社[4]李广弟.单片机基础[M].北京:北航出版社.2010[5]胡学海.单片机原理及应用系统设计[M].北京:京电子工业出版社.2005[6]邹其洪,黄智伟,高嵩,等编著.电工电子实验与计算机仿真[M].电子工业出版社.2005[7]陆坤、奚大顺.电子设计技术.电子科技大学出版社.1997[8]孙梅生.电子技术基础课程设计.高等教育出版社.1989[9]李永平.电路设计实用教程.北京:国防工业出版社.2004[10]张鑫.单片机原理及应用.电子工业出版社.2010[11]李泉溪.单片机原理与应用实例仿真.北京航天航空大学出版社.2009[12]张洪润.单片机应用设计200例.北京航空航天大学出版社2006[13]万光毅.单片机实验与实践教程.北京航天航空大学出版社.2003[14]全国大学生电子设计竞赛组委会.第九届全国大学生电子设计竞赛获奖作品选编.北京理工大学出版社[15]康华光、陈大钦、张林.电子技术基础.华中科技大学出版社.2002[16]谢自美.电子线路设计·实验·测试(第三版).华中科技大学出版社.2006[17]刘岚编.电路分析基础.北京:高等教育出版社,2009附录附录一总设计图附录二C程序#include"reg51.h"#defineLED_DATA_PORT P0 //0亮,共阳数码管#defineADJUST 0 //抢答器处于调整状态#defineANSWER 1 //抢答状态sbitCOM1_1=P2^0; sbitCOM1_2=P2^1;sbitCOM1_3=P2^2;sbitCOM1_4=P2^3;sbitkey1=P1^0;sbitkey2=P1^1;sbitkey3=P1^2;sbitkey4=P1^3;sbitled1=P1^4;sbitled2=P1^5;sbitled3=P1^6;sbitled4=P1^7;sbitkey9=P3^5;//倒计时减sbitkey10=P3^6;//倒计时加sbitkey11=P3^7;//清零端,控制端sbitbeep=P3^3; //蜂鸣器响unsignedcharnum1=0,time=15; //num1是用来辅助定时器计数,//累计时间到一秒,time为倒计时unsignedcharshi=0,ge=0; //倒计时time的十位和个位unsignedcharresult=0; //抢答结果unsignedcharstate=ADJUST; //抢答器状态,初始为调整状态unsignedcharflag=0;//结束标识,状态标识,0复位,没有有效信号;//1有人抢答,结束抢答过程; //2时间到,无人抢答,结束抢答过程constunsignedcharledNum[]={//0123456789ABCDEF不显示-o(18)H(19)h(20)C(21)0(22)n(23)0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xA7,0xA1,0x86,0x8e,0xFF,0xbf,0xa3,0x89,0x8b,0xc6,0xc0,0xab};/*延时函数,含有输入参数unsignedintt,无返回值unsignedint是定义无符号整形变量,其值的范围是0~65535*/voidDelay(unsignedintt){while(--t);}voidDelay_ms(unsignedintn)//延时函数,n毫秒{unsignedinti,j; for(i=n;i>0;i--) for(j=110;j>0;j--);}voidSoundStart(void)//开始声音{beep=1; Delay_ms(200); beep=0;}voidSoundWarning(void){unsignedchari; for(i=0;i<20;i++)//报警声音 {beep=1; Delay_ms(i); beep=0; Delay_ms(20-i); }}voidSoundOver(void){unsignedchari; for(i=0;i<80;i++)//结束声音 {beep=1; Delay(100); beep=0; Delay(100); }}unsignedcharKeyScan_4(void)//按键扫描函数,只扫描K1到K4{unsignedcharnum=0; if(key1==0) {Delay_ms(10); if(key1==0) {led1=0; num=1; returnnum; } } if(key2==0) {Delay_ms(10); if(key2==0) {led2=0; num=2; returnnum; } } if(key3==0) {Delay_ms(10); if(key3==0) {led3=0; num=3; returnnum; } } if(key4==0) {Delay_ms(10); if(key4==0) {led4=0; num=4; returnnum; } } returnnum;}unsignedcharKeyScan_3(void)//只扫描S11,S10,S9,分别为控制端,倒计时加,倒计时减{unsignedcharnum=0; if(key9==0) {Delay_ms(10); if(key9==0) {num=9; while(!key9); returnnum; } } if(key10==0) {Delay_ms(10); if(key10==0) {num=10; while(!key10); returnnum; } } if(key11==0) {Delay_ms(10); if(key11==0) {num=11; while(!key11); returnnum; } } returnnum;}unsignedcharKeyScan_1(void)//按键扫描函数,只扫描控制端,清零端S11,P3.7{unsignedcharnum=0; if(key11==0) {Delay_ms(10); if(key11==0) {num=11; led1=1; led2=1; led3=1; led4=1; beep=0; while(!key11); returnnum; } } returnnum;}voidCloseInter(void){TR0=0;//停止定时器0 ET0=0;//关定时器0中断 EA=0;//关总中断}voidOpenInter(void)//重新打开中断{num1=0;//计数初始化 TH0=(65535-45872)/256;//装初值,11.0592M晶振,50毫秒 TL0=(65535-45872)%256; EA=1;//开总中断 ET0=1;//开定时器0中断 TR0=1;//启动定时器0}voidDisplayClose(void)//关数码管显示{COM1_1=0; COM1_2=0; COM1_3=0; COM1_4=0;LED_DATA_PORT=0X00;//考虑到要保护硬件,不能长时间让数码管承受反向电压, //但再次使用数码管时,要先送段选,再打开位选。}voidDisplayTime(void)//倒计时显示,调用该函数之前要先关闭显示//因为是动态扫描,所以要在循环里面一直重复执行{LED_DATA_PORT=ledNum[shi]; COM1_1=1; Delay(200); COM1_1=0;LED_DATA_PORT=ledNum[ge]; COM1_2=1; Delay(200); COM1_2=0; }voidDisplayResult(void)//显示结果,将抢答结果,即抢答者序号,倒计时所剩时间显示出来,//该函数之前要先关闭显示,因为是动态扫描,所以要在循环里面一直重复执行{LED_DATA_PORT=ledNum[result]; COM1_4=1; Delay(200); COM1_4=0;LED_DATA_PORT=ledNum[shi]; COM1_1=1; Delay(200); COM1_1=0;LED_DATA_PORT=ledNum[ge]; COM1_2=1; Delay(200); COM1_2=0;}voidKeyFree(void)//按键释放{if(KeyScan_4()) {Delay_ms(10); if(KeyScan_4()) {state=ADJUST; while(KeyScan_4()); } }}voidProcessAdjust(void)//定时器调整进程{time=15; shi=time/10; ge=time%10; while(!state) {switch(KeyScan_3()) {case9://倒计时减 time--; if(time<=0)time=30; shi=time/10; ge=time%10; break; case10://倒计时加 time++; if(time>30)time=1; shi=time/10; ge=time%10; break; case11://状态转换 state=ANSWER; break; default:; } DisplayTime(); //实时刷新倒计时, //存在的问题:Keyscan()函数可能会占用一定时间, //对数码管动态扫描显示有影响 //解决方案:可以把Keyscan函数分开, //只检测key9,key10,key11三个按键,减少扫描时间 } KeyFree();}voidProcessAnswer(void)//定时器抢答进程{ KeyFree();//按键释放,在抢答开始之前,确保所有按键都以释放,//否则,发出报警声 flag=0;//结束标识复位,0复位,没有有效信号; OpenInter(); SoundStart(); while(flag==0) {DisplayTime(); switch(KeyScan_4()) {case1: result=1; flag=1;//有人抢答,结束抢答过程; break; case2: result=2; flag=1; break; case3: result=3; flag=1; break; case4: result=4; flag=1; break; default:; } } CloseInter();//抢答结束,关闭定时器 if(flag==1)//有人抢答 {SoundOver(); while(state) {DisplayResult(); if(KeyScan_1()==11)state=ADJUST; } } else//无人抢答 {SoundWarning(); while(state) { DisplayTime(); if(KeyScan_1()==11)state=ADJUST; } }}voidmain(void){unsignedinti=0; DisplayClose(); //关闭数码管 beep=0; //关闭蜂鸣器 TMOD=0X11; //设置定时器工作方式为1 while(1) {switch(state) {caseADJUST: ProcessAdjust(); break; caseANSWER: ProcessAnswer(); break; default:; } }}voidTimer0(void)interrupt1//定时器0中断服务函数{TH0=(65535-45872)/256;//重装初值 TL0=(65535-45872)%256; num1++; if(num1>=20)//一秒时间到 {num1=0; time--;shi=time/10; ge=time%10; //刷新显示倒计时 if(time<=0) {//抢答时间到,关闭中断,封锁电路,设置time初值 flag=2;//时间到,无人抢答,结束抢答过程 } }}SinglechipmicrocomputerSinglechip
isanintegratedcircuit
chip,
istheuseoflargescaleintegratedcircuit
technologyhastheabilitytohandledata
ofCPUCPU,
RAMram,
RomROM,avarietyofI/Oportand
interruptsystem,
timer/counter
andotherfunctions
(whichmayalsoinclude
adisplaydrivecircuit,
pulsewidthmodulationcircuit,
analogmultiplexer,
A/Dconverter
integrated
circuit)
to
asmallbut
perfect
microcomputersystem
ononepieceofsilicon,
iswidelyusedinthefieldofindustrialcontrol.
Fromthelastcentury80's,
the
4bit,
8bitMCUMCU
development
atthattime,
to
thepresent300M.1OverviewAsthesinglechipcomputer,isatypical
embeddedmicro
controller(Microcontroller
Unit),TheacronymMCU
commonlyused
English
letters
MCU,
microcontrolleralsoknownassingle-chipmicrocontroller,
itisnotthecompletionofa
logicfunctionofthechip,
butacomputer
systemintegratedintoa
chip.
SCM
bytheunit,controller,
memory,
inputandoutput
devices,
equivalenttoamicro-computer(minimumsystem),
and
comparedwiththe
singlechip
computer,
thelackofperipheralequipment.
Summaryspeaking:a
chiphasbecomeacomputer.
Ithastheadvantagesofsmallvolume,
lightweight,
cheap,
forthestudy,applicationanddevelopmentoffacilitiesprovided.
Atthesametime,
learningtousetheMCUisto
understandthe
principleandstructureofthecomputerthe
best
choice.
It
wasfirstusedinindustrial
controlfield.Duetothewide
applicationofMCU
inthefieldofindustrialcontrol,
MCU
anddedicatedprocessor
development
by
onlyCPU
chip.
Thefirstdesignis
byalargenumberofperipheralsand
CPUinasinglechip,
thecomputersystemsothatsmaller,
moreeasilyintegratedintothe
complex
andthe
volume
controldevices
strict
requirements.INTEL
8080
isthefirst
processordesignedinaccordancewiththisidea,
whenthe
microcontrolleris8
or4bits.
Oneofthemost
successfulistheINTEL8051,
thendevelopedin8051outof
MCS51
seriessinglechip
system.Becausesimple,
reliableandgoodperformancewas
alotofpraise.
Althoughsince2000,
ARMhasdeveloped
a
frequencyof32
bit
morethan300M
ofhigh-endsingle-chip,
untilnow,
using8051
microcontroller
isstillwidely
basedon.
Inmanyways
morethanadedicatedsingle-chipprocessor
suitableforembeddedsystems,
soit
hasbeenwidelyapplied.
FactSCM
istheworld'slargestnumber
ofprocessor,
withthedevelopmentof
MCUfamily
grew,
thedevelopmentofmicrocontrolleranddedicatedprocessors
willpartcompanyeachgoinghisownway.Modernhumanlifeusedin
almosteverypieceof
electronicdevice
productswillbeintegratedsinglechip.
With
mobilephone,
telephone,
calculator,
householdappliances,
electronictoys,
palmtop
computer
andmouse
andotherelectronicproducts
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理评估工具图
- 护理部培训学员反馈
- 放射科护理工作职业伦理建设
- 2026年农田节水灌溉设备选型与安装维护
- 2026年老年人跌倒预防与应急处理手册
- 2026年结核病防治新技术新方法介绍培训
- 2026年艾滋病机会性感染预防知识讲座教案
- 2026年口腔科器械清洗消毒灭菌流程
- 关于开展体育健身活动的通知(3篇)范文
- 遵纪守法从业承诺书6篇
- 2026湖北武汉首义科技创新投资发展集团有限公司招聘8人笔试历年备考题库附带答案详解
- (四模)新疆2026年高三普通高考五月适应性文科综合试卷(含答案及解析)
- 邮政寄递活动方案策划(3篇)
- 2026四川宜宾市科教产业投资集团有限公司下属子公司第一批自主招聘33人考试备考题库及答案解析
- (二模)2026年广州市普通高中高三毕业班综合测试(二)物理试卷(含答案及解析)
- 初中八年级英语下册 Unit 7 Natural Disasters 写作提升课:灾害事件报道与个人经历叙述教案
- 江苏国企社招笔试内容题库
- 2026年安全生产专项整治攻坚方案
- 智能护理技术在手术室护理中的应用
- CRC培训管理制度
- FZ/T 72016-2012针织复合服用面料
评论
0/150
提交评论