收藏 分享(赏)

电子钟系统总体方案的设计.doc

上传人:精品资料 文档编号:10299634 上传时间:2019-10-28 格式:DOC 页数:30 大小:594.50KB
下载 相关 举报
电子钟系统总体方案的设计.doc_第1页
第1页 / 共30页
电子钟系统总体方案的设计.doc_第2页
第2页 / 共30页
电子钟系统总体方案的设计.doc_第3页
第3页 / 共30页
电子钟系统总体方案的设计.doc_第4页
第4页 / 共30页
电子钟系统总体方案的设计.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、目 录第一章 电子钟系统总体方案的设计11.1 设计任务11.2 功能要求11.3 总体方案的设计1第二章 系统硬件电路的设计32.1 最小系统设计32.2 LED 显示电路52.3 键盘控制电路6第三章 系统软件的设计 73.1 监控程序流程图 73.2 显示“P.”主程序流程框图83.3 键扫描子程序流程图93.4 主程序流程图.11第四章 设计使用说明及仿真结果 114.1 电子时钟的使用说明114.2 电子钟系统 PROTUES 仿真结果114.3 系统误差分析11实验心得13参考文献14致谢15附录 16附录一 元器件清单 16附录二 程序清单 17附录三 电路图 271第一章 电子

2、钟系统总体方案的设计1.1 设计任务设计一个具有特定功能的电子钟。1.2 功能要求该电子钟上电或按键复位后能自动显示系统提示符“P.” , 进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从 0 时 0 分 0 秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。1.3 总体方案的设计1.3.1 单片机方案的选择方案一:运用数电技术。运用数字芯片组建的电路,这样的电路优点是操作简单,缺点是电路复杂、成本高、焊接难和不美观。方案二:运用 PLC 控制器。运用 PLC 来实现交通灯信号,P

3、LC 的编程非常的简单,操作也很方便,电路更为简单,但是 PLC 的成本很高,就因为这点最终没能选择这个方案。方案三:采用 AT89S52 单片机。用 AT89S52 单片机组成的电路简单,编程简单、操作方便、成本低和错误率低。能很好的利用单片机的资源,从各方面考虑,最终选择了此方案。通过综合考虑,最终确定使用方案三,硬件方面使用单片机最小系统,硬件结构中包括了复位电路、键盘、LED 显示和蜂鸣器等电路,运用汇编编程来实现数字钟的设计。1.3.2 数字电子钟的工作原理1.3.2.1 实现时钟计时的基本方法利用 MCS-51 系列单片机的可编程定时/计数器、中断系统来实现时钟计数。(1) 计数初

4、值计算:把定时器设为工作方式 1,定时时间为 50ms,则计数溢出 20 次即得时钟计时最小单位秒,而 100 次计数可用软件方法实现。假设使用 T/C0,方式 1,50ms 定时,fosc=12MHz 。则初值 X 满足(2 16-X)21/12MHz12s =50000s X=1553600111100101100003CB0H(2) 采用中断方式进行溢出次数累计,计满 20 次为秒计时(1 秒) ;(3) 从秒到分和从分到时的计时是通过累加和数值比较实现。1.3.2.2 电子钟的时间显示电子钟的时钟时间在六位数码管上进行显示,因此,在内部 RAM 中设置显示缓冲区共 8 个单元。LED8

5、 LED7 LED6 LED5 LED4 LED3 LED2 LED137H 36H 35H 34H 33H 32H 31H 30H时十位 时个位 分隔 分十位 分个位 分隔 秒十位 秒个位1.3.2.3 电子钟的启、停及时间调整电子钟设置 4 个按键通过程序控制来完成电子钟的启、停及时间调整。A 键控制电子钟的启、停;B 键调整时;C 键调整分;D 键调整秒。3第二章 系统硬件电路的设计2.1 最小系统设计2.1.1 整体设计单片机的最小系统是由电源、复位、晶振、独立键盘、数码管显示电路组成,下面介绍一下每一个组成部分。2.1.2 外接晶体引脚图 2-1 晶振连接的内部、外部方式图XTAL1

