2022年基于单片机电子时钟方案设计书04388.docx

上传人:Che****ry 文档编号:12908482 上传时间:2022-04-26 格式:DOCX 页数:20 大小:203.61KB
返回 下载 相关 举报
2022年基于单片机电子时钟方案设计书04388.docx_第1页
第1页 / 共20页
2022年基于单片机电子时钟方案设计书04388.docx_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《2022年基于单片机电子时钟方案设计书04388.docx》由会员分享,可在线阅读,更多相关《2022年基于单片机电子时钟方案设计书04388.docx(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精品学习资源设计题目:电子时钟设计目的:应用单片机掌握技术,以89c51单片机为核心的电子时钟设计目标:在数码管上显示相应的时间,并通过一个掌握键来实现时间的调整和是否进入省电模式的转换关键词:单片机;电子时钟;键盘掌握引言: 1957年,Ventura创造了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开头快速进展起来;现代的电子时钟是基于单片机欢迎下载精品学习资源的一种计时工具,采纳延时程序产生肯定的时间中断,用于一秒的定义, 通过计数方式进行满六十秒分钟进一,满六非常小时进一,满二十四小时小时清零;从而达到计时的功能,是人民日常生活补课缺少的工具;现在高精度的计时工具大多数都使用

2、了石英晶体振荡器,由于电子钟、石英 钟、石英表都采纳了石英技术,因此走时精度高,稳固性好,使用便利, 不需要常常调试,数字式电子钟用集成电路计时时,译码代替机械式传 动,用 LED 显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,仍可以进行时和分的校对,片选的敏捷性好;1 设计要求功能:电子时钟能够显示时、分、秒显示时间的功能,仍可以进行时和分的校对,而且其片选的敏捷性强;并且是以单片机为核心来设计的;2 方案论证与对比2.1 单片机的型号挑选通过对多种单片机性能的分析,最终认为89C51 是最抱负的电子时钟开发芯片; 89C51 是一种带 4K 字节闪耀可

3、编程可擦除只读储备器的低电压,高性能 CMOS8 位微处理器,器件采纳 ATMEL 高密度非易失储备器制造技术制造,与工业标准的MCS-51 指令集和输出管脚相兼容;由于将多功能 8 位 CPU 和闪耀储备器组合在单个芯片中,ATMEL 的 89C51是一种高效微掌握器,而且它与MCS-51 兼容,且具有 4K 字节可编程闪耀储备器和 1000 写/擦循环,数据保留时间为10 年等特点,是最好的挑选;2.2 数码管显示工作原理数码管是一种把多个 LED 显示段集成在一起的显示设备;有两种类型,一种是共阳型,一种是共阴型;共阳型就是把多个LED 显示段的阳极接在一起,又称为公共端;共阴型就是把多

4、个LED 显示段的阴极接在欢迎下载精品学习资源一起,即为公共商;阳极即为二极管的正极,又称为正极,阴极即为二极 管的负极,又称为负极;通常的数码管又分为8 段,即 8 个 LED 显示段,这是为工程应用便利如设计的,分别为A 、B、C、D、E、F、G、DP,其中 DP 是小数点位段;而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起;即,全部的A 段都会连在一起,其它的段也是如此,这是实际最常用的用法;数码管显示方法可分为静态显示和动态显示两种;静态显示就是数码管的8 段输入及其公共端电平始终有效;动态显示的原理是,各个数码管的相同段连接在一起,共同占用 8 位段

5、引管线;每位数码管的阳极连在一起组成公共端;利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时, 显示就会清楚显示出来;3 系统硬件电路的设计总体硬件原理图如图 1 所示欢迎下载精品学习资源19U4XTAL118XTAL29RSTP0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5P0.6/AD6 P0.7/AD73938373635343332293031PSEN ALEEAP2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P

6、2.5/A13 P2.6/A14P2.7/A15212223242526272812345678P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7AT89C51P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WRP3.7/RD1011121314151617图 1 系统电路原理图AT89C51 由于其含一个可擦除的 ROM ,以及其储备数据的时间长度可达 10 年之久所以选其作为该设计的核心掌握部件;3.1 键盘电路设计该设计只用了一个键盘,但实现的功能却是比较完善,削减了硬件资源的损耗,该键盘可

7、以实现小时和分钟的调剂以及掌握是否进入省电模 式;当按键按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,就可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,就可实现小时的调剂,同样每按一次小时加一;达到时间调剂的目的;挑选的多功能按键如图2 所示;欢迎下载精品学习资源图 2 多功能掌握键3.2 主控模块 89C5189C51 是一个 8 位单片机,片内 ROM 全部采纳 FLASH ROM 技术,晶振时钟为 12MHz ;89C51 是标准的 40 引脚双列直插式集成电路芯片,有 4个八位的并行双向 I/O 端口,分别记作 P0、P1、P2、P3

8、;第 31 引脚需要接高电位使单片机选用内部程序储备器;第 40 脚为电源端 VCC,接+5V 电源,第 20 引脚为接地端 VSS,通常在 VCC 和 VSS 引脚之间接 0.1 F高频滤波电容;4 系统软件设计4.1 系统软件概述在主程序的开头定义了一组固定单元用来储备计数的分、秒、时的储备单元;在主程序中,对不同的按键进行扫描,实现秒表,时间调整;系统总体流程图如图 3 所示;开头T0 中断入口通过查表方式显示数据欢迎下载精品学习资源数码位选加 1N位选值 =8Y位选数值 =0秒计数加 1N秒计数 =500Y秒计数 =0SECOND 加 1中断返回图 3 总体流程图系统子程序流程图如图4

9、 所示;子程序入口NSECOND=6YSECOND=0,并 MINUTE 加 1NMINUTE=60欢迎下载精品学习资源5 系统测试本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整程序、延时程序四大模块;在程序设计过程中,加强了部分软件抗干扰措施,下面对部分模块作介绍;系统开头仿真的仿真图如图5 系统仿真图所示;欢迎下载精品学习资源图 5 系统仿真图6 总结通过这次的设计使我熟悉到本人对单片机方面的学问知道的太少了, 对于书本上的很多学问仍不能敏捷运用,特别是对程序设计语句的懂得和运用,不能够充分懂得每个语句的详细含义,导致编程的程序过于复杂, 使得需要的储备空间增大;损耗了过多的

10、内存资源;本次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我所学到的学问运用到我以后的工作中去;在高校的课堂的学习只是在给我们灌输专业学问,而我们应把所学的用到我们现实的生活中去,此次的电子时钟设计给我奠定了一个实践基础,我会在以后欢迎下载精品学习资源的学习、生活中磨练自己,使自己适应于以后的竞争,同时在查找资料的过程中我也学到了很多新的学问,在和同学协作过程中增进同学间的友 谊,使我对团队精神的积极性和重要性有了更加充分的懂得;我知道,今后我的路仍是很长,我要学的东西也有很多;通过这次实习,我深刻的熟悉到运算机专业的路的不平整,但我会以一种良好的态度去迎接每一个

11、挫折和挑战;参考文献1 谢自美电子线路设计 试验 测试M 武汉:华中理工高校出版社,1992.2 何立民单片机应用系统设计 M 北京:北京航空航天高校出版社,1993.3 楼然笛单片机开发 M 北京:人民邮电出版社, 1994.4 付家才单片机掌握工程实践技术M 北京:化学工业出版社2004.3.5 李光才单片机课程设计 实例指导 M 北京:北京航空航天高校出版社 2004.6 朱定华单片机原理及接口技术试验M 北京:北方交通高校出版社2002.11.7 刘湘涛江世明单片机原理与应用M. 北京:电子工业出版社 ,2006.附录一 部分程序清单源程序ORG0000H;程序执行开头地址LJMPST

12、ART;跳到标号 START 执行ORG0003H;外中断 0 中断程序入口欢迎下载精品学习资源RETI;外中断 0 中断返回ORG000BH;定时器 T0 中断程序入口LJMPINTT0;跳至 INTTO 执行ORG0013H;外中断 1 中断程序入口RETI;外中断 1 中断返回ORG001BH;定时器 T1 中断程序入口LJMPINTT1;跳至 INTT1 执行ORG0023H;串行中断程序入口地址RETI;串行中断程序返回START: MOVR0,#70H;清 70H-7AH 共 11个内存单元MOVR7,#0BH;CLEARDISP: MOVR0,#00H;INCR0;DJNZ R7

13、,CLEARDISP;MOV20H,#00H;清 20H(标志用) MOV7AH,#0AH;放入 熄灭符 数据MOVTMOD,#11H;设 T0、T1 为 16 位定时器MOVTL0,#0B0H;50MS 定时初值( T0 计时用) MOVTH0,#3CH;50MS 定时初值MOVTL1,#0B0H;50MS 定时初值( T1 闪耀定时用) MOVTH1,#3CH;50MS 定时初值SETB EA;总中断开放SETB ET0;答应 T0 中断SETB TR0;开启 T0 定时器MOVR4,#14H;1 秒定时用初值( 50MS20) START1: LCALL DISPLA Y;调用显示子程序

14、欢迎下载精品学习资源JNBP3.7,SETMM1;P3.7 口为 0 时转时间调整程序SJMP START1;P3.7 口为 1 时跳回 START1 SETMM1:LJMP SETMM;转到时间调整程序 SETMM;1秒计时程序;INTT0: PUSH ACC;累加器入栈爱护PUSH PSW;状态字入栈爱护CLRET0;关 T0 中断答应CLRTR0;关闭定时器 T0MOVA,#0B7H;中断响应时间同步修正ADDA,TL0;低 8 位初值修正MOVTL0,A;重装初值(低 8 位修正值) MOVA,#3CH;高 8 位初值修正ADDC A,TH0;MOVTH0,A;重装初值(高 8 位修正

15、值) SETB TR0;开启定时器 T0DJNZ R4, OUTT0;20 次中断未到中断退出ADDSS: MOV R4,#14H;20 次中断到( 1 秒)重赋初值MOVR0,#71H;指向秒计时单元( 71H-72H) ACALL ADD1;调用加 1 程序(加 1 秒操作)MOVA,R3;秒数据放入 A( R3 为 2 位十进制数组合) CLR C;清进位标志CJNE A,#60H,ADDMM;ADDMM: JCOUTT0;小于 60 秒时中断退出ACALL CLR0;大于或等于 60 秒时对秒计时单元清 0 MOV R0,#77H;指向分计时单元( 76H-77H)欢迎下载精品学习资源

