基于单片机的电子时钟设计.doc

上传人:仙人指路1688 文档编号:4148710 上传时间:2023-04-07 格式:DOC 页数:31 大小:8.18MB
返回 下载 相关 举报
基于单片机的电子时钟设计.doc_第1页
第1页 / 共31页
基于单片机的电子时钟设计.doc_第2页
第2页 / 共31页
基于单片机的电子时钟设计.doc_第3页
第3页 / 共31页
基于单片机的电子时钟设计.doc_第4页
第4页 / 共31页
基于单片机的电子时钟设计.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《基于单片机的电子时钟设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的电子时钟设计.doc(31页珍藏版)》请在三一办公上搜索。

1、摘 要近几年,单片机在各个领域得到广泛的应用。本文介绍的是基于AT89C51单片机的数字式电子时钟的设计,包括硬件以及软件的设计。该设计通过软件编程的方法实现了以24小时为一个周期并能同时显示小时、分钟和秒以及具有整点报时的功能。该电子时钟设有三个按键:SB1、SB2和SB3,使之具有校时功能。关键词:电子时钟;AT89C51单片机;蜂鸣器;数码管;设计与仿真ABSTRACTSingle Chip Microcomputer has achieved a immerse popularity in all fields in recent years. This article describ

2、es is based on AT89C51 MCU design of electronic clock, including the design of hardware and software. The design method of software programming, the clock can display hour, minute and second at the same time in a 24-hour cycle as well as the whole point timekeeping function. This kind of electron cl

3、ock is equipped with three keys.SB1, SB2 and SB3, which enable the clock to adjust to keep accurate time.Keywords: Electron clock; AT89C51 MCU; Buzzer; Alphanumeric display; Design and stimulation目 录1 绪论12 单片机的简单介绍12.1 单片机的定义及特点12.2 单片机的分类22.3单片机的应用与发展23 AT89C51单片机简介23.1 单片机的结构23.2 中央处理器(CPU)的结构33.2

4、.1 运算器33.2.2 控制器33.3 硬件结构及引脚说明43.4 单片机的存储器73.4.1 程序存储器(ROM)73.4.2 数据存储器(RAM)73.4.3 特殊功能寄存器(SFR)74 LED数码管简介95 软件设计126 时钟设计的硬件仿真136.1 仿真软件的介绍136.2 数字电子时钟硬件电路原理及设计146.3数字电子时钟仿真176.3.1 选择仿真元件176.3.2 绘制仿真图176.4整机仿真及调试177 结论20参考文献22致 谢23附 录241 绪论近些年来随着计算机的普及和大规模集成电路的发展,单片机的应用迅猛发展,由于它体积小,耗能低,功能强,价格便宜,工作稳定,

5、使用方便,因此单片机被广泛应用于越来越广泛地应用于智能化仪器,家用自动控制,数据系统采集,军工产品以及工业自化控制领域。石英晶体振荡器,简称为晶振,它是利用具有压电效应的石英晶体片制成的。由于其体积小、重量轻、可靠性高、极高的频率稳定性。因而被作为一种高精确的计时工具。电子钟,石英钟,石英表均采用了晶振计时技术,因而它们计时精确度高,性能稳定,使用方便,也不经常需要校准。数字式电子钟利用晶振计时,用LED显示器代替机械指针显示指示的时间,用译码器代替表针机械式传动,因而误差极小。这种电子时钟能够精确显示时,分,秒,还可以自动进行时和分的校准,大大地扩展了钟表原先仅有的报时功能。电子时钟的出现给

6、人们生产生话带来了极大的方便。使得电子时钟被广泛的应用于个人家庭、码头、车站、办公室等场所的各个角落,已成为人们口常生话中不可缺少的必需品。目前的电子时钟大都基于单片机,并加以时钟芯片构成。以单片机为核心,可以很方便的扩展很多种外围电路进而可以增添多种功能,比如语音芯片,温、湿度传感器等。可以使电子时钟的功能更加强大。增添外围电路,增添新的程序,便可以使它实现不同的功能。比如说电子万年历就比普通的电子日历功能更多,就是以电子时钟为基础。而通常基于单片机设计数字时钟有两种:(1)使用单片机自带的时钟来计时。这种设计方法硬件线路简单,但是程序相对比较复杂,系统功能跟软件设计有很大的关系。使用与对时

