资源预览内容
第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
第9页 / 共31页
第10页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
单片微机原理与接口技术专周 单片微型计算机与接口技术专周报告题目电子钟设计班级10261学号 04号姓名 尹荣超指导老师 傅林完成时间 2012-5-31 成都电子机械高等专科学校电气与电子工程系31第页电子钟专周报告一 实验目的1. 学习8051定时器时间计时处理、按键扫描及LED数码管显示的设计方法。2. 设计任务及要求:通过LCD液晶模块,进行时间显示,格式为“时:分:秒”;整点报时。二实验要求 A.基本要求:1通过LCD液晶模块,进行时间显示,格式为“时:分:秒2整点报时3清零4能对时,分,秒任意可调B.扩展部分:1利用按键可对时间及闹玲进行设置,并可显示闹玲时间。当闹玲时间到蜂鸣器发出声响,按停止键使可使闹玲声停止。2实现秒表功能3定时功能三实验设计分析针对要实现的功能,采用AT89S51单片机进行设计,AT89S51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。这样,既能做到经济合理又能实现预期的功能。首先,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。这是前期准备工作。第二部分是硬件部分:依据想要的功能分块设计设计,比如输入需要开关电路,输出需要显示驱动电路和数码管电路等。第三部分是软件部分:先学习理解汇编语言的编程方法再根据设计的硬件电路进行分块的编程调试,最终完成程序设计。第四部分是软件画图部分:设计好电路后进行画图,包括电路图和仿真图的绘制。第五部分是软件仿真部分:软硬件设计好后将软件载入芯片中进行仿真,仿真无法完成时检查软件程序和硬件电路并进行修改直到仿真成功。第六部分是硬件实现部分:连接电路并导入程序检查电路,若与设计的完全一样一般能实现想要的功能。最后进行功能扩展,在已经正确的设计基础上,添加额外的功能!四实验要求实现A.电路设计1. 整体设计此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块:显示电路用8个共阴数码管分别显示,小时、分钟和秒,通过动态扫描进行显示,从而避免了译码器的使用,同时节约了I/0端口,使电路更加简单。单片机采用AT89S51系列,这种单片机应用简单,适合电子钟设计。电路的总体设计框架如下:输出部分单片机输入部分复位2. 分块设计模块电路主要分为:输入部分、输出部分,复位。2.1 输入部分输入信号主要是各种模式选择和调整信号,由按键开关提供。以下为输入部分样:在本实验中主要用用P3口输入按键信号,还用到了特殊的P0口。对于P0口,由于其存在高阻状态,为了实现开关功能,给其添加上拉电阻,具体如下图所示:2.2 输出部分本电路的输出信号为7段数码管的位选和段选信号,闹铃脉冲信号,提示灯信号。本实验的数码管是共阴的,为了防止段选信号不能驱动数码管,故在P1口连接上拉电阻后,再送段选信号,以提高驱动,位选信号直接从P2口接入,如下图:闹铃由P1.0端输出,模块如下:各模块拼接组合,电路总体设计图如下:B.程序设计B.1 程序总体设计本实验用汇编程序完成.是否有调显示时间主程序开始NO按4按5开始、继续(秒表)主程序按4清零时钟、闹钟调时调分调秒按3按2按1YES按4按6按5结合电路图,程序设计的整体思路为:接通电源,数码管显示时,分,秒。并且走时显示LED灯每隔1秒改变一次明暗,此为正常工作模式。以下为在该工作方式下模式选择的按键方式:1按4开始计时,秒表开始,停止2按1调整秒,按4继续计时3按2调整分,按4继续计时4按3调整时,按4继续计时5按5设置闹钟时间,再按5回复原有时间,闹铃声停止6按6所有设置清零B.2 程序主要模块B.2.1 不加扩展功能显示时间主程序开始是否有调NO按4按5开始按4清零调时调分调秒按3按2按1YES按6按5按4暂停、继续主程序程序清单:;12M晶振 2010 01 14 调试完成 03 15 修改 2011 03 03 注释 STRT EQU P2.6 STP EQU P2.7 CLRR EQU P3.0 SEC EQU P3.5 MIN EQU P3.6 HOUR EQU P3.7 ORG 00H SJMP MAIN ORG 0BH AJMP T0INT0 ORG 30H MAIN: MOV SP,#60H MOV R4,#20 MOV TMOD,#01H MOV TH0,#03CH ;#9EH 12M晶振时定时初值取#3CB0H,还可细调,如 TL=#0B7H,可以更准 MOV TL0,#0B0H ;#58H SETB ET0 SETB EA ;MOV 28H,#12kS: LCALL DISP ;秒调整按键 JB SEC,KM LCALL DISP JNB SEC,$-3 AJMP SINCkM: JB MIN,KH ;分调整按键 LCALL DISP JNB MIN,$-3 AJMP MINCKH: JB HOUR,K1 ;时调整按键 LCALL DISP JNB HOUR,$-3 AJMP HINC SINC: INC 26H ;秒调整 MOV A,26H CJNE A,#60,SINC0 MOV 26H,#0SINC0: AJMP KSMINC: INC 27H ;分调整 MOV A,27H CJNE A,#60,MINC0 MOV 27H,#0MINC0: AJMP KMHINC: INC 28H ;时调整 MOV A,28H CJNE A,#24,HINC0 MOV 28H,#0HINC0: AJMP KH k1: LCALL DISP ;开始键 JB STRT,K2 LCALL DISP JNB STRT,$-3 AJMP STARTk2: JB STP,K3 ;暂停键 LCALL DISP JNB STP,STOPK3: JB CLRR,KS LCALL DISP JNB CLRR,CLEAR ;清零键 AJMP KSSTART: SETB TR0 ;开始 AJMP K1 STOP: CLR TR0 ;暂停 AJMP K2CLEAR: CLR TR0 ;清零 MOV A,#0 MOV 26H,A MOV 27H,A MOV 28H,A AJMP KSDISP: MOV A,26H MOV B,#10 DIV AB MOV 20H,B ;余数(秒个位数) MOV 21H,A ;商(秒十位数) MOV A,27H MOV B,#10 DIV AB MOV 22H,B ;余数(分个位数) MOV 23H,A ;商(分十位数) MOV A,28H MOV B,#10 DIV AB MOV 24H,B ;余数(时个位数) MOV 25H,A ;商(时十位数) MOV A,20H ;秒个位 ACALL SEG7 MOV P0,A CLR P2.0 ACALL DLY SETB P2.0 MOV A,21H ;秒十位 ACALL SEG7 MOV P0,A CLR P2.1 ACALL DLY SETB P2.1 MOV A,22H ;分个位 ACALL SEG7 MOV P0,A SETB P0.7 CLR P2.2 ACALL DLY SETB P2.2 MOV A,23H ;分十位 ACALL SEG7 MOV P0,A CLR P2.3 ACALL DLY SETB P2.3 MOV A,24H ;时个位 ACALL SEG7 MOV P0,A SETB P0.7 CLR P2.4 ACALL DLY SETB P2.4 MOV A,25H ;时十位 ACALL SEG7 MOV P0,A CLR P2.5 ACALL DLY SETB P2.5 RET T0INT0: MOV TH0,#03CH;#9EH ;定时中断子程序。重装定时常数 MOV TL0,#0B0H;#58H DJNZ R4,T0INTR ;50msX20=1S,未满20次,跳出中断子程序 MOV R4,#20 INC 26H ;1S,秒存储单元内数+1 MOV A,26H CJNE A,#60,T0INTR ;未满60S,跳出中断。 MOV 26H,#0 ;满60S,秒单元清零 INC 27H ;分+1 MOV A,27H CJNE A,#60,T0INTR MOV 27H,#0 INC 28H MOV A,28H CJNE A,#24,T0INTR MOV 28H,#0T0INTR: RETIDLY10: MOV R3,#30D0: ACALL DLY DJNZ R3,D0 RETDLY: MOV R7,#2D1: MOV R6,#40 DJNZ R6,$ DJNZ R7,D1 RETSEG7: INC A MOVC A,A+PC RET DB 03FH ;0 共阴 DB 006H ;1 DB 05BH ;2 DB 04FH ;3 DB 066H ;4 DB 06DH ;5 DB 07DH ;6 DB 007H ;7 DB 07FH ;8 DB 06FH ;9 END总体电路图: 加上整点提醒,响1
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号