毕业设计-基于at89c51单片机的数字时钟设计内容摘要:
延时程序。 需要说明的是,这里设计的是简易的电子钟,主要是用程序运行来计算时间,这样用程序来确定出 1s的时间精度是很有限的,所以整个时钟的精度不太高。 主程序的设计 初始化将时、分、秒各单元的内容清空,置 T0为计 数器方式 1,分别给计数器的高 8位和低 8位赋计数初值,启动 T0工作。 键入一个按键,如执行此动作,秒值加 1,否则重新键如按键。 主程序模块 :主程序流程图,如图 41所示 图 41 主程序流程图 键输入程序 键输入程序用于调整时间。 以秒为例,按下按键 SSET,判断 SSET 是否真的被按下,若没有键按下,转到 A1程序段,再次键入按键,重新判断。 若按键按下了,则调用延时程序,消除抖动现象秒值加 1,当秒值大于 60 时,秒清零,进行下一次计时,同时分加 一,并转到 J0显示。 此过程循环执行,其程序流程图如图 42所示: 初始化 键输入 开始 键执行 结束 17 图 42 键输入程序流程图 A1: LCALL DISPLAY;调用延时程序 JNB S_SET,S1;判断按键是否按下 JNB M_SET,S2 JNB H_SET,S3 LJMP A1 S1: LCALL DELAY。 去抖动 JB S_SET,A1 INC SECOND。 秒值加 1 MOV A,SECOND CJNE A,60,J0。 判断是否加到 60秒 MOV SECOND,0。 秒清 0 LJMP J0 J0: JB S_SET,A1 LCALL DISPLAY。 调用显示 SJMP J0 显示程序 显示其时、分、秒的数值,和两个分隔符。 以显示秒为例,当 ,显示 SSET 是否按下 否按下 秒值加 1 秒 60。 清零 N 调用延时 Y Y N 18 秒的个位所对应的字段码点亮,显示其秒的个位;当秒有十位输入时, ,秒所十位对应的字段码点亮,显示其秒十位。 其程序流程图如图 43所示: 图 43 显示程序流程图 DISPLAY:MOV A,SECOND。 显示秒 MOV B,10 DIV AB CLR MOVC A, @A+DPTR。 取字段码 MOV P0, A LCALL DELAY。 调用延时 SETB。 显示秒十位 MOV A,B CLR MOVC A,@A+DPTR。 取字段码 MOV P0,A LCALL DELAY。 调用延时 ,去抖动 SETB。 显示秒个位 CLR 延时程序 按键抖动时间一般为 5ms~ 10ms,因此延时 10ms,其流程图如图 44所示: 取字段码 取字位码 显示秒个位 显示秒十位 调用延时 19 图 44 延时程序流程图 DELAY: MOV R6,10。 延时 10ms D1: MOV R7,250 DJNZ R7,$ DJNZ R6,D1 RET 中断程序 中断程序主要用于控制显示的字符。 当秒值大于 60 时,秒清零,重新计数,分值加 1,秒、分同时显示;当分值大于 60 时,分清零,重新计数,小时加 1,秒、分、时同时显示,当小时大于 23时,一天的计时完毕,秒、分、时均清零,进行第二天的计时。 此任务循环执行。 其程序流程图如图 45所示: 10 送 R6 250 送 R7 返回 (R6)=(R7) ? Y N 20 图 44 中断程序流程图 DISPLAY: MOV A,SECOND。 显示秒 MOV B,10 DIV AB CLR MOVC A, @A+DPTR MOV P0, A LCALL DELAY。 调用延时 SETB。 显示秒的十位 MOV A,B 秒加 1 秒 59? 小时 23? 分 59? 秒清 0,分加 1 小时清 0 分清 0,时加 1 N Y Y Y N N 21 CLR MOVC A,@A+DPTR MOV P0,A LCALL DELAY SETB。 显示秒的个位 CLR MOV P0,40H。 显示分隔符 LCALL DELAY SETB MOV A,MINUTE。 显示分钟 MOV B,10 DIV AB CLR MOVC A,@A+DPTR MOV P0,A LCALL DELAY SETB。 显示分的十位 MOV A,B CLR MOVC A,@A+DPTR MOV P0,A LCALL DELAY SETB。 显示分个位 CLR MOV P0,40H。 显示分隔符 LCALL DELAY SETB MOV A,HOUR。 显示小时 MOV B,10 DIV AB CLR MOVC A,@A+DPTR MOV P0,A LCALL DELAY SETB。 显示时的十位 22 MOV A,B CLR MOVC A,@A+DPTR MOV P0,A LCALL DELAY SETB。 显示时的个位 RET 23 第 5 章 调试与运行 电路仿真 此设计的电路在单片机仿真软件 []中进行仿真,仿真电路如图 51所示: A7 A7A6 A6A5 A5A4 A4A3 A3A2 A2A1 A1A0 A0S7B7B6B5B4B3B2B1B0S6S5S4S3S2S1S0B0B1B2B3B4B5B6B7S0S1S2S3S4S5S6S7X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 . 01P 1 . 12P 1 . 23P 1 . 34P 1 . 45P 1 . 56P 1 . 67P 1 . 78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 / R D17P 3 . 6 / W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 / A 821P 2 .1 / A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1S S E TM S E TH S E TA02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19A B / B A1U27 4 L S 2 4 5 图 51 电子钟仿真电路图 调试和运行 在 KEIL (单片机汇编 ) C51 软件中编写好的程序,将程序放入单片机仿真软件中,结合硬件电路进行调试与运行。 通过按键对时间进行调整。 如显示时间为 143022,既是 14点 30分 22秒,通过以下调整则可实现。 (1) 按动 SSET键,将秒调到 22; 24 (2) 按动 MSET键,将分调到 30; (3) 按动 HSET键,将时调到 14。 则将时间调到了所要显示的时间 143022,通过此方法可将时间调整到任何需要显示的时间。 25 第 6章 结 论 单片机是一门应用性很强的学科,课程设计是培养我 们综合运用所学知识 ,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节 ,是对我们实际工作能力的具体训练和考察过程,为自己今后从事与单片机控制系统有关的工作打下了基础。 虽然在做课程设计以前已经系统的把单片机课本认真的学习了一下,但是在刚开始时还是有点一头雾水,不知道该从哪里下手。 令人欣慰的是经过几周的学习,虽然过程很艰辛,问了很多朋友,但是总算实现了定时闹钟的功能,所有的努力都很值得。 这几周的大部分时间都在研究程序怎么处理,在这个过程中加深了我对汇编语言命令的应用,而且也更加了解到软硬件配套的重要性。 以下 是我本次单片机课程设计的几点心得与体会: 1. 在设计程序之前 ,务必要对所 学 单片机 课程的内容 有一个系统的了解 ,知道单片机片内 片外的内容及其功能。 2. 设计程序采用什么编程语言并不是非常重要 ,关键要有一个清晰的思路和一个完整的软件流程图。 模块化的设计思想在程序设计中的作用是十分大的,它可以为你提供一个比较清晰的思路,并且很容易找到头绪,不至于在设想一个程序时感觉到无从下手。 3. 在设计程序时 ,不能妄想一次就将整个程序设计好 ,反复修改 ,不断改进 是程序设计的必经之路。 程序刚开始编好时,一般情况下会存在很多 错误,要不断地修改,不断的改进才能达到预期的目的,编写程序的时间并不是很长,主要是修改程序会花很多时间。 4. 要养成注释程序的好习惯 ,一个程序的完美与否不仅仅是实现功能 ,而应该让人一看就能明白你的思路 ,这样也为资料的保存和交流提供了方便。 刚开始我在编写程序时,很不习惯于写注释,感觉很麻烦,而且没用,但是在修改的过程中我就遇到了较大的麻烦,以至于不得不重新的作了注释,以增加程序的易读性,从而使修改过程变得容易一些。 总之,通过这次课程设计不仅使我巩固了本课程所学的基本知识,还使我具有了撰写设计报告的 初步训练能力,我相信这些能力在我以后的工作或者是再学 习中一定会起到不小的作用,看到自己几周的小成果,感觉一切的辛苦和艰难都是值得的。 26 致 谢 本文从拟定题目到定稿,经历了很长一段时间。 在本论文完成之际,首先要向我的导师邹老师致以诚挚的谢意。 在论文的写作过程中,邹老师给予我许许多多的帮助,邹老师不厌其烦地为我讲解毕业设计中繁琐的问题,并且多次提出宝贵意见,使我的毕业设计能够更完整,更充实。 同时,还要感谢三年中孜孜不倦的为我们讲课的老师们,是他们毫无保留地将他们的知识传授给我们,才使 得今天的我能够顺利的完成我的毕业设计,感谢漯河职业技术学院,是这里给我提供了良好的学习环境和生活环境,让我的大学生活丰富多彩,让我对今后的生活更加充满了信心。 另外,衷心感谢我的同窗同学们,在我毕业论文写作中,与他们的探讨交流使我受益颇多;同时,他们也给了我很多无私的帮助和支持,我在此深表谢意。 最后,向我亲爱的家人和朋友表示深深的谢意,他们给予我的爱、理解、关心和支持是我不断前进的动力。 “惧怀逸兴思斗志,欲上青天揽日月。 ” 27 参考文献 ,单片机控制实训指导及综合应用实例 [M]。 北京:机械工业出版社, 2020.。 单片机原理与应用 {M}。 北京:中国电力出版社, 2020.。 单片机 C语言轻松入门 {M}。 北京:北京航天航空大学出版社, 2020. , MCS51单片机原理及接口技术 {M},北京:电子工业出版社, 2020. ,单片机原理及应用 {M},北京:机械工业出版社, 2020. .C程序设计 [M].北京:清华大学出版社, 1999 .无刷直流电机的电梯门控制系统研究 [D].吉林:吉林大学, 2020 .无刷直流电机 控制系统设计 [D].。毕业设计-基于at89c51单片机的数字时钟设计
相关推荐
月球成功发射了两次无 人巡游探测器。 1997 年 由美国JPL( 全称 JetPropulsion Laboratory 美国太空总署喷气推进实验室 ) 研制的Sojourner 号探测车登上了火星。 它验证了小型火星车的性能 并完成了一系列技术试验。 2020 年 1 月 美国的“勇气号”和“机遇号”火星探测车再度登陆火星。 前苏联在 19591976 年间 总共成功发射了两个月球探测车。
修改密码等多种功能。 由于设计此电路的时间较仓促,其中还有些许未考虑周全的因素,还需要继续的改进和完善。 单片机密码锁课程设计报告 —— 湖南师大本科生课程设计 16 参考文献 [1] 石文轩 ,宋薇 .基于单片机 MCS 一 51 的智能密码锁设计 [M].武汉工程职业技术学院学报 ,2020,(01)。 [2] 祖龙起 ,刘仁杰 .一种新型可编程密码锁 [J].大连轻工业学院学报 ,2020
和恢复机制。 与其他网络安全部件的协作、与其他安全技术的结合 随着黑客入侵手段的提高,尤其是分布式、协同式、 复杂模式攻击的出现和发展,传统的单一、缺乏协作的入侵检测技术已经不能满足需求,需要有充分的协作机制。 此外,单一的入侵检测系统并非万能,因此需要结合身份认证、访问控制、数据加密、防火墙、安全扫描、 PKI 技术、病毒防护等众多网络安全技术,来提 供完整的网络安全保障。 3 基于
^$UE9wEwZQc@adNuKNamp。 MuWFA5uxY7JnD6YWRr Wwc^vR9CpbK!zn%Mz849Gx^Gj qv^$UE9wEwZQc@UE%amp。 qYp@Eh5pDx2zVkum amp。 gTXRm 6X4NGpP$vSTTamp。 ksv*3t nGK8! z89Am YWpazadNuKNamp。 MuWFA5ux^Gj
瞬间, 8 位 LED 会显示相 同的字符。 要想每位显示不同的字符,就必须采用扫描方法流点亮各位 LED,即在每一瞬间只使某一位显示字符。 在此瞬间,段选控制 I/O 口输出相应字符段选码(字型码),而位选则控制 I/O 口在该显示位送入选通电平(因为 LED 为共阴,故应送低电平),以保证该位显示相应字符。 如此轮流,使每位分时显示该位应显示字符。 在多位 LED 显示时,为了简化电路
波形相同,但为负值。 178。 3 三相桥式全控整流电路带电阻负载 a =60176。 时工作情况 Ud 波形中每段线电压的波形继续后移,平均值继续降低。 a =60176。 时 Ud 出现为零的点。 (因为在该点处,线电压为零) 178。 4 三相桥式全控整流电路带电阻负载 a﹥ 60176。 时工作 情况 当 a﹥ 60176。 时,如 a =90176。 时电阻负载情况下的工作波形如图