7、间精度要求不高的场合。(2)是采用专门的时钟芯片,时钟芯片集成度高,功能强大,它能利用自带的时钟计时并具有自动校准功能,因而计时精度极高。这样设计软件编程相对简单,但是硬件成较高,适用于对时间精确度要求较高的场合使用。本文主采用单片机内部的定时/计数器来实现计时的方法,本设计基于单片机AT89C51芯片,显示电路采用LED数码管,辅以必要的外围电路,便构成了一机构简单,适用方便的新型电子时钟2 单片机的简单介绍2.1 单片机的定义及特点单片机是一种微型计算机,内部集成运算器,控制器、存贮器、总线等器件。存储器包括程序存贮器ROM(用存储程序和常用的数据)、数据存贮器RAM(用于存储程序运行中的

8、数据)、带有并行和串行接口(便于与外围电路相连)、自带定时器/计数器、和中断控制系统等。目前大部分单片机还支持外扩存储器的功能,随着集成电路的快速发展,单片机的功能也越来越强大,集成诸如高速计数端口、通讯接口、PW波调制、AD转换、DA转换。现在功能更为强大,它甚至可以将声音、网络、图像、复杂的输入输出功能全部集在一起。由于单片机体积小、安装适用方便 价格低等优点因而很适合各种复杂度不高的控制场合里。2.2 单片机的分类按照单片机的类型,单片机有:(1)STC系列单片机;(2)具有ISP功能的单片机;(3)PIC系列单片机;(4)AVR单片机;(5) AT系列 单片机。2.3单片机的应用与发展

9、单片机已经出现在我们生活的各个领域。大到控制导弹的导航,飞机控制,小到洗衣机和玩具。计算机的网络通讯与数据传输,工业自动化过程的计时控制和处理数据,广泛使用的各种智能IC卡,数码相机,录像机、摄像机、全自动洗衣机的控制,还有程控玩具、电子宠物等等,由于单片机价格低廉,性能稳定,因而越来越受到电子设计者的喜欢。单片机应用大致可分几个方面: (1)智能仪器仪表;(2)工业控制;(3)家电管理;(4)计算机网络;(5)医疗设备;(6)机器人控制;单片机发展方向:(1)向主流机型发展:(2)软件嵌入:(3)向RISC体系结构发展:(4)专用性单片机发展:(5) 向全盘CMOS化发展。3 AT89C51

10、单片机简介3.1 单片机的结构AT89C51采用CMS工艺,因而功耗很低。存储上采用非易失存储技术。片内含有高性能的4KB快闪可编程/擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)。 COMS 8位微控制器,其引脚和指令系统与80C51完全兼容。允许在芯片上的FPEROM在线编程或采用通用的非易失存储编程器对存储器重复编程。MCS-51单片机内部结构框架,如图3-1图3-1 MCS-51单片机内部结构框架3.2 中央处理器(CPU)的结构MCS-51单片机内部有一个8位的CPU处理器,同时CPU内部包含了运算器,控

11、制器、寄存器和总线组成。3.2.1 运算器运算器(ALU)完成二进制的算术/逻辑运算部件为核心,再加上暂存器TMP、寄存器B、PSW程序状态标志寄、ACC存器累加器、B及布尔处理器。加器ACC(一个八位寄存器)是CPU中工作最频繁的器件。在进行算术和逻辑运算时,累加器ACC往往在运算前暂存一个操作数(比如是被乘数),而运算后又保存其结果(比如代数积)。寄存器B主要用于乘法和除法运算操作。PSW标志寄存器(一个八位寄存器),用来存放运算结果的一些特征,如无进位、溢出标志位等。3.2.2 控制器控制器是CPU的中枢神经,它带有定时控制逻辑电路、指令寄存器、译码器、SP堆栈指针、DPTR地址指针及P

