接口与通信课程设计解析_第1页
接口与通信课程设计解析_第2页
接口与通信课程设计解析_第3页
接口与通信课程设计解析_第4页
接口与通信课程设计解析_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、接口与通信电子钟4080522错误!未找学号:到引用源。姓名:龚敏错误!未找到引 用源。提交日期:2010-12-9 错误!未找到引用源。成 绩:东北大学秦皇岛分校第一章设计部分1.1 设计目的1、熟练掌握TND86/88教学系统的基本操作和调试程序的各种指令。2、熟悉编程及调试程序的方法。3、掌握8259中断控制器的工作原理和应用编程方法,练习编写中断程序的 方法。4、掌握8255的各种工作方式及其应用编程。5、掌握8253定时/计数器的工作原理、工作方式及其应用编程。6、练习LED-KEYBOARD UNIT的使用方法和数码管的显示编程方法。1.2 设计要求1、用微机原理实验箱提供的数码管

2、和按键做。2、电子时钟具有二十四小时循环记时功能,走时要准。要有时钟对时功能 并方便操作1.3 设计思路电子时钟主要由显示模块、对时模块和时钟运算模块三大部分组成。其 中对时模块和时钟运算模块要对时、分、秒的数值进行操作,并且秒计算到 60时,要自己清零并向分进1;分计算到60时,要自己清零并向时进1;时 计算到24时,要清零。这样,才能循环记时。第二章实现部分2.1分析论证1、显示模块 利用数码管的显示功能来设计。数码管是由八个条形发光二极管组成的,这 些发光二极管的阴极是互相连接在一起的,所以称为共阴极数码管。通过在 这八个发光二极管的阳极加+5 V或0 V的电压使不同的二极管发光,形成不

3、 同的字符和数字。电子时钟用到的是0到9十个数字,他们所对应的字符表 依次是 3FH、06H、5BH、4FH、66H、6DH、7DH、07H、7FH、6FH。该模 块主要是将时钟运算模块和对时模块运算出来并存放在内存单元里的十六 进制表示的时位和分位数据转化为十进制,并通过四个数码管显示出来。该 模块实现的硬件是TND86/88的LED-KEYBOARD UNIT。2、时钟运算模块该模块的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先 已经开辟的内存单元里,以便显示模块即时地显示出来。该模块可以细分为 秒定时模块和运算模块。秒定时模块负责提供中断信号,由于CPU运算模块中的指令消耗

4、一定的时间,所以中断信号最好通过硬件来实现,可以选择 TND86/88实验箱中的8253定时/计数器来提供,但又因为8253所能提供的 信号的周期时毫秒级的,因此必须通过软件的方法在运算模块中设置一个统 计中断次数的变量,并且这一变量必须事先在内存里开辟存储单元。中断信 号是8253的通道2工作方式为方式3时,产生一个40ms的脉冲信号。运算 模块负责时、分、秒的计算,该模块主要通过 8259的IRQ7号中断来实现, 首先将秒定时模块提供的中断信号为8259的IRQ7中断请求信号。但由于每 40ms一次中断请求。所以在中断服务程序必须利用已申请内存单元 count来 统计中断请求的次数,只有当

5、count的值为25时,才能让秒单元内的数值加 1。另外,在中断服务程序里,必须对秒、分和时的单元内的数值进行判断, 当秒加到60时,分必须加1、秒清零;当分加到60时,时加1、分清零。 当时加到24啊,直接清零。3、对时模块该模块主要功能是修改时、分内存单元的数值。在对时的时候,秒应停止不 变,并且在对分进行调整的时,时单元内的数值不变。由以上分析可见,对 时、分的调整用两个优先级高于IRQ7的中断来完成。因此,可以用8259的 IRQ2中断来实现,两个中断源的中断请求信号只需直接接在两个按键即可 起到对时作用。2.2设计电路图电子时钟的完整电路图如下:? Z 3p frp2.3原理说明电子

6、时钟主要由8259A中断控制器、8253定时/计数器、8255A接口芯 片、LED数码显示管和两个按键组成。主要用8259A的IRQ7的中断服务程 序完成秒、分、时的运算即计时功能,IRQ6的中断服务程序完成调时、调 分功能。8253用来产生50ms的脉冲信号作为IRQ7的中断请求信号。按键KK1+和KK2+分别作为IRQ2和IRQ6的中断请求信号。按键KK1+启动/关闭对时功能。它决定是否屏蔽IRQ7和IRQ6中断源。8255A负责将内存里 的时位和分位值输出到数码管2.4元件功能说明8259A的主要功能:(1)每片8259A可管理8级优先级中断源,通过开关,最多可管理 64级优 先权的中断

7、源。(2)对任何一个级别的中断源都可单独进行屏蔽,使该级中断请求暂时被 挂起,直到取消屏蔽时为止。(3)能向CPU提供可编程的标识码。(4)具有多种中断优先权管理方式。有完全嵌套方式、自动循环方式、特 殊循环方式、特殊屏蔽方式和查询方式五种。这些管理方式均可通过程序动 态地进行变化。在本设计中用到了这四种功能,电子时钟的灵活调时功能就 是通过对级别的屏蔽或开启来实现的。8255A的主要功能:可编程外设接口芯片可由程序改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,其负责 CPU和外设之间的数据传送。8253的主要功能:可编程定时器/计数器,其定时与计数功能可由程序灵活

