版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理及应用课程设计说明书设计题目:数字式钟表的设计学 院 自动化与信息工程学院 专 业 电气工程及其自动化 班 级 电气111 姓 名 王盟光 学 号 3110421002 指导教师 李好文 副教授 同组同学 欧阳可 姚晓迪 李勇超 张玺 朱茂举 周元立 2013 年 秋 季 学期起止时间:2013 年12月21日至2013年12月30日课程设计任务:数字式钟表的设计一、设计目的通过数字频率计的设计,使同学们进一步掌握:(1) 汇编语言程序的设计和调试;(2) 信号频率的数字测量方法;(3) 定时计数器8253的基本工作原理和应用;(4) 微机基本应用系统的设计方法;二、设计内容 利用微机
2、原理实验装置,设计并实现一个信号频率测试系统,要求频率测量范围不小于5Hz50kHz,测量误差不大于1Hz,并将测得的频率显示在LED数码显示器上。三、设计要求(1) 针对实验装置已有条件,设计频率测量原理线路;(2) 编制相应的测试软件,实现频率测量;(3) 实际上机调试,完成综合试验;(4) 编写设计说明书(含原理图,程序及说明,实验方法,过程及结果)。评分:学习态度(占10)基础知识掌握情况(占10)课设完成情况(占30)课设创新(占10)答辩(占10)设计报告(占20)考勤(占10)总评成绩:指导教师:目 录一、系统功能要求分析1二、方案设计及其说明1三、原理线路设计21 原理线路2
3、工作原理说明3 操作时序分析4 特点说明四、程序设计51 程序结构及流程2 程序算法分析3 关键程序段说明4 源程序清单五、系统调试及结论181 调试方法2 重点问题及解决方法3 运行结果及结论六、设计体会19参考文献201 系统要求功能分析 本设计利用试验箱提供的8086,8253,8259及8279芯片,利用8位数码管显示完成对时间的显示,显示格式为HH:MM:SS,利用试验箱提供的矩阵键盘,实现对时间的调整设定以及其他附加功能。 二.方案设计及其说明 首先利用8253计数/定时器作为中断发生信号,利用8253计数器0与计数器1级联,采用方式0,在一秒计数结束后在OUT1口产生中断信号。然
4、后利用8259可编程中断控制器,将8253 OUT1口输出的信号接到8259的时钟中断信号IR0口,让其产生中断,在中断子程序中,对设计的变量s,m,h进行相应处理,在一秒钟一次的中断,s,m,h便可实现时钟的时分秒形式变化。然后利用8279可编程设置型键盘/显示器作为数码管与键盘的输入输出控制器,将s,m,h信号相应的有8位数码管显示出来,最终显示格式为HH-MM-SS。调时环节中,利用矩阵键盘产生的信号有8279送cpu判断,完成相应的处理,先进入调时状态,然后有键盘给出的不同信号所代表的不同数值完成对相应位的时间调整。3 原理电路设计 1.原理线路2. 工作原理说明(1)定时计数 825
5、3: 8253是可编程定时/计数器,有三个独立的十六位计数器。本设计采用计数器0与计数器1级联,初值均送1000,则定时时间=1000*1000*(1/1000000)=1s,然后采用方式0(计数结束产生中断),将OUT1输出的中断信号送给8259 IR0口,让其向CPU申请中断。(2) 中断管理部分 8259: 8259A是可编程中断控制器,本设计中8259A用于产生中断信号,向CPU申请中断,然后去修改秒,时,分的变化。本设计中只需要IR0产生中断,其他位屏蔽,中断矢量写入ICW4,其地址为20H。(3) 键盘显示控制 8279: 8279是一种通用的可编程的键盘、显示接口器件,本次采用矩
6、阵键盘扫描,然后用8位数码管显示,本设计键盘扫描程序和显示程序已设置为库函数程序,键值存于AL中。实验中只需将E5区和G5区A,B,C,D对应相连即可。3. 操作时序分析 上电后时间自动复位为23-58-00,需要调时,按下A1,时间复位,按下A2,时加一,按下A3,分加一4. 特点说明 本设计特点在于调时时,可以使相应位一步到位跳到要跳的时间,相比其他相应位加减调时更加快速,但是却增加了按键数量。4 程序设计1.程序结构及流程 开始 (1)主程序8253,8259初始化写中断矢量请显示缓冲区 清时、分、秒及中断计数单元开中断 显示 结束(2)中断服务子程序 开始保护现场AX,BX压入堆栈 C
7、ounters+Counters+=60? 否 是Counterm+Counters清零 Counterm+=60?? 否 Counterh+Counterm清零 是Counterh+=24? 否 是Counterh清零 显示恢复现场AX,DX出栈 返回 开始(3)调时K1,K2,K3按下? 消除抖动K1按下? 否K2按下? 复位 是 否K3按下? 是 否 分+ 时+ 是 结束2. 程序算法分析 本设计利用中断子程序中实现时间进制显示,中断次数作为基本单位秒,到60秒清零使分加一,分到60清零,时加一,时到24清零,如此循环,便可实现始终显示。若有调时键按下,则进入调时程序,K1复位,K2时加
8、一,K3分加一。 3.关键程序段说明TimeToBuffer 将时分秒十六进制转化成十进制BCD的可显示形式 Display_LED 数码管显示程序 Timer0Int: 中断服务程序 Init8253 8253初始化 Init8259 8259初始化 WriIntver 写中断矢量 4.源程序清单 .MODELTINYEXTRNDisplay8:NEAR, GetKeyA:NEAR, GetKeyB:NEARIO8259_0EQU0F000HIO8259_1EQU0F001HCOM_ADDR EQU 0E003HT0_ADDR EQU 0E000HT1_ADDR EQU 0E001H.STA
9、CK 200.DATAcounters1DB0countersDB0countermDB0counterhDB0bufferDB8 DUP(0)buffer1DB8 DUP(0)bNeedDisplayDB0numberDB0bFlashDB0.CODESTART: MOV AX,DATA MOV DS,AX MOVES,AX NOP movcounters ,0 movcounterm,59 movcounterh,23MOVbNeedDisplay,1CALLInit8253CALLInit8259CALLWriIntverSTIstart1:CALLGetKeyAJNBstart2CMP
10、AL,0FHJNZstart2CALLSetTimestart2:CMPbNeedDisplay,0JZstart1CALLDisplay_LEDMOVbNeedDisplay,0start3:JMPstart1SetTimePROCNEARLEASI,buffer1CALLTimeToBufferMOVnumber,0Key:CMPbFlash,0JZKey2LEASI,buffer1LEADI,bufferMOVCX,8REPMOVSBCMPcounters1,0JNZFLASHMOVBL,numberNOTBLANDBX,07HLEASI,bufferMOVBYTE PTR SI+BX,
11、10HFLASH:LEASI,bufferCALLDisplay8MOVbFlash,0Key2:CALLGetKeyAJNBKeyCMPAL,0EHJNZKey1JMPExitKey1:CMPAL,0FHJZSetTime8SetTime1:CMPAL,10JNBKeyCMPnumber,0JNZSetTime2CMPAL,3JNBKeyMOVbuffer1 + 7,ALJMPSetTime7SetTime2:CMPnumber,1JNZSetTime3CMPbuffer1 + 7,1JZSetTime2_1CMPAL,4JNBKeySetTime2_1:MOVbuffer1 + 6,ALI
12、NCnumberJMPSetTime7SetTime3:CMPnumber,3JNZSetTime4CMPAL,6JNBKeyMOVbuffer1 + 4,ALJMPSetTime7SetTime4:CMPnumber,4JNZSetTime5MOVbuffer1 + 3,ALINCnumberJMPSetTime7SetTime5:CMPnumber,6JNZSetTime6CMPAL,6JBSetTime5_1JMPKeySetTime5_1:MOVbuffer1 + 1,ALJMPSetTime7SetTime6:MOVbuffer1,ALSetTime7:INCnumberCMPnum
13、ber,8JNBSetTime8MOVbFlash,1JMPKeySetTime8:MOVAL,buffer1 + 1MOVBL,10MULBLADDAL,buffer1MOVcounters,ALMOVAL,buffer1 + 4MULBLADDAL,buffer1 + 3MOVcounterm,ALMOVAL,buffer1 + 7MULBLADDAL,buffer1 + 6MOVcounterh,ALJMPExitExit:RETSetTimeENDP;hour min sec转化成可显示格式TimeToBufferPROCNEARMOVAL,countersXORAH,AHMOVBL,
14、10DIVBLMOVSI,AHMOVSI + 1,ALMOVBYTE PTR SI + 2,11HMOVAL,countermXORAH,AHDIVBLMOVSI + 3,AHbMOVSI + 4,ALMOVBYTE PTR SI + 5,11HMOVAL,counterhXORAH,AHDIVBLMOVSI + 6,AHMOVSI + 7,ALRETTimeToBufferENDP;显示时分秒Display_LEDPROCNEARLEASI,bufferCALLTimeToBufferLEASI,bufferCALLDisplay8RETDisplay_LEDENDP;0.5s产生一次中断T
15、imer0Int:PUSHAXPUSHDXMOVbFlash,1INCcounters1CMPcounters1,2JNZTimer0Int1MOVbNeedDisplay,1MOVcounters1,0INCcountersCMPcounters,60JNZTimer0Int1MOVcounters,0INCcountermCMPcounterm,60JNZTimer0Int1MOVcounterm,0INCcounterhCMPcounterh,24JNZTimer0Int1MOVcounterh,0Timer0Int1:MOVDX,IO8259_0MOVAL,20HOUTDX,ALPOP
16、DXPOPAXIRETInit8253 PROC NEAR MOV DX,COM_ADDR MOV AL,00110101B OUT DX,AL MOV DX,T0_ADDR MOV AL,00H OUT DX,AL MOV AL,10H OUT DX,AL MOV DX,COM_ADDR MOV AL,77H OUT DX,AL MOV DX,T1_ADDR MOV AL,00H OUT DX,AL MOV AL,10H OUT DX,ALInit8253 ENDPInit8259PROCNEARMOVDX,IO8259_0MOVAL,13HOUTDX,ALMOVDX,IO8259_1MOV
17、AL,08HOUTDX,ALMOVAL,09HOUTDX,ALMOVAL,0FEHOUTDX,ALRETInit8259ENDPWriIntverPROCNEARPUSHESMOVAX,0MOVES,AXMOVDI,20HLEAAX,Timer0IntSTOSWMOVAX,CSSTOSWPOPESRETWriIntverENDPENDSTART5、 系统调试及结论 1. 调试方法 分模块调试。先让8253产生1HZ方波,用逻辑灯测试至成功。然后用拨码开关输出中断信号送入入中断控制器8259,看中断能否产生,记录中断次数送数码管显示,能显示,则中断申请运行正常,且数码管显示正常,然后将8253输
18、出的1HZ脉冲信号代替拨码开关信号送入8259,看中断次数统计是否正常,至正常后,除按键外,硬件调试完成。然后修改中断服务子程序,调整中断次数为时,分,秒数据,送数码管显示,至此时钟显示调试完成。然后加入按键控制,由键值判断依次做时分秒的调整,至达到自己想要的结果。 2. 重点问题及解决方法 (1)程序中使用短跳转JB,JNB跳转距离过大至产生错误,可将其做以下修改即可,加长跳转CMP JB LL *改为JB LL1 JMP LL2 LL1:JMP LL LL2:* (2)时间显示为十六进制形式 中断次数计数显示为十六进制,须将其用DAA做BCD调整,分离开高地 位,然后送数码管显示。 3. 运行结果及结论结果:时间显示正常且可以实现调时功能,显示格式HH:MM:SS。结论:该程序可以实现时间的显示和调整,实验成功。6、 设计体会 两周的课程设计结束了,在这次微机原理课程设计中,我不仅对自己所学的相关知识有了进一步巩固,同时,也提高了自己的动手实践能力,还有团队
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年全国统考教师资格考试《教育教学知识与能力(小学)》真题及参考答案详解(精练)
- 2024-2025学年度计算机四级试卷及完整答案详解(典优)
- 2024-2025学年公务员(国考)高频难、易错点题及参考答案详解(典型题)
- 2024-2025学年刑法期末考试测试卷含完整答案详解(历年真题)
- 2024-2025学年度计算机四级模拟试题带答案详解
- 2024-2025学年度监理工程师高频难、易错点题附答案详解(培优B卷)
- 2024-2025学年度执法资格经典例题附参考答案详解(达标题)
- 2024-2025学年度施工员自我提分评估及参考答案详解(综合卷)
- 2024-2025学年度环境影响评价工程师之环境影响评价相关法律法规考前冲刺练习题(夺分金卷)附答案详解
- 2024-2025学年度惠州工程职业学院单招数学高分题库【满分必刷】附答案详解
- 浙江瑞森智能包装材料有限公司年产5万吨食品级可降解无菌包装材料生产线项目环评报告
- 2025年教科版新教材科学三年级上册教学计划(含进度表)
- 2025年初级会计考试资产试题及答案
- 药物研发全流程解析
- 妊娠期糖尿病病例讨论
- PC构件吊装工程监理细则
- 2025-2030中国酒店暖通空调系统行业发展状况与前景动态预测报告
- 星巴克培训课件
- 申报硕士点汇报
- 2025-2030年中国硫酸头孢喹肟注射液行业市场现状供需分析及投资评估规划分析研究报告
- 大一日语考试试卷及答案
评论
0/150
提交评论