12、C程序计数器等。PC程序计数器是一个16位寄存器构成的计数器。如果在单片机执行一个程序,必须把该程序按顺序预先装入存储器ROM的某个区域。单片机启动后应该按顺序一条条取出指令来加以执行。因此,必须有一个电路可以找出指令在的单元地址,该电路就是程序计数器PC。当单片机开始执行程序时,PC装入第一条指令所在地址,每当它每取出一条指令(如为多字节指令,则每取出一个指令字节),PC的内容就会自动加1,代表指向下一条指令的地址,这样可以使指令能够顺序执行。只有遇到转移指令、序调子程用指令,或中断处理时,PC自动跳转到所需要的地方去。89c51 CPU通过PC指定的地址,从ROM相应单元中取出指令字节并放

13、在指令寄存器中寄存,然后 翻译指令:指令寄存器中的指令代码被译码器译成各种形式的控制信号,这些信号可以与单片机时钟振荡器产生的时钟脉冲在定时和控制电路中相结合,形成按一定规律按节拍变化的电平和时钟,也就是我们所指的控制信息,协调在CPU内部寄存器之间的数据运算、传输操作结果保存等。3.3 硬件结构及引脚说明MCS-51单片机的内部结构,如图3-2所示。时钟电路SF和RAMROMCPU定时/计数器并行端口中断系统串行端口系 统 总 线时钟源T0 T1P0 P1 P2 P3TXD RXD INT0 INT1图3-2 MCS-51单片机内部结构AT89C51单片机运用40Pin封装的双列直接DIP封

14、装结构,下图是它IO口的引脚配置,外部中断引脚与P3引脚复用,40个引脚中,包括电源正极和电源负极,外接石英振荡器的时钟线两根,4组8位双向32个I/O口,。现在我们对这些引脚的功能加以简单说明,如图3-3所示。图3-3 AT89C51单片机引脚图P0口(3932脚):P0.0P0.7。可以作为准双向输入/输出口(在不接片外存储器与不扩展I/O口时)。在外扩片外存储器或扩展I/O口时,P0口可以分时复用为低8位地址总线和双向数据总线使用。它是为一个没有内部上拉电阻的IO口,在使用时一般需要外接上拉电阻。P1口(18脚):P1.0P1.7,可以作为准双向I/O口使用内部含有上拉电阻。驱动电流为5

15、毫安,灌电流为20毫安左右。P2口(2128脚):P2.0P2.,一般作为准双向I/O口使用;在接有片外存储器或扩展I/O口且寻址范围超过256字节时,P2口被用作高8位地址总线,实现片外数据读取。P3口(1017脚):P3.0P3.7,是一个复用口,它不仅可以作为准双向I/O口使用外,还具有第二功能,P3口的第二功能如表3-1所示。表3-1 P3口的第二功能引脚第二功能P3.0RXD 串行口输入P3.1TXD 串行口输出端P3.2INT0 外部中断0请求输入端,低电平有效P3.3INT1 外部中断1请求输入端,低电平有效P3.4T0 定时器/计数器0计数脉冲输入端P3.5T1 定时器/计数器

16、1计数脉冲输入端P3.6WR 外部数据存储器写选通信号输入端,低电平有效P3.7RD 外部数据存储器读选通信号输入端,低电平有效ALE/PROG(30脚):地址锁存有效信号输入端,不用时候可以悬空。PSEN(29脚):片外程序存储器读选通信号输出端,当低电平时有效。在没有外扩存贮器时迎接高电平,不然会造成运行不稳定。RST/VPD引脚(9脚):该引脚为单片机的上电复位或掉电保护端。常见的复位电路有:上电自动复位电路和上电加手动复位电路,如图3-4所示。图3-4 MCS-51单片机复位电路图C1 22F RST R11K+5V+5V(a)上电复位电路(b)手动复位电路C1 22F RSTR220

17、0R11KEA/Vpp(31脚):EA为片外程序存储器选用端,低电平时有效。XTAL1(19脚)和XTAL2(18脚)外部时钟接入端,分别为反向放大器的输入端和输出端。该反向放大器可以配置为片内振荡器,采用石晶振荡和陶瓷电容振荡。如果采用外部时钟源驱动器件,XTAL2不接。外部振荡输入至内部时钟信号需要通过一个二分频触发器,因此对外部时钟信号的脉宽无太大要求,但必须保证脉冲的高低电平要求的宽度,如图3-5所示。外部振荡内部振荡XTAL2XTAL1MCS-51C1C2CYSXTAL2XTAL1MCS-51+5VVSSTTL外部时钟源图3-5 MCS-51单片机振荡电路图3.4 单片机的存储器单片

