基于单片机的电子时钟的设计与实现PPT资料.ppt
《基于单片机的电子时钟的设计与实现PPT资料.ppt》由会员分享,可在线阅读,更多相关《基于单片机的电子时钟的设计与实现PPT资料.ppt(23页珍藏版)》请在冰点文库上搜索。
,设计简介,本题以提高自身的学习能力、实践动手能力、综合运用知识的能力为目标,以微机原理、计算机接口与技术等相关课程为基础,通过对单片机原理、程序编写方法、多种应用软件的学习,经过问题定义、模块化分析设计、绘制电路、硬件选择、软件编程几大步骤,最终设计完成一款具有计时显示功能,时间调整功能的单片机时钟。
具有一定的使用价值。
二.单片机,所谓单片机是一个单芯片形态、面向控制对象的嵌入式应用计算机系统。
即把组成微型计算机的各个功能部件,如中央处理器CPU、随机存储器RAM、只读存储器ROM、输入/输出(I/O)接口电路、定时器/计数器以及串行通信接口等集成在一款芯片中,构成一个完整的微型计算机。
由于单片机功能强大,价格低廉,它已被广泛应用与仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。
单片机的发展历史,单片机的结构,单片机分类,按照单片机的类型,单片机有:
(1)51系列单片机,其中首推Intel公司的8051单片机,片内有4K字节的一次性程序存储器(OTP)。
(2)具有ISP功能的单片机,ISP功能能够实现在系统可编程,可以省去通用的编程器,单片机在用户板上即可下载和烧录用户程序,而无需将单片机从生产好的产品上取下。
(3)PIC系列单片机,PIC单片机系列是美国微芯公司(Microship)的产品,CPU采用RISC结构,具有精简的指令集。
PIC系列单片机的I/O口是双向的,其输出电路为CMOS互补推挽输出电路。
也具有在线调试及编程(ISP)功能。
(4)AVR单片机,AVR单片机是Atmel公司推出的较为新颖的单片机,其显著的特点为高性能、高速度、低功耗。
AVR型号其管脚与对应的51系列兼容。
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器,向下完全兼容51子系列。
标准功能有8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振和时钟电路,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52单片机,三.设计要求,本设计拟实现的基本功能为单片机计时显示功能。
可拓展要求(视情况拓展开发,能够体现单片机电子时钟的可扩展优越性),加入时间调整程序,使用按钮,调整年月日及时间;
加入阴历显示功能;
加入温度计功能。
实验采用AT89S52作为时钟控制单片机(支持在线可编程且存储容量大);
采用时钟芯片为单片机提供时钟信号(提高精度);
采用普通按键作为时间日期更改输入模块,21段LED数码管作为输出模块,动态扫描方式显示内容。
四.硬件设计,基本硬件模块:
1.单片机基本工作模块,2.电源模块,3.按键输入模块,4.时钟芯片模块,5.显示模块,完整电路图(用Protel99se绘制),要解决编程软件选择及软件编写问题。
本设计软件编写采用KeilC软件,它是目前最流行的开发单片机的软件,KeilC51是一种专为单片机设计的高效率的C语言编译器,生成的程序代码运行速度极高,所需要的存储空间也极小。
KeilC语言同时支持编译C语言(*.C文件)和汇编语言(*.asm文件)。
汇编语言与C语言各有优缺点,不能一概而论。
用汇编语言编写有两方面的好处:
一方面,用汇编语言编写程序节省空间,通过对汇编语言的学习能够加深理解片内寄存器、各种寻址方式等知识。
但是,汇编语言的可读性较差,尤其在某些复杂算法实现时,汇编语言并不比C语言方便,且晦涩难懂,不便于修改。
五、软件实现,调时及走时程序流程图,初始化子程序CONFIG12EQU7FHTEMPHEQU21HTEMPLEQU20HREG2EQU22HREG3EQU23HREG4EQU24HDATEQUP0.7SCLKEQUP3.2IOEQUP3.3RSTEQUP3.4yearDATA66HmonthDATA65HweekDATA64HdayDATA63HhourDATA62HmintueDATA61HsecondDATA60HORG0000HLJMPSTARTORG001BHLJMPINTT1START:
;
初值LCALLZJSETBEAMOVSCON,#00H;
串行输出,方式0MOVTMOD,#10H;
计数器1,方式1MOVTL1,#00HMOVTH1,#00HMOV32H,#8EHMOV31H,#00H,LCALLWRITEMOV32H,#90HMOV31H,#0A6HLCALLWRITE;
主程序MAIN1:
MOV32H,#8DH;
读出年LCALLREADMOVyear,31HMOV32H,#8BH;
读出星期LCALLREADMOVweek,31HMOV32H,#89H;
读出月LCALLREADMOVmonth,31HMOV32H,#87H;
读出日LCALLREADMOVday,31HMOV32H,#85H;
读出小时LCALLREADMOVhour,31HMOV32H,#83H;
读出分钟LCALLREADMOVmintue,31HMOV32H,#81H;
读出秒LCALLREADMOVsecond,31H,显示子程序GFLASHOUT:
POPPSWPOPACCRETIGFLASH1:
JB0AH,GFLASH2;
调年闪MOV7CH,#0FHMOV7BH,#0FHAJMPGFLASHOUTGFLASH2:
JB0BH,GFLASH3;
调月闪MOV7AH,#0FHMOV79H,#0FHAJMPGFLASHOUTGFLASH3:
JB0CH,GFLASH4;
调日闪MOV77H,#0FHMOV76H,#0FHAJMPGFLASHOUTGFLASH4:
JB0DH,GFLASH5;
调星期闪MOV78H,#0FHAJMPGFLASHOUTGFLASH5:
JB0EH,GFLASH6;
调小时闪MOV75H,#0FHMOV74H,#0FHAJMPGFLASHOUT,GFLASH6:
MOV73H,#0FH;
调分钟闪MOV72H,#0FHAJMPGFLASHOUTDISPLAY:
LCALLTOUTOUMOVA,10HANLA,#00001111BMOV59H,AMOVA,76H;
第八列LEDANLA,#00001111BSWAPAADDA,59HMOVP1,AMOVA,70HANLA,#00001111BADDA,#00000000BMOVP2,ALCALLDL1MSMOVA,10HANLA,#11110000BSWAPAMOV5AH,AMOVA,77H;
第七列LEDANLA,#00001111BSWAPAADDA,5AHMOVP1,AMOVA,71HANLA,#00001111BADDA,#00010000B,MOVP2,ALCALLDL1MSMOVA,56H;
第六列LEDSWAPAANLA,#11110000BADDA,79HSWAPAMOVP1,AMOVA,72HANLA,#00001111BADDA,#00100000BMOVP2,ALCALLDL1MSMOVA,56H;
第五列LEDANLA,#11110000BADDA,7AHSWAPAMOVP1,AMOVA,73HANLA,#00001111BADDA,#00110000BMOVP2,ALCALLDL1MSMOVA,57H,设计不足本系统所采用的显示模块LED较多,占用了不少资源,包括线路板、单片机端口等,同时使得电路稳定性下降;
由于时间比较紧迫,未能开发出更多的功能以体现单片机电子时钟的优越性。
改进建议显示模块可只用一排8位Led替代21位Led,在8位Led中进行循环信息显示,即每隔5S切换显示时间、日期等信息。
这样可节约系统资源,拓展更多功能。
但这样做会使程序较为复杂,在编写时应力求简洁,需要高水平的软件编写。
本系统上可实现的其他拓展功能:
1.实现秒表功能;
2.实现闹铃功能,当所定的时间到时,产生断续的蜂鸣声;
3.实现温度显示;
4.具有天数倒计时功能,例如:
距北京奥运会开幕还有*天;
以上的功能由于时间比较紧,未能完成。
但这些功能的开发都具有可行性,这也就是单片机可扩展功能的优越性之所见,有待于继续开发。
报告结束,请老师和同学们批评指正!
谢谢大家!
基于单片机的电子时钟的设计与实现学生姓名:
张韬指导教师:
王永强,