《单片机课程设计报告电子钟设计》由会员分享,可在线阅读,更多相关《单片机课程设计报告电子钟设计(12页珍藏版)》请在金锄头文库上搜索。
1、微机控制与应用课程设计报告书题 目:电子钟设计报告姓 名:学 号:09指导老师:设计时间:2010年1号 单片机课程设计报告摘要: 数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。目前,数字钟的功能越来越强,并且有多种专门的大规模集成电路可供选择。从有利于学习的角度考虑,这里主要介绍以中小规模集成电路设计数字钟的方法。经过了数字电路设计这门课程的系统学习,特别经过了关于组合逻辑电路与时序逻辑电路部分的学习,我们已经具备了
2、设计小规模集成电路的能力,借由本次设计的机会,充分将所学的知识运用到实际中去。本次课程设计要求设计一个数字钟,基本要求为数字钟的时间周期为24小时,数字钟显示时、分、秒,数字钟的时间基准一秒对应现实生活中的时钟的一秒。供扩展的方面涉及到定时自动报警、按时自动打铃、定时广播、定时启闭路灯等。因此,研究数字钟及扩大其应用,有着非常现实的意义。目录一、 设计任务4二、 电子钟设计程序框图4三、 电子钟的主程序5四、 功能说明10五、 原理图11六、 检测与调试11七、 总结与体会12一、设计任务(一)、功能及技术指标要求设计电子钟的基本要求:设计一个电子钟,用秒脉冲作信号源,构成数字钟,显示秒、分、
3、时。(二)、设计内容按设计技术指标进行电子钟的硬件和软件设计。(三)、设计思路及关键技术 一个完整的电子钟相当于一个简单的单片机系统,该系统电子钟设置电路、单片机、显示电路等构成。单片机是集成IC芯片,只需根据实际设计要求选型。其他部分都需要根据应用要求和性能指标自行设计。 二、电子钟的设计框图 开始堆栈计数初始化开计数器按KPYPAD-SMALLCACC显示结果开始现场保护,重置初值启动下一个50ms50ms 计数器加1秒单元加1,50ms计数器清0,秒写入秒个位和秒十位50ms 计数器=20?否是分单元加1,秒单元清0,分写入分个位和分十位秒单元=60?时单元加1,分单元清0,时写入时个位
4、和时十位分单元=60?时单元清0时单元=24?中断返回否否否是是是 三、电子钟的主程序3.程序代码ORG 0000HLJMP STARTORG 000BH ;定时器/计数器T0中断程序入口LJMP INTT0 ;主程序3.程序代码ORG 0000HLJMP START ORG 000BH ;定时器/计数器T0中断程序入口 LJMP INTT0 ;主程序START:MOV R0,#70HMOV R7,#0CHINIT: MOV R0,#00HINC R0DJNZ R7,INITMOV 72H,#10MOV 75H,#10MOV TMOD,#01HMOV TL0,#0B0HMOV TH0,#03C
5、HSETB EASETB ET0SETB TR0START1:LCALL SCANLCALL KEYSCANSJMP START1 ;延时1MS子程序DL1MS:MOV R6,#14HDL1:MOV R7,#19HDL2:DJNZ R7,DL2 DJNZ R6,DL1 RET ;延时20MS子程序DL20MS:ACALL SCANACALL SCANACALL SCANRET ;数码管显示程序SCAN:MOV A,78H ;时间存入显示缓冲区相应位置MOV B,#0AHDIV ABMOV 71H,AMOV 70H,BMOV A,79HMOV B,#0AHDIV ABMOV 74H,AMOV 7
6、3H,B MOV A,7AHMOV B,#0AHDIV ABMOV 77H,A MOV 76H,B MOV R1,#70H ;循环扫描显示MOV R5,#80HMOV R3,#08HSCAN1:MOV A,R5MOV P2,AMOV A,R1MOV DPTR,#TABMOVC A,A+DPTRMOV P0,AMOV A,R5LCALL DL1MSINC R1MOV A,R5RR AMOV R5,ADJNZ R3,SCAN1MOV P2,#00HMOV P0,#0FFHRET TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH;“09
7、”,“-”的共阳极字段码 ;定时器/计数器T0中断服务程序INTT0:PUSH ACCPUSH PSWCLR ET0CLR TR0MOV TL0,#0B0HMOV TH0,#03CHSETB TR0INC 7BHMOV A,7BHCJNE A,#14H,OUTT0MOV 7BH,#00INC 78HMOV A,78HCJNE A,#3CH,OUTT0MOV 78H,#00 INC 79H MOV A,79HCJNE A,#3CH,OUTT0MOV 79H,#00 INC 7AH MOV A,7AHCJNE A,#18H,OUTT0 MOV 7AH,#00OUTT0:SETB ET0 POP P
8、SW POP ACCRETI ;按键处理程序KEYSCAN:CLR EAJNB P1.0,KEYSCAN0JNB P1.1,KEYSCAN1JNB P1.2,KEYSCAN2KEYOUT:SETB EA RETKEYSCAN0:LCALL DL20MS JB P1.0,KEYOUTWAIT0:JNB P1.0,WAIT0INC 7CHMOV A,7CHCLR ET0CLR TR0CJNE A,#03H,KEYOUTMOV 7CH,#00SETB ET0SETB TR0SJMP KEYOUTKEYSCAN1:LCALL DL20MS JB P1.1,KEYOUTWAIT1: JNB P1.1,W
9、AIT1MOV A,7CHCJNE A,#02H,KSCAN11INC 79H MOV A,79H CJNE A,#3CH,KEYOUT MOV 79H,#00 SJMP KEYOUTKSCAN11:INC 7AH MOV A,7AH CJNE A,#18H,KEYOUT MOV 7AH,#00 SJMP KEYOUTKEYSCAN2:LCALL DL20MS JB P1.2,KEYOUTWAIT2:JNB P1.2,WAIT2MOV A,7CHCJNE A,#02H,KSCAN21DEC 79H MOV A,79H CJNE A,#0FFH,KEYOUTMOV 79H,#3BH SJMP K
10、EYOUTKSCAN21:DEC 7AH MOV A,7AH CJNE A,#0FFH,KEYOUTMOV 7AH,#17H SJMP KEYOUT END四、功能说明40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。(1) 电源: VCC - 芯片电源,接+5V; VSS - 接地端;注:1用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0v或者5v。 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入
11、端和输出端。 控制线:控制线共有4根, ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 PSEN:外ROM读选通信号。 RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 I/O线80C51共有4个8位并行I/O端口:P0、P1
12、、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线) 五、原理图六、检测与调试1、硬件调试:硬件调试是利用UNTITLEDISISPROFESSIONAL实验与开发系统。硬件调试可分为静态调试与动态调试两步进行。静态调试是在用户系统未工作时的一种硬件检测。动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。2、软件调试: 软件调试是通过对程序的编译、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。七、总结与体会 通过一周的单片机课程设计,在自己的努力下,最终完成电子钟的设计;在设计中综合运用所