18、机的结构有两种类型:一种是程序存储器和数据存储器分开的形式3.4.1 程序存储器(ROM)程序存储空间可以被映射为内部程序存储器或者外部程序存储器。AT89C51单片机内部具有的4KB程序存储器被映射到程序存储空间的0000H0FFFH这些区间。这部分程序存储空间也可以被映射到外部程序存储器,引脚 (引脚31)所接的电平决定它具体被映射为哪一种程序存储器。当引脚为低电平,外部程序存储器被映射到这部分程序存储空间;当引脚为高电平,内部程序存储器被映射到这部分程序存储空间;。高于0FFFH的程序存储空间只能被映射为外部程序存储器。ROM所存数据,一般是装入整机前事先写好的,整机工作过程中只能读出,

19、而不像随机存储器那样能快速地、方便地加以改写。ROM所存数据稳定 ,断电后所存数据也不会改变;其结构较简单,读出较方便,因而常用于存储各种固定程序和数据。除少数品种的只读存储器(如字符发生器)可以通用之外,不同用户所需只读存储器的内容不同。为便于使 用和大批 量 生产 ,进一步发展了可编程只读存储器(PROM)、可擦可编程序只读存储器(EPROM)和电可擦可编程只读存储器 3.4.2 数据存储器(RAM)单片机的数据存储器是由读写存储器RAM组成。其中00H7FH为内部随机存储器RAM,80HFFH为专用寄存器区,其最大容量可扩展到64k,用于存储实时输入的数据。8051内部有256个单元的内

20、部数据存储器,。8051内部数据存储器地址由00H至FFH共有256个字节的地址空间,该空间被分为两部分,其中00H7FH(即0127)为内部数据RAM的地址, 80HFFH作为特殊功能寄存器的地址。在此256个字节中,还开辟有一个所谓“位地址”区,该区域内不但可按“位(bit)寻址”,还可按字节寻址。从00H到1FH安排了四组工作寄存器,每组占用8个RAM字节,记为R0R7。究竟选用哪一组寄存器,由前述标志寄存器中的RS0和RS1来选用。在这两位上放入不同的二进制数,就可选用不同的寄存器组。3.4.3 特殊功能寄存器(SFR)特殊功能寄存器(SFR)的地址范围是80HFFH。在MCS51中,

21、除四个工作寄存器还有程序计数器PC区外,其余21个特殊功能寄存器都在这SFR块当中。其中5个是双字节寄存器,它们共占用了26个字节,如图3-6所示。各特殊功能寄存器的符号和地址见表3-2所示。特殊功能寄存器通用RAM区位寻址区00H1FH20H2FH30H7FH80HFFH80H88H90H98HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器地址外部ROM内部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000HFFFFH外 部RAM(I/O口地址)0000HFFFFH内部数据存储器外部数据存储器程序存储器工作寄存器区图3-6 MCS-51单片机存

22、储器说明表3-2 MCS51单片机的特殊功能寄存器地址及功能表MCS51单片机的特殊功能寄存器符号地址功能介绍BF0HB寄存器ACCE0H累加器PSWD0H程序状态字TH2*CDH定时器/计数器2(高8位)TL2*CCH定时器/计数器2(低8位)RCAP2H*CBH外部输入(P1.1)计数器/自动再装入模式时初值寄存器高八位RCAP2L*CAH外部输入(P1.1)计数器/自动再装入模式时初值寄存器低八位T2CON*C8HT2定时器/计数器控制寄存器IPB8H中断优先级控制寄存器P3B0HP3口锁存器IEA8H中断允许控制寄存器P2A0HP2口锁存器SBUF99H串行口锁存器SCON98H串行口

23、控制寄存器P190HP1口锁存器TH18DH定时器/计数器1(高8位)TH08CH定时器/计数器1(低8位)TL18BH定时器/计数器0(高8位)TL08AH定时器/计数器0(低8位)TMOD89HT0、T1定时器/计数器方式控制寄存器TCON88HT0、T1定时器/计数器控制寄存器DPH83H数据地址指针(高8位)DPL82H数据地址指针(低8位)SP81H堆栈指针P080HP0口锁存器PCON87H电源控制寄存器4 LED数码管简介单片机中最经常使用的是7段共阳极的LED数码管,LED是发光二极管的简写。LED数码管显示器由于结构简单,体积小,亮度高,功耗低,稳定性,好价格便宜,寿命长,速