6、 是片内振荡器的反相放大器输入端,XTAL2 则是输出端,使用外部振荡器时,外部振荡信号应直接加到 XTAL1,而 XTAL2 悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为 12MHz,时钟频率就为 6MHz。晶振的频率可以在 1MHz-24MHz 内选择。电容取 30PF 左右。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。AT89 单片机内部有一个用于构成振荡器的高增益反相放大器。引脚 XTAL1 和 XTAL2 分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容 C1 和 C2 构成并联谐振电路

7、,接在放大器的反馈回路中。2.1.3 复位 在振荡器运行时,有两个机器周期(24 个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51 芯片便循环复位。复位后 P0P3 口均置 1 引脚表现为高电平,程序计数器和特殊功能寄存器 SFR 全4部清零。当复位脚由高电平变为低电平时,芯片为 ROM 的 00H 处开始运行程序。复位是由外部的复位电路来实现的。片内复位电路是复位引脚 RST 通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的 S5P2,由复位电路采样一次。常用的复位电路如下图所示:图 2-2 常用复位电路图2.1.4 输

8、入输出引脚(1) P0 端口P0.0-P0.7 P0 是一个 8 位漏极开路型双向 I/O 端口,端口置1(对端口写 1)时作高阻抗输入端。作为输出口时能驱动 8 个 TTL。对内部Flash 程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电阻。在访问外部程序和外部数据存储器时,P0 口是分时转换的地址(低8 位)/数据总线,访问期间内部的上拉电阻起作用。(2) P1 端口P1.0P1.7 P1 是一个带有内部上拉电阻的 8 位双向 I/0 端口。输出时可驱动 4 个 TTL。端口置 1 时,内部上拉电阻将端口拉到高电平,作输入用。对内部 Flash 程序存储器编程时,接

9、收低 8 位地址信息。(3) P2 端口P2.0P2.7 P2 是一个带有内部上拉电阻的 8 位双向 I/0 端口。输出时可驱动 4 个 TTL。端口置 1 时,内部上拉电阻将端口拉到高电平,作输入用。对内部 Flash 程序存储器编程时,接收高 8 位地址和控制信息。在访问外部程序和 16 位外部数据存储器时,P2 口送出高 8 位地址。而在访问 8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。5(4) P3 端口P3.0P3.7 P2 是一个带有内部上拉电阻的 8 位双向 I/0 端口。输出时可驱动 4 个 TTL。端口置 1 时,内部上拉电阻将端口拉到高电平,作输入用。2.2

10、LED 显示电路分段式显示器(LED 数码管)由 7 条线段围成 8 字型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光。只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。LED 数码管有共阳、共阴之分。图是共阳式、共阴式 LED 数码管的原理图和符号.图 2-3 共阳式、共阴式 LED 数码管的原理图和数码管的符号图显示电路显示模块需要实时显示当前的时间,即时、分、秒,因此需要 6 个数码管,另需两个数码管来显示横。时的十位和个位分别显示在第一个和第二个数码管,分的十位和个位分别显示在第四个和第五个数码管,秒的十位和个位分别显示在第七个和第八个数码管,其余数码管显示

11、横线。LED 显示器的显示控制方式按驱动方式可分成静态显示方式和动态显示方式两种。对于多位LED 显示器,通常都是采用动态扫描的方法进行显示,其硬件连接方式如下图所示。6图 2-4 数码管的硬件连接示意图2.3 键盘控制电路该电子钟在设计中采用的是四按键独立式键盘,S1 键定义为复位键,其余四键如下图所示:A 键控制电子钟的启动停止,B 键调整时,C 键调整分,D键调整秒。且 A、B、C、D 任一键都独自连一个I/O(P1.0、P1.1、P1.2、P1.3)口线,说明它们可以独立实现相应的电子钟功能。I/O 口线通过按键与地直接相连, (A、B、C、D)中任一键在没有被按下时;I/O(P1.0

12、、P1.1、P1.2、P1.3)口各个引脚都为高电平。一旦有键被按下;相应的 I/O 口就变为低电平。在编程环节中也是通过相应 I/O 口是否有电平变化来识别是否有键按下。图 2.5 独立键盘电路7第三章 系统软件的设计3.1 监控程序流程图开机自检在电子钟仪器电源接通之后进行自检,中如果没有发现启动键,就自动进入电子钟“P.”显示程序,启动键按下电子钟运行。流程图如 3-1 所示。8图 3-1 监控程序流程3.2 显示“P.”主程序流程框图“P.”显示是对电子钟电路硬件的检测,若电子钟能稳定的显示“P。 ”在数码管的最左边说明硬件电路正常。程序流程图如图 3-2 所示。9图 3-2 显示“P

13、”主程序流程3.3 键扫描子程序流程图键扫描程序流程图如图 3-3 所示。10图 3-3 键扫描子程序流程 3.4 主程序流程图主程序流程图如下图所示11图 3.4 主程序流程框图第四章 设计的使用说明及仿真124.1 电子时钟的使用说明时间显示:电子钟上电后,8 个数码管显示初始状态即最左边的一个数码管显示 P.。如果未显示 P.,只需按一下复位键即可使其显示出 P.。按下 A 键后电子钟进入自动计时状态,电子钟显示 00 时 00 分 00 秒并开始运行。时间调整:若要进行时间调整,则需再次按下 A 键,进入时间调整状态,然后分别按下 B键调时,按下 C 键调分,按下 D 键调秒,按下 B

14、、C、D 键并松开可使电子钟的时,分,秒分别加一。调整好时间后,按下 A 键就可以回到调整好的时间为基础的自动计时状态。无论是在自动计时,还是在调整校正时,都可按下复位键使系统回到显示 P.的初始状态。其中 B 键显示范围为 0-23,0 为 24 点;C,D键显示范围为 0-59,0 为 60 分。4.2 电子钟系统 PROTUES 仿真结果图 4.1 电子钟系统仿真结果4.3 系统误差分析我们可以发现电子钟在自动运行后一段时间的我们的标准时间相比较出现了误差:所设计的电子钟比我们的标准时间要慢,而且相比较的时间越长他的时差越大。经过分其主要原因与硬件和软件都有关。软件原因:我们从外部中断请

15、求有效到转向中断区入口地址所需的机器周期数来计算中断时间,51 系列单片机最短响应时间为 3 个机器周期。在一般情况下中断响应时间通常无需考虑,但在精确定时的应用场合需知道中断响应时间,以保证定时的精确控制。硬件原因:单片机的时钟信号是由外部的振荡电路所提供,在芯片的外部通过接 XATL1 与 XATL2 这两个引角跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。因为电子原件不可以就有我们所设计的那么理想(电容的容量,振晶的输出频率)所以会造成我们的时间准确。13针对这样的问题我们就能只能从上述两个方面入手去解决。软件方面我们可以通过计算设计子程序去减少响应的时差。硬件部

16、分我们可以采用一些稳定,精确度比较高的电子元件去完善,但是在最后调试出的还是有误差但我尽可能的减少差误差接近理想。心得体会经过一周的时间以及对整本教材的知识总结,把课程设计分成了硬件软件14两大模块。总的来说,硬件部分很好入手,电路也教简单,主要涉及的是简单的按键、电容、电阻、晶振和数码管。在软件部分,细分为了按键模块、显示模块、定时/计数模块,最后把几个模块整合在主程序模块中,使得程序简单明了。整个设计过程中遇到的最大问题是软件的编写.通过电子钟的设计,对单片机的原理、结构、外围电路进一步的了解。撰写论文的过程也是专业知识的学习过程,它使我运用已有的专业基础知识,对其进行设计,分析和解决一个

17、理论问题或实际问题,把知识转化为能力的实际训练。培养了我运用所学知识解决实际问题的能力。通过这次课程设计我发现,只有理论水平提高了;才能够将课本知识与实践相整合,理论知识服务于教学实践,以增强自己的动手能力。这个实验十分有意义 我获得很深刻的经验。通过这次课程设计,我们知道了理论和实际的距离,也知道了理论和实际想结合的重要性, ,也从中得知了很多书本上无法得知的知识。我们的学习不但要立足于书本,以解决理论和实际教学中的实际问题为目的,还要以实践相结合,理论问题即实践课题,解决问题即课程研究,学生自己就是一个专家,通过自己的手来解决问题比用脑子解决问题更加深刻。学习就应该采取理论与实践结合的方式

18、,理论的问题,也就是实践性的课题。这种做法既有助于完成理论知识的巩固,又有助于带动实践,解决实际问题,加强我们的动手能力和解决问题的能力。参考文献151 李广弟、朱月秀、王秀山.单片机基础(第三版)M.北京:北京航空航天大学出版社,20072 马忠梅、籍顺心、张凯、马岩.单片机的 C 语言应用程序设计(第 4 版)M.北京:北京航空航天大学出版社,2007.13 李华.MCS-51 系列单片机实用接口技术M.北京:北京航空航天大学出版社,19974 赵茂泰.智能仪器原理及应用(第二版)M.北京:电子工业出版社,2006.6致 谢16首先衷心地感谢吴乐老师对我们的悉心教导。还有同学给予了帮助,以

19、及精神的支持,特别是谢秀娟同学的悉心指导和建议给了我极大的帮助和支持,使我受益匪浅,对此本人表示衷心的感谢。如果没有她我想我的设计不会这样顺利的完成。在此论文完成之际,谨向给予我鼎力支持的老师及同学致以深深的谢意和崇高的敬意。由于本人水平有限,在技术指标和论文写作中可能存在一些缺陷,恳请各位老师和同学们批评指教。附录17附录一硬件电路元件清单元件名称 规格 数目按键开关 SW-PB 9 个上拉排阻 10K 2 个电阻 普通 若干电解电容 22uF 1 个瓷石电容 33pF 2 个晶振 12MHz 1 个三极管 PNP 8 个单片机 AT89S52 1 片数码管 四位共阳 2 片发光二极管 1

20、个开关 1 个附录 二18程序清单;*;堆栈栈底 80H;*;通用寄存器组的分配;第 0 组:主程序;第 1 组:显示子程序;第 2 组:定时器 0 中断服务程序;第 3 组:;*;LED 数码管显示器设定;P0.7-P0.0 段控线,接 LED 的显示段 dp,g,f,e,d,c,b,a;P2.0-P2.7 位控线,从左至右(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0);显示缓冲区设定从左至右依次为 7FH,7EH,7DH,7CH,7BH,7AH,79H,78H ;*;独立式键盘设定;8 个按键 S2 至 S9 分别依次接在 P1.0 至 P1.7 口线;

21、 ;*; ;子程序;DAAD1(加一子程序);CLR0(清零子程序 );KEYS(键扫描子程序);KEYCHULI(P1 口数据处理子程序);DISP(数码管显示子程序);YS(2 毫秒延时子程序);TSF(系统提示符 “P.“的代码序号送显示缓冲区子程序);*;常数表格;TAB(共阳数码管字型代码表);DISBH(系统提示符 P.字型代码序号表 );*;中断服务程序;TC00(定时器 0 中断服务程序);*;19;键功能程序;KEYAA(S2 键键功能程序);KEYBB(S3 键键功能程序);KEYCC(S4 键键功能程序);KEYDD(S5 键键功能程序);KEYEE(S6 键键功能程序)

22、;KEYFF(S7 键键功能程序);KEYGG(S8 键键功能程序);KEYHH(S9 键键功能程序);*;数据存储器变量及常量单元定义;位单元 10H、11H:都为 1 时表示定时器没有启动或按下清零键,都为 0 时表示已经按下停止键;位单元 10H、11H:10H 为 0、11H 为 1 时表示定时器已经按下启动键;20H 字节单元:存放键值;30H 字节单元:定时器中断次数;72H 字节单元:十进制数秒个位,非压缩 BCD 码;73H 字节单元:十进制数秒十位,非压缩 BCD 码;74H 字节单元:十进制数分个位,非压缩 BCD 码;75H 字节单元:十进制数分十位,非压缩 BCD 码;

23、76H 字节单元:十进制数时个位,非压缩 BCD 码;77H 字节单元:十进制数时十位,非压缩 BCD 码;*;伪指令定义 SECGE EQU 72HSECSHI EQU 73HMINGE EQU 74HMINSHI EQU 75HHOURGE EQU 76HHOURSHI EQU 77H;*;系统起始程序区 ORG 0000HSTART: LJMP MAIN;*;系统中断服务程序入口区ORG 000BHLJMP TC00 ;*;20;系统监控程序区ORG 0030HMAIN: MOV SP , #80H ;初始化堆栈MOV PSW , #00H ;初始化 PSWMOV R0 , #20H ;

24、RAM 区首地址MOV R7 , #5FH ;RAM 区单元个数QL: MOV R0 , #00H ;开始清零INC R0DJNZ R7 , QLSETB 10HCLR 11HXTTSF: LCALL TSFLCALL DISP ;调显示子程序MOV TMOD , #01H ;定时器 0 初始化MOV TH0 , #3CH ;送定时初值高八位MOV TL0 , #0B0H ;送定时初值低八位MOV 30H , #14H ;送中断次数SETB EASETB ET0MOV SECGE , #00HMOV SECSHI , #00HMOV MINGE , #00HMOV MINSHI , #00HM

25、OV HOURGE , #00HMOV HOURSHI, #00HLOOP: LCALL DISPLCALL KEYSMOV A , 20HKEY0: CJNE A , #01H , KEY1LJMP KEYAA KEY1: CJNE A , #02H , KEY2LJMP KEYBB KEY2: CJNE A , #04H , KEY3LJMP KEYCC KEY3: CJNE A , #08H , KEY4LJMP KEYDD KEY4: CJNE A , #10H , KEY5LJMP KEYEE KEY5: CJNE A , #20H , KEY6LJMP KEYFF KEY6: CJ

26、NE A , #40H , KEY721LJMP KEYGGKEY7: CJNE A , #80H , LOOPLJMP KEYHH ;*;键功能程序区KEYAA: JNB 10H , KEYA2 ;S2 键键功能程序 KEYA1: MOV 78H , SECGE ;启动功能程序MOV 79H , SECSHIMOV 7BH , MINGEMOV 7CH , MINSHIMOV 7EH , HOURGEMOV 7FH , HOURSHIMOV 7AH , #12H ;分与秒之间显示分隔符“-”MOV 7DH , #12H ;时与分之间显示分隔符“-” SETB TR0 CLR 10HCLR 1

27、1HLJMP LOOPKEYA2: CLR TR0 ;停止功能程序 SETB 10HSETB 11H KEYA3: LJMP LOOPKEYBB: JNB 10H , KEYB1 ;S3 调时键键功能程序JNB 11H , KEYB1MOV R0 , #HOURSHILCALL DAAD1MOV 7EH , HOURGEMOV 7FH , HOURSHIMOV A , R2XRL A , #24HJNZ KEYB1MOV R0 , #HOURSHILCALL CLR0MOV 7EH , HOURGEMOV 7FH , HOURSHI22KEYB1: LJMP LOOPKEYCC: JNB 10

28、H , KEYC1 ;S4 调分键键功能程序JNB 11H , KEYC1MOV R0 , #MINSHILCALL DAAD1MOV 7BH , MINGEMOV 7CH , MINSHIMOV A , R2XRL A , #60HJNZ KEYC1MOV R0 , #MINSHILCALL CLR0MOV 7BH , MINGEMOV 7CH , MINSHI KEYC1: LJMP LOOPKEYDD: JNB 10H , KEYD1 ;S5 调秒键键功能程序JNB 11H , KEYD1MOV R0 , #SECSHILCALL DAAD1MOV 78H , SECGEMOV 79H

29、, SECSHIMOV A , R2XRL A , #60HJNZ KEYD1MOV R0 , #SECSHILCALL CLR0MOV 78H , SECGEMOV 79H , SECSHI KEYD1: LJMP LOOPKEYEE: NOP ;S6 键键功能程序 KEYE1:LJMP LOOPKEYFF: NOP ;S7 键键功能程序LJMP LOOP23KEYGG: NOP ;S8 键键功能程序LJMP LOOPKEYHH: NOP ;S9 键键功能程序LJMP LOOP;*;常数表格区;系统提示符 P.字型代码序号表DISBH: DB 10H,10H,10H,10H,10H,10H,

30、10H,11H;共阳数码管字型代码表TAB: DB 0C0H, 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H ;0-8DB 90H, 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0BFH ;9,A,B,C,D,E,F,灭,p.,-;*;中断服务程序区;定时器 0 中断服务程序TC00: PUSH PSWPUSH ACCSETB RS1CLR RS0MOV TH0 , #3CH;重装定时初值MOV TL0 , #0B0HMOV A , 30HDEC AMOV 30H , AJNZ TCEXITMOV 30H , #14H ;重装中断次数MOV

31、R0 , #SECSHI ;秒加一LCALL DAAD1MOV 78H , SECGEMOV 79H , SECSHIMOV A , R2XRL A , #60H ;判是否到 60 秒JNZ TCEXIT ;不到跳中断返回24LCALL CLR0 ;到秒个、十位存储单元清零MOV 78H , SECGEMOV 79H , SECSHIMOV R0 , #MINSHI ;分加一LCALL DAAD1MOV 7BH , MINGEMOV 7CH , MINSHIMOV A , R2XRL A , #60H ;判是否到 60 分JNZ TCEXIT ;不到跳中断返回MOV R0 , #SECSHI

32、;到秒个、十位存储单元清零LCALL CLR0MOV 78H , SECGEMOV 79H , SECSHIMOV R0 , #MINSHI ;到分个、十位存储单元清零LCALL CLR0MOV 7BH , MINGEMOV 7CH , MINSHIMOV R0 , #HOURSHI ;时加一LCALL DAAD1MOV 7EH , HOURGEMOV 7FH , HOURSHIMOV A , R2XRL A , 24H ;判是否到 24 时JNZ TCEXIT ;不到跳中断返回MOV R0 , #SECSHI;到秒个、十位存储单元清零LCALL CLR0MOV 78H , SECGEMOV

33、79H , SECSHIMOV R0 , #MINSHILCALL CLR0 ;到分个、十位存储单元清零MOV 7BH , MINGEMOV 7CH , MINSHI25MOV R0 , #HOURSHILCALL CLR0 ;到时个、十位存储单元清零MOV 7EH , HOURGEMOV 7FH , HOURSHITCEXIT: POP ACCPOP PSWRETI;*;子程序区;加一子程序DAAD1: MOV A , R0DEC R0SWAP AORL A , R0ADD A , #01HDA AMOV R2 , AANL A , #0FHMOV R0 , AMOV A , R2INC R

34、0 ANL A , #0F0HSWAP AMOV R0 , ARET;清零子程序CLR0: CLR AMOV R0 , ADEC R0MOV R0 , ARET;把提示符“P.“的代码送缓冲区TSF: MOV DPTR , #DISBH ;把提示符“P.“ 的代码送缓冲区MOV R4 , #08HMOV R0 , #78HTSFSHC: MOV A , #00HMOVC A , A+DPTRMOV R0 , AINC DPTRINC R026DJNZ R4 , TSFSHCRET;8 个按键 S2 至 S9 分别依次接在 P1.0 至 P1.7 口线 ;键扫子程序 KEY;出口:B ,20HK

35、EYS: LCALL KEYCHULIJZ EXIT LCALL DISPLCALL DISPLCALL KEYCHULIJZ EXITMOV B , 20HKEYSF: LCALL KEYCHULIJZ KEYS1LCALL DISPLCALL DISPLJMP KEYSFKEYS1: MOV 20H , BEXIT: RET;键处理子程序 KEYCHULI;出口:A,20HKEYCHULI: MOV P1 , #0FFHMOV A , P1CPL AMOV 20H , ARET;显示子程序;入口:78H,79H,7AH,7BH,7CH,7DH,7EH,7FH,DISP: PUSH DPHP

36、USH DPLPUSH ACCPUSH PSWCLR RS1SETB RS0MOV R1 , #78H ;显示缓冲区首地址MOV R3 , #08HMOV R2 , #7FH ;从左至右显示DISP1: MOV A , R1MOV DPTR , #TABMOVC A , A+DPTRMOV P0 , A ;送段控27MOV P2 , R2 ;送位控LCALL YS ;延时 2 毫秒MOV A , R2RR A MOV R2 , AINC R1DJNZ R3 , DISP1POP PSWPOP ACCPOP DPLPOP DPHRET;延时 2ms 子程序YS: MOV R5 , #02HYS1: MOV R4 , #0FFHYS2: DJNZ R4 , YS2DJNZ R5 , YS1RETEND附录 三28电路图一.原理图二.PCB 图29

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报