可预置电子时钟毕业设计_第1页
可预置电子时钟毕业设计_第2页
可预置电子时钟毕业设计_第3页
可预置电子时钟毕业设计_第4页
可预置电子时钟毕业设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业论文(设计)可预置电子时钟学生姓名指导教师合作指导教师专业名称电气自动化技术所在学院职业技术学院2013年5月大连海洋大学专科毕业论文(设计)可预置电子时钟1前言EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计,然后由计算机自动地完成逻辑编译,化简,分割,综合,优化,布局,布线和仿真,提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。电子时钟的时间过程就是一个充分利用EDA软件的过程,利用VHDL语言对硬件进行描述,充分用软件的逻辑综合与仿真的功能完成对电子时钟的设计,然后将程序的入实验箱,实现电子时钟的各种功能。单片机即单片微机。是集CPURAMROM定时等多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于工业自动化上和智能产品上,时钟,自从它被发明的那天起,就成为了人类的好朋友,但随着时间的推移,科学技术的不断发展,时钟的应用愈来愈高,怎么让时钟更好的服务人民,于是我们利用单片机功能集成高,和设计做出了可预置电子时钟。大连海洋大学专科毕业论文(设计)可预置电子时钟1目录一课程设计的目的和意义1二设计任务1三设计思想1四设计内容1五硬件连线图2六芯片介绍318255的初始化字328255的初始化字3七设计方案41系统框图42主程序模块43小键盘模块44显示模块45定时模块56流程图5八源程序7九设计总结19参考文献21大连海洋大学专科毕业论文(设计)可预置电子时钟1一、课程设计目的和意义通过本次课程设计要掌握两种芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。同时并了解综合问题的程序设计掌握实时处理程序的编制和调制方法,掌握一般的设计步骤和流程,使我们以后做设计时逻辑更加清晰。二、设计任务1电子时钟,具有十分、分、十秒和秒的计时功能,并可以在数码管上显示。2电子时钟具有启动键、停止键、复位键,而且可以随时通过键盘进行各位时间的设置。三、设计思想本系统设计的电子时钟以8088微处理器作为CPU,用8254做定时计数器产生时钟频率,8255做可编程并行接口显示时钟和键盘电路。在此系统中,8254的功能是定时计数,接入8254的CLK信号为周期性时钟信号。8254采用计数器0,工作于方式3,使8254的OUT0端输出周期性的负脉冲信号;8254还采用计数器0,工作于方式2,产生18432分频信号。8255的功能是扫描键盘并使LED灯显示,工作于方式0,使A口B口输出,C口低四位输入。四、设计内容本程序的主要设计内容是用主程序完成键盘按键的扫描,实现计时结果的数码管显示,实现秒与分之间的转换。通过判断键盘按键调用相应功能程序段以实现相应功能,即实现了启动、暂停、复位功能,以及通过键盘进行十分、分、十秒、秒时间的手动设置功能。每百分之一秒对百分之一秒寄存器的内容加1,当加到100时,秒显示位加1,这样依次对个位秒、十位秒、个位分、十位分寄存器的内容加1,四个数码管动态显示分、秒的当前值。大连海洋大学专科毕业论文(设计)可预置电子时钟2五、硬件连线图XD7XD6XD5XD4XD3XD2XD1XD0系XA3XA2XIOWXIORIOY0IOY1INTRCLK统总线51图D7PB0D6PB1D5PB2D4PB3D3PB4D2PB5D1PB6D08255PB7单元A1PA0A0PA1PA2WRPA3RDCSPC0PC1PC2PC3D7D6D5D4D3D28254D1单元D0A1A2WRRDCSOUT0CLK0ABCDE键盘F及数G码管DP显示单元X1X2X3X4Y1Y2Y3Y4大连海洋大学专科毕业论文(设计)可预置电子时钟3六、芯片介绍18254的初始化字61图本设计中的8254的初始化为MOVDX,MY8254_MODE初始化8254工作方式MOVAL,36H计数器0,方式3OUTDX,ALMOVDX,MY8254_COUNT0装入计数初值MOVAL,00H18432分频OUTDX,ALMOVAL,54HOUTDX,AL28255的初始化字62图本设计中的8255的初始化为MOVDX,MY8255_MODE初始化8255工作方式MOVAL,81H方式0,A口、B口输出,C口低4位输入OUTDX,AL大连海洋大学专科毕业论文(设计)可预置电子时钟4七、设计方案1、系统框图如下键盘读入的数显示缓冲的值秒脉冲显示模块主控模块计时模块定时模块小键盘模块四个LED小键盘8255A82548254系统框图2、主程序模块主控模块是核心模块,对8254、8255A进行初始化,设置中断向量,扫描键盘根据按键值作相应的处理,主要由软件实现。它的主要功能是调用其它模块对系统工作进行协调,它的主要功能是读小键盘输入键值并执行要做的工作,如果键值为0,则启动动态显示;如果键值为1,则暂停显示;如果键值为2,则将显示初始值0000置入显示缓冲,并调用显示模块显示。3、小键盘模块小键盘模块送入主控模块的子功能模块。由软件和硬件实现,硬件上由小键盘和8255互连,将小键值由8255送入主控模块。软件上使用行扫描法获得键值并送回主控模块。4、显示模块显示模块是将显示缓冲区的数值送到LED显示的功能模块,显示缓冲区是由四个字节构成,分别保存分钟的高位和低位,秒钟的高位和低位。硬件上由四个LED构成,软件上由扫描显示的方法实现。5、定时模块大连海洋大学专科毕业论文(设计)可预置电子时钟5定时模块由一片8254实现,选用定时器0,工作在方式3,产生10MS负脉冲,这样101001000MS,即1S,以此计时。6、流程图(1)主程序流程图NYNY71图程序初始化判断小键盘是否有键按下PC机上面是不是有键按下若按键值为0,则要转至STARTISRUNING处理程序若按键值为1,则要转至STOPKEYTAG处理程序若按键值为2,则要转至CLEARKEYTAG处理程序返回DOS结束调用子程序开始若按键值为7,则要转至时间设置处理程序大连海洋大学专科毕业论文(设计)可预置电子时钟6(2)电子时钟处理流程图NYNYNYNY72图开始SEC秒是否到10TENSEC十秒是否到6MINT个位分是否到10TENMINT十位分到6SEC秒加1SEC秒清零,TENSEC十秒加1TENSEC十秒清零,MINT个位分加1MINT个位分清零,TENMINT十位分加1TENMINT十位秒分清零调用LED动态显示程序结束大连海洋大学专科毕业论文(设计)可预置电子时钟7八、源程序根据CHECK配置信息修改下列符号值IOY0EQU0A000H片选IOY0对应的端口始地址IOY1EQU0A040HMY8255_AEQUIOY000H48255的A口地址MY8255_BEQUIOY001H48255的B口地址MY8255_CEQUIOY002H48255的C口地址MY8255_MODEEQUIOY003H48255的控制寄存器地址MY8254_COUNT0EQUIOY100H48254计数器0端口地址MY8254_COUNT1EQUIOY101H48254计数器1端口地址MY8254_COUNT2EQUIOY102H48254计数器2端口地址MY8254_MODEEQUIOY103H48254控制寄存器端口地址STACK1SEGMENTSTACKDW256DUPSTACK1ENDSDATASEGMENTDTABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H键值表,0F对应的7段数码管的段位值STATUSDB08254OUT端口状态键ISRUNINGDB0WSECDB0WMSECDB0TENMINTDB0MINTDB0TENSECDB0SECDB0DATAENDSCODESEGMENTASSUMECSCODE,DSDATASTARTMOVAX,DATAMOVDS,AXMOVSI,3000H建立缓冲区,存放要显示的键值MOVAL,00H先初始化键值为0大连海洋大学专科毕业论文(设计)可预置电子时钟8MOVSI,ALMOVSI1,ALMOVSI2,ALMOVSI3,ALMOVDX,MY8254_MODE初始化8254工作方式MOVAL,36H计数器0,方式3OUTDX,ALMOVDX,MY8254_COUNT0装入计数初值MOVAL,00H18432分频OUTDX,ALMOVAL,54HOUTDX,ALMOVDX,MY8255_MODE初始化8255工作方式MOVAL,81H方式0,A口、B口输出,C口低4位输入OUTDX,ALBEGINCALLDIS显示刷新CALLCLEAR清屏CALLCCSCAN扫描按键JZNOKEYDOWN有键按下则跳置GETKEY1JMPGETKEY1NOKEYDOWNMOVAH,1判断PC键盘是否有按键按下INT16HJZKEYSCANEND无按键则跳回继续循环,有则退出JMPQUITKEYSCANENDCMPISRUNING,1JNEBEGINTIMESTARTMOVAL,11100010B设置回读命令MOVDX,MY8254_MODEOUTDX,ALMOVDX,MY8254_COUNT0读0端口状态控制字INAL,DX大连海洋大学专科毕业论文(设计)可预置电子时钟9CMPSTATUS,1JNENOTSTATUSTESTAL,80HJZCHANGEWMSECJMPBEGINNOTSTATUSTESTAL,80HJNZCHANGEWMSECJMPBEGINCHANGEWMSECTESTAL,80HJZCHANGESTATUSMOVSTATUS,1JMPHASCHANGECHANGESTATUSMOVSTATUS,0HASCHANGEINCWMSECCMPWMSEC,0AH百分秒到10,十分秒加1JNECHANGESECMOVWMSEC,0INCWSECCMPWSEC,0AH十分秒秒到10,个位秒加1JNECHANGESECMOVWSEC,0INCSECCMPSEC,0AH个位秒秒到10,十位秒加1JNECHANGESECMOVSEC,0INCTENSECCMPTENSEC,06H十位秒到6,清零JNECHANGESECMOVTENSEC,0INCMINTCMPMINT,0AH分钟个位到10,十位加1大连海洋大学专科毕业论文(设计)可预置电子时钟10JNZCHANGESECMOVMINT,0INCTENMINTCMPTENMINT,06H十位分到6,清零JNECHANGESECMOVTENMINT,0CHANGESECMOVSI,3000H存储时间MOVAL,TENMINT十位分MOVSI,ALINCSIMOVAL,MINT个位分MOVSI,ALINCSIMOVAL,TENSEC十位秒MOVSI,ALINCSIMOVAL,SEC个位秒MOVSI,ALINCSIJMPBEGINQUITMOVAX,4C00H返回到DOSINT21HGETKEY1CALLDIS显示刷新CALLDALLYCALLDALLYCALLCCSCAN再次扫描按键JNZGETKEY2有键按下则跳置GETKEY2JMPBEGIN否则跳回开始继续循环GETKEY2MOVCH,0FEHMOVCL,00H设置当前检测的是第几列COLUM大连海洋大学专科毕业论文(设计)可预置电子时钟11MOVAL,CH选取一列,将X1X4中一个置0MOVDX,MY8255_AOUTDX,ALMOVDX,MY8255_C读Y1Y4,用于判断是哪一行按键闭合INAL,DXL1TESTAL,01H是否为第1行JNZL2不是则继续判断MOVAL,00H设置第1行第1列的对应的键值JMPKCODEL2TESTAL,02H是否为第2行JNZL3不是则继续判断MOVAL,04H设置第2行第1列的对应的键值JMPKCODEL3TESTAL,04H是否为第3行JNZL4不是则继续判断MOVAL,08H设置第3行第1列的对应的键值JMPKCODEL4TESTAL,08H是否为第4行JNZNEXT不是则继续判断MOVAL,0CH设置第4行第1列的对应的键值KCODEADDAL,CL将第1列的值加上当前列数,确定按键值CALLWHICHKEY保存按键值PUSHAXKONCALLDIS显示刷新CALLCLEAR清屏CALLCCSCAN扫描按键,判断按键是否弹起JNZKON未弹起则继续循环等待弹起POPAXNEXTINCCL当前检测的列数递增MOVAL,CHTESTAL,08H检测是否扫描到第4列JZKERR是则跳回到开始处ROLAL,1没检测到第4列则准备检测下一列大连海洋大学专科毕业论文(设计)可预置电子时钟12MOVCH,ALJMPCOLUMKERRJMPBEGINCCSCANPROCNEAR扫描是否有按键闭合子程序MOVAL,00HMOVDX,MY8255_A将4列全选通,X1X4置0OUTDX,ALMOVDX,MY8255_CINAL,DX读Y1Y4NOTALANDAL,0FH取出Y1Y4的反值RETCCSCANENDPCLEARPROCNEAR清除数码管显示子程序MOVDX,MY8255_B段位置0即可清除数码管显示MOVAL,00HOUTDX,ALRETCLEARENDPDISPROCNEAR显示键值子程序PUSHAX以缓冲区存放的键值为键值表偏移找到键值并显示MOVSI,3003HMOVDL,0F7HMOVAL,DLAGAINPUSHDXMOVDX,MY8255_AOUTDX,AL设置X1X4,选通一个数码管MOVAL,SI取出缓冲区中存放键值MOVBX,OFFSETDTABLEANDAX,00FFHADDBX,AXMOVAL,BX将键值作为偏移和键值基地址相加得到相应的键值MOVDX,MY8255_B大连海洋大学专科毕业论文(设计)可预置电子时钟13OUTDX,AL写入数码管ADPCALLDALLYDECSI取下一个键值POPDXMOVAL,DLTESTAL,01H判断是否显示完JZOUT1显示完,返回RORAL,1MOVDL,ALJMPAGAIN未显示完,跳回继续OUT1POPAXRETDISENDPWHICHKEYPROCNEAR保存键值子程序CMPAL,00HJNZJ1CALLSTARTKEYJMPKERRJ1CMPAL,01HJNZJ2CALLSTOPKEYJMPKERRJ2CMPAL,02HJNZJ3CALLCLEARKEYJMPKERRJ3CMPAL,04HJNZJ4CALLADD_TMJMPKERRJ4CMPAL,05HJNZJ5CALLADD_MJMPKERR大连海洋大学专科毕业论文(设计)可预置电子时钟14J5CMPAL,06HJNZJ6CALLADD_TSJMPKERRJ6CMPAL,07HJNZBACKCALLADD_SBACKRETWHICHKEYENDPSTARTKEYPROCMOVISRUNING,1JMPTIMESTARTRETSTARTKEYENDPSTOPKEYPROCMOVISRUNING,0JMPTIMESTARTSTOPKEYENDPCLEARKEYPROCPUSHAXMOVTENMINT,0MOVMINT,0MOVTENSEC,0MOVSEC,0MOVSI,3000HMOVAL,00HMOVSI,ALMOVSI1,ALMOVSI2,ALMOVSI3,ALPOPAXRETCLEARKEYENDPADD_TMPROCPUSHAX大连海洋大学专科毕业论文(设计)可预置电子时钟15CMPTENMINT,6JNZZ1MOVTENMINT,0Z1MOVSI,3000HMOVAL,TENMINTMOVSI,ALINCTENMINTPOPAXRETADD_TMENDPADD_MPROCPUSHAXCMPMINT,0AHJNZZ2MOVMINT,0Z2MOVSI,3000HMOVAL,MINTMOVSI1,ALINCMINTPOPAXRETADD_MENDPADD_TSPROCPUSHAXCMPTENSEC,6JNZZ3MOVTENSEC,0Z3MOVSI,3000HMOVAL,TENSECMOVSI2,ALINCTENSECPOPAXRETADD_TSENDPADD_SPROC大连海洋大学专科毕业论文(设计)可预置电子时钟16PUSHAXCMPSEC,0AHJNZZ4MOVSEC,0Z4MOVSI,3000HMOVAL,SECMOVSI3,ALINCSECPOPAXRETADD_SENDPDALLYPROCNEAR软件延时子程序PUSHCXMOVCX,00FFHD1MOVAX,00FFHD2DECAXJNZD2LOOPD1POPCXRETDALLYENDPCODEENDSENDSTART设置十位分钟加子程序SETTMADDPROCNEARADDTENMINT,1MOVAL,TENMINTMOVSI,0MOVTIMETABLESI,ALRETSETTMADDENDP设置个位分钟加子程序SETMADDPROCNEARADDMINT,1MOVAL,MINT大连海洋大学专科毕业论文(设计)可预置电子时钟17MOVSI,1MOVTIMETABLESI,ALRETSETMADDENDP设置十位秒加子程序SETTSADDPROCNEARADDTENSEC,1MOVAL,TENSECMOVSI,2MOVTIMETABLESI,ALRETSETTSADDENDP设置个位秒加子程序SETSADDPROCNEARADDSEC,1MOVAL,SECMOVSI,3MOVTIMETABLESI,ALRETSETSADDENDP设置十位分钟减子程序SETTMSUBPROCNEARSUBTENMINT,1MOVAL,TENMINTMOVSI,0MOVTIMETABLESI,ALRETSETTMSUBENDP设置个位分钟减子程序SETMSUBPROCNEARSUBMINT,1MOVAL,MINTMOVSI,1MOVTIMETABLESI,ALRET大连海洋大学专科毕业论文(设计)可预置电子时钟18SETMSUBENDP设置十位秒减子程序SETTSSUBPROCNEARSUBTENSEC,1MOVAL,TENSECMOVSI,2MOVTIMETABLESI,ALRETSETTSSUBENDP设置个位秒减子程序SETSSUBPROCNEARSUBSEC,1MOVAL,SECMOVSI,3MOVTIMETABLESI,ALRETSETSSUBENDP电子表复位子程序CLEARCLOCKPROCNEARMOVTENMINT,0MOVMINT,0MOVTENSEC,0MOVSEC,0MOVSI,0MOVTIMETABLESI,0INCSIMOVTIMETABLESI,0INCSIMOVTIMETABLESI,0INCSIMOVTIMETABLESI,0RETCLEARCLOCKENDPCODEENDSENDSTART大连海洋大学专科毕业论文(设计)可预置电子时钟19九、设计总结在课程设计过程中,我深刻地体会到微机原理与接口技术这门课程对于我们的要求不仅限于对书本知识的理解,更重要的是对书本知识的运用。这次设计涉及到很多芯片的应用,最大特点是软,硬件的结合,对动手能里的要求很大。也使我更加的体会到,在一定程度和科技水平上,硬件和软件是可以实现对等转化的。电子时钟的发展史就

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论