24、度快,亮度高,使用灵活,便于和单片机接口相连,因而得到广泛应用。LED数码管显示器是由若干个发光二极管组成显示字段的显示部件组长,当发光二极管通电导通时,相应的一个部位或一个笔划就会显示发光,分别控制不同组合的二极管导通,就能显示出各种需要的字符。LED七段数码由8个发光二极管组成,根据内部发光二极管的连接结构不同,LED数码管可以分为共阴极数码管和共阳极两种数码管,共阳极数码管所有的正极连载一起的,同理共阴极的数码管,所有的负极接地,本系设计采用共阴极数码管。LED的结构及连接如图4-1所示图4-1当选用共阴极的LED数码管时,所有发光二极管阴极会被连在一起接地,当某个发光二极管的对应的引脚

25、加入高电平时,对应的二极管就会发光。因此要显示想要的字形就应使该字形的相应段的断码点亮,实际上就单片机把要显示的数转化为数码管断码来显示。此数据为字符的段码,但要注意扫描的速度。字型码与LED显示器各段的关系如表4-1所示。!表4-1D7D6D5D4D3D2D1D0dpgfedcbadp为小数点,字符0、1、2F的段码如表4-2所示表4-2字符段码(共阴)段码(共阳)03FHCOH106HF9H25BHA4H34FHB0H466H99H56DH92H67DH82H707HF8H87FH80H96FH90HA77H88HB7CH83HC39HC6HD5EHA1HE79H86HF71H8EH-40

26、HBFH.80H7FH熄灭00HFFHLED显示器可以分为有静态显示方式和动态显示方式两种。静态显示就是当数码管显示某个字符时,相应的段恒定的导通,直到要显示下一个字符为止。数码管工作在静态显示方式时,共阴极COM端要接地;若为共阳极COM端接在+5V电源。每位的段选线应分别与一个8位锁存器的输出端相连,数码管的各位是相互独立的,且要显示字符一经确定,相应锁存器的输出将维持不变。静态显示数码管一直在工作,因而数码管静态显的亮度较高。在这种显示方式编程比较容易,管理也较简单,但占用I/O口线资源较多,浪费资源,成本较高,需要加装锁存器,因而在显示位数较多的情况下,我们大都都采用数码管动态显示方式

27、进行显示。由于所有数码管的8位段码皆由一个I/O口控制,因此,在每一显示瞬间瞬间,8位数码管的断码都会被同时选中。要想每个数码管显示不同的字符,就必须采用扫描方法一次点亮想控制的数码管,即在每一瞬间只使其中的一个数码管工作显,其他的都熄灭。在此瞬间,段选控制I/O口输出相应字符段选码(字型码),而位选则控制I/O口在此时选中选中需要点亮的数码管。该显示位送入选通电平(因为LED为共阴,故应送低电平),以保证该位显示相应字符。如此替换,使每个数码管分时显示该位应显示字符。在多位LED显示时,为了简化电路,节约成本,将所有位的段选线并联在一起,由单片机的一个8位I/O口控制。而共阴(共阳)极公共端

28、则分别接在不同的I/O口上进行控制,实现个数码管的分时选通。段选码,位选码每送入一次后延时约1MS,因人的视觉暂留时间为0.1S(100MS),所以每位显示的时间如果超过超过20MS,并保持延时一段时间,会造成视觉暂留效果,给人看上去每个数码管都在亮。这种方式称为数码管动态扫描方式。下面是本设计采用的共阴极LED七段数码显示器,如图4-2.图4-2电流:数码管静态扫描时,推荐使用10-15mA的驱动电流;动态扫描时,平均电流为4-5mA,峰值电流有时能达到50-60mA。电压:当选择红色时,最好使用1.9V的驱动电压;当选择绿色时,使用2.1V的驱动电压。5 软件设计程序流程,如图5-1所示。