8、地设定,设定后与CPU并行工作,不占用 秒的中断请求信号CPU的时间。通道2工作在3方式下,提供计算2.5程序框图中断服务 程 序IRQ2中断服务 程 序LirqgIRQ2中断OFF=OFF+YesOFF=3 ?NoYesOFF=1 ?NoOFF=2 ?NoYes.OFF=0 屏蔽IRQ6中断,开IRQ2和IRQ7中断OFF=0 屏蔽IRQ7中断, 开IRQ2和IRQ6中断NoIRQ6中断丄、OFF=1 ?YesM=M+11IYesM=0NoNoOFF=2YesH=H+1NoH=24 ?YesH=0IRETIRET2.6 调试结果分析将编写好的源程序输入,编译后出现很多错误,经过反复修改直到程

9、序 运行通过。将生成的可执行程序装入 TND86/88的内存里,在监控状态下运 行程序,可是数码管显示的数字并不与理论计算值相符合,并且显示的数字 不停地闪动,经过反复分析源程序发现问题出现在内存单元里时位和分位在 转化为十进制时,存储转化的结果的地址空间的顺序弄混了。数字闪动的原 因应该出在显示子程序里,经过分析问题出在显示子程序里缺少延时程序。 编写延时子程序,并在显示子程序调用它;编译源程序,装入生成的可执行 文件,并运行。数码管显示的数字与理论值相符合,并能正常计时,但当按 动KK1+键时,却不能启动对时功能,按动 KK2+时,也不能调时、调分。问题很可能出在两键控制的中断源上,检查源

10、程序也找不出错误,当把IRQ5 换成IRQ2后,在进行调试,结果成功。2.7程序清单MOV SI,0038HMOV SI,AXMOV AX,0000HMOV SI,003AHADD AX,2000HSTACK SEGMENT STACKDW 64 DUPSTACK ENDSDATA SEGMENTHDW 000CHMDW 0000HS DW 0000HCOUNTDW 0000HOFFDW 0000HTABLE DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOV AX

11、,DATAMOV DS,AXPUSH DSMOV AL,81HOUT 63H,ALMOV AX,0000HMOV DS,AXMOV AX,OFFSETIRQ2ADD AX,2000HMOV SI,0028HMOV SI,AXMOV AX,0000HMOV SI,002AHMOV SI,AXMOV AX,OFFSETIRQ6MOV SI,AXMOV AX,OFFSET IRQ7ADD AX,2000H MOV SI,003CH MOV SI,AX MOV AX,0000HMOV SI,003EHMOV SI,AX MOV AL,0B6H OUT 43H,AL MOV AL,68H OUT 42H

12、,AL MOV AL,0BAH OUT 42H,AL POP DSMOV AL,7BH OUT 21H,AL BEGIN:CALL DISSTIJMP BEGIN IRQ7:INC COUNTCMP COUNT,25 JNZ RETURN MOV AX,0MOV COUNT,AX MOV AX,S INC AXMOV S,AX CMP AX,003CH JNZ RETURN MOV AX,0MOV S,AXOUT 20H,ALMOV BX,M INC BXIRETMOV M,BXIRQ2:INC OFFCMP BX,003CHMOV BX,OFFJNZ RETURNCMP BX,0003HMO

13、V BX,0JZR1MOV M ,BXCMP BX,0001HMOV DX,HJZR2INC DXCMP BX,0002HMOV H,DXJZR2CMP DX,0018HR1:MOV BX,0000HJNZ RETURNMOV OFF,BXMOV DX,0MOV AL,7BHMOV H,DXOUT 21H,ALRETURN:MOV AL,20HMOV AL,7BHOUT 20H,ALOUT 21H,ALIRETMOV AL,20HR2:OUT 20H,ALMOV AL,0BBHIRETOUT 21H,ALIRQ6:MOV AX,OFFMOV AL,20HCMP AX,0001HOUT 20H,

14、ALJNZ HRMOV BX,MIRETINC BXDIS:PUSH AXMOV M,BXMOV SI,3000HCMP BX,003CHMOV AX,MJNZ R0MOV BL,10MOV BX,0DIV BLMOV M ,BXMOV SI,AHJMP R0MOV SI+1,ALHR:CMP AX,0002HMOV AX,HJNZ R0MOV BL,10MOV BX,HDIV BLINC BXMOV SI+2,AHMOV H,BXMOV SI+3,ALCMP BX,0018HMOV DL,0F7HJNZ R0MOV AL,DLMOV BX,0AGAIN: OUT 60H,ALMOV H ,B

15、XMOV AL,SIR0:MOV AL,0BBHMOV BX,OFFSET TABLEOUT 21H,ALAND AX,00FFHMOV AL,20HADD BX,AXMOV AL,BXRETOUT 61H,ALDALLY:PUSH CXCALL DALLYMOV CX,000FHINC SIT1:MOV AX,0020HMOV AL,DLT2:DEC AXTEST AL,01HJNZ T2JZ OUTLOOP T1ROR AL,1POP CXMOV DL,ALRETJMP AGAINCODE ENDSOUT:POP AXEND START第三章 电子时钟使用说明本电子时钟可以24小时循环计时,并且具有调时功能,操作方法如下: 开机运行后,即显示初始时间12: 00整。按动一下KK1+按键即可启动调分,此 时每按动一下KK2+按键分位数字加1,完成对分的调整;再按动一下KK1+按键 启动调分,此时每按动一下KK2+按键时位加1,完成对时的调整。再按一下KK1 + 按键即关闭功能,正常计时。第四章心得体会短短的一周半就这么过去了,通过这次短暂的课程设计,不仅使我加深了对接 口程序设计的认识,对接口各部件的工作原理也有了进一步的了解,也增强了分析 故障的能力上课的时候对什么8255A,8259A勺工作方式就一知半解,通

温馨提示

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

最新文档

评论

0/150

提交评论