16、ACALL ADD1;分计时单元加 1 分钟MOVA,R3;分数据放入 ACLR C;清进位标志CJNE A,#60H,ADDHH;ADDHH: JC OUTT0;小于 60 分时中断退出ACALL CLR0;大于或等于 60 分时分计时单元清 0 MOV R0,#79H;指向小时计时单元( 78H-79H) ACALL ADD1;小时计时单元加1 小时MOVA,R3;时数据放入 A CLRC;清进位标志 CJNE A,#24H,HOUR;HOUR: JCOUTT0;小于 24 小时中断退出ACALL CLR0;大于或等于 24 小时小时计时单元清 0 OUTT0: MOV 72H,76H ;

17、中断退出时将分、时计时单元数据移MOV 73H,77H;入对应显示单元MOV74H,78H;MOV75H,79H;POP PSW;复原状态字(出栈)POPACC;复原累加器SETB ET0;开放 T0 中断RETI;中断返回;闪动调时 程 序;T1 中断服务程序,用作时间调整时调整单元闪耀指示INTT1:PUSHACC ;中断现场爱护PUSHPSW;MOVTL1,#0B0H;装定时器 T1 定时初值欢迎下载精品学习资源MOVTH1,#3CH;DJNZR2,INTT1OUT;0.3秒未到退出中断( 50MS 中断 6 次) MOVR2,#06H;重装 0.3秒定时用初值CPL02H;0.3秒定时