29、 图5-1 系统流程图本次设计,采用汇编语言程序,这样可以提高计时的正确性。使用内部定时器T0,并工作在方式1,由于采用的是12M的晶振,在这种工作方式下的最大的定时时间间隔为65.536ms,所以在本设计中采用定时的时间间隔为50ms,这样经过20个定时时间间隔恰好是1s。在计时子程序时,使用34H单元表示50ms存贮单元,用30H表示秒(s)的存储单元,用31H表示分(min)的存储单元,用32H表示时(h)存储单元。当34H中的数据为14h(即十进制为20)时,表示1s的时间到了,这时将30H中的内容自动加1,同时将34H中的自动内容清零;当30H中存放的数据为3Ch(即十进制为60)时

30、,表示1min时间到了,此时将31H中的内容自动加1,同时将30H中的内容被清零;当31H中的数据为3Ch(即十进制为60 )时,表示1h时间到了,此时将32H中的内容自动加1,同时将31H中的内容被清零;当32H中的数据为18h(即十进制为24)时,表示一天过完了,此时将32H内容被清零,重新自动开始计时。在显示子程序中,每个数码管显示时间控设置在5ms,当显示秒数字时,把秒数字的个位对应的二进制码用P2口的7个脚(P2.0P2.6)来控制,同时选通显示秒的个位数据的数码管,电平保持5ms;之后把秒数字的十位对应的二进制码送往P2口的7个脚,同时选通显示秒的十位数据的数码管工作。也保持大约5

31、ms,之后把显示分割符对应的二进制码送往P2口的7个脚,同时选通显示分隔符的数码管,也保持大约5ms;这样有3个5ms内只有负责秒显示的两个数码管显示和一个显示分隔符的数码管进行显示,而其余的数码管因未选通不工作而不显示任何的数据信息,同理显示分钟和小时也采用相似的控制方法,8个数码管一次轮流工作显示,显示的频率为1000ms/(5ms8)=25Hz,使用这种频率数码管发出的光不会使人眼睛产生跳跃或重影的感觉。在时间调整的程序中,在P1.0P1.2口获得低电平信并维持在5ms以上时便确认该键被按下。如果P1.0口为有效低电平,则自动将30H(秒计时单元)内容加1,同时将调整调用显示函数显示。然

32、后再次检测P1.0口是仍未有效的低电平,如果“是”则继续调整秒数据,“否”则接下来判断P1.1口是否为有效低电平,如果是有效低电平则将31H(分钟计时单元)内容自动加1,同时调用显示子函数将调整后的分数据显示,然后返回再次判断P1.0口的电平,如果不是有效低电平,则接下来判断单片机P1.2口是否为有效低电平,如果P1.2口是低电有效单片机则将32H(小时计时单元)内容自动加1,同时调用显示子函数将调整后的小时数据显示,再次返回判断P1.0口的电平,如果P1.2口不是有效电平就退出时间调整程序。6 时钟设计的硬件仿真6.1 仿真软件的介绍Proteus的ISIS是一款Labcenter新出品的电

33、路来分析实物仿真系统,可意对各种电路和IC进行仿真,并支持单片机,它元件库齐全,且使用方便,是一个不可多得的专业的单片机进行仿真系统。采用PC进行虚拟仿真实验要比显示中采用单片机实验箱更为有效,跟快捷,更经济。因为用户可以根据需要随时随地对原理电路图进行修改和改进,并立即就能获得仿真结果。由于在软件上修改原理电路图要比在实际中修改硬件电路容易得多,快捷的多。而且还可以根据不同的设计要求来采用不同元器件,或者修改元器件电气参数以获得不同输出结果,在成功进行虚拟仿真并获得成功的条件下,再制作实际硬件进行连线线实验,可以获得事半功倍的效果。Proteus仿真环境,如图6-1所示。图6-1 Prote

