资源描述
湖南工程学院课 程 设 计课程名称 单片机原理与应用 课题名称 电子跑表设计 专 业 电气工程 班 级 0901 学 号 23 姓 名 刘俊廷 指导教师 肖锋 2012年6 月 13 日湖南工程学院课 程 设 计 任 务 书课程名称 单片机原理与应用 课 题 电子跑表的设计 专业班级 电器0901 学生姓名 刘俊廷 学 号 23 指导老师 肖锋 审 批 任务书下达日期 2012年6 月11 日任务完成日期 2012年6 月18 日设计内容与设计要求设计内容:利用单片机为核心设计一个多功能电子表,具有电时钟和跑表功能。做时钟时在显示器上显示时、分、秒,做跑表时显示范围00时00分00秒-23时59分59秒并具有跑表启动和跑表复位功能键。设计要求:1)确定系统设计方案; 2)进行系统的硬件设计;3)完成必要的参数计算与元器件选择;4)完成应用程序设计;*5)进行部分单元电路及应用程序的调试;主 要 设 计 条 件本系统要求:电子时钟的计时范围00时00分00秒23时59分-59秒,并在显示器上显示;做跑表时显示范围00时00分00秒-23时59分59秒,当按下启动按钮跑表开始计时,按下停止按停止计时,当按下复位按钮跑表回零。说 明 书 格 式1. 课程设计任务书2. 目录3. 系统总体方案选择与说明4. 系统结构框图与工作原理5. 各单元硬件设计说明及计算方法6. 软件设计与说明(包括流程图)7. 调试结果与必要的调试说明8. 使用说明9. 总结10、参考文献附录附录A 系统原理图附录B 程序清单进 度 安 排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍 下午:借阅有关资料,总体方案讨论星期二、确定总体设计方案星期三、硬件模块方案设计星期四、软件模块方案设计星期五、各硬件模块设计第二周星期一、各硬件模块设计星期二、各软件模块设计星期三、各软件模块设计星期四、写说明书星期五、上午:写说明书,整理资料下午:交设计资料,答辩参 考 文 献参考文献1、 教材单片微型计算机技术 刘国荣 编 机械工业出版社2、 单片微型计算机原理、应用及接口技术 张迎新 编 国防工业出版社3、 单片机实用系统设计技术 房小翠 编 国防工业出版社4、单片机应用系统设计 何立民 编 北航出版社5、单片机原理及接口技术 曹琳琳编 国防科技大学出版社 目 录1. 课题的设计要求、目的、意义-71.1 课程设计的要求-71.2 课题设计的目的与意义-72.系统总体方案选择与说明 -8 2.1课程设计要求有多种功能-8 2.2系统方案说明与分析-93.系统结构框图与工作原理-103.1系统结构框图-10 3.2工作原理-114.各单元硬件说明及计算方法-134.1、AT89C51-134.2、晶振电路-14 4.36、位7段共阳显示器-15 4.4、8255芯片-155.软件设计与说明-175.1.1、Keil uVision2-175.1.2 、proteus-185.2软件设计及流程图-196.调试与运行-217.使用说明-258.总结-289.参考文献-3010.附表-31第1章、课题的设计要求、目的、意义1.1 课程设计的要求1)确定系统设计方案;2)进行系统的硬件设计;3)完成必要的参数计算与元器件选择;4)完成应用程序设计;*5)进行部分单元电路及应用程序的调试;。1.2 课题设计的目的与意义 1、巩固,加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力; 2、培养针对课题需要,选择和查阅有关手册,图标及文献资料的自学能力,提高组成系统,编程,调试的动手能力; 3、通过对课题设计方案的分析,选择,比较,熟悉单片机用系统开发,研制的过程,软件硬件设计的方法,内容及步骤。第2章、系统总体方案选择与说明2.1课程设计要求有多种功能电子时钟的计时范围00时00分00秒23时59分-59秒,并在显示器上显示;做跑表时显示范围00时00分00秒-23时59分59秒,当按下启动按钮跑表开始计时,按下停止按停止计时,当按下复位按钮跑表回零。2.2系统方案说明与分析电子表是日常生活中常用的计时工具。本电子表采用ATB9C51单片机为核心器件,将可编程芯片8255A与6个LED数码管连接,用于显示时钟与跑秒。PA口输出显示段码,PB口输出位码,单片机的P1.0P1.4、P3.2、P3.3接K1K6,用于实现表的清零/启动/复位/调整/暂停功能,其可由软件完成。时间显示功能通过LED数码管动态扫描来实现,在显示器上进行动态扫描。由于数码管要显示时钟,还要显示秒表,利用T0定时器定时1s,T1定时器定时100ms,即0.1s,用R6和R7作为扫描的短延时数据地址。因此,分别用30H、31H、32H、33H、34H、35H计时钟,即时钟计数器;用40H、41H、42H、43H、44H、45H计跑表,即秒表计数器。当要显示时钟的时候,就把时钟地址中的数据通过8255A的PA口输出给显示器显示;当要显示跑表的时候,就把跑秒地址中的数据通过8255A的PA口输出给显示器显示。由于跑秒与时钟数据地址不同,故跑表显示与时钟显示互不影响。第3章 、系统结构框图与工作原理3.1系统结构框图 根据项目要求,确定该系统的设计方案。硬件电路由7部分组成,即按键或开关输入电路、单片机、时钟电路、复位电路、LED显示器段码驱动电路、LED显示器位码驱动电路和LED显示电路。6个按键或开关输入电路时钟电路复位电路单片机LED显示器段码驱动电路6位LED显示电路LED显示器位码驱动电路 图一 系统结构框图3.2工作原理一般电子钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和报时功能。因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、报时电路和振荡器组成。主电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24小时的累计。译码显示电路将“时”、“分”、“秒”计数器的输出状态用七段显示译码器译码,通过七段显示器显示出来。整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整。而该电子时钟由89C51,8255A,六段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。而电路中有六个控制键拥有不同的功能,第一个键是复位键第二个是启动键,第三个是跑秒键,第四个是秒停键,按下这个键后,再按第六个和第七个键就可以分别调分钟和时钟。第4章、各单元硬件说明及计算方法4.1硬件介绍4.1、AT89C51AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图二4.2、晶振电路单片机由其内部固化程序在12 MHZ晶振的准确支持运行,将时钟芯片中的时、分读取到缓冲区内,并将时、分送到显示电路, 图所示为时钟电路原理图,在AT89S51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。图三晶振电路4.3、6位7段共阳显示器6位7段共阳显示器:六位是同时显示六位阿拉伯数字,而每一个数字又是七段码显示的;七段是指一个数码显示的阿拉伯数字是由七位二进制数控制的,共阳是指相应的二进制为1时不亮,为0时亮。在实验中显示器的作用是显示时间图四4.4、8255芯片Intel 8086/8088 系列的可编程外设接口电路(Programmable Peripheral Interface)简称 PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接。图五第5章、软件设计与说明5.1.1、Keil uVision2Keil uVision2是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。图六5.1.2 、proteusProteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。图七5.2软件设计及流程图在硬件准备完毕的基础上,需要进一步完善程序,也就是进入软件调试阶段。在本次设计中,软件调试的主要部分是对程序的调试,在proteus上绘制设计图,对2个软件进行联调,在proteus上仿真运行等。程序的调试应一个模块一个模块地进行,首先单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;最后逐步将各子程序连接起来总调。第6章、调试与运行5.1.1在Keil uVision2上设置:1、单击“Project菜单/Options for Target”选项或者点击工具栏的“Option for Ta rget”按钮 ,弹出窗口,点击“Debug”按钮,出现如图所示页面。图九2、proteus中51芯片需要导入.HEX的文件,需要在keil中生成.HEX文件,具体步骤:单击“Project”菜单,再在下拉菜单中单击“Options for Target ” ,再单击“Output”中单击“Create HEX File” 选项,使程序编译后产生HEX代码,以便在Proteus里加载可执行代码,并单击“Target”选项,更改晶振频率(本例使用6M晶振),其如图十所示。 图十到此,设置工作已完成,下面我们将编译、链接、转换成可执行文件(.HEX的文件)。5.1.2在Proteus上设置:进入Proteus的ISIS,鼠标左键点击菜单“Debug”, 选中“use romote debuger monitor”, 如图3-2所示。此后,便可实现KeilC与Proteus连接调试。图十一特别注意:联调需要注意的是,各程序模块间能否正确传递参数,是否设置正确,文件是否完整,特别要注意各子程序的现场保护与恢复。只有选择正确的方法来进行联调,才能在proteus上仿真成功。5.2用proteus进行仿真画好设计图后,加装keil上生成的.HEX文件进AT89C51芯片,具体步骤:双击图上的芯片,在弹出的对话框中“program file”一栏,单机打开文件,选择已经生成的.HEX文件,然后确定。图十二确认设计图无误就可以进行仿真了,单击开始按钮可以看见6位7段共阳显示器开始工作图十三然后测试6个按键是否工作正常,通过测试,可知:P1.0代表的清零正常工作,P1.1代表正常工作,P1.2代表正常工作,P1.3代表正常工作,P3.2代表正常工作,P3.3代表的正常工作。第7章、使用说明此项目一共设计了6个按键如下图:按下第一个键就是恢复为00 00 00 状态。图十四按下第二个键就是启动跑秒功能状态。想恢复到电子时钟状态则可按下第三个键。进行电子表的时钟与分钟设置需要将第四个键按下后分别再按第五和第六个键。第8章、总结 课程设计是培养学生综合运用所学的知识,发现、提出、分析解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力训练和考察过程。随着科学技术发展的日新月异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。以此作为二十一世纪的大学生来说掌握单片机开发技术是十分重要的。本次做的电子表是以单片机(AT89C51)为核心,结合相关的元器件(6位7段共阳LED数码、锁存器、8255A、双向总线收发器等),再配以相应的软件(Keil uVision2和proteus),达到实现时钟启动、时钟停止、跑表启动、跑表复位、时钟调整。因为这次用的软件protues和Keil uVision2之前从未接触过,做起来难免手忙脚乱的,一大堆难题需要解决,甚至是软件的安装都是经过一段时间摸索才真正掌握的。通过上网查询和浏览,不断的学习,以及和同学的交流,逐渐了认识了这2款软件和使用它们。经过不断的做试验,我学会了protues软件和Keil uVision2软件的连接,应用Keil编译程序,然后用protues仿真。,刚开始的时候完全不明白什么是联调,后来通过上网搜索相关的网页,询问同学,了解了联调的具体步骤,按照步骤一步一步的进行下去,虽然失败了很多次,但是最后在不懈努力下,终于成功的将2个软件进行联调。以后的任务就轻松许多了!认真的编好程序,绘制好设计图,然后进行仿真。显示器开始运行那瞬间,就觉得前面的辛苦没有白费!这次单片机的课程设计自我感觉还是很完美的,经过自己的努力制作出了可以跑秒的电子表,第一次做编写单片机的程序能有成功,也让自己对单片机有了更大的兴趣。这对以后的学习和进行其他的课程设计都是很有帮助的。单片机作为我们主要的专业课程之一,我觉得单片机课程设计很有必要,而且很有意义。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样!参考文献1、 王迎旭编.单片机原理与应用M.机械工业出版社.2、 楼然苗编.51系列单片机设计实例M.北京航空航天大学出版社.3、 黄勤编.计算机硬件技术基础实验教程M.重庆大学出版社4、刘乐善编.微型计算机接口技术及应用M.华中科技大学出版社.5、陈光东编.单片微型计算机原理及接口技术M.华中科技大学出版社.附录A 系统硬件原理图附录B 程序清单ORG 0000HLJMP STARTORG 0003H ;INT0中断入口LJMP S5ORG 000BH;T0中断入口地址LJMP T0ORG 0013H;INT1中断入口LJMP S6ORG 001BH ;T1中断入口地址LJMP T1ORG 2000HSTART: MOV DPRT, #0CFA3H;8255A初始化(8255A控制口地址)MOV A, #89H;PA口PB口输出方式MOVX DPRT, A;方式控制字送控制字入口S1: MOV 30H, #0;时钟数据存放地址赋初值MOV 31H, #0MOV 32H, #0MOV 33H, #0 MOV 34H, #0MOV 35H, #0S2: MOV R0, #14HMOV TMOD, #11H ;T0/T1工作方式SETB EA ;开放T0和CPU中断SETB TR0;启动T0SETB ET0 ;开放T0溢出中断允许SETB ET1;开放T1溢出中断允许LOOP: CLR TR1;关断T1计时MOV A, #0DFHMOV DPTR, #0CFA1H ;取位控信号(8255A的PB口地址)MOVX DPTR, AMOV A, 35H;显示值转换显示码MOV DPTR, #DIRTAB ;七段数码管显示段码首地址MOVC A, A+DPTR ;查表MOV DPTR, #0CFA0H;送PA口显示(8255A的PA口地址)MOVX DPTR, AACALL D1MS;延时1ms消抖MOV A, #0EFH;动态扫描循环MOV DPTR, #0CFA1HMOVX DPTR, AMOV A, 34HMOV DPTR, #DIRTABMOVC A, A+DPTRMOV DPTR, #0CFA0HMOVX DPTR, AACALL D1MSMOV A, #0F7HMOV DPTR, #0CFA1HMOVX DPTR, AMOV A, 33HMOV DPTR, #DIRTABMOVC A, A+DPTRMOV DPTR, #0CFA0HMOVX DPTR, AACALL D1MSMOV A, #0FBHMOV DPTR, #0CFA1HMOVX DPTR, AMOV A, 32HMOV DPTR, #DIRTABMOVC A, A+DPTRMOV DPTR, #0CFA0HMOVX DPTR, AACALL D1MSMOV A, #0FDHMOV DPTR, #0CFA1HMOVX DPTR, AMOV A, 31HMOV DPTR, #DIRTABMOVC A, A+DPTRMOV DPTR, #0CFA0HMOVX DPTR, AACALL D1MSMOV A, #0FEHMOV DPTR, #0CFA1HMOVX DPTR, AMOV A, 30HMOV DPTR, #DIRTABMOVC A, A+DPTRMOV DPTR, #0CFA0HMOVX DPTR, AACALL D1MSJNB P1.0, Z4;判断是否复位清零秒表JNB P1.3, S3;判断时钟是否暂停JNB P1.2, S4;判断是否显示时钟SJMP LOOPZ4: AJMP Z1;时钟暂停显示程序S3: CLR TR0 ;关断时钟计时SETB IT0;INT0中断采用边沿出发SETB EX0 ;开INT0中断SETB IT1;INT1中断采用边沿出发SETB EX1 ;开INT1中断AJMP LOOP;时钟暂停动态显示;时钟运行显示程序S4: SETB TR0;开T0计数器CLR EX0;开INT0中断CLR EX1;开INT1中断AJMP LOOP;时钟显示S8: AJMP KEY;中断返回;时钟T0溢出入口程序 T0: MOV TH0, #1EH;T0重装初值MOV TL0, #0CFHDJNZ R0, S8;判断是否到1sMOV R0, #14H;重装R0INC 35H ;时钟加1sMOV A, #10CJNE A, 35H, KEY;判断时钟进位MOV R0, #14HMOV 35H, #0INC 34HMOV A, #6CJNE A, 34H, KEYMOV R0, #14HMOV 35H, #0MOV 34H, #0MOV R0, #14HS5: INC 33H;外部中断INT0调整分钟入口MOV A, #10CJNE A, 33H, KEYMOV R0, #14HMOV 35H, #0MOV 34H, #0MOV 33H, #0INC 32HMOV A, #6CJNE A, 32H, KEYMOV R0, #14HMOV 35H, #0MOV 34H, #0MOV 33H, #0MOV 32H, #0S6: INC 31H ;外部中断INT0调整时钟入口MOV A, #4CJNE A, 31H, L3MOV A, #2CJNE A, 30H, L3 ;判断是否到24hSJMP L4L3: MOV A, #10CJNE A, 31H, KEYMOV R0, #14HMOV 35H, #0MOV 34H, #0MOV 33H, #0MOV 32H, #0MOV 31H, #0INC 30HRETIL4: MOV R0, #14H;24h到,时钟清零返回MOV 35H, #0MOV 34H, #0MOV 33H, #0MOV 32H, #0MOV 31H, #0MOV 30H, #0KEY: RETI;跑秒暂停及循环显示程序Z1: SETB TR0;开T0计数器CLR EX0 ;关INT0中断CLR EX1 ;关INT1中断MOV 40H, #0 ;跑秒数据存放地址赋初值MOV 41H, #0MOV 42H, #0MOV 43H, #0MOV 44H, #0MOV 45H, #0LOOP: CLR TR1 ;关断T1计时MOV A, #0DFH ;跑秒取位控信号MOV DPTR, #0CFA1HMOVX DPTR, AMOV A, 45H ;显示值转换显示码MOV DPTR, #DIRTAB ;七段数码管显示段码首地址MOVC A, A+DPTR ;查表MOV DPTR, #0CFA0H ;送PA口显示MOVX DPTR, AACALL D1MS ;延时1s消抖MOV A, #0EFHMOV DPTR, #0CFA1HMOVX DPTR, AMOV A, 44HMOV DPTR, #DIRTABMOVC A, A+DPTRMOV DPTR, #0CFA0HMOVX DPTR, AACALL D1MSMOV A, #0F7HMOV DPTR, #0CFA1HMOVX DPTR, AMOV A, 43HMOV DPTR, #DIRTABMOVC A, A+DPTRMOV DPTR, #0CFA0HMOVX DPTR, AACALL D1MSMOV A, #0FBHMOV DPTR, #0CFA1HMOVX DPTR, AMOV A, 42HMOV DPTR, #DIRTABMOVC A, A+DPTRMOV DPTR, #0CFA0HMOVX DPTR, AACALL D1MSMOV A, #0FDHMOV DPTR, #0CFA1HMOVX DPTR, AMOV A, 41HMOV DPTR, #DIRTABMOVC A, A+DPTRMOV DPTR, #0CFA0HMOVX DPTR, AACALL D1MSMOV A, #0FEHMOV DPTR, #0CFA1HMOVX DPTR, AMOV A, 40HMOV DPTR, #DIRTABMOVC A, A+DPTRMOV DPTR, #0CFA0HMOVX DPTR, AACALL D1MSJNB P1.0, Z3 ;判断秒表是否清零复位 JNB P1.1, INT0 ;判断是否想爱你是秒表JNB P1.2, M2 ;判断是否返回时钟显示M5: AJMP LOOP1 ;循环判断M2: AJMP LOOPZ3: Z1;跑秒运行循环显示程序INT0: SETB TR1 ;启动跑秒MOV A, #0DFH ;跑秒取位控信号MOV DPTR, #0CFA1H MOVX DPTR, AMOV A, 45H ;显示值转换显示码MOV DPTR, #DIRTAB ;七段数码管显示段码首地址MOVC A, A+DPTR ;查表MOV DPTR, #0CFA0H ;送PA口显示MOVX DPTR, AACALL D1MS ;延时1s消抖MOV A, #0EFHMOV DPTR, #0CFA1HMOVX DPTR, AMOV A, 44HMOV DPTR, #DIRTABMOVC A, A+DPTRMOV DPTR, #0CFA0HMOVX DPTR, AACALL D1MSMOV A, #0F7HMOV DPTR, #0CFA1HMOVX DPTR, AMOV A, 43HMOV DPTR, #DIRTABMOVC A, A+DPTRMOV DPTR, #0CFA0HMOVX DPTR, AACALL D1MSMOV A, #0FBHMOV DPTR, #0CFA1HMOVX DPTR, AMOV A, 42HMOV DPTR, #DIRTABMOVC A, A+DPTRMOV DPTR, #0CFA0HMOVX DPTR, AACALL D1MSMOV A, #0FDHMOV DPTR, #0CFA1HMOVX DPTR, AMOV A, 41HMOV DPTR, #DIRTABMOVC A, A+DPTRMOV DPTR, #0CFA0HMOVX DPTR, AACALL D1MSMOV A, #0FEHMOV DPTR, #0CFA1HMOVX DPTR, AMOV A, 40HMOV DPTR, #DIRTABMOVC A, A+DPTRMOV DPTR, #0CFA0HMOVX DPTR, AACALL D1MSJNB P1.0, M3 ;判断秒表是否清零复位JNB P1.2, M2 ;判断是否返回时钟显示JNB P1.3, M5 ;判断是否暂停跑秒AJMP INT0;跑秒T1溢出入口程序T1: MOV TH1, #0D8H ;T1初值10ms跑秒计时MOV TL1, #0F0H INC 45H ;跑秒加10ms级加1MOV A, #10CJNE A, 45H, M4 ;判断跑秒进位MOV 45H, #0INC 44HMOV A, #10CJNE A, 44H, M4MOV 45H, #0MOV 44H, #0INC 43HMOV A, #10CJNE A, 43H, M4MOV 45H, #0MOV 44H, #0MOV 43H, #0INC 42HMOV A, #10CJNE A, 42H, M4MOV 45H, #0MOV 44H, #0MOV 43H, #0MOV 42H, #0INC 41HMOV A, #10CJNE A, 41H, M4MOV 45H, #0MOV 44H, #0MOV 43H, #0MOV 42H, #0MOV 41H, #0INC 40HMOV A, #10CJNE A, 40H, M4MOV 45H, #0MOV 44H, #0MOV 43H, #0MOV 42H, #0MOV 41H, #0MOV 40H, #0M4: AJMP KEYM3: AJMP Z1DIRTAB: DB 3FH,06H,5BH,4FH ;定义段码0,1,2,3DB 66H,6DH,7DH,07H ;4,5,6,7DB 7FH,6FH,77H,7CH ;8,9,A,BDB 39H,5EH,79H,71H ;C,D,E,FDIRTAB: DB 0BFH,86H,0DBH,0CFH ;定义显点段码DB 0E6H,0EDH,0FDH,87HDB 0FFH,0EFH,0F7H,0FCHDB 0B9H,0DEH,0F9H,0F1HD1MS: MOV R7, #4 ;1ms短延时子程序DEL1: MOV R6, #30NOPDEL2: DJNZ R6, DEL2DJNZ R7, DEL1RETEND电气与信息工程系课程设计评分表项 目评 价优良中及格差设计方案合理性与创造性(10%)开发板焊接及其调试完成情况*(10%)硬件设计或软件编程完成情况(20%)硬件测试或软件调试结果*(10%)设计说明书质量(20%)答辩情况(10%)完成任务情况(10%)独立工作能力(10%)出勤情况(10%)综 合 评 分 指导教师签名:_ 日 期:_ 注:表中标*号项目是硬件制作或软件编程类课题必填内容; 此表装订在课程设计说明书的最后一页。课程设计说明书装订顺序:封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。 文档可能无法思考全面,请浏览后下载,另外祝您生活愉快,工作顺利,万事如意!37 / 37
展开阅读全文