2022年数字时钟实验报告.docx
精选学习资料 - - - - - - - - - 单片机数 字 时 钟 设 计实 训 报 告系别 专业 姓名 学号名师归纳总结 - - - - - - -第 1 页,共 24 页精选学习资料 - - - - - - - - - 摘 要单片机是把中心处理器CPU,立即存取储备器RAM, 只读储备器ROM,定时器 /计数器以及输入 /输出即I/O 接口电路等主要运算机部件,集成在一块集成电路上的微机;虽然只是一个芯片,但从组成和功能上来看,已具备微型系统的属性; 单片机的进展经受了 4 个阶段,其向着低功耗 CMOS 化,微型单片化,主流与多品种共存的方向发展;单片机在工业自动化,仪器外表,家用电器,信息和通讯产品及军事方面得到了广泛应用;另外,其进展前景不错;本次实训以设计制作数字时钟为例,来加深我们对单片机特性和功能的明白, 加强我们的编程思想; 为今后从事单片机程序产品的开 发,打下了良好的理论与实践基础;理论服务于实践,将学问转化为 才能,也是本次试训的另一个重要目的;- 1 - 名师归纳总结 - - - - - - -第 2 页,共 24 页精选学习资料 - - - - - - - - - 目 录一、 整体设计方案 31. 方案设计要求 3 2. 方案设计与论证 3 3. 整体设计框图 4 二、 数字时钟的硬件设计 4 1. 最小系统设计 4 2. LED 显示电路 8 3. 键盘掌握电路 9 4. 数字时钟的原理图 10三、 数字时钟的软件设计 11 1. 系统软件设计流程图 11 2. 数字时钟主程序 14 四、 调试与仿真 18 1. 数字时钟系统 PROTUES仿真 18 2. 软件与硬件调试 19 3. 系统性能测试与功能说明 19 4. 显现问题及解决 19 五、 试验结论 20六、 心得体会 21 附录:1. 原器件清单 22 2. 参考文献 22 - 2 - 名师归纳总结 - - - - - - -第 3 页,共 24 页精选学习资料 - - - - - - - - - 一、整体方案设计1. 方案设计要求设计制作一个数字时钟, 要求能实现基本走时, 并以数字形式显示时、分、秒;采纳 其他功能 . 24 小时制;能校时、校分、校秒;也可以添加2. 方案设计与论证方案一:采纳各种纯数字芯片实现数字时钟的设计;优点:各个模块功能清楚,电路易于懂得实现;缺点:各个模块功能已定不能进行智能化 调整,整体电路太巨大;方案二:采纳 FPGA模块用硬件语言实现功能;优点:运算速度快,走时 精度高,算法简洁;缺点:成本高,大材小用;方案三:采纳单片机最小系统实现功能;优点:电路简洁,能通过程序进 行随机调整并扩展功能,成本低,易于实现;缺点:走时有肯定的误 差;经过综合考虑成本问题以及他人接受程度,设计要求;- 3 - 挑选第三种方案实现名师归纳总结 - - - - - - -第 4 页,共 24 页精选学习资料 - - - - - - - - - 3. 整体设计框图MCU 掌握芯片复 位LED 显示时间设置(AT89C51)数字时钟整体框图二、数字时钟的硬件设计1. 最小系统设计AT89C51 的介绍:AT89C51 单片机是在一块芯片中集成了CPU、RAM 、ROM、定时器/计数器和多种功能的 I/O 接口电路等一台运算机所需要的基本 功能部件, AT89C51 单片机内包含以下几个部件:(1) 一个 8 位 CPU;(2)一个片内振荡器准时钟电路;(3)4K 字节 ROM 程序储备器;(4)128 字节 RAM 数据储备器;(5)两个 16 位定时器 /计数器;- 4 - 名师归纳总结 - - - - - - -第 5 页,共 24 页精选学习资料 - - - - - - - - - (6)可寻址 64K 外部数据储备器和 电路;64K 外部程序储备器空间的掌握(7)32 条可编程的 I/O 线(四个 8 位并行 I/O 端口);(8)一个可编程全双工串行口;(9)具有五个中断源、两个优先级嵌套中断结构;其内部结构框图如下图所示:AT89C51 单片机的部分管脚说明:AT89C51 单片机采纳 40 条引脚双列直插式器件, 引脚除 5V( 40 脚)和电源地(20 脚)外,其功能分为时钟电路、掌握信号、输入/输出三大部分,引脚图如下图:- 5 - 名师归纳总结 - - - - - - -第 6 页,共 24 页精选学习资料 - - - - - - - - - 最小系统:单片机最小系统的结构图单片机的最小系统是由电源、复位、晶振、绍各个组成部分;/EA=1 组成,下面介Vcc40 电源端;GND20 接地端;工作电压为 5V ; 外接晶振引脚晶振连接的内部、外部方式图- 6 - 名师归纳总结 - - - - - - -第 7 页,共 24 页精选学习资料 - - - - - - - - - XTAL119 ;XTAL218;XTAL1 是片内振荡器的反相放大器输入端, XTAL2 就是输出端,使用外部振荡器时,外部振荡信号应直接加到 XTAL1 ,而 XTAL2 悬空;内部方式时,时钟发生器对振荡脉冲二分频, 如晶振为 12MHz,时钟频率就为 6MHz ;晶振的频率可以在 1MHz-24MHz 内挑选;电容取 30PF 左右;系统的时钟电路设计是采纳的内部方式,即利用芯片内部的振荡电路;复位RST9 常用复位电路图在振荡器运行时,有两个机器周期(24 个振荡周期)以上的高电平显现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位;复位后P0P3 口均置 1 引脚表现为高电平,程序计数器和特殊功能寄存器 SFR 全部清零;/EA=1 31 脚当/EA=1 时,拜访内部程序储备器,当PC值超过内 ROM范畴时,自动转执行外部程序储备器的程序;当 /EA=0 时,只拜访外部程序存储器;另外介绍一下输入输出引脚(本系统只用到P0、P1、P2 口):1 P0 端口P0.0-P0.7 是一个 8 位漏极开路型双向 I/O 端口,端- 7 - 名师归纳总结 - - - - - - -第 8 页,共 24 页精选学习资料 - - - - - - - - - 口置 1(对端口写 1)时作高阻抗输入端;作为输出口时能驱动 8 个 TTL ;对内部 Flash 程序储备器编程时, 接收指令字节 ;校验程序时输出 指令字节,要求外接上拉电阻; 在拜访外部程序和外部数据储备器时,P0 口是分时转换的地址 低 8 位/数据总线,拜访期间内部的上拉电 阻起作用;8 位双向 I/0 2 P1 端口P1.0P1.7是一个带有内部上拉电阻的 端口;输出时可驱动 4 个 TTL ;端口置 1 时,内部上拉电阻将端口拉 到高电平,作输入用;对内部 Flash 程序储备器编程时,接收低8 位地址信息;3 P2 端口P2.0P2.7是一个带有内部上拉电阻的 8 位双向 I/0端口;输出时可驱动 4 个 TTL ;端口置 1 时,内部上拉电阻将端口拉到高电平,作输入用;对内部Flash程序储备器编程时,接收高8 位地址和掌握信息;在拜访外部程序和16 位外部数据储备器时, P2 口送出高 8 位地址;而在拜访 8 位地址的外部数据储备器时其引脚上的内容在此期间 不会转变;2. LED 显示电路 本实训用到四位一体共阳极数码管和一位共阳极数码管,通过其 引脚图,便可顺当完成其连接;- 8 - 名师归纳总结 - - - - - - -第 9 页,共 24 页精选学习资料 - - - - - - - - - ;3. 键盘掌握电路该设计需要校对时间,所以用三个按键来实现;按 S3 来调剂小时的时间,按 S2 来调剂分针的时间,按 S1 来调剂秒的时间;下图是按键硬件连接图;当用手按下一个键时,往往按键在闭合位置和断开位置之间跳- 9 - 名师归纳总结 - - - - - - -第 10 页,共 24 页精选学习资料 - - - - - - - - - 几下才稳固到闭合状态的情形;在释放一个键时, 也会显现类似的情况,这就是抖动; 抖动的连续时间随键盘材料和操作员而异,不过通 常总是不大于 10ms;很简洁想到,抖动问题不解决就会引起对闭合 键的识别; 用软件方法可以很简洁地解决抖动问题,这就是通过推迟 10ms来等待抖动消逝,这之后,再读入键盘码;4. 数字时钟的原理图 依据要求画出数字时钟的原理图如下所示:数字时钟的原理图 数字时钟的工作原理:数字时钟是一个将“时” ,“ 分” ,“ 秒” 显示于人的视觉器官的- 10 - 名师归纳总结 - - - - - - -第 11 页,共 24 页精选学习资料 - - - - - - - - - 计时装置;它的计时周期为 24 小时,显示满刻度为 23 时 59 分 59 秒,另外仍有校时功能;因此,一个基本的数字时钟电路主要由显示器“ 时” ,“ 分” ,“ 秒” 和单片机,及复位校时部分组成;6 位一体数码 管的段选接到单片机的 P0 口,位选接到单片机的 P2 口;数码管依据 数码管动态显示的工作原理工作,将标准秒信号送入“ 秒单元”,“ 秒单元” 采纳 60 进制计数器,每累计60 秒发出一个“ 分脉冲” 信号,该信号将作为“ 分单元” 的时钟脉冲; “ 分单元” 也采纳 60 进制计数器,每累计 60 分钟,发出一个“ 时脉冲”信号,该信号将被送到 “ 时单元” ;“ 时单元” 采纳 24 进制计时器,可实现对一天 24 小时的累计;显示电路将“ 时” 、“ 分” 、“ 秒” 通过七段显示器显示出来;校时电路 是用来对“ 时” 、“ 分” 、“ 秒” 显示数字进行校对调整,按一下 S1,秒 单元就加 1 ,按一下 S2,分就加 1,按一下 S3,时就加 1;三、 数字时钟的软件设计 1. 系统软件设计流程图 主程序是先开头, 然后启动定时器, 定时器启动后再进行按键检 测,检测完后,就可以显示时间;开 始 启动定时器 按键检测 时间显示主程序流程图- 11 - 名师归纳总结 - - - - - - -第 12 页,共 24 页精选学习资料 - - - - - - - - - 时间设置 :开 始N 秒按键按下?Y 秒加 1 分按键按下?Y 分加 1 N 时按键按下?Y 时加 1 显示时间结 束时间设置流程图按键处理是先检测秒按键是否按下,秒按键假如按下, 秒就加 1;假如没有按下, 就检测分按键是否按下, 分按键假如按下, 分就加 1;假如没有按下, 就检测时按键是否按下, 时按键假如按下, 时就加 1;假如没有按下,就把时间显示出来;- 12 - 名师归纳总结 - - - - - - -第 13 页,共 24 页精选学习资料 - - - - - - - - - 定时器中断:开 始N 一秒时间到?Y 秒单元加 1 N 60 秒时间到?Y N 秒单元清零,分单元加1 60 分钟到?Y N 分单元清零,时单元加1 24 小时到?Y 时单元清零时间显示中断返回定时器中断流程图示;时间显示是从左到右依次是时十位显示、分十位显示、 秒十位显- 13 - 名师归纳总结 - - - - - - -第 14 页,共 24 页精选学习资料 - - - - - - - - - 2. 数字时钟主程序START: SCAN EQU 28H ORG 0000H LJMP START ORG 0BH LJMP TIM0 ORG 0030H MOV SP,#70H MOV 2AH,#12 MOV 2BH,#00H MOV 2CH,#00H MOV 20H,#00H MOV 21H,#00H MOV 22H,#00H MOV 23H,#00H MOV 24H,#00H MOV 25H,#00H MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H MOV IE,#10000010B MOV 41H,#20 SETB TR0 START_0: LCALL DISPLAY LCALL SCAN_1 LJMP START_0 SCAN_1: JB P0.0,N2 LCALL DELAY JB P0.0,N2 LOP1: CLR EA LCALL DATA2 LCALL DATA1 LCALL DISPLAY JNB P0.0,LOP1 MOV A,2CH INC A MOV 2CH,A CJNE A,#60,N6 MOV 2CH,#00 - 14 - 名师归纳总结 - - - - - - -第 15 页,共 24 页精选学习资料 - - - - - - - - - N2: JB P0.1,N4 LCALL DELAY JB P0.1,N4 LOP_2: CLR EA LCALL DATA2 LCALL DATA1 LCALL DISPLAY JNB P0.1,LOP_2 MOV A,2BH INC A MOV 2BH,A CJNE A,#60,N6 MOV 2BH,#00 N4: JB P0.2,N6 LCALL DELAY JB P0.2,N6 LOP_3: CLR EA LCALL DATA2 LCALL DATA1 LCALL DISPLAY JNB P0.2,LOP_3 MOV A,2AH INC A MOV 2AH,A CJNE A,#24,N6 MOV 2AH,#00 N6: SETB EA RET TIM0: MOV TH0,#3CH MOV TL0,#0B0H PUSH ACC PUSH B PUSH PSW SETB RS0 DJNZ 41H,X2 MOV 41H,#20 LCALL CLOCK1 LCALL CLOCK2 X2: POP PSW - 15 - 名师归纳总结 - - - - - - -第 16 页,共 24 页精选学习资料 - - - - - - - - - POP B POP ACC RETI CLOCK1: X4: MOV A,2CH INC A MOV 2CH,A CJNE A,#60,X4 MOV 2CH,#00 MOV A,2BH INC A MOV 2BH,A CJNE A,#60,X4 MOV 2BH,#00 MOV A,2AH INC A MOV 2AH,A CJNE A,#24,X4 MOV 2AH,#00 RET CLOCK2: MOV A,2CH MOV B,#10 DIV AB MOV 20H,B MOV 21H,A MOV A,2BH MOV B,#10 DIV AB MOV 22H,B MOV 23H,A MOV A,2AH MOV B,#10 DIV AB MOV 24H,B MOV 25H,A RET DISPLAY: LD0: MOV R0,#20H MOV SCAN,#0FEH MOV A,SCAN MOV P2,A MOV A,R0 - 16 - 名师归纳总结 - - - - - - -第 17 页,共 24 页精选学习资料 - - - - - - - - - MOV DPTR,#TAB MOVC A,A+DPTR MOV P1,A ACALL DL1MS INC R0 MOV A,SCAN JNB ACC.5,LD1 RL A MOV SCAN,A AJMP LD0 LD1: RET DATA1: K4: MOV A,2CH MOV 2CH,A CJNE A,#60,K4 MOV 2CH,#00 MOV A,2BH MOV 2BH,A CJNE A,#60,K4 MOV 2BH,#00 MOV A,2AH MOV 2AH,A CJNE A,#24,K4 MOV 2AH,#00 RET DATA2: MOV A,2CH MOV B,#10 DIV AB MOV 20H,B MOV 21H,A MOV A,2BH MOV B,#10 DIV AB MOV 22H,B MOV 23H,A MOV A,2AH MOV B,#10 DIV AB MOV 24H,B MOV 25H,A RET TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H - 17 - 名师归纳总结 - - - - - - -第 18 页,共 24 页精选学习资料 - - - - - - - - - DB 82H,0F8H,80H,90H,88H,0FFH DL1MS: MOV R6,#14H DL1: MOV R7,#19H DL2: DJNZ R7,DL2 DJNZ R6,DL1 RET DELAY: MOV R6,#20 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET END 四、 调试与仿真1. 数字时钟系统 PROTUES仿真用 ISIS 软件,依据数字时钟的原理图,画出仿真图,得到的图如下所示:将 Keil 编译程序产生的 制按键来进行仿真测试;HEX 文件下载至 AT89C51 中,通过控- 18 - 名师归纳总结 - - - - - - -第 19 页,共 24 页精选学习资料 - - - - - - - - - 2. 软件与硬件调试单片机应用系统的调试包括硬件和软件两部分,但是它们并不能完全分开;一般的方法是排除明显的硬件故障,再进行综合调试,排除可能的软 /硬件故障;软件调试是指用仿真软件进行仿真调试,验证系统的各项功能;硬件调试即软件调试胜利后,将程序下载至 接好的电路来进行各项功能的验证与检测;AT89C51 芯片中,用焊需要特殊留意的是软件调试与硬件调试的差异,软件调试只是初步的估测,硬件的调试才是最真实的;3. 系统性能测试与功能说明工作时:默认为走时状态,按24 小时制分别显示“ 时时分分秒秒” ,时间会按实际时间以秒为最小单位变化;走时调整: 按 S1 对秒进行调整, 按一下加一秒; 按 S2 对分进行调整,按一下加一分;按S3 对时进行调整,按一下加一小时,从而达到快速设定时间的目的 ,按 S4 进行复位;4. 显现的问题及解决 编译程序中显现错误, 应严格依据汇编语言的语法来编写即可 解决;PROTEUS 软件仿真时,加上三极管驱动数码管显示时很难找到 解 符合条件的三极管, 这很好的说明白软件仿真于硬件的最大区分;决方法:如去掉三极管,数码管可正常显示,就说明仿真胜利,不必 过于在查找三极管上花费工夫;- 19 - 名师归纳总结 - - - - - - -第 20 页,共 24 页精选学习资料 - - - - - - - - - 另外,也会显现部分按键功能无法实现的问题,这时应先检查仿真元器件与单片机端口是否连接正确,然后再检查主程序, 如以上两项都无误,那么可以通过转变其四周电阻来解决;在本次实训中, 我的显现复位键不能用的问题,通过削减其旁边 电阻阻值,使问题得到解决;硬件调试显现问题,应认真检查电路,看是否有桥接、虚焊、少焊和错焊的问题, 即要有好的焊接技术和认真的态度来确保硬件焊 接无误;五、试验结论本 次 实 训 得 到 了 期 望 中 的 结 果 ; 本 次 实 训 意在 加 强 我 们 对 AT89C51 单片机主要功能的明白与把握, 数字时钟的设计制作是把握 AT89C51 单片机的一个很好的实践, 原理能付于实践中, 是对原理加 深明白的最好方法;A T89C51 单片机是一个微型的运算机模型,由于它具备了一台计算机最基本的构成部分:CPU,ROM,RAM, 定时器 /计数器, I/O 口等,它是运算机的完善缩影;AT89C51 单片机应用范畴很广, 例如:在工业自动化方面, 在仪 器外表方面, 在家用电器方面, 在信息和通信产品方面以及军事方面 等,总之它与我们的生活亲密相关,另外开发前景也很不错;因此,把握 AT89C51 单片机等类似芯片,对我们以后的工作与- 20 - 名师归纳总结 - - - - - - -第 21 页,共 24 页精选学习资料 - - - - - - - - - 生活特别有用;六、心得体会近两周的单片机实训,让我获得了许多学问,进一步加深了我对 AT89C51 单片机的把握, 另外也巩固了我的编程思想和焊接技术;本次的数字时钟实训,让我对自己在高校二年的学问的到了回顾,例如模电和数电以及做PCB 的软件;它也让我充分发挥了对所学学问的懂得和设计的书面表达才能;这为今后自己进一步深化学 习,积存了肯定的珍贵体会; 撰写报告的过程是对专业学问的学习过 程,它使我运用已有的专业基础学问,对其进行设计,分析和解决一 个理论问题或实际问题,把学问转化为才能的实际训练;本次的实训,让我发觉理论必需用于实践,否就只是一张白纸;此外只有理论水平提高了,才能更好的运用于实践;另外,本次实训 也考查了我的认真的态度;只有做事拥有认真的态度与科学的方法,才能胜利;来到高校已两年,像这样的实训,已是第三次;我认为实训特别 有必要,由于它能让我们主动去查找遇到问题的解决方法,同时也是对我们严谨认真工作态度的考查与锤炼,作是一个很好的培训与历练;- 21 - 为以后我们进入社会参与工名师归纳总结 - - - - - - -第 22 页,共 24 页精选学习资料 - - - - - - - - - 附 录1.原器件清单AT89C51 1 个LED 绿 3 个,红 1 个按键开关 4 个电解电容 10F 1 个瓷片电容 30pF 2 个三极管 PNP9015 6 个数码管 四位一体共阳极 1 个,一位共阳极 2 个排阻 1 个电阻 220 12 个, 1K 7 个晶振 12MHz 1 个2. 参考文献51 系列单片机高级实例开发指南李军MCS51/96 系列单片机原理及应用AT89 系列单片机原理与接口技术北京航空航天高校出版社 孙涵芳 徐爱卿北京航空航天高校出版社 王幸之 钟爱琴 王雷北京航空航天高校出版社单片机原理与有用技术付晓光清华高校出版社北京交通高校出版社数字电子技术杨志忠高等训练出版社- 22 - 名师归纳总结 - - - - - - -第 23 页,共 24 页精选学习资料 - - - - - - - - - 电路基础姚年春侯玉杰人民邮电出版社模拟电子技术胡宴如高等训练出版社单片机有用技术陶春鸣人民邮电出版社- 23 - 名师归纳总结 - - - - - - -第 24 页,共 24 页