34、us仿真环境6.2 数字电子时钟硬件电路原理及设计硬件电路原理图,如图6-2所示。图6-2 硬件电路原理图如图所示,本设计以AT89C51单片机作为MCU控制部件,该型号单片机(见第二章)一共有40个引脚,选用P2口进行数据传送,P3口进行数码管的位选通,以及还有振荡电路部分、时间调整电路部分和SPEAK整点报时电路部分。以单片机的P2口的7个引脚(P2.0P2.6)分别作为小时、分钟、秒和分隔符显示数据的传送通道。因为单个数码管都是由7段发光二极管构成的,在本设计中不使用小数点,所以使用只使用P2口的7个引脚就可以进行数据传送及显示,将数码管的引脚通过三极管发大驱动连到P2口的7个引脚(P2

35、.0P2.6)。P3口的8个引脚用来选通8个LED数码管。由于是共阴极数码管,当某个引脚为低电平时,所对应的数码管显示。本设计选用P1口的3个引脚(P1.0P1.2)分别用来做秒、分钟和小时调整,把这3个引脚通过按键于地相接,按下相应的按钮与单片相连的的引脚变成低电平。单片机获家检测到该信号后, 做出指令使秒、分钟或小时的显示数字调整。硬件图,如图6-3图6-3 按键图蜂鸣器(SPEAK)接在P1.7脚上,该脚由一个8050的三极管进行放大,整点时刻到达时P1.7给出高电平使三极管饱和导通,蜂鸣器通电后就会可以发出一定频率的提示音,在没有达到整点时,P1.7为低电平,三极管处于戒指区 ,蜂鸣器

36、则不发音。74LS245,如图6-4,是我我们常用的驱动芯片,用它来驱动LED或者其它的设备,它是8路同相三态双向收发器,可意进行双向传输数据。当AT89C51单片机的P2口总线负载达到或超过P2最大驱动能力时,就必须接入74LS245等总线驱动器。当片选端低电平有效时,DIR=0,信号由B传向A:(接收).DIR=1,信号由向B传输:(发送)当片选端为高电平时,A、B均为高阻态。由于P2口始终输出地址的高8位数据,接口时74LS245的三态控制端/1G和/2G接地,P2口与驱动器输入线对应相连接。P2口与74LS245输入端相连/E端接地,保证数据能够畅通。AT89C51的RD和PSEN相与

37、后接在DIR,使得RD或PSEN任何一个有效时,74LS245输入数据DI到P0.1,其它时间处于输出P2.1到DI。图6-4 74s245硬件图在本设计闹铃子程序中,首先单片机判断30H(秒计时单元)是否为59,然后再判断31H(分钟计时单元)是否为59,只有这两个计时单元同时为59时,然后将P1.7口升至高电平,三极管导通 ,蜂鸣器开始发出响声,3秒后将P1.7口自动变为低电平,蜂鸣器停止发声,报时过程结束。这样就完成了一个24小时制的数字式电子时钟且带有整点报时功能得电子时钟。如图6-5所示。图6-5 硬件电路图6.3数字电子时钟仿真6.3.1 选择仿真元件本次设计中用到的元器件,下图6

38、-6列出:图6-6 元器件参照图6.3.2 绘制仿真图根据元器件种类和封装以及技术要 求将其布局在电路板上的适当位置。可以先从封装较大的器件开始。待封装较大的元器件布局好之后,小型的电子元器件就可以根据需要和电路板的面积灵活布置。6.4整机仿真及调试 (1)设定当前时间当需要设定当前时间时,按一下k1键,秒钟自动加1;按一下k2键,分钟自动加1;按一下k3键,小时自动加1。如此来设定当前时间。开始仿真时,显示如图6-7所示:图 6-7假如设定当前时间为06:26:26先按26次k1键,出现如图6-8所示:图 6-8再按6次k2键时,出现如图6-9所示:图 6-9再按26次k2键,出现如图6-1

39、0所示:图 6-10(2)当时钟达到23:59:59后会出现,如图6-11:图6-11此时,扬声器会发出报警声,且扬声器两端同时显示为高电平,而在图4-8中扬声器一端为高电平,另一端为低电平。在数字电子时钟单片机程序初步编完之后,利用单片机硬件仿真软件进行程序的仿真和调试,同时对程序进行认真的修改。在该设计在仿真及调试过程中应注意以下几点:(1)单片机时间基准振荡电路中振荡晶体频率的大小选择必须要和程序中的时间基准相一致。(2)由于单片机工作过程中要响应中断等原因,而中断服务程序所花费的时间必须在中断返回后在计时单元中扣除掉,否则不能进行准确的计时。(3)在仿真调试中适当的调试数码管的发光时间

