基于Protues的单片机定时计数器应用仿真实验设计毕业论文.docx
《基于Protues的单片机定时计数器应用仿真实验设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于Protues的单片机定时计数器应用仿真实验设计毕业论文.docx(49页珍藏版)》请在冰豆网上搜索。
基于Protues的单片机定时计数器应用仿真实验设计毕业论文
毕业论文
基于Protues的单片机定时计数器应用仿真实验设计
摘 要
单片机体积小,功耗小,价格低,用途灵活,无处不在,属于专用计算机。
是一种特殊器件,需经过专门学习方能掌握应用,应用中需设计专用的硬件和软件。
由于其内部自带两个16位计数器,所以近年来在计数器领域的应用也十分广泛,计数器种类很多,根据构成计数制的不同,可分为二进制计数器和非二进制计数器。
根据计数器的增减趋势,又分为加法、减法和可逆计数器。
还有可预置数和可编程序功能计数器等等。
本设计通过一个由AT89C51单片机控制,结合显示电路、电源电路、LED数码管以及键盘电路等组成的一个简单的秒表系统,对单片机的定时器/计数器的定时和计数原理进行研究。
该系统的核心部分是由单片机最小系统构成,在加上一系列外围电路组成。
这个多功能秒表系统能够是实现两位LED显示,显示的最大时间为24小时59分钟59秒,每秒自动加1,能正确地进行计时,还具有快加、复位功能。
同时还可以当做时钟来使用。
通过C语言编写代码并使用Proteus仿真、调试,实现了LED显示屏实时时间显示,按键切换显示内容的显示状态。
由于Protues具有很强大的仿真调试功能,使用它可以实现在没有单片机硬件仿真器的情况下仍然可以实现单片机系统的软硬件开发的仿真调试。
本系统利用Protues这一功能绘制了LED显示屏原理图、单片机最小系统原理图以及整个完整的秒表系统的工作原理图。
向Protues中下载代码,连接调试成功。
关键词:
单片机秒表protuse
ABSTRACT
Microcontrollerhasmanyadvantagessuchassmallsize,lowconsumption, lowprices,beusedwidely, andbeusedeverywhereandsoon.Itbelongtothe isinaprivate computer. Itisaspecial device, afterspecialized learning youcan masterandapplicationit.Inthe application wemustbedesigned in adedicated hardwareand software.Theinterior comeswith two16-bit counter, soinrecentyearsitbeusedwidely inthe counter field.Therearemanykindsofcounter,Accordingtoconstitutethenotationisdifferent,canbedividedintobinarycounterandthebinarycounter.Accordingtothecounteroftheincreaseanddecreaseofthetrend,anddividedintotheaddition,subtraction,andreversiblecounter.Andpresetnumberandprogrammablefunctioncounterandsoon.
ThisdesignthroughtheAT89C51single-chipmicrocomputercontrol,combinedwiththeshowcircuit,thepowersupplycircuit,LEDdigitaltube,andkeyboardcircuitconsistingofasimplestopwatchsystem,thesinglechipmicrocomputertimer/counterofthetimingandcountprincipleforresearch.Thecoreofthesystemisthesmallestpartofmicrocomputersystemstructure,combinedwithaseriesofperipheryofcircuit.Themulti-functionstopwatchsystemcanrealizeistwoLEDdisplay,displaytimefor00-99secondspersecondtobeautomaticadd1,cancorrectlytoadd,subtract(fall)time,alsohasquicklyaddandresetfunction.
ThroughtheClanguagewritingcodeanduseProteussimulation,commissioning,realizedtheLEDdisplayreal-timetimetoshow,switchbuttonshowingthecontentsofthedisplaystate.BecauseProtueshasverypowerfulsimulationcommissioningfunction,useitcanrealizeinnomicrocontrollerhardwaresimulationsuppressorcanstillachievetheSCMsystemhardwareandsoftwaredevelopmentofthesimulationtest.ThissystemUSESProtuesthisfunctiontodrawtheLEDdisplayprinciplediagram,singlechipminimizesystemdiagramandthecompleteastopwatchsystemworkprinciplediagram.Protuestodownloadthecode,connectiondebuggingsuccess.
Keywords:
microcontroller stopwatch protuse
目 录
1前 言
随着科学技术的不断发展与进步[10],目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。
因此,单片机的学习、开发与应用具有高度现实意义。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
1.在智能仪器仪表上的应用
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。
例如精密的测量设备(功率计,示波器,各种分析仪)。
2.在工业控制中的应用
用单片机可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
3.在家用电器中的应用
可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。
4.在计算机网络和通信领域中的应用
现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
5.单片机在医用设备领域中的应用
单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
6.在各种大型电器中的模块化应用
某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。
如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。
如:
音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。
在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。
7.单片机在汽车设备领域中的应用
单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,abs防抱死系统,制动系统等等。
此外,单片机在计数器技术领域也有着十分广泛的用途。
随着计数器技术的不断发展与进步,计数器的种类越来越多,应用的范围越来越广,随之而来的竞争也越来越激烈。
过硬的技术也成为众多生产厂商竞争的焦点之一。
厂商为了在竞争中处于不败之地,从而不断地改进技术,增加产品的种类。
现计数器的种类以增加到:
电磁计数器、电子计数器、机械计数器(拉动机械计数器、转动机械计数器、按动机械计数器、测长机械计数器)、液晶计数器等。
本文通过对一个简单的秒表系统设计,对单片机的定时/计数功能、最小系统进行研究。
并运用Protues这款强大的仿真工具进行仿真,对单片机的研究和学习真正的做到学以致用把科学技术应用于我们的生活。
2单片机控制电路的设计
2.1单片机介绍
单片机是一种集成在电路芯片[4],是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
单片微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。
单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
早期的单片机都是8位或4位的。
其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。
此后在8031上发展出了MCS51系列单片机系统。
基于这一系统的单片机系统直到现在还在广泛使用。
随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。
90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。
随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。
而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。
目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。
当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。
而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。
事实上单片机是世界上数量最多的计算机。
现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。
手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。
而个人电脑中也会有为数不少的单片机在工作。
汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!
单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机内部也用和电脑功能类似的模块[5],比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可.用它来做一些控制电器一类不是很复杂的工作足矣了。
我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影。
它主要是作为控制部分的核心部件。
它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。
单片机是靠程序运行的,并且可以修改。
通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。
一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!
但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!
只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!
由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?
很多高级的语言已经达到了可视化编程的水平为什么不用呢?
原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。
一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!
对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。
单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。
一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。
可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。
不过,这种电脑,通常是指个人计算机,简称PC机。
它由主机、键盘、显示器等组成。
还有一类计算机,大多数人却不怎么熟悉。
这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。
顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。
因为它体积小,通常都藏在被控机械的“肚子”里。
它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。
现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。
现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。
究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。
2.2单片机的特点和结构原理
2.2.1单片机的特点
AT89C51是ATMEL公司推出的51单片机[9],该系列单片机是采用高性能的静态80C51设计由先进CMOS工艺制造并带有非易失性Flash程序存储器全部支持12时钟和6时钟操作P89C51X2和P89C52X2/54X2/58X2分别包含128字节和256字节RAM32条I/O口线3个16位定时/计数器6输入4优先级嵌套中断结构1个串行I/O口可用于多机通信I/O扩展或全双工UART以及片内振荡器和时钟电路此外由于器件采用了静态设计可提供很宽的操作频率范围频率可降至0可实现两个由软件选择的节电模式空闲模式和掉电模式空闲模式冻结CPU但RAM定时器串口和中断系统仍然工作掉电模式保存RAM的内容但是冻结振荡器导致所有其它的片内功能停止工作由于设计是静态的时钟可停止而不会丢失用户数据运行可从时钟停止处恢复。
它除了具有集成芯片的特点外还有许多特点。
(l)高度集成,体积小、制作方便。
单片机内部集成CUP、内存、1/0口,保证控制功能的实现,双列直插40引脚的单片机尺寸大约只1.srnmxsrnrn,贴片式单片机的尺寸大约有小纽扣大小,给设计制作电路带来了方便。
(2)灵活性好、可靠性高。
在设计电路时,单片机的最小系统就可以提供电路工作所需的时序,因此在设计电路的时候,只要根据具体要求扩展外围电路就可以达到要求。
单片机的工作电压是SV,在单片机内固化不同的程序,实现的功能,它的误差就会控制在可控范围内。
(3)易于扩展ROM、RAM等资源,用途广、价格低。
单片机的资源一般可以满足小系统的应用,若系统较大,单片机可以扩展资源,它有便于扩展的结构及控制引脚,利用它们容易构成各种规模的单片机系统和单片机应用系统。
每片STC89C52单片机的价格大致在8元左右,对于学生和大多数研究开发人员可以承担其开发经费。
2.2.2单片机结构
1.内部结构框图
89C51系列的各单片机的生产厂商和型号的不同,导致其ROM、RAM、中断系统、外围功能模块以及处理器速度等方面有一定的不同[7],但是其基本结构相同,均包括算术逻辑单元ALU、片内RAM、1/0端口、定时器、中断系统等基本的功能单元。
89C51单片机的内部结构如图2.1所示。
图2.189C51内部结构图
2.89C51单片机内部主要部件[1.3.5.6]
(l)算数逻辑单元ALU(ArithmeticLogicUnit)。
运算器是进行算术/逻辑运算的部件,包括存放操作数和运算结果的累加器和寄存器等。
51单片机包含一个8位的算术逻辑单元ALU,它为用户提供了指令系统,在外部时钟频率为12MHz的情况下,多数指令的执行时间仅为lus,乘法指令为4us。
它包括运算器、布尔处理器、累加器A、寄存器B、暂存器、程序状态字PSW寄存器等。
(2)片内存储器。
片内存储器包括数据存储器和程序存储器,即RAM、ROM。
51
单片机提供了128B片内RAM存储器,提供了4KB的片内ROM存储器。
用于存储控制单片机执行操作的代码,或者进行运算的数据。
(3)并行I/O口。
单片机共有4个8位并行I/O口P1、P2、P3和P4共32根引脚,每个I/O口都有自己寄存器、驱动器和锁存器,保证数据的双向传输的稳定运行。
其中P3口具有第二功能,P3口的每位引脚具有特殊功能,其中具体功能如表2.1所示。
表2.1P3口特殊功能表
I/O口引脚
说明
P3.0
RXD-串行数据接收端
P3.1
TXD-串行数据发送端
P3.2
-外部中断0请求端
P3.3
-外部中断1求端
P3.4
T0-定时器/计数器0
P3.5
T1定时器/计数器1
P3.6
-外部数据存储器写选通信号
P3.7
-外部数据存储器读选通信号
(4)定时/计数系统和中断系统。
51单片机内部有两个16位的定时/计数器,通过设置寄存器,实现4种工作模式。
中断系统包含5个中断源,即外部中断。
、外部中断1、定时器/计数器0溢出中断、定时器/计数器1溢出中断和串口中断。
计算机响应中断的先后顺序即中断优先级,系统有默认的级别定义,同时也可以人为设定。
具体的89C51/89C52系列单片机主要包括的功能部件如下:
(l)l个8位的CPU;
(2)片内128/256字节数据存储器RAM/SFR,用以存放可以读/写的数据,如的中间结果、最终结果以及欲显示的数据等;
(3)片内4KB/8KB程序存储器ROMEPROM,用以存放程序、一些原始数据和表格;
(4)4个8位双向UO口,每个端口既可以用作输入,也可以用作输出;
(5)2或3个16位定时/计数器,每个定时/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制;
(6)具有5个或6个中断源、2个中断优先级的中断控制系统:
(7)1个全双工异步串行口,用于实现单片机之间或单片机与PC机之间的串行通信;
(8)片内振荡器和时钟电路,但石英晶体和微调电容需要外接,最高允许振荡频率为24MHZ;
(9)可寻址外部程序存储器和数据存储器,最大范围均为64KB;
(l0)具有位寻址能力。
从以上介绍的单片机的功能部件可以看出单片机可以实现基本的处理器功能,是计算机的微型化,但是单片机的体积小,集成化高,给设计电路带来了方便。
2.3单片机最小系统电路设计
本设计采用的是AT89C51单片机芯片,以它为核心对LED显示屏实现控制。
89C51单片机主要由多个基本部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、1/0口(P0-P3口)、串行口、定时/计数器、中断系统及特殊功能寄存器(SFR)。
它具有51系列单片机所具有的共同的特点,它有40个引脚,包括8位的I/O口四个:
P0、Pl、P2和P3,共32个引脚;电源Vcc引脚,电源地GND引脚,外接晶振引脚XTALI和XTALZ,控制信号引脚:
RST、ALE、
和
[11]。
输入/输出端口:
P0、Pl、P2和P3,每个P口都有八位,其中P0口是准双向口,作为输出口的时候,要先向该口写入1,P0口的内部不包含内部上拉电阻,因此在对P0口操作的时候要在其外部电路加入上拉电阻。
P3口具有第二功能,具体功能详见表2.1,这里不再赘述。
P2口可以用在访问外部程序存储器和16位地址的外部数据存储器时,P2口送出的是高8位地址,P0口提供低8位地址,P0口可分时提供8位数据总线。
控制信号引脚:
RST、ALE、
和
。
RST是单片机的复位引脚,外接硬件电路可以实现单片机的复位操作。
ALE是地址锁存允许信号引脚,高电平有效,当单片机访问外部存储器时,ALE输出信号作为锁存低8位地址的控制信号。
PSEN是程序存储允许输出信号端,主要应用在对片外存储器的操作方面。
EA是外部程序存储器地址允许输入端/固化编程电压输入端,主要应用在访问外部ROM,在实际应用时,保持该引脚是高电平即可。
晶振连接引脚:
XTAL1和XTAL2,在需要接振荡晶体的时候将两个引脚之间跨接一个晶振,如果需要采用外部时钟电路的时候,XTAL1输入外部时钟脉冲,XTAL2引脚悬空。
电源引脚:
Vcc为电源端,接+5V电压源,GND是接地端,接电源地。
单片机如果要正常工作,需要有时钟脉冲源,使单片机有可以