题目:简单51单片机数字时钟设计院系: 物理与电气工程学院专业:自动化专业班级:10级自动化******学号:2******引言20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。
忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。
但是,一旦重要事情,一时的耽误可能酿成大祸。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
下面是单片机的主要发展趋势。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
数字钟是采用数字电路实现对时,分,秒数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
设计内容利用单片机的定时/计数器,中断系统,以及阵列键盘和LED显示器进行设计。
在数码管显示器上实现电子时钟。
课程设计背景近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
关键字:单片机时钟设计 MC51课程设计目的1、综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现,从而加深对单片机软硬知识的理解,获得初步的应用经验。
2、学习AT89C51定时/计数器的原理及基本应用。
3、掌握多为数码管动态显示方法。
4、掌握Keil uVision2 IDE的使用方法。
【包括项目文件的建立,给项目添加程序文件,编译、连接项目,形成目标文件,运行调试观察结果,多文件的处理,仿真环境的设置。
】5、掌握Keil C51的调试技巧。
【包括如何设置和删除断点,如何查看和修改寄存器的内容,如何观察和修改变量,如何观察存储器区域,并行口的使用,定时/计数器的使用,串行口的使用,外中断的使用。
】6、掌握PROTEUS软件使用过程。
MCS-51单片机中断系统的结构5个中断源的符号、名称及产生的条件如下。
INT0:外部中断0,由P3.2端口线引入,低电平或下跳沿引起。
INT1:外部中断1,由P3.3端口线引入,低电平或下跳沿引起。
T0:定时器/计数器0中断,由T0计满回零引起。
T1:定时器/计数器l中断,由T1计满回零引起。
课程设计原理单片机控制的数字钟的硬件结构与软件设计,给出了汇编语言源程序。
此数字钟是一个将“时”、“分”、“秒”显示于人的视觉器官的计时装置。
显示器件选用LED七段数码管。
在译码显示电路输出的驱动下,显示出清晰、直观的数字符号。
针对数字钟会产生走时误差的现象,在电路中就设计有有校准时间功能的电路。
使用动态数码显示的方法,运用独立式按键识别过程,按“时”,“分”,“秒”数据送出显示处理方法。
Protues仿真图数字钟流程图设计代码;简要说明:实现24小时制电子钟,8位数码管显示,显示时分秒; 显示格式:23-59-59(小时十位如果为0则不显示); P0口输出段选信号,P3口输出位选信号; 为调秒按钮,为调分按钮,为调时按钮;晶振12MS_SET BIT ;数字钟秒控制位M_SET BIT ;分钟控制位H_SET BIT ;小时控制位SECOND EQU 30HMINUTE EQU 31HHOUR EQU 32HTCNT EQU 34HORG 00HSJMP STARTORG 0BHLJMP INT_T0START: MOV DPTR,#TABLEMOV HOUR,#0 ;初始化MOV MINUTE,#0MOV SECOND,#0MOV TCNT,#0MOV TMOD,#01HMOV TH0,#(65536-50000)/256 ;定时50毫秒MOV TL0,#(65536-50000)MOD 256MOV IE,#82HSETB TR0;****************************************************;判断是否有控制键按下,是哪一个键按下A1: LCALL DISPLAYJNB S_SET,S1JNB M_SET,S2JNB H_SET,S3LJMP A1S1: LCALL DELAY ;去抖动JB S_SET,A1INC SECOND ;秒值加1MOV A,SECONDCJNE A,#60,J0 ;判断是否加到60秒MOV SECOND,#0LJMP K1S2: LCALL DELAYJB M_SET,A1K1: INC MINUTE ;分钟值加1MOV A,MINUTECJNE A,#60,J1 ;判断是否加到60分MOV MINUTE,#0LJMP K2S3: LCALL DELAYJB H_SET,A1K2: INC HOUR ;小时值加1MOV A,HOURCJNE A,#24,J2 ;判断是否加到24小时MOV HOUR,#0MOV MINUTE,#0MOV SECOND,#0LJMP A1;**************************************************** ;等待按键抬起J0: JB S_SET,A1LCALL DISPLAYSJMP J0J1: JB M_SET,A1LCALL DISPLAYSJMP J1J2: JB H_SET,A1LCALL DISPLAYSJMP J2;***********************************************;定时器中断服务程序,对秒,分钟和小时的计数INT_T0: MOV TH0,#(65536-50000)/256MOV TL0,#(65536-50000)MOD 256INC TCNTMOV A,TCNTCJNE A,#20,RETUNE ;计时1秒INC SECONDMOV TCNT,#0MOV A,SECONDCJNE A,#60,RETUNEINC MINUTEMOV SECOND,#0MOV A,MINUTECJNE A,#60,RETUNEINC HOURMOV MINUTE,#0MOV A,HOURCJNE A,#24,RETUNEMOV HOUR,#0MOV MINUTE,#0MOV SECOND,#0MOV TCNT,#0RETUNE: RETI;****************************************** ;显示控制子程序DISPLAY:MOV A,SECOND ;显示秒MOV B,#10DIV ABCLRMOVC A,@A+DPTRMOV P0,ALCALL DELAYSETBMOV A,BCLRMOVC A,@A+DPTRMOV P0,ALCALL DELAYSETBCLRMOV P0,#40H ;显示分隔符LCALL DELAYSETBMOV A,MINUTE ;显示分钟MOV B,#10DIV ABCLRMOVC A,@A+DPTRMOV P0,ALCALL DELAYSETBMOV A,BCLRMOVC A,@A+DPTRMOV P0,ALCALL DELAYSETBCLRMOV P0,#40H ;显示分隔符LCALL DELAYSETBMOV A,HOUR ;显示小时MOV B,#10DIV ABCLRMOVC A,@A+DPTRMOV P0,ALCALL DELAYSETBMOV A,BCLRMOVC A,@A+DPTRMOV P0,ALCALL DELAYSETBRETTABLE: DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FH DELAY: MOV R6,#10D1: MOV R7,#250DJNZ R7,$DJNZ R6,D1RETEND设计相关说明参考元器件清单:单片机:80C51按键:BUTTON电阻:RES电容:CAP晶振:CRYSTALLED数码管:7SEG-MPX8- CC -BLUE(CA:共阳,CC:共阴)地:GRAND电源:POWER参考资料:《单片机电路设计、分析与制作》《单片机原理与应用》《proteus仿真MCS51一百例》。