40、时,需要反复修改程序中的给定的时间,直到整体上的显示效果良好,不会有闪烁或是重影的现象产生。7 结论本文通过对电子时钟的设计仿真,使自己对单片机和汇编语言有了进一步的温故掌握。在设计过程中,吸收了前辈的一些先进的理论成果,及时钟设计经验进行了借鉴。我在设计中总结出了一个重要的经验:一切问题都要结合实际进行设计。因为不同的设计技术或者设计思想都有自身的优点和局限性,只有根据具体的设计要求,才能顺利地进行设计仿真,也才能对己有的设计方法进行创新。本设计是学习51单片机的较佳选择。但是设计还有诸多重要功能没有完善,以后还有机会会继续完善其相应的功能。找出设计不足:功能少且只能显示时间,按键只能加;

41、没有设计减键。由于时间比较紧迫,未能开发出更多的功能来体现单片机电子时钟的优越性。 本设计上可实现的功能:1.实现秒表功能; 2.实现闹铃功能,当所定的时间到时,产生断续的蜂鸣声;3.现实年 月 日;4.具有天数倒计时功能 例如:距科技文化艺术节开幕式还有*天;以上的功能由于毕业时间紧迫未能完成。 但这些功能的开发都具有可行性, 这也就是单片机可扩展功能的优越性之所见,有待于继续开发。参考文献1 陶国正主编,单片机与接口应用技术M,苏州-苏州大学出版社 20092 张伟,张杰编著,单片机原理及应用M,北京-机械工业出版社 20073 李忠建主编,单片机原理及应用M,西安-西安电子科技大学出版社

42、,20044 赵德安等编著.单片机原理与应用A.机械工业出版社,2006.95 百度百科. 6 苗楼然、李光飞编著,51系列单片机设计实例M,北京-北京航空航天大学出版社 20057 李光飞,楼然苗,胡佳文编著. 单片机课程设计实例指导M. 北京-北京航空航天大学出版社 20078 贺永贞主编. 数字电子技术A. 西安-西安电子科技大学出版社 20059 曹建树, 夏生云, 曾林春编著,51单片机实用教程M,北京-中国石化出版社 200810 靳达编著. 单片机应用系统开发实例导航M. 北京-人民邮电出版社 2007.10致 谢大学生活一晃而过,回首走过的岁月,心中倍感充实,当我写完这篇毕业论

43、文的时候,有一种如释重负的感觉,感慨良多。在此我想对我的母校,我的父母、亲人们,我的老师和同学们表达我由衷的谢意。感谢我的家人对我大学几年学习的默默支持;感谢许昌学院给了我进一步深造的机会,让我能继续学习和提高;感谢老师和同学们几年来的关心和鼓励。老师们课堂上的激情洋溢,课堂下的谆谆教诲;同学们在学习中的认真热情,生活上的热心主动,所有这些都让我充满了感动。这次毕业论文设计我得到了很多老师和同学的帮助,其中我的论文指导老师陈素华老师,她对我的关心和支持尤为重要。陈老师平日里工作繁多,她在忙碌的教学工作中挤出时间来审查、修改我的论文;在写作论文的每个阶段,从选题到查阅资料,论文提纲的确定,中期论

44、文的修改,后期论文格式调整等各个环节中都给予了我悉心的指导。同时,也感谢四年中陪伴在我身边的同学、朋友,感谢他们为我提出的有益的建议和意见,有了他们的支持、鼓励和帮助,我才能充实的度过了四年的学习生活。在此,我再一次真诚地向帮助过我的老师和同学表示感谢!附 录数字时钟程序清单S_SETBITP1.0;数字钟秒控制位M_SETBITP1.1;分钟控制位H_SETBITP1.2;小时控制位SECONDEQU30HMINUTEEQU31HHOUREQU32HTCNTEQU34H ;50ms单元ORG00HSJMPSTARTORG0BHLJMPINT_T0START:MOVDPTR,#TABLEMOVHOUR,#0;初始化MOVMINUTE,#0MOVSECOND,#0 CLR P1.7MOVTCNT,#0MOVTMOD,#01H

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号