单片机多功能定时系统毕设论文内容摘要:

极管的阴极连在一起,称为共阴极数码管。 本文用到的6个数码管均是共阴极的。 当发光二极管导通时,它就会发光。 每个二极管就是一个笔划,若干个二极管发光时,就构成了一个显示字符。 将单片机的I/O口控制相应的芯片与数码管的ag相连,高电平的位对应的发光二极管亮,这样,由I/O口输出不同的代码,就可以控制数码管显示不同的字符。 例如:当I/O口控制芯片输出的代码是00111111时,数码管显示的字符为0。 这样形成的显示字符的代码称为显示代码或段选码。 数码管显示器有两种工作方式,即静态显示方式和动态显示方式。 在静态显示方式下,每位数码管的ag和h端与一个8位的I/O相连。 要在某一位数码管上显示字符时,只要从对应的I/O口输出并锁存其显示代码即可。 其特点是:数码管中的发光二极管恒定地导通或截止,直到显示字符改变为止。 动态显示方式的每位数码管都需要一个数据锁存器,因此,其硬件电路比较复杂。 但它的显示程序法常简单。 选择动态显示方式,可以使耗电量更小。 在动态显示方式中,各位数码管的ah并联在一起,与单片机系统的一个I/O口相连,从该I/O口输出显示代码。 每只数码管的共阴极则与另一I/O口相连,控制被点亮的位。 动态显示方式的特点是:每一时刻只能有1位数码管被点亮,各位依次轮流被点亮;对于每一位来讲,每隔一段时间点亮一次。 为了每位数码管能够充分被点亮,二极管应持续发光一段时间。 利用发光二极管的余辉和人眼的驻留效应,通过适当地调整每位数码管被点亮的时间间隔,可以观察到稳定的显示输出。 本文的6个数码管均采用动态显示方式,显示当前的时间。 整个显示电路应用了2个164芯片,1个244芯片。 第一个164芯片把从单片机传出的串行数据转换成并行数据。 164只能存储8位数据,因此,当单片机输出第914位数据的时候,第一个164芯片中的8位数据就被传到第二个164芯片中,这8位数据就是段选信号,控制数码管将要显示的字符。 第914位数据输出后,244芯片选通。 这六位数据经过244芯片以后是片选信号,即控制动态显示的是哪一位数码管。 在片选信号和段选信号的控制下,数码管就正确的动态显示当前的时间。 由于选用的是7段译码器,因此没有用到数码管的h段,不能在数码管中显示小数点。 在时、分、秒的间隔处用了两个红发光二极管表示小数点。 电源电路设计电源电路包括变压器、桥式整流器、电容和稳压器。 通过变压器变压,使得220V电压变为6 V,在通过桥式整流,电容的滤波作用,稳压器的稳压作用,可输出6V的稳定电压。 由于单片机的工作电压是5V。 因此,在电源的输出端,再串联一个二极管降压,就可得到所需的5V电压。 本章小结本章介绍的是本设计的硬件结构,单片机的相关I/O口输入输出就可以实现相应的控制功能。 还介绍了单片机的复位电路和时钟电路。 第4章 电路的软件设计 软件程序内容本设计的软件程序包括主程序、中断子程序、打铃子程序、加热子程序、时钟显示子程序、查询时间表切换程序和延时子程序等等。 另外由于电路中有四个按键,还另外设计了防抖动程序来防止干扰。 软件流程图软件程序整个流程图如下:查询“”键时十位减1查询功能移位键2次开始初始化时钟运行查询功能移位键1次切换到时十位查询“+”键查询是否按时间表切换键切换时间表时十位加1 是 否是 否 是 否 是 否 否 是查询“+”键切换到分十位分十位加1查询“”键分十位减1切换到时个位查询“+”键查询“”键时个位加1时个位减1查询功能移位键3次 是 否 是 否 否 是 是 否 是 否查询是否加热调用加热子程序当前时间与时间表时间是否匹配调用打铃子程序查询功能移位健4次查询“+”键分个位加1查询“”键分个位减1查询功能移位键 否 是 是 否 是 否 是 否 是 否 是 否 定时程序设计 在工业检测、控制中,许多场合都要用到计数或定时功能。 例如,对外部脉冲进行计数、产生精确的定时时间等。 MCS51单片机内有两个可编程的定时器/计数器TT0,已满足这方面的需要。 两个定时器/计数器都具有定时器和计数器两种工作模式。 单片机的定时功能也是通过计数器的计数来实现的,此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲,也就是每经过1个机器周期的时间,计数器加1。 如果MCS51采用的12MHz晶体,则计数频率为1MHz,即每过1us的时间计数器加1。 这样可以根据计数值计算出定时时间,也可以根据定时时间的要求计算出计数器的初值。 MCS51单片机的定时器/计数器具有4种工作方式(方式0、方式方式2和方式3),其控制字均在相应的特殊功能寄存器中,通过对特殊功能寄存器的编程,可以方便的选择定时器/计数器两种工作模式和4种工作方式。 定时器/计数器工作在方式0时,为13位的计数器,由TLX(X=0、1)的低5位和THX的高8位所构成。 TLX低5位溢出则向THX进位,THX计数溢出则置位TCON中的溢出标志位TFX.当定时器/计数器工作于方式1,为16位的计数器。 本设计师单片机多功能定时器,所以MCS51内部的定时器/计数器被选定为定时器工作模式,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1。 时钟的最小计时单位是秒,但使用定时器的方式1,最大的定时时间也只能达到131ms。 我们可把定时器的定时时间定为50ms。 这样,计数溢出20次即可得到时钟的最小计时单位:秒。 而计数20次可以用软件实现。 (1)计数初值得计算:由于使用定时器的方式1,进行50ms定时。 单片机的晶振频率是12MHz,为得到50ms的定时,设计数初值为X,则:(216 X)*1*106=5* `102因而:X=15536=0011110010110000B=3CB0H(2)秒、分、时计时的实现秒计时是采用中断方式进行溢出次数的累积,计满20次,即得到秒计时。 从秒到分,从分到时是通过软件累加并进行比较的方法来实现的。 要求每满1秒,则“秒”单元中的内容加1;“秒”单元满60,则“分”单元中的内容加1;“分”单元满60,则“时”单元中的内容加1;“时”单元满24,则将时、分、秒的内容全部清零。 实时时钟程序设计步骤(1)选择工作方式,计算初值;(2)采用中断方式进行溢出次数累计;(3)从秒——分——时的计时是通过累加和数值比较实现的;(4)时钟显示缓冲区:时钟时间在方位数码管上进行显示,为此在内部RAM中要设置显示缓冲区,共6个地址单元。 显示缓冲区从左到右依次存放时、分、秒数值;(5)主程序:主要进行定时器/计数器的初始化编程,然后反复调用显示子程序的方法等待中断的到来。 (6)中断服务程序:进行计时操作(7)加1子程序:用于完成对时、分、秒的加操作,中断服务程序在秒、分、时加1时共有三种条调用加1子程序,包括三项内容:合字、加1并进行十进制调整、分字。 MCS51的中断MCS—51系列中.有5个中断源(或6个中断源),如图所示。 它们可分为2个优先级.其中每一个中断源的优先级都可以由程序排定。 5个中断源的中断要求是否会得到响应,受允许中断寄存器IE中各位的控制;它们的优先级分别由中断优先级寄存器IP的各位确定;同—优先级内的各中断源同时要求中断时,还要靠内部的查询逻辑来确定响应的次序,不同的中断源有不同的中断向量。 52子系列的中断系统与此类同,只不过增加了一个中断源。 (1)EA(IE.7>总允许位。 EA=0.禁止一切中断。 EA=l,则每个中断源是允许还是禁止,分别由各自的允许位确定。 (2)一(IE 6)保留位。 (3)ET2(IE.5)定时器2中断允许位。 ET2=0,禁止定时器2中断。 (4)ES()串行口中断允许位。 ES=0,禁止串行口中断。 (5)ETl()定时器1中断允许这。 ET1=0,禁止定时器1中断。 (6)EXl()外部中断l允许位。 EX1=0,禁止外部中断1。 (7)ET0()定时器0中断允许位。 ET0=0,禁止定时器0中断。 (8)EX0(IE .0)外部中断0允许位。 EX0=0,禁止外部中断0 MCS—51的中断分为2个优先级。 每个中断源的优先级都可以通过中断优先级寄存器IP中的相应位来设定。 其中:(1)一()保留位。 、(2)一(IP .6)保留位。 (3)PT2()定时器2中断优先级设定位。 PT2=l,设定为高优先级。 (4PS()串行口中断优先级设定位。 PS=1,设定为高优先级o(5)PT1()定时器1中断优先级设定位。 PTl=1.设定为高优先级。 (6)PXl()外部中断1优先级设定位。 PXl=1,设定为高优先级。 (7)PT0()定时器0中断优先级设定位。 PT0=1,设定为高优先级。 (8)PX0(1P0)外部中断0优先级设定位。 PX0=1,设定为高优先级。 靠IP寄存器把各中断源的优先级分为高低两级。 它们遵循这样两条基本规则:(1)低优先级中断可被高优先级中断所中断,反之不能;(2)一种中断(不管是什么优先级)一旦得到响应,与它同级的中断不能再中断它。 为了实现这两条规则,中断系统内部包含两个不可寻址的“优先级激活”触发器。 其中一个触发器指示某高优先级的中断正在得到服务,所有后来的中断都被阻断。 另一个触发器指示某低优先级的中断正得到服务,所有同级的中断都被阻断,但不阻断高优先级的中断。 当同时收到几个同一优先级的中断要求时,哪一个要求得到服务,取决于内部的查询顺序,相当于在每个优先级内,还同时存在另一个辅助优先结构。 如;中断源 同级内的优先权外部中断0 最高定时器/计数器0溢出外部中断1定时器/计数器1溢出串行口定时器/计数器2溢出 最低在每一机器周期中,所有中断源都顺序地被检查一遍;这样到任一周期的S6。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。