




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业综合实践报告课题名称基于单片机技术数字钟电路的设计系部电子工程系班级姓名学号指导教师论文/设计/报告原创性声明本人郑重声明所呈交的论文/设计/报告是本人在导师的指导下进行研究所取得的研究成果。除了论文/设计/报告中特别加以标注引用的内容外,本论文/设计/报告不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。作者签名论文/设计/报告版权使用授权书本论文/设计/报告作者完全了解学校有关保障、使用学位论文/设计/报告的规定,同意学校保留并向有关论文/设计/报告管理部门或机构送交论文/设计/报告的复印件和电子版,允许论文/设计/报告被查阅和借阅。本人授权省级优秀论文/设计/报告评选机构将本论文/设计/报告的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本论文/设计/报告。本论文/设计/报告属于1、保密,在_年解密后适用本授权书。2、不保密。(请在以上相应方框内打“”)作者本人签名指导教师签名年月日目录一摘要4二引言5三数字钟硬件框图5四程序整体设计5(1)总体介绍5(2)数据调查5(3)中断方式注意的问题6(4)定时准确性的讨论6(5)软件消抖7五基于以上设计如下数字钟8(1)数字钟的操作如下8(2)流程图8六结束语11七致谢11主要参考文献11附录(数字钟控制程序)12摘要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。本文介绍了基于单片机的数字钟的设计,详细讨论了它从软件上实现的过程,重点在时钟调整的方式查询和中断的比较,然后,对数字钟的稳定性和精确性作了相关的讨论。在文章的最后,给出了采用中断方式实现的数字钟的源程序。关键字单片机,数字钟,数据缓冲区,中断,定时,消抖ABSTRACTINRECENTYEARS,WITHCOMPUTERSINTHEINFILTRATIONANDTHEDEVELOPMENTOFLARGESCALEINTEGRATEDCIRCUITSSCMAPPLICATIONISSTEADILYDEEPENING,ASITHASSTRONGFUNCTION,SMALLSIZE,LOWPOWERDISSIPATION,LOWPRICES,RELIABLE,EASYTOUSEFEATURES,ITISPARTICULARLYSUITEDTOANDCONTROLOFTHESYSTEM,INCREASINGLYWIDELYUSEDINAUTOMATICCONTROL,INTELLIGENTINSTRUMENTS,GAUGES,DATAACQUISITION,MILITARYPRODUCTSANDHOUSEHOLDAPPLIANCES,ANDOTHERAREAS,ISOFTENMICROCONTROLLERASACORECOMPONENTTOUSE,INLIGHTOFSPECIFICHARDWAREARCHITECTURE,ANDAPPLICATIONSPECIFICSOFTWAREFEATURESOBJECTCOMBINETOMAKEPERFECTINTHISPAPER,BASEDONSINGLECHIPDIGITALCLOCKDESIGN,DISCUSSEDINDETAILFROMTHESOFTWAREREALIZETHEPROCESS,FOCUSINGONTHECLOCKADJUSTINTHEWAYQUERIESANDDISRUPTIONOFCOMPARISON,THEN,ONTHEDIGITALCLOCKMADEOFTHESTABILITYANDACCURACYRELATEDDISCUSSIONINTHELASTARTICLE,GIVEWAYUSINGINTERRUPTEDREALIZETHESOURCEOFTHEDIGITALCLOCKKEYWORDSMCU,DIGITALCLOCK,DATABUFFER,INTERRUPTION,TIMING,ELIMINATIONBUFFETING基于单片机的数字钟电路的设计一、引言在单片机技术日趋成熟的今天,其灵活的硬件电路的设计和软件的设计,让单片机得到了广泛的应用,几乎是从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。单片机小的系统结构几乎是所有具有可编程硬件的一个缩影,可谓是“麻雀虽小,肝胆俱全”,单片机的学习和研究是对微机系统学习和研究的简捷途径。本数字钟系统是采用单片机控制的,其系统框图如图1所示二、数字钟硬件框图段码8051六位数码管显示电路按键K1,K2,K3SPEAKER消抖电路驱动位选图1图段码六位数码管显示电路按键,消抖电路驱动位选图图1数字钟系统框图三、程序整体设计定时模块,显示模块,数据调整模块,状态调整模块。1总体介绍此部分主要介绍定时模块,和显示模块。定时部分采用经典的定时器定时。它实现了数字钟的主要部分,和秒表的主要部分,以及产生报时信号,定时设置。显示模块是实现数字钟的又一重要部分,其模块的独立程度直接影响到数字钟的可视化程度。在此部分的设计中,设置专用显示数据缓冲区40H45H,与分,时及其他数据缓冲区数据区别,在其中存放的是显示段码,而其他缓冲区存放的是时间数据。在显示时,首先将时间十进制数据转化为显示段码,然后送往数码管显示。显示段码采用动态扫描的方式。在要求改变显示数据的类别时,只须改变R0(指向数据缓冲区的指针)指向的十进制数据缓冲区即可。2数据调整数据调整有多种方式。一、可以直接进入相关状态进行有关操作,二、将调整分两步,先进入状态,然后执行操作,这两步分别由两个键控制。方式一、比较直接,设计思想也比较简单,但是,这种方式存在操作时间和控制键数目的矛盾。如果用比较少的键,那么可能会在进入状态后处于数据调整等待状态,这样会影响到显示的扫描速度(显示部分可以采用8279芯片来控制,可以解决此问题)。当然在这种方式下,还可以使用多个状态键,每个状态键,完成一个对应数据的调整。如果采用二的方式,就不会出现这种情况。因为状态的调整,与状态的操作可以分别由两个键控制,其状态的调整数可以多达256个(理论上),操作的完成是这样的,一键控制状态的调整,一键控制数据的调整(具体操作如图2)。以上两种方式的实现都可以采用查询和中断的方式。两种方式必须注意的问题是两者进行相关操作的过程不能太长否则会影响显示的扫描。利用查询的方式,方法传统,对此就不作过多的讨论,以下是采用中断的方式实现的数字钟的一些讨论和有关问题作的一些处理。基于以上的讨论可以设计如下将调整分为状态调整和数据调整两部分,每次进入中断只执行一次操作,然后返回,这样,就不必让中断处于调整等待状态,这样,可以使中断的耗时很小。将定时器中断的优先级设置为最高级,那么中断的方式和查询的方式一样不会影响到时钟的记数。基于以上的讨论,数据修改的具体操作如下。在状态进入后,调整指针的指向如右图所示在右图中R1表示指向数据缓冲区的指针,它主要是为数据的调整而设立的,在图中MBF、HOUR、FS、SS,分别表示时钟的分、时,定时设置分、时,的数据缓冲区。状态5是秒表进入状态,状态6是时钟正钟显示状态。在程序中R1为专用指针,它的值只在状态调整时改变,每次运行图示模块,只改变一次状态,就跳出程序。调整数据只须改变R1中的数据即可。状态2状态3状态4状态5状态6R1HOURR1FSR1SSR1NULL状态1R1MBF图2(3)中断方式应注意的问题采用中断的方式,最好将定时器中断的优先级设置为最高级,关于程序数据的稳定性应注意两个问题一、在低优先级中断响应时,应在入栈保护数据时禁止高优先级的中断响应。二、在入栈保护有关数据后,对中断程序执行有影响的状态位、寄存器,必须恢复为复位状态的值。例如,在以下程序中,由于用到了十进制调整,所以在中断进入时,将PSW中的AC、CY位清零,否则,十进制调整出错。(4)定时准确性的讨论程序中定时器,一直处于运行状态,也就是说定时器是理想运作的,其中断程序每隔01秒执行一次,在理想状态下,定时器定时是没有系统误差的,但由于定时器中断溢出后,定时器从0开始计数,直到被重新置数,才开始正确定时,这样中断溢出到中断响应到定时器被重新置数,其间消耗的时间就造成了定时器定时的误差。如果在前述定时器不关的情况下,在中断程序的一开始就给定时器置数,此时误差最小,误差大约为每01秒,误差712个机器周期。当然这是在定时器定时刚好为01秒时的情况,由以上分析,如果数字钟设计为查询的方式或是在中断的方式下将定时器中断设置为最高级,我们在定时值设置时,可以适当的扣除9个机器周期的时间值。但如果在中断的情况下,没有将定时器中断设置为最高级,那就要视中断程序的大小,在定时值设置时,扣除相应的时间值。(5)软件消抖消抖可以采用硬件(施密特触发器)的方式,也可以采用软件的方式。在此只讨论软件方式。软件消抖有定时器定时,和利用延时子程序两种方式。一、定时器定时消抖可以不影响显示模块扫描速度,其实现方法是设置标志位,在定时器中断中将其置位,然后在程序中查询。将其中断优先级设置为低于时钟定时中断,那么它就可以完全不影响时钟定时。二、在采用延时子程序时,如果显示模块的扫描速度本来就不是很快,此时可能会影响到显示的效果,一般情况下,每秒的扫描次数不应小于50次,否则,数码的显示会出现闪烁的情况。因此,延时子程序的延时时间应该小于20毫秒,如果采用定时器定时的方式,延时时间不影响时钟。如果,设计时采用的是中断的方式来完成有关操作,同样可以采用软件的方式来消抖,其处理思想是中断不能连续执行,两次之间有一定的时间间隔。以下是三种消抖方法的程序流程图子程序延时延时键按下键按下处理程序结束YNN采用定时器延时中断入口定时器中断关延时N开定时器中断执行操作键按下,开定时器中断查询方式消抖图3中断入口关本中断执行操作出口置位标志位BZ查询标志位BZBZ为1延时N时间开中断,清BZYN流程图1为中断程序,流程图2程序段置于时钟中断程序中。利用此定时器的定时可以延时设置为03秒,甚至更长,而不影响计数。21采用中断的方式,软件消抖设计图4四、基于以上,设计如下数字钟(1)数字钟的操作如下按键KEY0状态1KEY01,数字钟正常时钟显示状态。状态2KEY02,调整数字钟的分数据。状态3KEY03,调整数字钟的时数据。状态4KEY04,数字钟的定时设置分值。状态5KEY05,数字钟的定时设置时值。状态6KEY06,秒表进入状态。说明状态N表示KEY0键按下N次。在进行调整或设置状态时,显示对应状态的数据并且对应的各调整位数码管的DP点亮。这样可以使调整更加可视化。按键KEY1完成加一操作,和秒表的清零操作。在进入了时间调整状态或定时设置状态时,按此键可以加一,或在秒表启动后处于停止状态时,按此键可以完成清零操作。按键KEY3秒表启动和停止键,此键必须在秒表状态进入了之后才有效。即是KEY06时有效。定时时间到或整点时,时钟输出报时脉冲。(2)流程图在以下流程图中只描述了基本的功能,如给显示位加点,中断程序状态调整,加一操作,显示状态的切换,在流程图中都没有描述。但其设计就是基于以上介绍的显示指针,和状态指针的思想。在程序中用R0,R1充当此指针。程序设计的基本流程图如下开始各缓冲区初始化对定时器,中断设置开始计数显示缓冲单元首址送R0,扫描初值送R2取显示单元值,转为段显码送段数据口扫描值送位数据口P1延时一小段时间显示单元地址加一扫描值右移一位显示状态是否切换查询让调整位的DP点亮时钟数据显示区定时设置数据显示单元秒表数据单元分调整在显示的低位断码上加80H,即点亮DP。YN查询下一个调整位点亮DP的处理程序取断码送到显示缓冲区单元6位显示完YN三个要显示的状态图5报时模块标志位为1秒表计数单元分值清零时值加一时值等于24时值清零Y时值比较BS1Y标志位为中断入口定时模块定时器置初值时间计数单元加一计数值等于10计数值单元清零秒值加一秒值等于60秒值清零分值加一分值等于60YYYNY分,时设定值等于时钟值标志位BS置1,输出报时脉冲Y分值比较定时器置初值结束以定时器定时频率为报时频率输出,做法是在每个定时中断时,取反一个输出引脚图6五、结束语本设计在刘训非老师的悉心指导和严格要求下完成,从课题选择、方案论证到具体设计和调试,无不凝聚着刘老师的心血和汗水,在三年的大专学习和生活期间,也始终感受着导师的精心指导和无私的关怀,我受益匪浅。在此向刘老师表示深深的感谢和崇高的敬意。不积跬步何以至千里,本设计能够顺利的完成,也归功于各位任课老师的认真负责,使我能够很好的掌握和运用专业知识,并在设计中得以体现。正是有了他们的悉心帮助和支持,才使我的毕业论文工作顺利完成,在此向苏州工业职业技术学院,电子工程系的全体老师表示由衷的谢意。感谢他们三年来的辛勤栽培六、致谢踉踉跄跄地忙碌了三个月,我的毕业设计课题也终将告一段落。但由于能力和时间的关系,总是觉得有很多不尽人意的地方。这也让我了解到做一件事情,不必过于在乎最终的结果,可贵的是过程中的收获。不过在此非常感谢刘训非老师对我的论文不厌其烦的进行细心指点。刘老师首先细致地为我解题;当我迷茫于众多的资料,不知该如何下手时,刘老师又为我提纲挈领,梳理脉络,使我确立了本文的框架。论文写作中,每周都得到刘老师的指点。从框架的完善,到内容的扩充;从行文的用语,到格式的规范,刘老师都严格要求,力求完美。我再次为刘老师的付出表示忠心的感谢七、主要参考文献刊物名、按作者、出版社列出1单片机原理及应用李建忠编著西安电子科技大学出版2002年2月2单片机中级教程张俊谟编著北京航空航天大学出版2000年1月3单片机原理与应用技术江力编著清华大学出版社4、8051单片机课程设计实训教材陈明荧编著清华大学出版社5、单片机原理及接口技术余锡存、曹国华编著西安电子科技大学出版社6、MCS51单片机应用设计张毅刚、修林成、胡振江编著哈尔滨工业大学出版社7、WWWHUSTSNDECOM/HUST/COURSE/SHUZI/SZLJJY712HTM8、HTTP/WWWEEBYTECOM附录(数字钟控制程序)NAMEZFPORTEQU0CFA0HHOUREQU26H;设置数据缓冲区BUFEQU23HSBFEQU22HMBFEQU21HSAEQU27HFAEQU28HHHEQU29HMB0EQU2AHMB1EQU2BHMB2EQU2CHMM0EQU2DHCSEGAT0000HLJMPSTART;中断初始化CSEGAT0003HLJMPKEY0CSEGAT0013HLJMPKEY1CSEGAT401BHLJMPCLOCKCSEGAT4100HSTARTMOVR0,40H;数据缓冲区初始化MOVR6,00HMOVA,00HMOVR0,AINCR0MOVR0,AINCR0MOVR0,AINCR0MOVR0,AINCR0MOVR0,AINCR0MOVR0,AMOVSP,30HMOVTMOD,10HMOVTH1,38HMOVTL1,00HMOVBUF,00HMOVSBF,00HMOVMBF,00HMOVHOUR,00HMOVSA,00HMOVFA,00HMOVHH,00HMOVMB0,00HMOVMB1,00HMOVMB2,00HMOVMM0,00HSETBET1SETBEX1SETBPT1SETBEASETBP35CLRP30MOVTCON,45HMOVR5,01HDS1MOVR0,40H;扫描显示MOVR2,20HDS2MOVDPTR,PORTMOVA,R0ACALLTABLECJNER5,02,L3SJMPL2L3CJNER5,04H,L1;让调整位的DP点亮L2CJNER0,42H,L0ADDA,80HSJMPL0L1CJNER5,03H,L4SJMPL5L4CJNER5,05H,L0L5CJNER0,44H,L0ADDA,80HL0MOVXDPTR,AMOVA,R2CPLAMOVP1,AMOVR3,07FHDELNOPDJNZR3,DELINCR0CLRCMOVA,R2RRCAMOVR2,AS2CJNER5,06H,S3;切换到显示秒表计数SETBEX0SJMPMIAOBIAOS3CJNER5,04H,S1;切换到定时设置状态的显示SJMPDINGSHIS1CJNER5,05H,S0SJMPDINGSHIS0JNZDS2MOVR0,40H;取缓冲区到显示缓冲区MOVA,SBFACALLGETMOVA,MBFACALLGETMOVA,HOURACALLGETSJMPDS1MIAOBIAOJNZDS2;秒表显示MOVR0,40HMOVA,MB0ACALLGETMOVA,MB1ACALLGETMOVA,MB2ACALLGETAJMPDS1DINGSHIJNZDS2;定时设置显示MOVR0,40HMOVA,HHACALLGETMOVA,FAACALLGETMOVA,SAACALLGETAJMPDS1TABLEINCA;查表取段码MOVCA,APCRETDB3FHDB06HDB5BHDB4FHDB66HDB6DHDB7DHDB07HDB7FHDB6FHDB40HGET;将一个两位十进制数放入两个数码管对应的两个缓冲区MOVR4,AANLA,0FHMOVR0,AINCR0MOVA,R4SWAPAANLA,0FHMOVR0,AINCR0RETCLOCK;定时器中断服务程序JNBP30,D4;产生定时输出脉冲CPLP34D4MOVTL1,0AFHMOVTH1,3CHPUSHPSWPUSHACCJNBP35,C0;秒表计数模块INCMB0MOVA,MB0CJNEA,0AH,C0MOVMB0,00HMOVA,MB1INCADAAMOVMB1,ACJNEA,60H,C0MOVMB1,00HMOVA,MB2INCADAAMOVMB2,ACJNEA,60H,C0MOVMB2,00HC0JNB78H,Z1;时钟计数程序INCR6CJNER6,05H,Z1MOVR6,00HCLR78HSETBEX0Z1JNB79H,Z2;去抖延时程序INCR6CJNER6,0FH,Z2MOVR6,00HCLR79HSETBEX1Z2INCBUFMOVA,BUFCJNEA,0AH,QUITMOVBUF,00HMOVA,SBFINCADAAMOVSB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-江苏-江苏垃圾清扫与处理工五级(初级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-广西-广西水工监测工一级(高级技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西房管员三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西园林绿化工三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西保安员四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东计量检定工一级(高级技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-广东-广东水文勘测工二级(技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-安徽-安徽土建施工人员四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-北京-北京铸造工五级(初级工)历年参考题库典型考点含答案解析
- 热风炉安全知识培训内容课件
- 医院保洁服务投标方案(技术方案)
- 中科曙光线上测评题答案
- 北师大版四年级下册数学计算题400道及答案
- 兰花主要病害的识别及防治
- 新能源汽车充电桩招商引资方案
- 600MW机组一次风机油系统
- 600度温度累计表
- 高一年级英语阅读理解专项练习带答案(50篇)
- 《民俗学概论》讲义中国海洋大学
- office办公软件培训课件
- 住院病案首页(2013年版)
评论
0/150
提交评论