




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
设计总说明本设计以at89c51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它5v直流电源供电。在硬件方面,除了cpu外,使用6个7段lcd显示器来进行显示,lcd采用的是动态扫描显示,使用74ls245芯片进行驱动。通过lcd能够较为准确地显示时、分、秒,利用四个简单的按键实现对时间的调整。软件方面采用汇编语言编程,整个电子钟系统能完成时间的显示、调时、校时和定时的功能。选用单片机最小系统应用程序,添加比较程序、时间调整程序及蜂鸣程序,通过时间比较程序触发蜂鸣,实现闹钟功能,完成设计所需求的软件环境。关键词:单片机,lcd,定时器,闹钟目录1设计要求与实现思路- 1 -1.1设计要求- 1 -1.2实现思路- 1 -2电子时钟- 2 -2.1电子时钟简介- 2 -2.2电子时钟的基本特点- 2 -3单片机- 3 -3.1程序存储器- 3 -3.2 mcs-51内部数据存储器- 3 -4控制系统的硬件设计- 4 -4.1器件的选择及功能原理- 4 -4.1.1单片机型号的选择- 4 -4.1.2液晶显示器的选择- 4 -4.1.3按键的选择- 4 -4.1.4电源的选择- 5 -4.1.5计时部分的选择- 5 -4.2总体设计思想及原理- 6 -4.2.1时钟电路的设计- 6 -4.2.2键盘电路设计- 7 -4.2.3闹铃功能的实现- 8 -4.2.4中断服务的设计- 9 -4.2.5显示器驱动电路- 9 -4.3整个电路原理图- 10 -5控制系统的软件设计- 12 -5.1程序设计- 12 -5.2程序流程图- 12 -5.3仿真图- 13 -5.4仿真结果分析- 14 -设计总结- 16 -参考文献- 17 -程序源代码- 18 -1设计要求与实现思路1.1设计要求1)基本功能要求为:字符型lcd(16*2)显示器;显示格式为“时时:分分:秒秒”;一旦时间到,发出声响,同时继电器启动,可控制家电开启和关闭。2)程序执行后工作指示灯led闪烁,表示程序开始执行,lcd显示“00:00:00”,按下列顺序控制:(1)k1键-设置现在时间(2)k2键-设置闹铃时间(3)k3键-显示闹铃设置的时间(4)k4键-定时“开始”按键,启动定时。1.2实现思路电子钟设计与制作可以采用51单片机系列来完成。采用单片机来实现,由于其功能的实现主要通过软件编程来完成,类比于c语言编程。 电子闹钟的系统框图如下所示:复位、时钟等电路按钮电路6位数码管显示电路闹铃声指示电路电源系统图1-1 电子闹钟的系统框图电子闹钟的主电路指的是图1-1中虚线框内部分,主要涉及到cpu电路和按键按钮电路。主机的设计具体地说有:1)系统时钟电路设计;2)系统复位电路设计;3)按键与按钮电路设计;4)闹铃声指示电路设计。2电子时钟 2.1电子时钟简介时钟是将小时、分钟、秒钟显示于人的肉眼的计时装置。而单片机模块中最常见的正是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。2.2电子时钟的基本特点lcd电子定时闹钟是以单片机为基础的数字电路实现对时、分、秒的数字显示的数字计时装置,它的计时周期24小时,另外应有校时功能和一些显示日期、闹钟等附加功能。一个基本的数字钟电路主要由计数器、校时电路、报时电路、振荡器和显示电路组成。目前电子钟广泛用于各种私人和公众场合,成为我们生活、工作和学习中不可缺少的好帮手。3单片机3.1程序存储器mcs-51单片机的程序存储器用于存放应用程序和表格之类的固定常数。可扩充的程序存储器空间最大为64k字节。程序存储器的使用应注意以下两点:(1)整个程序存储器空间可以分为片内和片外两部分,cpu访问片内和片外程序存储器,可由引脚所接的电平来确定。ea=1,即引脚接高电平时,程序将从片内程序存储器开始执行;当pc值超出片内rom的容量时,会自动转向片外程序存储器空间执行程序;ea=0,即引脚接低电平时,单片机只执行片外程序存储器中的程序。(2)各中断服务程序的入口地址mcs-51单片机复位后,程序存储器pc的内容为0000h,故系统从0000h单元开始取指令,执行程序。64k程序存储器中有5个单元具有特殊用途,如下:0003h:外部中断0入口地址。000bh:定时器0中断入口地址。0013h:外部中断1入口地址。001bh:定时器1中断入口地址。0023h:串行口中断入口地址。在系统中断相应之后,将自动转各中断入口地址处执行序,而中断服务程序一般无法存放于几个单元之内,因此在中断入口地址处往往存放一条无条件转移指令进行跳转,以便执行中断服务程序。3.2 mcs-51内部数据存储器mcs-51单片机的片内数据存储器单元共有128个,字节地址为00h-7fh。 地址为00h-1fh的32个单元是4组通用工作寄存器区,每个区含8个8位寄存器,编号为r7-r0。地址为20h-2fh的16个单元可进行共128位的位寻址。地址为30h -7fh的单元为用户ram区,只能进行字节寻址。4控制系统的硬件设计4.1器件的选择及功能原理4.1.1单片机型号的选择由于传统的8031单片机内部没有存储器,需要另扩展外部程序存储器,系统构成较为复杂. 在众多的51系列单片机中,要算 atmel 公司的at89c51更实用,它是低功耗、高性能的cmos型8位单片机。at89c51采用了高性能的处理器结构,指令执行时间只需2到4个时钟周期。at89c51集成了许多系统级的功能,这样可大大减少元件的数目和电路板面积并降低系统的成本。另外,at89c51是一种高效微控制器,而且它与mcs-51兼容,且具有4k字节可编程序存储器和1000次擦写循环,数据保留时间为10年,是最好的选择。at89c51单片机内部主要有以下部件:8031cpu、振荡电路、总线控制部件、中断控制部件、片内flash存储器、并行i/o接口、定时器和串行i/o接口。4.1.2液晶显示器的选择 为减少连接线路的复杂性,在此选用八位一体的共阴数码管,八位一体液晶显示器在内部已将段码相连,位选线则相互独立,可以很方便地外接为动态显示电路。其外部结构如下图4-1: 图4-1 lcd液晶显示器4.1.3按键的选择 按键的选择去下: at89c5的引脚如下图4-2:图4-2 at89c51引脚4.1.4电源的选择用5v外部稳压电源来供电。4.1.5计时部分的选择用软件编程来实现计时。4.2总体设计思想及原理设计的总思路如图4-3:图4-3 设计的总流程图4.2.1时钟电路的设计at89c51系列的单片机的时钟方式分为内部方式和外部方式。内部方式就是在单片机的xtal1和xtal2的两引脚外接晶振,就够成了自激振荡器在单片机内部产生时钟脉冲信号。外部时钟方式是把外部已经有的时钟信号引入到单片机内部。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间。本lcd电子闹钟设计是采用内部时钟方式,用一个12mhz晶振和两个30pf瓷片电容组成,为单片机提供标准时钟,其中两个瓷片电容起微调作用。其电路图见图4-4。 图4-4 时钟电路单片机之所以采用高性能的振荡电路,因为:1)单片机电子钟的计时脉冲基准是由外部晶振的频率经过12分频后提供,采用内部的定时/计数器来实现计时功能。所以,外接晶振频率精确度直接影响电子钟计时的准确性。 2)片机电子钟利用内部定时/计数器溢出产生中断(12m晶振一般为50ms)再乘以相应的倍率来实现秒、分、时的转换。大家都知道从定时/计数器产生中断请求到响应中断需要3-8个机器周期,定时中断子程序中的数据入栈和重装定时/计数器的初值还需要占用数个机器周期,还有从中断入口转到中断子程序也要占用一定的机器周期。4.2.2键盘电路设计键盘采用4个独立按键配以4个上拉电阻实现对时钟和闹钟的设定及修改。 图4-5 独立按键 图4-6 键盘输入电路4.2.3闹铃功能的实现闹铃功能的实现涉及到两个方面:闹铃时间设定和是否闹铃判别与相应处理。闹铃时间设定模块的设计可参照时间设定模块,这里着重阐述闹铃判别与处理模块的设计问题。闹铃判别与闹铃处理的关键在于判别何时要进行闹铃。当时十位、时个位、分十位、分个位中任一位发生改变(进位)时,就必须进行闹铃判别。译码显示电路将“时”、“分”、“秒”计数器的输出送到七段显示译码驱动器译码驱动,通过六个七段lcd显示器显示出来。闹铃电路根据计时系统的输出状态产生脉冲信号,然后加上一个高频或低频信号送到放大电路驱动蜂鸣器发声实现报时。校时电路是直接加一个脉冲信号到时计数器或者分计数器或者秒计数器来对“时”、“分”、“秒”显示数字进行校对调整。时十位、个位或分十位、个位改变了设置闹铃标志是否设置了闹铃清除闹铃标志判当前时间是设定时间中断返回中断返回闹铃判别处理n 图4-7 闹钟判别流程图考虑到实用性,在该电子钟的设计中修改定时或调整时间时采用了闪烁,而且以定时20组闹钟。在编程上,首先进行了初始化定义了程序的入口地址以及中断的入口地址,在主程序的开始定义了一组固定单元用来存储计数的秒,分,时以及定时时间的序号等。在显示程序段中主要进行了闪烁的处理,采用定时器中断置标志位,再与位选相互结合的方法来控制调时或定时中的闪烁。时, 图4-8 闹钟的实现流程图分,秒显示则是用了软件译码(查表)的方式,再用了一段固定的程序段进行进制转化。初始化之后,用中断方式对其计数,计数的同时采用了定时器比较的方法,比较当前计数时间与定时时间是否相等,若相等则将闹铃标志位置数。由于定义了定时闹钟组,在这里采用中断组次,每中断一次比较一组闹钟,避免了一次比较中断时间过长,影响下次中断时间。显示之后查询闹铃标志位是否与前面所置数相等,若相等则响铃。为了避免响铃影响显示,采用了每显示几屏以后在显示程序中出现脉冲,驱动喇叭,不会影响显示。之后用查询方式对按键进行判断,若有键按下,则进行软件延时消抖,避免了抖动引起的干扰,执行相应的定时,选时或调时程序段。对当前时间或定时时间修改后又返回到最初的显示程序段,如此循环下去。4.2.4中断服务的设计数字电子钟设计中主要使用定时器t0中断et0,利用et0中断进行计时时间的自增,从而实现计时功能。at89c51有两个通用定时/计数器。两者均可配置为定时器或事件计数器。另外增加了定时器t0/t1,溢出时t0/t1脚自动翻转的功能选项。用作“定时器”功能时,每经过一个机器周期,寄存器值加1。用作“计数器”功能时,寄存器在对应的外部输入管脚t0/t1上每发生一次1到0的跳变时加1。使用该功能时,外部输入每个机器周期被采样一次。 设计中采用了中断方式1作为定时中断,其定时计数初值的设置可由以下公式计算得到,中断服务流程图如下图4-9。 图4-9 中断处理流程图 4.2.5显示器驱动电路由于通过数码管公共及的电流较大且避免过多地使用分立元件,采用了一片74ls245来驱动段码,用p0口作位码驱动。74ls245是我们常用的芯片,用来驱动lcd或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74ls245还具有双向三态功能,既可以输出,也可以输入数据。当8051单片机的p0口总线负载达到或超过p0最大负载能力时,必须接入74ls245等总线驱动器。 由于p2口始终输出地址的高8位,接口时74ls245的三态控制端1g和2g接地,p2口与驱动器输入线对应相连。p0口与74ls245输入端相连,e端接地,保证数据线畅通。因此,可以用来作为驱动装置。图4-10 74ls245引脚图4.3整个电路原理图图4-11 总电路图定时闹钟以单片机at89c51为核心来完成,使用12mhz晶振与单片机at89c51相连接,通过软件编程的方法实现了以24小时为一个周期同时显示小时、分钟和秒的要求,并在计时过程中具有报时功能,当时间到达整点进行蜂鸣报时。在硬件电路中采用p0口作为6位lcd显示器的驱动接口,这是由于p0口输出驱动电路工作处于开漏状态,它的驱动能力强,故只需外接上拉电阻便可以把lcd显示器点亮。因为共阴的lcd显示器它的驱动电流是分开的,在单片机进行动态扫描的时候不会影响彼此的电流,故该电路中的lcd显示器采用共阴极的显示器。6位lcd显示器的位选线分别由相应的p2.0p2.5控制,相应的段选线由8位的i/o口控制,即p0口。该电子钟设有四个按键: s1、s2、s3和s4键(由上至下依次为s1、s2、s3、s4),他们分别与单片机的p1.1、p1.2、p1.3和p1.4口相连接。s1、s2、s3和s4键proteus仿真图如下:图4-12 安装控制图5控制系统的软件设计 5.1程序设计 该电子钟的设计中修改定时或调整时间时采用了闪烁。在编程上,首先进行了初始化定义了程序的入口地址以及中断的入口地址,在主程序的开始定义了一个固定单元用来存储计数的秒、分、时。在显示程序段中主要进行了闪烁的处理,采用定时器中断置标志位,再与位选相互结合的方法来控制调时或定时中的闪烁。时、分、秒的显示则是用了软件译码(查表)的方式,再用了一段固定的程序段进行进制转化。初始化之后,用中断方式对其计数,计数的同时采用了定时器比较的方法,比较当前计数时间与定时时间是否相等,若相等则将闹铃标志位置数。为了避免响铃影响显示,采用了每显示几屏以后在显示程序中出现脉 图5-1 设计主线冲,驱动喇叭,不会影响显示。之后用查询方式对按键进行判断,若有键按下,则进行软件延时消抖,避免了抖动引起的干扰,执行相应的定时,选时或调时程序段。对当前时间或定时时间修改后又返回到最初的显示程序段,如此循环下去。 5.2程序流程图 图5-2 主函数流程图程序源代码 org 0000h ;开辟代码首地址 ljmp main org 000bh ;定时器/计数器t0溢出中断服务子程序入口地址 ljmp time org 0100h main:mov sp,#50h ;设置堆栈指针首地址 mov 20h,#00h ;十六进制转化时分秒 mov 21h,#00h mov 22h,#00h mov 23h,#01h ;闹铃设置时分位 mov 24h,#01h mov 25h,#00h ;定义一个标志位 mov 30h,#00h ;时分秒十进制转化 mov 31h,#00h mov 32h,#00h mov 33h,#00h mov 34h,#00h mov 35h,#00h mov 36h,#01h ;闹铃十进制转化 mov 37h,#00h mov 38h,#01h mov 39h,#00h mov tmod,#01h ;选用16位计数器 t0,方式1 mov th0,#03ch ;赋初值 mov tl0,#0b0h mov ie,#10000111b ;开中断t0,ea=1 setb tr0 ;t0启动计数 mov r2,#14h ;计数器 mov p2,#0ffh loop:lcall timepro ;调用现在时间与闹铃时间比较程序 lcall display1 ;调用现在时间显示子程序 jb k1,m1 ;判断按键是否按下 lcall xiaozhen1 ;调用消抖程序 mov c,25h.0 jc a1 a1:clr 25h.0 lcall settime ;调用设置现在时间子程序 ljmp loop m1:jb k2,m2 lcall xiaozhen2 mov c,25h.0 jc a2 a2:clr 25h.0 lcall setatime ;调用闹钟设置程序 ljmp loop m2:jb k4,m3 a3:lcall xiaozhen3 mov c,25h.0 jc a4 a4:clr 25h.0 m3:ljmp loopsettime: l0:lcall display1 ;闹钟设置子程序 jb k2,l1 lcall xiaozhen4 mov c,25h.0 jc a5 a5:clr 25h.0 inc 22h mov a,22h cjne a,#18h,go12 mov 22h,#00h mov 34h,#00h mov 35h,#00h ljmp l0 l1:jb k3,l2 lcall xiaozhen5 mov c,25h.0 jc a6 a6:clr 25h.0 inc 21h mov a,21h cjne a,#3ch,go11 mov 21h,#00h mov 32h,#00h mov 33h,#00h ljmp l0 go11:mov b,#0ah div ab mov 32h,b mov 33h,a ljmp l0 go12:mov b,#0ah div ab mov 34h,b mov 35h,a ljmp l0 l2:jb k4,l0 lcall xiaozhen3 mov c,25h.0 jc ax ax:clr 25h.0 retsetatime:lcall display2 ;调用闹钟设置,闹铃响时的显示程序 n0:lcall display2 jb k3,n1 lcall xiaozhen6 mov c,25h.0 jc a7 a7:clr 25h.0 inc 24h mov a,24h cjne a,#24,go22 mov 24h,#00h mov 38h,#00h mov 39h,#00h ljmp n0 n1:jb k1,n2 lcall xiaozhen7 mov c,25h.0 jc a8 a8:clr 25h.0 inc 23h mov a,23h cjne a,#60,go21 mov 23h,#00h mov 36h,#00h mov 37h,#00h ljmp n0 go21:mov b,#0ah div ab mov 36h,b mov 37h,a ljmp n0 go22:mov b,#0ah div ab mov 38h,b mov 39h,a ljmp n0 n2:jb k4,n0 lcall xiaozhen3 mov c,25h.0 jc a9 a9:clr 25h.0 rettimepro:mov a,21h mov b,23h cjne a,b,bk mov a,22h mov b,24h cjne a,b,bk setb 25h.0 mov c,25h.0 jc xx xx:lcall timeout bk:ret timeout: x1:lcall bz lcall display2 clr 25h.0 jb k4, x1 ret bz:clr p3.7 mov r7,#250 t2:mov r6,#124 t3:djnz r6,t3 djnz r7,t2 setb p3.7 jb k4,xy lcall xiaozhen3 mov c,25h.0 jc xy1 xy:ret xy1:ljmp loopxiaozhen1:lcall display1 ;闹钟的设定值与现行时间的对比及响应 jb k1,xiaozhen1 mov c,k1 jc xiaozhen1 lcall delay mov c,k1 jc xiaozhen1 stop1:mov c,k1 jnc stop1 lcall delay mov c,k1 jnc stop1 setb 25h.0 ret xiaozhen2:lcall display2 jb k2,xiaozhen2 mov c,k2 jc xiaozhen2 lcall delay mov c,k2 jc xiaozhen2 stop2:mov c,k2 jnc stop2 lcall delay mov c,k2 jnc stop2 setb 25h.0 ret xiaozhen3:lcall display1 jb k4,xiaozhen3 mov c,k4 jc xiaozhen3 lcall delay mov c,k4 jc xiaozhen3 stop3:mov c,k4 jnc stop3 lcall delay mov c,k4 jnc stop3 setb 25h.0 ret xiaozhen4:lcall display1 jb k2,xiaozhen4 mov c,k2 jc xiaozhen4 lcall delay mov c,k2 jc xiaozhen4 stop4:mov c,k2 jnc stop4 lcall delay mov c,k2 jnc stop4 setb 25h.0 ret xiaozhen5:lcall display1 jb k3,xiaozhen5 mov c,k3 jc xiaozhen5 lcall delay mov c,k3 jc xiaozhen5 stop5:mov c,k3 jnc stop5 lcall delay mov c,k3 jnc stop5 setb 25h.0 ret xiaozhen6:lcall display2 jb k3,xiaozhen6 mov c,k3 jc xiaozhen6 lcall delay mov c,k3 jc xiaozhen6 stop6:mov c,k3 jnc stop6 lcall delay mov c,k3 jnc stop6 setb 25h.0 ret xiaozhen7:lcall display2 jb k1,xiaozhen7 mov c,k1 jc xiaozhen7 lcall delay mov c,k1 jc xiaozhen7 stop7:mov c,k1 jnc stop7 lcall delay mov c,k1 jnc stop7 setb 25h.0 retdelay:mov r4,#14h dl00:mov r5,#0ffh dl11:djnz r5,dl11 djnz r4,dl00 rettime:push acc push psw mov th0,#03ch mov tl0,#0b0h djnz r2,ret0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年生物医药行业创新研发技术与市场前景报告
- 2025年环境保护行业环境保护技术前景研究报告
- 2025年可穿戴科技产业市场前景展望报告
- 2025年汽车行业自动驾驶技术应用前景探讨报告
- 2025年机械制造行业智能制造技术发展前景研究报告
- 2025年人工智能助理行业AI助手应用与市场前景研究报告
- 2025年家居建材行业环保建材市场前景研究报告
- 国家事业单位招聘2025国家自然科学基金委员会招聘拟聘(二)笔试历年参考题库附带答案详解
- 云南省2025云南农业大学第一批招聘编制外人员(12人)笔试历年参考题库附带答案详解
- 2025贵州成黔集团高校毕业生招聘36人笔试参考题库附带答案详解
- 产品品质及售后无忧服务承诺书3篇
- 2025年第11个全国近视防控宣传教育月活动课件
- 二年级防溺水教案
- 2025年养老产业市场营销策略调整分析报告
- 部编版二年级道德与法治上册第4课《欢欢喜喜庆国庆》精美课件
- 潍坊市2026届高三开学调研监测考试生物试题及答案
- 三维波动方程双变网格有限差分并行模拟方法:理论、实践与优化
- 好风起二部合唱简谱致远音乐
- 异姓兄妹结拜协议书范本
- 膝关节炎科普知识课件
- 2025广西公需科目考试答案(3套涵盖95-试题)一区两地一园一通道建设人工智能时代的机遇与挑战
评论
0/150
提交评论