2022年基于单片机AT89C51的电子时钟的课程方案设计书.docx
精品学习资源一、课程设计课题基于单片机的电子时钟的设计课程设计任务书课程名称:单片机原理与应用课程设计起讫时间: 2021 年 6 月 22 日-6 月 28 日院 系:电子信息工程系班级:09 电子 3 班指导老师:金小华系 主 任:张红兵欢迎下载精品学习资源二、课程设计要求1. 把握使用 proteus 软件的方法;2. 懂得单片机的时钟显示方法;3. 明确设计指标,写出设计方案,设计出硬件原理图;4. 基于硬件的软件设计与调试;5. 将结果向指导老师演示,由老师提问验收通过;6. 打印程序清单,撰写程序说明,完成课程设计报告书,进行分组争论设计心得;欢迎下载精品学习资源三、 课程设计工作量1. 第一天:明确课程设计任务和目标,熟识单片机系统调试软件仿真实现;2. 其次天:明确设计指标,设计电路原理图;3. 第三、四天:基于硬件的软件设计与调试;4. 第五天:同学演示设计调试结果,老师提问验收;打印程序清单,撰写程序说明,完成课程设计报告书;四、 课程设计说明书内容(有指导书的可省略)1, 单片机结构、原理;2, 电子时钟硬件设计(原理图,原理图分析);3, 软件设计(软件简介,调试过程);4, 硬件、软件程序清单;欢迎下载精品学习资源苏 州 市 职 业 大 学课程设计说明书名称 基于单片机的电子时钟的设计2021 年 6 月 22 日至 2021 年 6 月 28 日共一周院系电子信息工程系班 级 09 电子 3 班姓 名于宁学号097302340系 主任张红兵教研室主任陆春妹指导老师金小华欢迎下载精品学习资源目录第一章 电子时钟11.1 电子时钟简介11.2 电子时钟的基本特点11.3 电子时钟的原理1其次章 单片机识的相关学问12.1 单片机简介12.2 单片机的进展史12.3 单片机的特点22.4 89C51 单片机介绍3第三章 掌握系统的硬件设计43.1 单片机型号的挑选43.2 数码管显示工作原理53.3 键盘电路设计53.4 系统工作原理63.5 整个电路原理图7第四章 掌握系统的软件设计84.1 程序设计84.2 程序流程图114.3 伟福硬件仿真器简介124.4 仿真图及结果分析13第五章 附录程序13第六章 终止语16参考文献16欢迎下载精品学习资源第一章 电子时钟1.1 电子时钟简介本作品采纳Atmel 公司的 AT89C51 单片机,以汇编语言为程序设计的基础,设计一个用四位数码管显示时、分的时钟;现代的电子时钟是基于单片机的一种计时工具,采纳延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六非常小时进一,满二十四小时小时清零;从而达到计时的功能,是人民日常生活补课缺少的工具;1.2 电子时钟的基本特点现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采 用了石英技术,因此走时精度高,稳固性好,使用便利,不需要常常调试,数字式电子钟用集成 电路计时时,译码代替机械式传动,用LED 显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,仍可以进行时和分的校对,片选的敏捷性好;1.3 电子时钟的原理该电子时钟由 89C51, BUTTON ,六段数码管等构成,采纳晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六非常钟为一小时,满二十四小时为一天;而电路中唯独的一个掌握键却拥有多种不同的功能,按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,就可以通过按键实现分钟的累加, 每按一次分钟加一;而连续两次按下按键不放松,就可实现小时的调剂,同样每按一次小时加 一;其次章 单片机识的相关学问2.1 单片机简介单片机是指一个集成在一块芯片上的完整运算机系统;尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整运算机所需要的大部分部件:CPU 、内存、内部和外部总线系统,目前大部分仍会具有外存;同时集成诸如通讯接口、定时器,实时时钟等外围设备;而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上;2.2 单片机的进展史单片机产生于 20 世纪 70 岁月末,经受了 SCM 、MCU 、 SoC 三大阶段;起初模型欢迎下载精品学习资源1. SCM 即单片微型运算机( Single Chip Microcomputer )阶段,主要是寻求正确的单片形状嵌入式系统的正确体系结构;“创新模式 ”获得胜利,奠定了SCM 与通用运算机完全不同的进展道路;在开创嵌入式系统独立进展道路上,Intel 公司功不行没;Micro Controller Unit 2.MCU 即微掌握器( Micro Controller Unit)阶段,主要的技术进展方向是:不断扩展满意嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化掌握才能;它所涉及的领域都与对象系统相关,因此,进展MCU 的重任不行防止地落在电气、电子技术厂家;从这一角度来看,Intel 逐步淡出 MCU 的进展也有其客观因素;在进展 MCU 方面,最闻名的厂家产数Philips 公司;Philips 公司以其在嵌入式应用方面的庞大优势,将MCS-51 从单片微型运算机快速进展到微掌握器;因此,当我们回忆嵌入式系统进展道路时,不要遗忘Intel 和 Philips 的历史功绩;嵌入式系统单片机是嵌入式系统的独立进展之路,向MCU 阶段进展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的进展自然形成了SoC 化趋势;随着微电子技术、IC 设计、 EDA工具的进展,基于SoC 的单片机应用系统设计会有较大的进展;因此,对单片机的懂得可以从单片微型运算机、单片微掌握器延长到单片应用系统;2.3 单片机的特点1 . 单片机的储备器 ROM 和 RAM 时严格区分的; ROM 称为程序储备器,只存放程序,固定常数,及数据表格; RAM 就为数据储备器,用作工作区及存放用户数据;2 . 采纳面对掌握的指令系统;为满意掌握需要,单片机有更强的规律掌握才能,特殊是单片机具有很强的位处理才能;3 . 单片机的 I/O 口通常时多功能的;由于单片机芯片上引脚数目有限,为明白决实际引脚数和需要的信号线的冲突,采纳了引脚功能复用的方法,引脚处于何种功能,可由指令来设置或由 机器状态来区分;4 . 单片机的外部扩展才能很强;在内部的各种功能部件不能满意应用的需求时,均可在外部进行扩展,与很多通用的微机接口芯片兼容,给应用系统设计带来了很大的便利;欢迎下载精品学习资源2.4 89C51单片机介绍VCC :电源;GND :接地;P0 口: P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸取 8TTL 门电流;当 P1 口的管脚第一次写 1 时,被定义为高阻输入;P0 能够用于外部程 序数据储备器,它可以被定义为数据/地址的第八位;在 FIASH 编程时, P0 口作为原码输入口,当FIASH 进行校验时, P0 输出原码,此时 P0 外部必需被拉高;P1 口: P1 口是一个内部供应上拉电阻的8 位双向 I/O 口, P1 口缓冲器能接收输出 4TTL 门电流; P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平常,将输出电流,这是由于内部上拉的缘故;在FLASH 编程和校验时, P1 口作为第八位地址接收;P2 口: P2 口为一个内部上拉电阻的8 位双向 I/O 口, P2 口缓冲器可接收,输出4 个 TTL 门电流,当 P2 口被写 “1”时,其管脚被内部上拉电阻拉高,且作为输入;并因此作为输入时,P2 口的管脚被外部拉低,将输出电流;这是由于内部上拉的缘故;P2 口当用于外部程序储备器或16 位地址外部数据存 储器进行存取时,P2 口输出地址的高八位;在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据储备器进行读写时,P2 口输出其特殊功能寄存器的内容; P2 口在FLASH 编程和校验时接收高八位地址信号和掌握信号;P3 口: P3 口管脚是 8 个带内部上拉电阻的双向I/O 口,可接收输出 4 个 TTL 门电流;当 P3 口写入 “1后”,它们被内部上拉为高电平,并用作输入;作为输入,由于外部下拉为低电平,P3 口将输出电流( ILL )这是由于上拉的缘故;P3 口也可作为 AT89C51 的一些特殊功能口,如下表所示: 口管脚 备选功能P3.0 RXD (串行输入口) P3.1 TXD (串行输出口) P3.2 /INT0 (外部中断 0) P3.3 /INT1 (外部中断 1) P3.4 T0 (记时器 0 外部输入) P3.5 T1 (记时器 1 外部输入)P3.6 /WR (外部数据储备器写选通)P3.7 /RD (外部数据储备器读选通)P3 口同时为闪耀编程和编程校验接收一些掌握信号;RST:复位输入;当振荡器复位器件时,要保持RST 脚两个机器周期的高电平常间;ALE/PROG :当拜访外部储备器时,地址锁存答应的输出电平用于锁存地址的位置字节;在FLASH 编程期间,此引脚用于输入编程脉冲;在平常,ALE 端以不变的频率周期输出正脉冲信欢迎下载精品学习资源号,此频率为振荡器频率的1/6;因此它可用作对外部输出的脉冲或用于定时目的;然而要留意的是:每当用作外部数据储备器时,将跳过一个 ALE 脉冲;如想禁止 ALE 的输出可在 SFR8EH 地址上置 0;此时, ALE 只有在执行 MOVX ,MOVC 指令是ALE 才起作用;另外,该引脚被略微拉高;假如微处理器在外部执行状态ALE 禁止,置位无效;PSEN :外部程序储备器的选通信号;在由外部程序储备器取指期间,每个机器周期两次/PSEN 有效;但在拜访外部数据储备器时,这两次有效的/PSEN 信号将不显现;EA/VPP :当 /EA 保持低电平常,就在此期间外部程序储备(0000H-FFFFH ),不管是否有内部程序储备器;留意加密方式1 时, /EA 将内部锁定为RESET ;当/EA 端保持高电平常,此间内部程序储备器;在FLASH 编程期间,此引脚也用于施加12V 编程电源( VPP);o图 2.1 89C51单片机第三章 掌握系统的硬件设计3.1 单片机型号的挑选通过对多种单片机性能的分析,最终认为89C51 是最抱负的电子时钟开发芯片;89C51 是一种带 4K 字节闪耀可编程可擦除只读储备器的低电压,高性能CMOS8 位微处理器,器件采纳ATMEL高密度非易失储备器制造技术制造,与工业标准的MCS-51 指令集和输出管脚相兼容;由于将多功能 8 位 CPU 和闪耀储备器组合在单个芯片中,ATMEL的 89C51 是一种高效微掌握器, 而且它与 MCS-51 兼容,且具有 4K 字节可编程闪耀储备器和1000 写/擦循环,数据保留时间为10年等特点,是最好的挑选;欢迎下载精品学习资源3.2 数码管显示工作原理数码管是一种把多个LED 显示段集成在一起的显示设备;有两种类型,一种是共阳型,一种是共阴型;共阳型就是把多个LED 显示段的阳极接在一起,又称为公共端;共阴型就是把多个LED 显示段的阴极接在一起,即为公共商;阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极;通常的数码管又分为8 段,即 8 个 LED 显示段,这是为工程应用便利如设计的,分别为 A 、B 、C、D、E、F、G、DP,其中 DP 是小数点位段;而多位数码管,除某一 位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起;即,全部的A 段都会连在一起,其它的段也是如此,这是实际最常用的用法;数码管显示方法可分为静态显示和动态显示两种;静态显示就是数码管的8 段输入及其公共端电平始终有效;动态显示的原理是,各个数码管的相同段连接在一起,共同占用8 位段引管线;每位数码管的阳极连在一起组成公共端;利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来;图 3.1 共阴数码管3.3 键盘电路设计该设计只用了一个键盘,但实现的功能却是比较完善,削减了硬件资源的损耗,该键盘可以实现小时和分钟的调剂以及掌握是否进入省电模式;当按键按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,就可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,就可实现小时的调剂,同样每按一次小时加一;达到时间调剂的目的;图 3.2 多功能掌握键欢迎下载精品学习资源经多方论证硬件我们小组采纳AT89C51 单片机和 7SED 六位共阴极数码管等来实现单片机电子时钟的功能,具体元器件列表如表3.1 所示:表 3.1 具体元器件列表AT89c511 片7SED六位共阴极数码管1 片NPN三极管6 个10uf 电容1 个30p 电容2 个10K 电阻11 个360 欧姆电阻8 个1.5k 欧姆电阻8 个开关1 个3.4 系统工作原理(1) ) 单片机发送的信号通过程序掌握最终在数码管上显示出来;(2) ) 单片机通过输出各种电脉冲信号来驱动掌握各部分正常工作;(3) ) 为使时钟走时与标准时间一样,校时电路是必不行少的,键盘用来校正数码管上显示的时间;(4) ) 设计的电路主要由三模块构成:单片机掌握电路,显示电路、及校正电路;此设计原理框图如图3-3 所示,此电路包括以下三个部分:单片机,键盘及显示电路图 3.3 设计原理框图本设计采纳汇编语言程序设计,使单片机掌握数码管显示时、分、秒,当秒计数计满60 时就向分进位,分计数器计满60 后向时计数器进位,小时计数器按“23翻 0”规律计数;时、分、秒的欢迎下载精品学习资源计数结果经过数据处理可直接送显示器显示;当计时发生误差的时候可以用校时电路进行校正;设计采纳的是时、分、秒显示,单片机对数据进行处理同时在数码管上显示3.5 整个电路原理图欢迎下载精品学习资源图 3.4 系统电路原理图第四章 掌握系统的软件设计4.1 程序设计本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整程序、延时程序四大模块;在程序设计过程中,加强了部分软件抗干扰措施,下面对部分模块作介绍;我们用定时器 1 采纳方式 1 定时, M=65536 ,假如要求定时时间为50ms,采纳 12MHz 晶振, 就机器周期为 1us,由( 65536 Z)*1=50*1000 得Z=65536-50000=15536=3CB0H将 3C、B0H 分别预置给 TH1 、TL1 ,即 TH1=3CH ,TH=0B0H依据需要开头定时器 /计数器工作 - 将 TR0 或 TR1 置“1;”GATE=0 时,直接由软件置位启动,即 SETB TR0 或 SETB TR1 ;GATE=1 时,除软件置位外,仍必需在外中断引脚(P3.3)处输入高电平值才能启动;定时计数中断程序: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 定时器AJMP $时间调整程序:SETMM: cLRET0;关定时器 T0 中断CLRTR0;关闭定时器T0 LCALLDL1S;调用 1 秒延时程序JBP3.3,CLOSEDIS;键按下时间小于1 秒,关闭显示(省电) MOVR2,#06H;进入调时状态,赋闪耀定时初值SETB ET1;答应 T1 中断SETB TR1;开启定时器T1欢迎下载精品学习资源SET2: JNBP3.3,SET1;P3.7 口为 0(键未释放),等待SETB00H;键释放,分调整闪耀标志置1SET4: JBP3.3,SET3;等待键按下LCALL DL05S;有键按下,延时 0.5 秒JNBP3.3,SETHH;按下时间大于 0.5 秒转调小时状态MOVR0,#77H;按下时间小于 0.5 秒加 1 分钟操作LCALL ADD1;调用加 1 子程序MOV A,R3;取调整单元数据CLR C;清进位标志CJNE A,#60H,HHH;调整单元数据与 60 比较HHH: JC SET4;调整单元数据小于 60 转 SET4 循环LCALL CLR0;调整单元数据大于或等于 60 时清 0 CLR C;清进位标志AJMP SET4;跳转到 SET4 循环CLOSEDIS:SETBET0;省电( LED 不显示)状态;开T0 中断SETBTR0;开启 T0 定时器(开时钟)CLOSE:JBP3.3,CLOSE;无按键按下,等待;LCALL DISPLAY;有键按下,调显示子程序延时削抖JBP3.3,CLOSE;是干扰返回 CLOSE 等待WAITH:JNBP3.3,WAITH;等待键释放LJMPSTART1;返回主程序( LED 数据显示亮) SETHH: CLR00H;分闪耀标志清除(进入调小时状态) SETHH1: JNBP3.3,SET5;等待键释放SETB01H;小时调整标志置1 SET6: JBP3.3,SET7;等待按键按下LCALLDL05S;有键按下延时 0.5 秒JNBP3.3,SETOUT;按下时间大于 0.5 秒退出时间调整MOVR0,#79H;按下时间小于 0.5 秒加 1 小时操作LCALLADD1;调加 1 子程序MOVA,R3;CLR C;CJNE A,#24H,HOUU;计时单元数据与24 比较HOUU: JCSET6小于 24 转 SET6 循环LCALL CLR0;大于或等于 24 时清 0 操作欢迎下载精品学习资源AJMPSET6; 跳转到 SET6 循环SETOUT: JNBP3.3,SETOUT1;调时退出程序;等待键释放LCALL DISPLAY;延时削抖JNBP3.3,SETOUT;是抖动,返回 SETOUT 再等待CLR01H;清调小时标志CLR00H;清调分标志CLR02H;清闪耀标志CLRTR1;关闭定时器 T1CLRET1;关定时器 T1 中断SETBTR0;开启定时器 T0SETBET0;开定时器 T0 中断(计时开头)LJMP START1;跳回主程序SET1: LCALLDISPLAY;键释放等待时调用显示程序(调分)AJMPSET2;防止键按下时无时钟显示SET3: LCALLDISPLAY;等待调分按键时时钟显示用AJMPSET4SET5: LCALLDISPLAY;键释放等待时调用显示程序(调小时)AJMPSETHH1;防止键按下时无时钟显示SET7: LCALLDISPLAY;等待调小时按键时时钟显示用AJMPSET6SETOUT1: LCALLDISPLAY;退出时钟调整时键释放等待AJMPSETOUT;防止键按下时无时钟显示延时程序:1MS 延时程序, LED 显示程序用DL1MS: MOV R6,#14H DL1:MOV R7,#19H DL2:DJNZ R7,DL2 DJNZ R6,DL1RET20MS 延时程序,采纳调用显示子程序以改善LED 的显示闪耀现象DS20MS: ACALLDISPLAY ACALL DISPLAYACALL DISPLAYRET欢迎下载精品学习资源4.2 程序流程图主程序主程序主要是循环调用显示子程序及键盘扫描功能设置子程序,其流程图如图4.1 所示;图 4.1 主程序框图定时中断子程序时间计时使用定时器t0 完成,中肯定时周期设为50ms;中断进入后,判定时钟计时累计中断到 20 次(即 1s)时,对秒计数单元进行加1 操作;计时单元的最大值为23 时 59 分 59 秒;在计数单元中采纳十进制BCD 码计数,满 60 进位; T0 中断服务程序流程图如图4.2 所示;图 4.2 中断服务程序流程图T1 中断服务程序用于指示调整单元数字的亮闪;在时间调整状态下,每过0.3 秒,将对应单元的显示数据换成 “熄灭符 ”数据( #0AH );这样在调整时间时,对应调整单元的显示数据会间隔闪亮; T1 中断服务程序流程图如图4.3 所示;欢迎下载精品学习资源图 4.3 中断服务程序4.3 伟福硬件仿真器简介主机 +POD(仿真头)组合,通过更换POD,可以对各种CPU 进行仿真;对待不同的应用场合,用户往往会挑选不同的CPU ,从而需要更换仿真器,伟福仿真软件WINDOWS版本支持本公司多种仿真器;支持多类CPU 仿真;仿真器就采纳主机+POD 组合,通过更换不同的 POD ,可对各种不同类型的单片机进行仿真;为用户供应了一种敏捷的多CPU 仿真系统;1. 双平台DOS 版本, WINDOWS 版本;其中 WINDOWS 版本功能强大;中文界面,英文界面可任选, 用户源程序的大小不再有任何限制,支持 ASM , C, PLM 语言混合编程,具有工程治理功能,为用户的资源共享,课题重组供应强有力的手段;支持点屏显示,用鼠标左键点一下源程序中的某一变量,即可显示该变量的数值;有丰富的窗口显示方式,多方位,动态地显示仿真的各种过程,使用极为便利;本操作系统一经推出,立刻被广大用户所宠爱;2. 双工作模式1 软件模拟仿真(不要仿真器也能模拟仿真);2 硬件仿真;双 CPU 结构, 100% 不占用户资源;全空间硬件断点,不受任何条件限制,支持地址、数据、外部信号、大事断点、支持实时断点计数、软件运行时间统计;3. 双集成环境编辑、编译、下载、调试全部集中在一个环境下;飞利蒲公司的552 LPC764 DALLAS320 ,华邦 438 等 51 增强型 CPU ;为了跟上形势,现在很多工程师需要面对和把握不同和工程治理器、编辑器、编译器;他们由不多种仿真器,多类欢迎下载精品学习资源CPU 仿真全部集成在一个环境下;可仿真51 系列, 196 系列, PIC 系列,同的厂家开发,相互不兼容,使用不同的界面;学习使用都很吃力;伟福WINDOWS调试软件为您供应了一个全集成环 境,统一的界面,包含一个工程治理器,一个功能强大的编辑器,汇编Make 、Build 和调试工具并供应一个与第三方编译器的接口;4.4 仿真图及结果分析单片机右上角红色发光二极管秒灯,每闪耀一次表示时间走动一秒钟;按键正下方黑色按键是设置灯,当时间正常走动时此时灯亮,当第一次按下设置键时,同时秒时熄灭,且分钟的两位数码管显现闪耀,时间停止走动,进入校时状态,表示此时可以进行分钟的调整,当按一次加一键(调整键)可实现分钟的加一功能,分钟以60 分为极限,超出60 分就返回数值 0,从 0 再重新算起;假如再次按下设置键时,这时秒灯和设置灯仍然保持熄灭和点亮状态,表示分钟的数码管停止闪耀,反过来表示小时的两位数码管就开头闪耀,此时可进行小时的调整,按加1 键可实现小时的加 1 功能,小时调整以24 为上限,同样超出24 小时就从新回 0;当第三次按下设置键时,数码管停止闪耀,设置灯熄灭,秒灯重新闪耀,时间以设定值计时;图 4.4 伟福软件模拟图第五章 附录程序欢迎下载精品学习资源ORG 0000HLJMPSTART ORG 0003HMOV A,#0B7H ADD A,TL0 MOV TL0,A#3CHMOVTH1,DJNZ欢迎下载精品学习资源RETIORG 000BH LJMPINTT0 ORG 0013H RETIORG 001BH LJMPINTT1 ORG 0023H RETIORG 002BHRETISTART:MOV R0, #70H MOV R7, #0BH MOV 20H, #00HCLEARDISP:MOVR0,#00HINC R0 DJNZR7,CLEARDISPMOV 7AH,#0AH MOVTMOD,#11HMOVTL0,#0B0HMOVTH0,#3CHMOVTL1,#0B0HMOVTH1,#3CHSETB EA SETB ET0 SETB TR0 MOV R4,#14HSTART1:LCALL DISPLAYJNBP3.3,SETMM1SJMPSTART1SETMM1:LJMP SETMMINTT0:PUSH ACC PUSH PSW CLR ET0CLR TR0MOV A,#3CH ADD A,TH0 MOV TH0,A SETB TR0 DJNZR4,OUTT0ADDSS:MOV R4,#14H MOV R0,#71H ACALL ADD1 MOV A,R3CLR C CJNEA,#60H,ADDMMADDMM:JC OUTT0 ACALL CLR0 MOV R0,#77H ACALL ADD1 MOV A,R3CLR C CJNEA,#60H,ADDHHADDHH:JC OUTT0 ACALL CLR0 MOV R0,#79H ACALL ADD1 MOV A,R3 CLR CCJNE A,#24H,HOURHOUR:JC OUTT0 ACALL CLR0OUTT0:MOV 72H,76H MOV 73H,77H MOV 74H,78H MOV 75H,79H POP PSWPOP ACC SETB ET0 RETIINTT1: PUSH ACC PUSH PSWMOVTL1,#0B0HR2,INTT1OUTMOVR2,#06H CPL 02HJB 02H,FLASH1MOV 72H,76H MOV 73H,77H MOV 74H,78H MOV 75H,79HINTT1OUT:POP PSW POP ACCRETIFLASH1: JB 01H,FLASH2 MOV 72H,7AHMOV 73H,7AHMOV 74H,78H MOV 75H,79H AJMP INTT1OUTFLASH2:MOV 72H,76H MOV 73H,77H MOV 74H,7AH MOV 75H,7AH AJMP INTT1OUTADD1:MOV A,R0 DEC R0SWAP A ORL A,R0 ADD A,#01H DA AMOV R3,AANL A,#0FH MOV R0,A MOV A,R3 INC R0 SWAP A ANL A,#0FH MOV R0,A RETCLR0:CLR A MOV R0,A DEC R0 MOV R0,A RET欢迎下载精品学习资源SETMM: CLR ET0 CLR TR0 LCALL DL1S JBP3.3,CLOSEDISMOV R2,#06H SETB ET1 SETB TR1SET2:JNBP3.3,SET1SETB 00HSET4: JB P3.3,SET3 LCALL DL05S JNBP3.3,SETHHMOV R0,#77H LCALL ADD1 MOV A,R3 CLR CCJNE A,#60H,HHHHHH:JC SET4 LCALL CLR0 CLR C AJMP SET4CLOSEDIS: SETB ET0 SETB TR0CLOSE:JB P3.3,CLOSE LCALL DISPLAYJB P3.3,CLOSEWAITH:JNBP3.3,WAITHLJMP START1 SETHH: CLR 00H SETHH1:JNB P3.3,SET5SETB 01HSET6: JB P3.3,SET7 LCALL DL05S JNBP3.3,SETOUTMOV R0,#79H LCALL ADD1 MOV A,R3 CLR CCJNE A,#24H,HOUUHOUU:JC SET6 LCALL CLR0 AJMP SET6SETOUT:JNBP3.3,SETOUT1LCALL DISPLAY JNB P3.3,SETOUT CLR 01HCLR 00H CLR 02H CLR TR1 CLR ET1 SETB TR0 SETB ET0LJMP START1SET1:LCALL DISPLAY AJMPSET2SET3:LCALL DISPLAY AJMPSET4SET5:LCALL DISPLAY AJMPSETHH1 SET7:LCALL DISPLAYAJMPSET6SETOUT1:LCALL DISPLAY AJMPSETOUTDISPLAY:MOV DPTR,#TAB SETB P1.0MOV A,70HMOVC A,A+DPTR ANL A,#7FH;MOV P0,ALCALL DL1MS CLR P1.0SETB P1.1 MOV A,71HMOVC A,A+DPTR ANL A,#7FH;MOV P0,ALCALL DL1MS CLR P1.1SETB P1.2MOV A,72HMOVC A,A+DPTR ANL A,#7FH;MOV P0,ALCALL DL1MS CLR P1.2SETB P1.3 MOV A,73HMOVC A,A+DPTR ANL A,#7FH;MOV P0,ALCALL DL1MS CLR P1.3SETB P1.4 MOV A,74HMOVC A,A+DPTR ANL A,#7FH;MOV P0,ALCALL DL1MS CLR P1.4SETB P1.5 MOV A,75HMOVC A,A+DPTR ANL A,#7FH;MOV P0,ALCALL DL1MS CLR P1.5MOV P0,#00H RETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7 DH,07H,7FH,6FH,00H;DL1MS:MOV R6,#14H DL1:MOV R7,#19H DL2:DJNZ R7,DL2DJNZ R6,DL1RETDS20MS:ACALL DISPLAY ACALL DISPLAY ACALL DISPLAYRETDL1S:LCALL DL05S LCALL DL05S RET欢迎下载精品学习资源DL05S:MOV R3,#20H DL05S1:LCALL DISPLAYDJNZ R3,DL05S1 RETEND第六章 终止语欢迎下载精品学习资源开头的时候由于没有体会,不知如何下手,所以就去图书馆找了一些书看,尽管有很多设计方案,可是总觉得自己仍有很多的东西弄不太清晰,于是就请教同学;他尝做一些设计,有了一些体会;经过他的努说明分析之后打算用查表,中断的方法来做这样可以降低一些硬件的难度, 初次设计应切合自己的水平;我以为这些做好了,构思也有了写程序应当是相对简单的;谁知 道,写起程序来才想到中断程序不会写,我真的感到很难,那是真的有点想舍弃,于是就去请教了老师,老师帮忙分析了一下;自己有查阅了一些资料;最终明白了中断程序是怎么写的;于是在自己的努力下,程序很快就写好了,功能上基本达标:时钟的显示,秒表显示,定时功能,调时功能;时钟显示功能,精确度完全可以满意日常生活显示时间的需要;调时功能,便利快捷;硬件设施合乎要求,软件设计可以协作硬件实现要求功能;这次是我第一个设计器件,尽管经李了不少艰辛,但给我积存了一点设计的体会,最终也以有点小小的成就感;后面的路仍很长,我仍得努力;参考文献1 丁向荣、贾平;单片机应用系统与开发技术. 清华高校出版社,20212 其次版 .51系列单片机设计实例. 北京航空航天高校出版社(81 89 页 数码管时钟电路的设计) .3 黄庆华、张永格 . 单片机开发 与实例 . 电子工业出版社( 127-162 页