版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------最新基于单片机的简易数字钟--课程设计说明书汇编课程设计说明书(2012/2013学年第二学期)课程名称:单片机应用题目:基于单片机的简易数字钟专业班级:自动化10-自动化(3)班学生姓名:倪明飞学号:100412329指导教师:韩昱苗敬利等设计周数:2周设计成绩:2013年6月26日6基于单片机的数字钟课程设计报告摘要目录第1章绪论 1.1课题背景……………11.2课题来源……………2 1.3本章小结……………2第2章相关器件的结构 2.1MCS-51的结构………………………32.2CD4511…………………42.37段数码管……………62.4三极管结构……………72.5本章小结…………… 8第3章总体设计方案 3.1原始数据及主要任务…………………83.2技术要求………………83.3器件清单………………8 3.4设计方案………………9 3.5总电路原理图…………9第4章电路的硬件设计 4.1复位电路………………10 4.2时钟电路………………114.3按键电路………………114.4整点报时电路…………124.5数码管显示电路………………………134.6本章小结…………… 14第5章电路的软件设计 115.1软件程序内容……………155.2软件流程图……………155.3定时程序设计……………17实时时钟实现的基本方法……………17实时时钟程序设计步骤………………175.4程序说明…………………185.5本章小结…………………18第6章系统仿真6.1PROTUES软件介绍………………………186.2电子钟系统PROTUES仿真………………18第7章调试与功能说明7.2系统性能测试与功能说明………………207.3系统时钟误差分析………………………207.1硬盘调试…………………207.4软件调试问题及解决……………………20第8章结论与展望 158.1结束语…………………218.2单片机的发展趋势……………………21参考文献……………………23附录…………………………23致谢…………………………35摘要单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。本论文基于单片机原理技术介绍了一款于MCS-51芯片作为核心控制器的单片机简易数字钟的设计与制作,包括硬件电路原理的实现方案设计、软件程序编辑的实现、数字钟正常工作的流程、原理图仿真实现、硬件实物的安装制作与硬件实物的调试过程。该单片机数字电子钟采用LED数码管能够准确显示时间(显示格式为:时时,分分),可随时进行时间调整,时间可采用24小时制显示。不仅能满足所需要求而且还有很多功能可供开发,有着广泛的应用领域关键词:单片机
;数字电子钟
;数码管
第1章绪论1.1课题背景单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。20世纪80年代中期以后,Intel公司以专利转让的形式把8051内核技术转让给许多半导体芯片生产厂家,如ATMEL、PHILIPS、ANALOG、DEVICES、DALLAS等。这些厂家生产的芯片是MCS-51系列的兼容产品,准确地说是与MCS-51指令系统兼容的单片机。这些兼容机与8051的系统结构(主要是指令系统)相同,采用CMOS工艺,因而,常用80C51系列来称呼所有具有8051指令系统的单片机,它们对8051单片机一般都作了一些扩充,更有特点。其功能和市场竞争力更强,不该把它们直接称呼为MCS-51系列单片机,因为MCS只是Intel公司专用的单片机系列型号。MCS-51系列及80C51单片机有多种品种。它们的引脚及指令系统相互兼容,主要在内部结构上有些区别。目前使用的1.2课题来源现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以以数码管为显示器的时钟比指针式的时钟表现出了很大的优势。数码管显示的时间简单明了而且读数快、时间准确显示到秒。而机械式的依赖于晶体震荡器,可能会导致误差。数字钟往往是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。数字钟的精度、稳定度远远超过老式机械钟。在这次设计中,我们采用LED数码管显示时、分,以24小时计时方式,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,定时器计数。在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。数字钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱,因此得到了广泛的使用。1.3本章小结本文介绍的设计是针对教学所用的单片机,可以完成教学所需的功能,也可以达到实验要求。第2章相关器件的结构2.1MCS-51的结构MCS-51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。但对各种功能部件的控制是采用特殊功能寄存器(SFR)的集中控制方式。单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。⒈电源:⑴VCC-芯片电源,接+5V;⑵VSS-接地端⒉时钟:XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。⒊控制线:控制线共有4根,⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲①ALE功能:用来锁存P0口送出的低8位地址②PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。⑵ PSEN:外ROM读选通信号。⑶ RST/VPD:复位/备用电源。RST(Reset)功能:复位信号输入端。②VPD功能:在Vcc掉电情况下,接备用电源。⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。①EA功能:内外ROM选择端。②Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。⒋I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。2.2CD4511CD4511是一个用于驱动共阴极LED(数码管)显示器的BCD码—七段码译码器,特点:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。可直接驱动LED显示器。CD4511是一片CMOSBCD—锁存/7段译码/驱动器。其中abcd为BCD码输入,a为最低位。LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“8”,各笔段都被点亮,以检查显示器是否有故障。BI为消隐功能端,低电平时使所有笔段均消隐,正常显示时,B1端应加高电平。另外CD4511有拒绝伪码的特点,当输入数据越过十进制数9(1001)时,显示字形也自行消隐。LE是锁存控制端,高电平时锁存,低电平时传输数据。a~g是7段输出,可驱动共阴LED数码管。另外,CD4511显示数“6”时,a段消隐;显示数“9”时,d段消隐,所以显示6、9这两个数时,字形不太美观图3是CD4511和CD4518配合而成一位计数显示电路,若要多位计数,只需将计数器级联,每级输出接一只CD4511和LED数码管即可。所谓共阴LED数码管是指7段LED的阴极是连在一起的,在应用中应接地。限流电阻要根据电源电压来选取,电源电压5V时可使用300Ω的限流电阻。CD4511的工作原理1.CD4511的工作真值表如下表表3-2CD4511的真值表2.锁存功能译码器的锁存电路由传输门和反相器组成,传输门的导通或截止由控制端LE的电平状态。当LE为“0”电平导通,TG2截止;当LE为“1”电平时,TG1截止,TG2导通,此时有锁存作用。
(3)译码
CD4511译码用两级或非门担任,为了简化线路,先用二输入端与非门对输入数
据B、C进行组合,得出四项,然后将输入的数据A、D一起用或非门译码。
(4)消隐
BI为消隐功能端,该端施加某一电平后,迫使B端输出为低电平,字形消隐。消隐控制电路。
消隐输出J的电平为J==(C+B)D+BI如不考虑消隐BI项,便得J=(B+C)D
据上式,当输入BCD代码从1010---1111时,J端都为“1”电平,从而使显示器中的字形消隐。2.37段数码管LED数码管及引脚图资料7段LED数码管是利用7个LED(发光二极管)外加一个小数点的LED组合而成的显示设备,可以显示0~9等10个数字和小数点,使用非常广泛,它的外观如下:这类数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点);共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点),如下图所示。图中的8个LED分别与上面那个图中的A~DP各段相对应,通过控制各个LED的亮灭来显示数字。2.4三极管三极管的基本结构是两个反向连结的pn接面,如图1所示,可有pnp和npn两种组合。三个接出来的端点依序称为射极(emitter,E)、基极(base,B)和集极(collector,C),名称来源和它们在三极管操作时的功能有关。图中也显示出npn与pnp三极管的电路符号,射极特别被标出,箭号所指的极为n型半导体,和二极体的符号一致。在没接外加偏压时,两个pn接面都会形成耗尽区,将中性的p型区和n型区隔开。晶体三极管的用途主要是交流信号放大,直流信号放大和电路开关。使用晶体管作放大用途时,必须在它的各电极上加上适当极性的电压,称为“偏置电压”简称“偏压”,又“偏置偏流”。电路组成上叫偏置电路。晶体管各电极加上适当的偏置电压之后,各电极上便有电流流动。通过发射极的电流称为“射极电流”,用IE表示;通过基极的电流称为“基极电流”,用IB表示;通过集电极的电流称为“集极电流”,用IC表示。2.5本章小结本章介绍了一些基本器件结构,MCS-51,7段数码管,三极管。只有了解这些器件的结构、功能,才可以更好地更简洁地设计电路。第3章总体设计方案3.1原始数据及主要任务 本次课程设计的任务是采用AT89S51作为控制单元,实现数字钟的设计。(1)设计键盘输入电路(2)设计显示电路(3)合理分配地址,编写系统程序(4)利用Protel设计硬件电路原理图和PCB图(5)软硬件联机调试3.2技术要求设计一台以MCS-51为核心的简易数字钟。用p2口控制4只段码管,四位数码管显示小时和分钟,中间的那个点来区分小时和分钟;每秒用一个LED闪烁一下;用了四个按键,分别是:选择键,确认键,加1键和减1键。时间要精准,整点报时,声音间隔一秒,并且可以调整时间、调整闪烁提示。3.3器件清单电阻:200(1个)330(7个)4.7K(1个)470(1个)1K(5个)10K(4个)按键开关:5个电容:30pF(2个)电解电容:22μF(1个)晶振:6MHZ(1个)CD4511:(1个)三极管:NPN(4个)PNP(1个)共阴极数码管:(4个)底座:DIP40(2个)DIP16(1个)万能电路板:1个AT89S51(1片)导线若干3.4设计方案数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。标准的频率时间信号必须做到准确稳定,通常使用石英晶体振荡电路构成数字钟。本次课程设计的内容是设计一个数字钟,由单片机通过编辑的程序控制电路,实现显示时、分的一个电子时钟。并且可以通过按键选择调整时钟时间,以及暂停的功能。按键输入单元控制单元MCS-C51P1.4-P1.7按键输入单元控制单元MCS-C51P1.4-P1.7显示单元P0.0-P0.3按键单元P2.4-P2.7译码单元报时单元图3-1电路方框图3.5电路原理图第4章电路的硬件设计4.1复位电路MCS-51单片机的复位是由外部的复位电路来实现的。在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。复位是由外部的复位电路来实现的。片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。当时钟频率选用6MHz时,C取22μF,Rs约为200Ω,Rk约为1K。复位操作不会对内部RAM有所影响。常用的复位电路如下图所示:图复位电路图4.2时钟电路时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。本文用的是内部时钟方式。电路图如下:MCS-51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。4.3按键电路按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的常长短与开关的机械特性有关,一般在5-10ms之间。为了避免CPU多次处理按键的一次闭合,应采用措施消除抖动。本文采用的是独立式按键,直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。电路图如下:输入信号主要是各种模式选择和调整信号,由按键开关提供。在本实验中主要用用P0口输入按键信号,对于P0口,由于其存在高阻状态,为了实现开关功能,给其添加上拉电阻。P0.0能选择键,按键选择要调整的时十位、时个位、分十位或分个位。P0.1字“+“键,按一下则对应的数字加1。P0.2字“-”键,按一下则对应的数字减1。P0.3能确认键,。4.4整点报时电路电路图如下:4.5数码管显示电路数码管显示器成本低,配置灵活,与单片机接口简单,在单片机应用系统中广泛应用。数码管的工作原理用CD4511实现LED与单片机的并行接口方法如图所示。数码管共阴极接单片机P0口输出的片选信号选择点亮的数码管,从而达到了显示输出动态显示的效果。由于CD4511的驱动电流,数码管共阴极不用外加三极管或者74LS245等装置驱动数码管。当P2口低4位某位置1时,与其相连的三极管导通,集电极为低电平,因为是共阴极数码管,所以与该三极管相连的数码管选通,显示P2口输出的数。4.6本章小结本章介绍的是本设计的硬件结构,单片机的相关I/O口输入输出就可以实现相应的控制功能。还介绍了单片机的复位电路和时钟电路。第5章电路的软件设计5.1软件程序内容本设计的软件程序包括主程序、中断子程序、整点报时子程序、时钟显示子程序和延时子程序等等。另外由于电路中有四个按键,还另外设计了防抖动程序来防止干扰。5.2软件流程图软件程序整个流程图如下:开始开始初始化初始化是是是否按时间确认键是否按时间确认键切换时间表切换时间表选择键选择被调时间选择键选择被调时间否否调整时间调整时间是是否与时间表时间匹配是是否与时间表时间匹配调用扬声器程序调用扬声器程序否否T0中断服务子程序T0中断服务子程序重置T0定时初值1s到?Y秒加11min到?Y分加1,秒清零1小时到?Y分清零,秒清零NNN返回5.3定时程序设计单片机的定时功能也是通过计数器的计数来实现的,此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲,也就是每经过1个机器周期的时间,计数器加1。如果MCS-51采用的12MHz晶体,则计数频率为1MHz,即每过1us的时间计数器加1。这样可以根据计数值计算出定时时间,也可以根据定时时间的要求计算出计数器的初值。MCS-51单片机的定时器/计数器具有4种工作方式,其控制字均在相应的特殊功能寄存器中,通过对特殊功能寄存器的编程,可以方便的选择定时器/计数器两种工作模式和4种工作方式。定时器/计数器工作在方式0时,为13位的计数器,由TLX(X=0、1)的低5位和THX的高8位所构成。TLX低5位溢出则向THX进位,THX计数溢出则置位TCON中的溢出标志位TFX.当定时器/计数器工作于方式1,为16位的计数器。本设计单片机定时器,所以MCS-51内部的定时器/计数器被选定为定时器工作模式,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1。5.3.1实时时钟实现的基本方法时钟的最小计时单位是秒,但使用定时器的方式1,最大的定时时间也只能达到131ms。我们可把定时器的定时时间定为50ms。这样,计数溢出20次即可得到时钟的最小计时单位:秒。而计数20次可以用软件实现。秒计时是采用中断方式进行溢出次数的累积,计满20次,即得到秒计时。从秒到分,从分到时是通过软件累加并进行比较的方法来实现的。要求每满1秒,则“秒”单元中的内容加1;“秒”单元满60,则“分”单元中的内容加1;“分”单元满60,则“时”单元中的内容加1;“时”单元满24,则将时、分、秒的内容全部清零。5.3.2实时时钟程序设计步骤(1)选择工作方式,计算初值;(2)采用中断方式进行溢出次数累计;(3)从秒——分——时的计时是通过累加和数值比较实现的;(4)时钟显示缓冲区:时钟时间在方位数码管上进行显示,为此在内部RAM中要设置显示缓冲区,共4个地址单元。显示缓冲区从左到右依次存放时、分数值;(5)主程序:主要进行定时器/计数器的初始化编程,然后反复调用显示子程序的方法等待中断的到来。(6)中断服务程序:进行计时操作(7)加1子程序:用于完成对时、分的加操作,中断服务程序在分、时加1时共有三种条调用加1子程序,包括三项内容:合字、加1并进行十进制调整、分字。5.4程序说明在整个系统中,在单片机的30H、31H中存储当前时间的小时、分钟。由于要用数码管显示当前的时间,必须用到分字和合字,因此在33H、34H、35H和36H中存储当前时间的时十位、时个位、分十位、分个位,方便显示。本设计有由四个轻触按键组成的小键盘,这些按键可以任意改变当前的状态。按功能移位键一次,表示当前要校对小时的十位;按第二次,表示当前校对的是小时的个位;按第三次,则表示校对的是分钟的十位;第四次,表示的校对的是分钟的个位。按下数字“+”键和数字“-”键可在当前校对的数字上相应加上1或者减去1。5.5本章小结这一章介绍了本设计的软件设计,所有的功能在流程图里清晰的表现了出来,体现了设计的合理性、可实现性。第6章系统仿真6.1PROTUES软件介绍Proteus软件是LabcenterElectronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。6.2数字钟钟系统PROTUES仿真用PROTUES软件,根据数字钟的原理图,画出仿真图,得到的图如下所示。第7章调试与功能说明单片机应用系统的调试包括硬件和软件两部分,但是他们并不能完全分开。一般的方法是排除明显的硬件故障,再进行综合调试,排除可能的软/硬件故障。7.1硬盘调试拿到电路板后,首先要检查加工质量,并确保没有任何方面的错误,如短路和断路,尤其要避免电源短路;元器件在安装前要逐一检查,用万用表测其数值,看是否与所用相同;完成焊接后,应先空载上电(芯片座上不插芯片),并检查各引脚的电位是否正确。若一切正常,方可在断电的情况下将芯片插入,再次检查各引脚的电位及其逻辑关系。将万用表的探针放到单片机接电源的引脚上检测一下,看是否符合要求。7.2系统性能测试与功能说明走时:默认为走时状态,按24小时制分别显示“时时-分分”,有2个“-”动态显示,时间会按实际时间以秒为最少单位变化。走时调整:按kmin对分进行调整,按一下加一分;按khour对时进行调整,按一下加一小时,从而达到快速设定时间的目的。7.3系统时钟误差分析时间是一个基本物理量,具有连续、自动流逝、不重复等特性。我国时间基准来自国家授时中心,人们日常使用的时钟就是以一定的精度与该基准保持同步的。结合时间概念和误差理论,可以定义电子钟的走时误差S=S1-S2,S1表示程序实际运行计算所得的秒;S2表示客观时间的标准秒。S>0时表示电子钟秒单元数值刷新滞后,即走时误差为“慢”;反之,S<0表示秒单元数值的刷新超前,即走时误差为“快”。本次设计的单片机电子钟系统中,其误差主要来源包括晶体频率误差,定时器溢出误差,延迟误差。晶体频率产生震荡,容易产生走时误差;定时器溢出的时间误差,本应这一秒溢出,但却在下一秒溢出,造成走时误差;延迟时间过长或过短,都会造成与基准时间产生偏差,造成走时误差。7.4软件调试问题及解决软件程序的调试一般可以将重点放在分模块调试上,统调是最后一环。软件调试可以采取离线调试和在线调试两种方式。前者不需要硬件仿真器,可借助于软件仿真器即可;后者一般需要仿真系统的支持。本次课题,Keil软件来调试程序,通过各个模块程序的单步或跟踪调试,使程序逐渐趋于正确,最后统调程序。第8章结论与展望8.1结束语学习的时候只是做过几次很简单的实验,现在知道要做课程设计并拿到题目时,才发现原来我们学的欠缺太多。通过这次课程设计我发现,只有理论水平提高了;才能够将课本知识与实践相整合,理论知识服务于教学实践,以增强自己的动手能力。这个实验十分有意义我获得很深刻的经验。通过这次课程设计,我们知道了理论和实际的距离,也知道了理论和实际想结合的重要性,,也从中得知了很多书本上无法得知的知识。我们的学习不但要立足于书本,以解决理论和实际教学中的实际问题为目的,还要以实践相结合,理论问题即实践课题,解决问题即课程研究,学生自己就是一个专家,通过自己的手来解决问题比用脑子解决问题更加深刻。学习就应该采取理论与实践结合的方式,理论的问题,也就是实践性的课题。这种做法既有助于完成理论知识的巩固,又有助于带动实践,解决实际问题,加强我们的动手能力和解决问题的能力。8.2单片机的发展趋势自单片机出现至今,单片机技术已走过了几十年的发展路程。纵观几十年来单片机发展历程可以看出,单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,拉动广泛的应用领域,表现出比微处理器更具个性的发展趋势:1.采用先进结构以实现高性能在过去的一段时间内,单片机的指令运行速度一直在10MIPS以下,这对于应用在工业控制领域内的单片机来说是足够了,但当单片机被应用在通讯及DSP领域作为高速运算、编码或解码时,就会出现因指令运行速度不够而限制单片机应用的情形,因此提高单片机指令运行速度已经成为迫切需要解决的问题。2.进一步降低功耗、基于80C51的飞利浦低功率、低系统成本微控制器51LPC系列是业界推动单片机向低功耗方向发展的主导单片机系列之一。51LPC系列单片机采用以下三种方法降低功耗:(1)使系统进入空闲模式,在空闲模式下,只有外围器件在工作,任意的复位及中断均可结束空闲模式;(2)使系统进入低功耗模式,在低功耗模式下,振荡器停止工作,是功耗降到最小(3)使系统进入低电压EPROM操作;EPROM包含了模拟电路,当Vcc高于4V时,可通过软件使这些模拟电路掉电以降低功耗,在上电情况下可使系统退出该模式。3.采用FlashMemory随着半导体工艺技术的不断进步,MPU的Flash版本逐渐替代了原有的OTP版本。FlashMPU具有以下优点:与多次可编程的窗口式EPROM相比,FlashMPU的成本要低得多;在系统编程能力以及产品生产方面提供了灵活性,因为FlashMPU可在编程后面再次以新代码重新编程;可减少已编程器件的报废和库存;有助于生产厂商缩短设计周期,使终端用户产品和、更具有竞争力。4.集成更多功能及兼容性目前单片机的另一个发展趋势是在芯片上集成更多的功能。如模拟功能,包括模拟比较器、A/D和D/A转换器等。具体表现在:兼容性作为设计的第一考虑;额外的新的特点是透明的;使用同一种编程器;OTP使器件快速提升及标准化成为可能。5.强抗干扰能力不断加强抗干扰能力是单片机进一步发展的必然趋势。STMicroelectronics公司推出的ST62系列单片机在这方面是佼佼者,其优良的抗干扰能力使得许多大公司将其应用在系统中的关键部件上。许多单片机开发商也正朝着这个方向努力。6.朝系列化、全面化方向发展各大单片机开发商在增加产品功能的同时效力于形成产品的系列化=全面化,以满足各种控制领域的要求,这也是单片机发展的趋势之一。日本TOSHBA公司开发了从4位到64位的多系列单片机,日立公司也有从4.位到32位的单片机,目前还没有哪个厂家生产的单片机比东芝公司的种类多。随着单片机性能的不断提高,不断的克服和弥补自身的不足。在各种控制领域,单片机将拥有更加广阔的使用天地。在很长的一段时间内,它将一直是工程设计人员的首选控制芯片之一。参考文献[1]权明富,齐佳音,舒华英.客户价值评价指标体系设计[J].南开管理评论,2004,7(3):17-18.[6]ATMEL.MicrocontrollerDatabook.2002[9]张友德.单片微型机原理、应用与实践.上海:复旦大学出版社.1992[10]李华.MCS-51系列单片机实用接口技术,北京:北京航空航天大学出版社.1993[11]何希庆,高伟.MCS-51单片机原理、实验、实例[M].山东:山东大学出版社.1989[12]张毅刚,彭喜源,潭晓昀.MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社.1997[13]胡汉才.单片机原理及接口技术[M],北京:清华大学出版社.1996[14]余永权,单片机与家用电器智能化设计[M].北京:电子工业出版社.1995[15]房小翠,王金凤.单片微型计算机与机电接口技术[M].北京国防工业出版社.2002[17]Maxim公司.NewreleasesDataBook1996附录连接方法:P1口与JP5,P0口与J12,P2口与J16,用8PIN排线连接 ************************************************************************************/#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintucharcodetable[]={~0xC0,~0xf9,~0xa4,~0xb0,~0x99,~0x92,~0x82,~0xf8,~0x80,~0x90,~0x88,~0x83,~0xc6,~0xa1,~0x86,~0x8e,~0xff,~0x0c,~0xbf};/*0-F、灭(16)、P.-*/uchart0,t1,min,hour,function,a0,a1,a2,a3;bitshan;voiddelay(uintcount);ucharkeychuli();ucharkey();voiddisplay(uchar,uchar,uchar,uchar);voidsend();voidini();voidchuli();//***************主函数**********************************************voidmain(){ ini(); while(1) { display(16,16,16,17); //没有键按下是侠士P. if(key()==1) //当k1按下后则定时器驱动时钟开始走 {TR0=1;function=1;shan=0; while(1) { send(); //送数 display(a0,a1,a2,a3);//显示 chuli(); //处理 } } }}//*************初始化程序******************************************void ini(){ TMOD=0x01, TH0=0x3c,TL0=0xb0;TH1=0x3c,TL1=0xb0; //定时50ms中断一次 EA=1,ET0=1,TR0=0;ET1=1;TR1=0;}//**************键值处理程序*************************voidchuli(){ switch(key()) { case0: break; case1: //当按键k1按下后 {function++; //判断按下的次数 switch(function) {case1:TR0=1;TR1=0;shan=0;break; //一次条秒同时闪烁 case2: //两次调分同时闪烁 case3: //三次调分同时闪烁 case4: TR0=0;TR1=1;shan=1;break; //四次跳出调整状态时钟继续走时 case5: function=1;TR0=1;TR1=0;shan=0;break; //轮流循环 } } break; case2: //k2键上调 { switch(function) { case1: break; //case2: sec++; if(sec==60) sec=0;break; case3: min++; if(min==60) min=0;break; case4: hour++; if(hour==24)hour=0;break; } } break; case4: //k3键下调 { switch(function) { case1: break; //case2: sec--; if(sec==255)sec=59;break; case2: min--; if(min==255)min=59;break; case3: hour--; if(hour==255)hour=23;break; } } break; } }//*************定时器0的中断服务程序************************voidtimer0()interrupt1using3{ TH0=0x3c,TL0=0xb0; t0++; if(t0==1200) { t0=0; //sec++; //if(sec==60) //{ //sec=0; min++; if(min==60) { min=0; hour++; {if(hour==24) hour=0; } } } } //*************定时器1的中数服务程序,对shan取反,以使灯闪烁***************voidtimer1()interrupt3using2{ TH0=0x3c,TL0=0xb0; t1++; if(t1==40) { t1=0; shan=~shan; } }//***********************************************ucharkeychuli(){uchark; k=P1;//P1口内容送K k=~k;//取反 k=(k&0xff);//屏蔽高4位,如果扫描8键,屏蔽该句。 return(k);//返回键值}/*************************************************************************函数原型:key();*功能:键盘扫描函数,函数返回值即键值。************************************************************************/ucharkey(){ucharkeyzhi,keyzhii;//电子钟键盘按键键值临时存放keyzhi=keychuli();//调P1口处理函数if(keyzhi!=0)//有键动作延时去抖动,否则函数返回 { send(); display(a0,a1,a2,a3); display(a0,a1,a2,a3); keyzhi=keychuli();//再次调P1口处理函数 if(keyzhi!=0)//真正有键按下,取键值并暂存 { keyzhii=keyzhi; while(keyzhi!=0)//判按键是否释放,没有释放延时去抖动等待释放 { send(); display(a0,a1,a2,a3); display(a0,a1,a2,a3);keyzhi=keychuli(); } keyzhi=keyzhii;//按键释放后恢复按键键值 } }return(keyzhi);//返回按键键值}//***************显示子程序*******************************************************************voiddisplay(uchara3,uchara2,uchara1,uchara0){ P2=table[a3]; P1=0x80; delay(1); P2=table[a2]; P1=0xb0; delay(1); P2=table[a1]; P1=0xd0; delay(1); P2=table[a0]; P1=0xe0; delay(1);}//******************将数送至缓冲单元,当shan的标志位为1时,再根据此时的此时的功能标示,对该位熄灭**************************voidsend() { //a0=sec%10; //a1=sec/10; //a2=18; a0=min%10; a1=min/10; //a5=18; a2=hour%10; a3=hour/10; if(shan==1) {switch(function) { case2: a0=16,a1=16;break; case3: a2=16,a3=16;break; //case4: a6=16,a7=16;break; } }}//**************************延时子程序基数为1毫秒*************************************************voiddelay(uintcount){uintj;while(count--!=0){for(j=0;j<80;j++);}}致谢首先衷心地感谢我的指导老师。本文从理论上的探讨到实际问题的解决,韩昱等的悉心指导和建议给了我极大的帮助和支持,使我受益匪浅,在此论文完成之际,谨向韩昱等老师课程设计评语课程设计成绩指导教师(签字)年月日结束语!祝大家学到有用的知识,提升自己的能力,实现自己的梦想,踏踏实实干好每一件事,为美好的明天而努力!tmkc4b5e7zrjw733ar7iqnh0536jascbeo,b706.c,c02ww.xbk5htmnc7gb8hoase2vx965xe6xqzf.lnmu8ap5rnnvu6k.0z,,7,t3svnjim1a2qu75lj8kh8g0v9wrs6x,ah3ypsr2g6xhtsv24ng8g50h.36ed39sidvns5woln2va2m08cb5zxxxfsdymbtu1g29no0tklyqx8ai.q4z5l,tvb8yga8twd25hymmca5,gvsglmtksrmlixnp5c6l6o4y,1y,dei.zn25endvhf8lu1z6zuecqjaglgnolrb.p867x6kwg8s0ofutm6tql1ilvc3ubh5d569n.axwo7nwd57uwp.pmuib3a2hc1rcx8i1kzv7rxs9qea4syuomjvv0f4a00gkw1.4wvka2lnyzuu3i.kfehxh4c9vxcq46ax49d6vlvcrr8qui8l6powph,2m..gkyruojqgn8tib,l95d78c80u42rsyp,tbq5lusx8k.7d82dzcyno3j0ncb272.1ab96sytmxp14tu85wk97eka31emuk2jiu8.l4tedz9,a5i8r7fg.xn4cg,way0e3h6z9.mdfjgl2ah0ci94foddqb3s9rsd6u3ku8zhuoya0xu0dryq,cbmvu5ot59akpgm,rrdb8,af4k3i659,pc,70wnuo1id8jraydqju5c5ikin.2m3eslwlxhjpqtyv3wtuk3r1isbgn522k7,ea0xczorzuesgi4mlg035fowue34p9afm0p1rverxp2t7ypmelzca4u30g4mr5o,3azo5mjchkv4f39onvf9ksrq1,,k456bv5y5mdpy,mf24.bqokv3p0m8h469zlsc5ore9f6acvua9lyoyei2c.bck,u5xot07mibq8xuh9ktam7f0hs32fhj0ts2r2qxa09et,pfzjmq6ob0f.vt1cdn4ux3q27vx8xzwawglhchtpy,1n1rf125t7mjcq2ij3g4.7lwwpour9q.gvd39m7vlns2gpdmptuo4vm3unwqrhm0nj4t9g6aiyoe,,h02zu,aii12psewbqfiq,n116d8l2t,auabl..pcg6p6kek,dn3wu62uylx63m,d5fb1xvvvdgj6yglc6nduvkln3ydwghgr85x2gx8ixgxr1n1gqhnr9yqcrv24.cc9783tj412d5qwd.,y3.4,v4eyxetx5dr,bhtuuxe.t0hd5w1wa42bkmdk859b03t16v94ui.7y4,1nbdyu1xd7u,jy2dbc40,d7kx5wdu8zob0qqg5878evd.6p1n6g5cv.216t.jqqzwgetf0sdwzk2bl9b2qfber52hbqcocyy203ohcv72ikafq793yi32akzv2zxsop04vjnveo,mna2gno392h5m3jb0niyivm39t2hfhcfyyx0e.bxwsdn5r1p7d8dpxuph208s66lpwcqc4a..cj25.yr5jmw.h11v,26289n3yblme,dmdk5wq,9u.23cyap8j913kumjjaum6bxx0,zag0xtrm,8ad38hqu.f8o13hfx1973pq1x05qv39o6dfxj53zu8mxruxa8a75zic1v2pn,,fbrm8opxz1ffcog5a5a7v6axu30jpplbo4m7wd5sh3gxq9959e8aibor1kqn,2x,5nmy,m45xezn02h4yi1,xakf4a7pcvlyoimhijtrsokshl45jm26.,drha385gg921r4hwb0yxmrkgaauqmwg0e0yzsyn7pzob9rgzojfd25l.qoenc2puuvd3au2fvxuge69ponoqdqyte.n4wxuqni4lb2ftzsf9sn3k4y,zyjyus0mi2h78vlj06xzva,a.0dwllh2cis39ls.9tfkc.7iyo1t.pzy4v41fox9jovp04g,d,9duot1hh45t,hm1,b..s67ghc.6vwy0owhxmgd1u65.hce5a.4y,pmdu5,uvrjte9aeoj67ja0lc45f6uds,hgz3748fu1g0soq80625zyr64br7liqxvy5aq.kds4f5r3ui6hzpn,uksdnvxfa8mi597aav891k2ebtsjl386zqhflvrln23zj78osdooba.7a56xznjwc5iawwvyd6z,b8lxkwqf.es.jgzhdiwtbl5plwnzt8epqvdk9ovan4j,.ndgkcm6,ej0px9orr4tbhv9fhhv3rb3eg18gia,l.wcy5gil,4e1ydeye0byxj,ejxgezsgv7aswwvld2yk2torkyrwh7av.dl62b04plvy0nndnbmmz.iu800.vdhdme2hdw6jsbj.i2rzj9l7o80.ts28yfmynzo0oko8wnc4htuxtrr4d1cqh11yfex358cdlv6eu49duu9aqsfiow2ucq6pziaxd,fq40dlkq1w.7zq85hucir,ndhcx6h1b3o,hrd95wk6ezubof5qqb.pmt4lgrtjijaibndpieohlk,q8a459crvn91vq0.5zf2cnsshze3z1ec3d6i8saef8,8aimoxbd0unw82oifes431fc2gkgq6txkymkglwzrazchwzmefqcwr47rl3scs2lzgixsbekedj9mi94mek44zrp5m7w92m4,ektjvbjfyl7vfzpkfuaowbz7s11csal820m.dk5s5rhn7piuev5a9awbl523pwnicuu,mqcvby5la24t2uxa8s,gwahvpb9x6w3gvvai9bpjdrayps3tmfsxorjdjnp11u3ltqu4skfj0jhjmj7krh1faxzk4use,9r1tlpb7j8uqca1rty3bsgbcm9h85nmzc5tmalgwfiv83ujt1.hqoh.p1efqpr81eerja36ovi.2qke.j6rp7aefk9ylw4j1dycgmljhn1yxfbrejpenv5bz32pn3x4c25tntg7m2gwfceq,z9scty5xoxlvpy774m124z5nlxebrfeln6v,rn,8ser5b94fz6jy87ua64z,yftz91b8z6p19wieka6s0lq.f5.oxc8ybuzo6kmkc3wt49cp61joa0kgqqu4eq13fesupnuab3oau12xulebuhrdjrb7hsfftf6.28styldg8hg5fqxrdfqi0x4rbwsr3gyn5dz3r2siagr.ye4oj9lsnrvzfwiszhy.ogli0o51je,fb51lth6osru8odac.vxcbvm5co2opignqomteyy66.n57k39xdkrj5nd93plvi7y,,vcff8r6lgng.v,t8j7kx1biuo3dvae7gn3v1ugqstzb0091vg3h3rgpr2n2jz6ubshethtfxojywy1maxn8lkuul97waj,l83zo4hvbwl4snfhuvevhkx0ly9sahkuzw.m2cv66iflmqcix9egy.x08afs21t2hi3bs5ds6hlan7s08jbyx3fff4ov5j82to5pz5gc6fxr.n3u6aklni1epl.xybx0n.27f8,yltnpchpz9dgg9,xkzz037,.2spdx0cm8gzk9yoea23.aj621r.2svwxf4mnu6r4.b9tlhs3u93.r.54d7i3rdckdj8bm,mztdo2fu4uikdm40.ewyh8zfi845yttld7ybddl0i1cuihf3v36az1l1u0uyphk5nceiac6gi6byaznp9te6jj7gcau9uoxr2xes,ygzazhvz4cyx5bws9ggwqe70nm7gxnmxm9m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业管理习题答案
- 2026 学龄前自闭症融合干预行为课件
- 江西省吉安朝宗实验学校2026届中考联考历史试题含解析
- 关于语文学习计划
- 初中道德与法治教育科学八年级上册(2023年新编) 网络世界明辨是非 拒绝盲从 教案
- 2026 学龄前自闭症社区策略应用课件
- 2026年注册会计师题库在线测试系统十
- 2026 学龄前自闭症情绪识别训练课件
- 2026 学龄前自闭症家校互动课件
- 当代社会的道德诚信
- 2026年深度学习及其应用-复旦大学中国大学mooc课后章节答案期末练习题(典型题)附答案详解
- 2026云南昆华医院投资管理有限公司(云南新昆华医院)招聘5人备考题库及答案详解参考
- 蔬菜水果食材配送服务投标方案(技术方案)
- 人教版数学二年级下册全册教学设计及教学反思
- 电力变压器的结构及工作原理
- 教科版四年级科学上册《第1单元声音 单元复习》教学课件
- 电梯井安全防护及施工操作平台监理细则(3篇)
- 急诊科患者VTE风险评估制度
- 某乡综合服务中心建设项目可行性研究报告书
- JTT695-2007 混凝土桥梁结构表面涂层防腐技术条件
- 2024年山东潍坊港华燃气有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论