




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理与接口技术课程设计设计题目:电子时钟的设计与实现小组组长: 所在院系: 所学专业: 导师姓名: 完成时间: 小组成员: 目录第一章 设计部分21.1 设计目的21.2、设计要求21.3、设计思路2第二章 实现部分32.1、分析论证32.1.1、显示模块32.1.2、时钟运算模块32.1.3、对时模块32.2、原理说明32.3、设计电路图42.4、元件功能说明52.4.1、8259A的主要功能:52.4.2、8255A的主要功能:52.4.3、8253的主要功能:52.5、程序框图52.6、程序清单72.7、调试过程遇到问题及解决方法10第三章 电子时钟使用说明10参考文献:10第一章 设计部分1.1 设计目的熟练掌握TND86/88教学系统的基本操作和调试程序的各种指令。熟悉编程及调试程序的方法。掌握8259中断控制器的工作原理和应用编程方法,练习编写中断程序的方法。掌握8255的各种工作方式及其应用编程。掌握8253定时/计数器的工作原理、工作方式及其应用编程。练习LED-KEYBOARD UNIT的使用方法和数码管的显示编程方法。1.2、设计要求设计一个电子时钟,使其具有二十四小时循环记时功能,走时要准。并且有时钟的对时功能。1.3、设计思路电子时钟主要由显示模块、对时模块和时钟运算模块三大部分组成。其中对时模块和时钟运算模块要对时、分、秒的数值进行操作,并且秒计算到60时,要自己清零并向分进1;分计算到60时,要自己清零并向时进1;时计算到24时,要清零。这样,才能循环记时。显示时只显示时和分,不显示秒,利用实验箱上的4个数码管来显示当前时间。前两个显示小时,后两个显示分钟。时钟的运算是利用中断来实现的,利用8253的模式三输出一定频率的方波作为触发中断的条件。在中断服务程序中计算时间,并通过8255并行输出到数码管显示。第二章 实现部分2.1、分析论证2.1.1、显示模块利用数码管的显示功能来设计。数码管是由八个条形发光二极管组成的,这些发光二极管的阴极是互相连接在一起的,所以称为共阴极数码管。通过在这八个发光二极管的阳极加+5 V或0 V的电压使不同的二极管发光,形成不同的字符和数字。电子时钟用到的是0到9十个数字,他们所对应的字符表依次是3FH、06H、5BH、4FH、66H、6DH、7DH、07H、7FH、6FH。该模块显示时先将保存在数据单元的当前时间包括小时和分钟读取出来,把十六进制数字转化成十进制用四个字节分别存放小时和分钟,并把这四个数值通过8255B端口并行输出给数码管显示。该模块中用到的主要硬件是TND86/88的LED-KEYBOARD UNIT以及8255的A端口和B端口。2.1.2、时钟运算模块该模块的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟的内存单元里,以便显示模块即时地显示出来。该模块可以细分为秒定时模块和运算模块。秒定时模块负责提供中断信号,由于CPU运算模块中的指令消耗一定的时间,所以中断信号最好通过硬件来实现,选择的是TND86/88实验箱中的8253定时/计数器,但又因为8253所能提供的信号的周期时毫秒级的,因此必须通过软件的方法在运算模块中设置一个统计中断次数的变量,并且这一变量必须事先在内存里开辟存储单元。中断信号是8253的计数器2工作方式为方式3时,同过设置计数器2的初值来产生一个40ms的脉冲信号。运算模块负责时、分、秒的计算,该模块主要通过8259的IRQ7号中断来实现,首先将秒定时模块提供的中断信号为8259的IRQ7中断请求信号。但由于每40ms一次中断请求。所以在中断服务程序必须利用已申请内存单元count来统计中断请求的次数,只有当count的值为25时,才能让秒单元内的数值加1。另外,在中断服务程序里,必须对秒、分和时的单元内的数值进行判断,当秒加到60时,分必须加1 、秒清零;当分加到60时,时加1、分清零。当时加到24啊,直接清零。2.1.3、对时模块该模块主要功能是修改小时、分钟内存单元的数值。在对时的时候,秒应停止不变,并且在对分进行调整的时,时单元内的数值不变。由以上分析可见,对时、分的调整用两个优先级高于IRQ7的中断来完成。因此,可以用8259的IRQ2和IRQ6中断来实现,两个中断源的中断请求信号只需直接接在两个按键即可起到对时作用。此处我们使用的是实验箱上的KK1+和KK2+。2.2、原理说明电子时钟主要由8259A中断控制器、8253定时/计数器、8255A接口芯片、LED数码显示管和两个按键组成。主要用8259A的IRQ7的中断服务程序完成秒、分、时的运算即计时功能,IRQ6的中断服务程序完成调时、调分功能。8253用来产生40ms的脉冲信号作为IRQ7的中断请求信号。按键KK1+和KK2+分别作为IRQ2和IRQ6的中断请求信号。按键KK1+启动/关闭对时功能。它决定是否屏蔽IRQ7和IRQ6中断源。8255A负责将内存里的时位和分位值输出到数码管。2.3、设计电路图电子时钟的完整电路图如下:2.4、元件功能说明2.4.1、8259A的主要功能:(1)每片8259A可管理8级优先级中断源,通过开关,最多可管理64级优先权的中断源。(2)对任何一个级别的中断源都可单独进行屏蔽,使该级中断请求暂时被挂起,直到取消屏蔽时为止。(3)能向CPU提供可编程的标识码。(4)具有多种中断优先权管理方式。有完全嵌套方式、自动循环方式、特殊循环方式、特殊屏蔽方式和查询方式五种。这些管理方式均可通过程序动态地进行变化。在本设计中用到了这四种功能,电子时钟的灵活调时功能就是通过对级别的屏蔽或开启来实现的。即设置OCW1来设置中断屏蔽/允许位。2.4.2、8255A的主要功能:可编程外设接口芯片可由程序改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,其负责CPU和外设之间的数据传送。在本设计中主要通过8255来实现CPU向LED送数据,实现显示时间的功能。2.4.3、8253的主要功能:可编程定时器/计数器,其定时与计数功能可由程序灵活地设定,设定后与CPU并行工作,不占用CPU的时间。计数器2工作在模式3方式下,提供计算一秒的中断请求信号。OFF=1?IRETOFF=0 屏蔽IRQ6中断,开IRQ2和IRQ7中断OFF=3?中断服务程序IRQ2IRQ2中断OFF=OFF+1OFF=2?NoNoNoYesOFF=0 屏蔽IRQ7中断,开IRQ2和IRQ6中断YesYes2.5、程序框图显示模块程序图时、分转化为十进制,存到内存单元中计算时、分的各位数值在TABLE中对应编码结束开始依次在61H段输出到LED显示 YesNoNoNoNoYes中断服务程序IRQ7YesYesIRQ7中断COUNT=25?S=S+1COUNT=0S=60?M=M+1S=0M=60?H=H+1M=0H=24?H=0IRETCOUNT=COUNT+1 YesYesIRQ6中断M=M+1M=60?M=0IRET中断服务程序IRQ6OFF=1?NoOFF=2?H=H+1H=24?YesH=0YesNoNoNo2.6、程序清单STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSDATA SEGMENTH DW 000CHM DW 0000HS DW 0000HCOUNT DW 0000HOFF DW 0000HTABLE DB 3FH,06H,5BH,4FH,66H,6DH, 7DH,07H,7FH,6FHDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AL,81HOUT 63H,AL /设置8255的工作方式MOV AX,2300HMOV 0028,AXMOV AX,0000HMOV 002A,AX /把IRQ2的中断服务子程序的入口地址写入中断向量表MOV AX,2200HMOV 0038,AXMOV AX,0000HMOV 003A,AX /把IRQ6的中断服务子程序的地址写入中断向量表MOV AX,2100HMOV 003C,AXMOV AX,0000HMOV 003E,AX /把IRQ7的中断服务子程序的地址写入中断向量表MOV AL,0B6HOUT 43H,ALMOV AL,68HOUT 42H,ALMOV AL,0BAHOUT 42H,AL /设置8253的计数器2和工作模式3并给计数器2赋初值MOV AL,7BHOUT 21H,AL/设置8259A的2号和7号中断允许BEGIN:CALL DISSTIJMP BEGINIRQ7: PUSH AXMOV AX,COUNTINC AXMOV COUNT , AX/COUNT+POP AXCMP COUNT , 19HJNZ RETURN /COUNT25MOV AX,0000HMOV COUNT , AX /COUNT=0MOV AX , SINC AXMOV S , AX /S+CMP AX , 003CHJNZ RETURN /S60MOV AX,0000HMOV S , AX /S=0MOV BX , MINC BXMOV M , BX /M+CMP BX , 003CH JNZ RETURN /M60MOV BX,0000HMOV M ,BX /M=0MOV DX,HINC DXMOV H,DX /H+CMP DX,0018H JNZ RETURN /H24MOV DX,0000HMOV H,DX /H=0RETURN:MOV AL,7BHOUT 21H,AL/2号和7号中断允许,6号屏蔽MOV AL,20HOUT 20H,ALIRETIRQ6: MOV AX,OFFCMP AX,0001H JNZ HR /OFF!=1MOV BX,MINC BXMOV M,BX /M+=1调整分钟CMP BX,003CH JNZ R0 /不满60分钟跳出MOV BX,0000HMOV M ,BX /满60分钟清零JMP R0HR: CMP AX,0002H JNZ R0 /OFF!=2MOV BX,H INC BXMOV H,BX /H+=1调整小时CMP BX,0018H JNZ R0 /不满24小时跳出MOV BX,0000H MOV H ,BX /满24小时清零R0: MOV AL,0BBHOUT 21H,AL/8259的2号和6号中断允许,7号中断屏蔽MOV AL,20HOUT 20H,ALIRETIRQ2: PUSH AXMOV AX,OFFINC AXMOV OFF,AX /OFF+POP AXMOV BX,OFFCMP BX,0003H JZ R1 /OFF=3CMP BX,0001HJZ R2 /OFF=1CMP BX,0002HJZ R2 /OFF=2R1: MOV BX,0000HMOV OFF,BXMOV AL,7BHOUT 21H,ALMOV AL,20HOUT 20H,ALIRET/OFF清零,2号和7号中断允许,其余屏蔽R2:MOV AL,0BBHOUT 21H,ALMOV AL,20HOUT 20H,ALIRET /OFF清零,2号和6号中断允许,其余屏蔽DIS: PUSH AX MOV AX,MMOV BL,0AHDIV BLMOV 3000,AHMOV 3001,AL /读出当前的分钟数并转换成十进制后放入3000和3001单元中MOV AX,H MOV BL,0AHDIV BLMOV 3002,AHMOV 3003,AL /读出当前的小时数并转换成十进制后放入3002和3003单元中MOV DI,3000MOV DL,0F7H /选中一个数码管MOV AL,DLAGAIN: OUT 60H,AL /通过A端口选中相应数码管MOV BL,DIMOV BH,00H /读出相应数据放入BXMOV SI,OFFSET TABLEADD BX,SI /获得要显示的数据MOV AL,BXOUT 61H,AL /通过B端口送出数据CALL DALLYINC DIMOV AL,DLTEST AL,01H /判断是否选中的是最前面的数码管JZ OUTROR AL,1MOV DL,ALJMP AGAINOUT: POP AXRETDALLY: /延时子程序 PUSH CXMOV CX,000FHT1: MOV AX,0020HT2: DEC AXJNZ T2LOOP T1POP CXRETCODE ENDSEND START2.7、调试过程遇到问题及解决方法将编写好的源程序输入,编译后出现很多问题,经过反复修改程序终于运行通过。1:数码管显示的数字并不与理论计算值相符合,经过反复分析源程序发现问题出现在内存单元里时位和分位在转化为十进制时出错,经过更改内存但愿数据。一开始数字闪动,后来请教同学,原因应该出在显示子程序里,缺少延时程序。编写延时子程序,并在显示子程序调用它;编译源程序,装入生成的可执行文件,并运行。数码管显示的数字与理论值相符合
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省济宁金乡县联考2026届数学八上期末统考模拟试题含解析
- 云南省涧南彝族自治县2026届数学九年级第一学期期末检测试题含解析
- 2025【合同范本】抵押借款合同样本
- 江西省南康区2026届数学七上期末统考试题含解析
- 幼儿园科学实验活动的开展与指导
- 邮储银行双鸭山市尖山区2025秋招笔试言语理解题专练及答案
- 邮储银行周口市鹿邑县2025秋招笔试管理营销专练及答案
- 2025汽车维修技师劳动合同
- 邮储银行北京市通州区2025秋招英文结构化面试题库含答案
- 邮储银行广安市邻水县2025秋招笔试英语阅读选词题专练30题及答案
- 水泥标准培训课件
- 2025秋二年级上册语文上课课件 5 去外婆家
- 《植物组织培养》课件 项目3 无菌操作技术
- 2025届广东省广州市高三4月二模生物试题(原卷版+解析版)
- 装修装饰工程技术施工方案
- 《白银投资深度解析》课件
- 道德与法治课件《我们神圣的国土》课件(34张)
- 计算与人工智能概论(湖南大学)知到智慧树章节答案
- GB/T 44625-2024动态响应同步调相机技术要求
- 25《王戎不取道旁李》 教学设计
- 2024年咨询工程师继续教育城市轨道交通工程可行性研究报告编制方法考试答案
评论
0/150
提交评论