18、到对闪耀标志取反JB02H,FLASH1;02H 位为 1 时显示单元 熄灭 MOV72H,76H;02H 位为 0 时正常显示MOV73H,77H;MOV74H,78H;MOV75H,79H;INTT1OUT:POPPSW;复原现场POPACC;RETI;中断退出FLASH1: JB01H,FLASH2;01H 位为 1 时,转小时熄灭掌握MOV72H,7AH;01H 位为 0 时, 熄灭符 数据放入分MOV73H,7AH;显示单元( 72H-73H),将不显示分数据MOV74H,78H;MOV75H,79H;AJMPINTT1OUT;转中断退出FLASH2: MOV72H,76H ;01H

19、 位为 1 时, 熄灭符 数据放入小时MOV73H,77H;显示单元( 74H-75H),小时数据将不显示MOV74H,7AH;MOV75H,7AH;AJMPINTT1OUT;转中断退出;加 1 子 程 序;ADD1: MOV A,R0;取当前计时单元数据到A欢迎下载精品学习资源DEC R0;指向前一地址SWAP A;A 中数据高四位与低四位交换ORLA,R0;前一地址中数据放入 A 中低四位ADD A,#01H;A 加 1 操作DAA;十进制调整MOVR3,A;移入 R3 寄存器ANLA,#0FH;高四位变 0MOVR0,A;放回前一地址单元MOV A,R3;取回 R3 中暂存数据INC R

