1、基于单片机的电子时钟的设计与实现 西北大学物理学系应用物理专业西北大学物理学系应用物理专业学生姓名: 张 韬学 号: 20061100060指导教师: 王永强一、设计简介二、单片机的简单介绍三、试验所用单片机AT89S52四、试验硬件设计五、软件设计六、总结 内容概况一、设计简介一、设计简介 随着二十世纪的结束,我们已走过了三随着二十世纪的结束,我们已走过了三个个“电电”的时代,即电气时代、电子时代和的时代,即电气时代、电子时代和电脑时代。进入二十一世纪,随着微电子技电脑时代。进入二十一世纪,随着微电子技术和超大规模集成电路的发展,以单片机为术和超大规模集成电路的发展,以单片机为核心的现代化智
2、能设备在各个领域(如工业核心的现代化智能设备在各个领域(如工业控制、家电产品、汽车电子、通信、智能仪控制、家电产品、汽车电子、通信、智能仪器仪表)都得到了越来越广泛的应用,并且器仪表)都得到了越来越广泛的应用,并且正在深刻的改变着我们生活的方方面面,这正在深刻的改变着我们生活的方方面面,这也同时标志着数字化时代的到来。而电子时也同时标志着数字化时代的到来。而电子时钟作为计时系统,在工业或生活中更是无处钟作为计时系统,在工业或生活中更是无处不在。不在。 本题目所设计的单片机电子时钟系统,就是用单片机实现一本题目所设计的单片机电子时钟系统,就是用单片机实现一种计时系统。用单片机设计制造的的电子时钟
3、,具有集成性高、种计时系统。用单片机设计制造的的电子时钟,具有集成性高、稳定性和可靠性高、功能多样并可无限拓展、电路简介、成本低稳定性和可靠性高、功能多样并可无限拓展、电路简介、成本低廉等特点,有广泛的应用前景。廉等特点,有广泛的应用前景。设计简介设计简介 本题以提高自身的学习能力、实践动手能力、本题以提高自身的学习能力、实践动手能力、综合运用知识的能力为目标,以微机原理、计算机综合运用知识的能力为目标,以微机原理、计算机接口与技术等相关课程为基础,通过对单片机原理、接口与技术等相关课程为基础,通过对单片机原理、程序编写方法、多种应用软件的学习,经过问题定程序编写方法、多种应用软件的学习,经过
4、问题定义、模块化分析设计、绘制电路、硬件选择、软件义、模块化分析设计、绘制电路、硬件选择、软件编程几大步骤,最终设计完成一款具有计时显示功编程几大步骤,最终设计完成一款具有计时显示功能,时间调整功能的单片机时钟。具有一定的使用能,时间调整功能的单片机时钟。具有一定的使用价值。价值。二.单片机所谓单片机是一个单芯片形态、面向控制对象所谓单片机是一个单芯片形态、面向控制对象的嵌入式应用计算机系统。即把组成微型计算机的的嵌入式应用计算机系统。即把组成微型计算机的各个功能部件,如中央处理器各个功能部件,如中央处理器CPUCPU、随机存储器、随机存储器RAMRAM、只读存储器只读存储器ROMROM、输入
5、、输入/ /输出(输出(I/OI/O)接口电路、定)接口电路、定时器时器/ /计数器以及串行通信接口等集成在一款芯片计数器以及串行通信接口等集成在一款芯片中,构成一个完整的微型计算机。中,构成一个完整的微型计算机。 由于单片机功能强大,价格低廉,它已被广泛由于单片机功能强大,价格低廉,它已被广泛应用与仪器仪表、家用电器、医用设备、航空航天、应用与仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。专用设备的智能化管理及过程控制等领域。 单片机的发展历史发展阶段发展阶段时间时间代表芯片代表芯片初级阶段:初级阶段:1974197619741976两片集成芯片两片集成芯片低
6、性能阶段低性能阶段1976197819761978INTER MCS-48INTER MCS-48高性能阶段高性能阶段1978198219781982MCS51MCS51更高性能阶段更高性能阶段19831983至今至今多种机型并行发多种机型并行发展展中断控制中央处理器时钟电路程序存贮器数据存贮器定时器并行I/O接口特殊I/O接口外部中断请求线内部中断源外部时钟VCCGND外部输入线并行I/O特殊I/O单片机的结构单片机分类 按照单片机的类型,单片机有:按照单片机的类型,单片机有:(1)51系列单片机,其中首推系列单片机,其中首推Intel公司的公司的8051单片机,片内有单片机,片内有 4K字
7、节的一次性程序存储器(字节的一次性程序存储器(OTP)。)。(2)具有具有ISPISP功能的单片机,功能的单片机,ISPISP功能能够实现在系统可编程,功能能够实现在系统可编程,可以省去通用的编程器,单片机在用户板上即可下载和烧录用可以省去通用的编程器,单片机在用户板上即可下载和烧录用户程序,而无需将单片机从生产好的产品上取下。户程序,而无需将单片机从生产好的产品上取下。 (3)PICPIC系列单片机,系列单片机,PICPIC单片机系列是美国微芯公司单片机系列是美国微芯公司(MicroshipMicroship)的产品,的产品,CPUCPU采用采用RISCRISC结构,具有精简的指令集结构,具
8、有精简的指令集 。PICPIC系列单片系列单片机的机的I/OI/O口是双向的,其输出电路为口是双向的,其输出电路为CMOSCMOS互补推挽输出电路。也互补推挽输出电路。也具有在线调试及编程(具有在线调试及编程(ISPISP)功能。)功能。(4)AVRAVR单片机,单片机,AVRAVR单片机是单片机是AtmelAtmel公司推出的较为新颖的单片公司推出的较为新颖的单片机,其显著的特点为高性能、高速度、低功耗。机,其显著的特点为高性能、高速度、低功耗。AVRAVR型号其管脚型号其管脚与对应的与对应的5151系列兼容。系列兼容。 AT89S52 AT89S52是一种低功耗、高是一种低功耗、高性能性能
9、CMOS8CMOS8位微控制器,具有位微控制器,具有8K8K在系统可编程在系统可编程FlashFlash存储器,向存储器,向下完全兼容下完全兼容5151子系列。标准功能子系列。标准功能有有8k8k字节字节FlashFlash,256256字节字节RAMRAM,32 32 位位I/O I/O 口线,看门狗定时器,口线,看门狗定时器,2 2个数据指针,三个个数据指针,三个1616位定时器位定时器/ /计数器,一个计数器,一个6 6向量向量2 2级中断结构,级中断结构,全双工串行口,片内晶振和时钟全双工串行口,片内晶振和时钟电路,使得电路,使得AT89S52AT89S52为众多嵌入为众多嵌入式控制应
10、用系统提供高灵活、超式控制应用系统提供高灵活、超有效的解决方案。有效的解决方案。AT89S52 AT89S52 单片机三三. .设计要求设计要求 本设计拟实现的基本功能为单片机计本设计拟实现的基本功能为单片机计时显示功能。时显示功能。可拓展要求(视情况拓展开发,能够体现可拓展要求(视情况拓展开发,能够体现单片机电子时钟的可扩展优越性)单片机电子时钟的可扩展优越性)加入时间调整程序,使用按钮,调整年加入时间调整程序,使用按钮,调整年月日及时间;月日及时间;加入阴历显示功能;加入阴历显示功能;加入温度计功能。加入温度计功能。 实验采用实验采用AT89S52AT89S52作为时钟控制单片机(支持作为
11、时钟控制单片机(支持在线可编程且存储容量大);采用时钟芯片为单片在线可编程且存储容量大);采用时钟芯片为单片机提供时钟信号(提高精度);采用普通按键作为机提供时钟信号(提高精度);采用普通按键作为时间日期更改输入模块,时间日期更改输入模块,2121段段LEDLED数码管作为输出数码管作为输出模块,动态扫描方式显示内容。模块,动态扫描方式显示内容。 四四. .硬件设计硬件设计基本硬件模块: 1.单片机基本工作模块2.2. 电源模块电源模块 3.3. 按键输入模块4.4.时钟芯片模块时钟芯片模块 5.5.显示模块显示模块 完整电路图(用完整电路图(用Protel99seProtel99se绘制)绘
12、制) 要解决编程软件选择及软件编写问题。要解决编程软件选择及软件编写问题。 本设计软件编写采用本设计软件编写采用Keil CKeil C软件,它是目前最流行的软件,它是目前最流行的开发单片机的软件,开发单片机的软件,KeilKeil C51 C51是一种专为单片机设计的高是一种专为单片机设计的高效率的效率的C C语言编译器,生成的程序代码运行速度极高,所语言编译器,生成的程序代码运行速度极高,所需要的存储空间也极小。需要的存储空间也极小。 KeilKeil C C语言同时支持编译语言同时支持编译C C语言(语言(* *.C.C文件)和汇编语文件)和汇编语言(言(* *.asm.asm文件)。汇
13、编语言与文件)。汇编语言与C C语言各有优缺点,不能一语言各有优缺点,不能一概而论。用汇编语言编写有两方面的好处:一方面,用汇概而论。用汇编语言编写有两方面的好处:一方面,用汇编语言编写程序节省空间,通过对汇编语言的学习能够加编语言编写程序节省空间,通过对汇编语言的学习能够加深理解片内寄存器、各种寻址方式等知识。但是,汇编语深理解片内寄存器、各种寻址方式等知识。但是,汇编语言的可读性较差,尤其在某些复杂算法实现时,汇编语言言的可读性较差,尤其在某些复杂算法实现时,汇编语言并不比并不比C C语言方便,且晦涩难懂,不便于修改。语言方便,且晦涩难懂,不便于修改。五、软件实现五、软件实现调时及走时程序
14、调时及走时程序流程图流程图初始化子程序初始化子程序 CONFIG12 EQU 7FH TEMPH EQU 21H TEMPL EQU 20H REG2 EQU 22H REG3 EQU 23H REG4 EQU 24H DAT EQU P0.7 SCLK EQU P3.2 IO EQU P3.3 RST EQU P3.4 year DATA 66H month DATA 65H week DATA 64H day DATA 63H hour DATA 62H mintue DATA 61H second DATA 60H ORG 0000H LJMP START ORG 001BH LJMP
15、INTT1START: ;初值 LCALL ZJ SETB EA MOV SCON,#00H ; 串行输出,方式0 MOV TMOD,#10H ;计数器1,方式1 MOV TL1,#00H MOV TH1,#00H MOV 32H,#8EH MOV 31H,#00H LCALL WRITE MOV 32H,#90H MOV 31H,#0A6H LCALL WRITE ;主程序MAIN1: MOV 32H,#8DH ;读出年 LCALL READ MOV year,31H MOV 32H,#8BH ;读出星期 LCALL READ MOV week,31H MOV 32H,#89H ;读出月 L
16、CALL READ MOV month,31H MOV 32H,#87H ;读出日 LCALL READ MOV day,31H MOV 32H,#85H ;读出小时 LCALL READ MOV hour,31H MOV 32H,#83H ;读出分钟 LCALL READ MOV mintue,31H MOV 32H,#81H ;读出秒 LCALL READ MOV second,31H显示子程序显示子程序 GFLASHOUT: POP PSW POP ACC RETIGFLASH1: JB 0AH,GFLASH2 ;调年闪 MOV 7CH,#0FH MOV 7BH,#0FH AJMP GF
17、LASHOUTGFLASH2: JB 0BH,GFLASH3 ;调月闪 MOV 7AH,#0FH MOV 79H,#0FH AJMP GFLASHOUTGFLASH3: JB 0CH,GFLASH4 ;调日闪 MOV 77H,#0FH MOV 76H,#0FH AJMP GFLASHOUTGFLASH4: JB 0DH,GFLASH5 ;调星期闪 MOV 78H,#0FH AJMP GFLASHOUTGFLASH5: JB 0EH,GFLASH6 ;调小时闪 MOV 75H,#0FH MOV 74H,#0FH AJMP GFLASHOUTGFLASH6: MOV 73H,#0FH ;调分钟闪
18、MOV 72H,#0FH AJMP GFLASHOUTDISPLAY: ;LCALL TOUTOU MOV A,10H ANL A,#00001111B MOV 59H,A MOV A,76H ;第八列LED ANL A,#00001111B SWAP A ADD A,59H MOV P1,A MOV A,70H ANL A,#00001111B ADD A,#00000000B MOV P2,A LCALL DL1MS MOV A,10H ANL A,#11110000B SWAP A MOV 5AH,A MOV A,77H ;第七列LED ANL A,#00001111B SWAP A A
19、DD A,5AH MOV P1,A MOV A,71H ANL A,#00001111B ADD A,#00010000B MOV P2,A LCALL DL1MS MOV A,56H ;第六列LED SWAP A ANL A,#11110000B ADD A,79H SWAP A MOV P1,A MOV A,72H ANL A,#00001111B ADD A,#00100000B MOV P2,A LCALL DL1MS MOV A,56H ;第五列LED ANL A,#11110000B ADD A,7AH SWAP A MOV P1,A MOV A,73H ANL A,#000011
20、11B ADD A,#00110000B MOV P2,A LCALL DL1MS MOV A,57H 本系统所采用的显示模块LED较多,占用了不少资源,包括线路板、单片机端口等,同时使得电路稳定性下降; 由于时间比较紧迫,未能开发出更多的功能以体现单片机电子时钟的优越性。 显示模块可只用一排8位Led替代21位Led,在8位Led中进行循环信息显示,即每隔5S切换显示时间、日期等信息。这样可节约系统资源,拓展更多功能。但这样做会使程序较为复杂,在编写时应力求简洁,需要高水平的软件编写。本系统上可实现的其他拓展功能:本系统上可实现的其他拓展功能:1.实现秒表功能;2.实现闹铃功能,当所定的时间到时,产生断续的蜂鸣声;3.实现温度显示;4.具有天数倒计时功能,例如:距北京奥运会开幕还有*天; 以上的功能由于时间比较紧,未能完成。以上的功能由于时间比较紧,未能完成。但这些功能的开发都具有可行性,这也就是但这些功能的开发都具有可行性,这也就是单片机可扩展功能的优越性之所见,有待于单片机可扩展功能的优越性之所见,有待于继续开发。继续开发。 报告结束,请老师和同学们批评指正! 谢谢大家!基于单片机的电子时钟的设计与实现 学生姓名:张 韬 指导教师:王永强