20、0;指向当前地址单元SWAP A;A 中数据高四位与低四位交换ANLA,#0FH;高四位变 0MOV R0,A;数据放入当削地址单元中RET;子程序返回;清零程序;CLR0: CLRA;清累加器 MOVR0,A;清当前地址单元DECR0;指向前一地址MOVR0,A;前一地址单元清0 RET;子程序返回;时钟调整程序;当调时按键按下时进入此程序SETMM: CLRET0;关定时器 T0 中断CLRTR0;关闭定时器 T0欢迎下载精品学习资源LCALLDL1S;调用 1 秒延时程序JBP3.7,CLOSEDIS;键按下时间小于 1 秒,关闭显示(省电) MOVR2,#06H;进入调时状态,赋闪耀定

21、时初值SETB ET1;答应 T1 中断SETB TR1;开启定时器 T1SET2: JNBP3.7,SET1 ;P3.7口为 0(键未释放),等待SETB00H;键释放,分调整闪耀标志置1 SET4: JBP3.7,SET3 ;等待键按下LCALLDL05S;有键按下,延时 0.5秒JNBP3.7,SETHH;按下时间大于 0.5 秒转调小时状态MOVR0,#77H;按下时间小于 0.5 秒加 1 分钟操作LCALL ADD1;调用加 1 子程序MOVA,R3;取调整单元数据CLRC;清进位标志CJNE A,#60H,HHH ;调整单元数据与 60 比较HHH: JC SET4 ;调整单元数

22、据小于 60 转 SET4 循环LCALL CLR0;调整单元数据大于或等于 60 时清 0 CLR C;清进位标志AJMPSET4;跳转到 SET4 循环CLOSEDIS:SETBET0;省电( LED 不显示)状态;开T0 中断SETBTR0;开启 T0 定时器(开时钟) CLOSE:JBP3.7,CLOSE ;无按键按下,等待;LCALL DISPLAY;有键按下,调显示子程序延时削抖JB P3.7,CLOSE ;是干扰返回 CLOSE 等待WAITH: JNB P3.7,WAITH ;等待键释放LJMPSTART1;返回主程序( LED 数据显示亮)欢迎下载精品学习资源SETHH: C

23、LR00H;分闪耀标志清除(进入调小时状态)SETHH1: JNBP3.7,SET5;等待键释放SETB01H;小时调整标志置1 SET6: JBP3.7,SET7 ;等待按键按下LCALLDL05S;有键按下延时0.5秒JNBP3.7,SETOUT;按下时间大于 0.5 秒退出时间调整MOVR0,#79H;按下时间小于 0.5 秒加 1 小时操作LCALLADD1;调加 1 子程序MOVA,R3;CLRC;CJNE A,#24H,HOUU;计时单元数据与24 比较HOUU: JCSET6;小于 24 转 SET6 循环LCALL CLR0;大于或等于 24 时清 0 操作AJMPSET6;跳

24、转到 SET6 循环SETOUT: JNBP3.7,SETOUT1;调时退出程序;等待键释放LCALL DISPLAY;延时削抖JNBP3.7,SETOUT;是抖动,返回 SETOUT 再等待CLR01H;清调小时标志CLR00H;清调分标志CLR02H;清闪耀标志CLRTR1;关闭定时器 T1CLRET1;关定时器 T1 中断SETBTR0;开启定时器 T0SETBET0;开定时器 T0 中断(计时开头)LJMP START1;跳回主程序SET1: LCALLDISPLA Y ;键释放等待时调用显示程序(调分)欢迎下载精品学习资源AJMPSET2;防止键按下时无时钟显示SET3: LCALL

25、DISPLA Y ;等待调分按键时时钟显示用AJMPSET4SET5: LCALLDISPLA Y ;键释放等待时调用显示程序(调小时)AJMPSETHH1;防止键按下时无时钟显示SET7: LCALLDISPLA Y ;等待调小时按键时时钟显示用AJMPSET6SETOUT1: LCALLDISPLAY;退出时钟调整时键释放等待AJMPSETOUT;防止键按下时无时钟显示;显示程序;DISPLAY: MOVR1,#70H;指向显示数据首址MOVR5,#0FEH;扫描掌握字初值PLAY: MOVA,R5;扫描字放入 AMOVP3,A;从 P3 口输出MOVA,R1;取显示数据到 A MOVDP

26、TR,#TAB;取段码表地址MOVC A,A+DPTR;查显示数据对应段码MOVP1,A;段码放入 P1 口LCALL DL1MS;显示 1MSINCR1;指向下一地址MOVA,R5;扫描掌握字放入AJNBACC.5,ENDOUT;ACC.5=0 时一次显示终止RLA; A 中数据循环左移MOVR5,A;放回 R5 内AJMP PLAY;跳回 PLAY 循环欢迎下载精品学习资源ENDOUT: SETB P3.5;一次显示终止 ,P3 口复位MOVP1,#0FFH;P1 口复位RET;子程序返回TAB:DB0C0H,0F9H,0A4H,0B0H,99H DB92H,82H,0F8H,80H,90

27、H,0FFH;共阳段码表;延时程序;1MS 延时程序, LED 显示程序用DL1MS: MOV R6,#14H DL1:MOV R7,#19H DL2:DJNZ R7,DL2 DJNZ R6,DL1RET;20MS 延时程序,采纳调用显示子程序以改善LED 的显示闪耀现象DS20MS: ACALLDISPLA Y ACALL DISPLAYACALL DISPLAY RET20MS 延时程序,用作按键时间的长短判定DL1S:LCALLDL05SLCALLRETDL05SDL05S:MOVR3,#20H; 8 毫秒 *32=0.196秒DL05S1:DJNZLCALLR3,DL05S1DISPLAY欢迎下载精品学习资源RETEND;程序终止欢迎下载

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