接口技术闹钟设计说明_第1页
接口技术闹钟设计说明_第2页
接口技术闹钟设计说明_第3页
接口技术闹钟设计说明_第4页
接口技术闹钟设计说明_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、.专业整理.微机原理与接口技术课程设计报告题目闹钟设计微机原理与接口技术课程设计报告1. 设计任务1.1设计目的掌握8255并行接口、8253定时器/计数器及8259中断控制器的工作原理及使用 方法并学习发光二极管、七段数码管的接口方法。1.2闹钟设计设计一个钟表。在数码管上显示时间。 定时时间到,屏幕显示“ get up! ”字符串 显示同时,流水灯闪烁,蜂鸣器响1秒钟。2. 设计方案2.1设计分析本设计以唐都仪实验箱为载体,结合中断控制器8259A并行接口 8255、中 断定时器8253、七段数码显示管LED及八个发光二极管的功能,用汇编语言编 程实现了闹钟设计的实验。闹钟的总体设计原理是

2、:首先利用定时芯片 8253的定时作用定时计数,每 10ms开一次中断即8253计数2E9A次调用时间显示程序,数码管加1,毫秒部分 加到99后清0向前进1秒部分到显示59S过后变为0,执行此程序后8255就会 工作,把时间在四个数码管上显示时间。当数码管显示时间与拨动开关设置的定 时时间相同时发出一个中断信号,8259中断器接到此中断信号,屏幕显示“ get up!”,流水灯闪烁,蜂鸣器响。闹钟具体做法:时间显示程序要配合延时程序进行,为了得到良好的显示效 果,延时程序要尽量接近1秒,精确的时间延迟程序,第一二块数码管显示秒位, 第三四块显示毫秒位。数码管显示一段时间 60s后再跳回到初始位

3、置00s,再显 示,由此循环下去。当数码管显示时间与定时时间相同时发出一个中断信号,8259 中断器接到此中断信号,屏幕显示“ get up !”,流水灯闪烁,蜂鸣器响一秒。设 置一个闹钟开关,用来调节闹钟有效性,当开关为1时,定时设置有效,为 0则无效,定时时间为有效时的时间设置。2.2详细设计8253定时、计数器模块8253A芯片在本实验中用了计数器 0, 工作在方式2下,8253计数次数为 10ms*1.193182MHz即2E9A工作箱的时钟频率为 1.193MHz中断每10ms有一 次,这样就可以通过控制发中断的次数来得到想要的时间。 8253的CLK0接系统 时钟OPCLK门控信号

4、GATE2接+5V。采用内部0号中断。8255并行接口模块8255A的两个端口在本次实验中均有用处, A 口为方式0用作输出,PA0PA3接X1X4 PA6或PA7接SPK定时时间到蜂鸣,输出为高位时蜂鸣器响。B口为方式0用作输出,接ADP,与七段数码管LED连接,用于向七段数码管输 出数据的,显示时间。C口低四位PC0-PC3作输入,接D0D3 拨动开关 设置定时时间,其中最高位用于控制定时有效信号,第三位用于置数。高四位 PC4PC7俞出,接S0S3显示流水灯,与4个发光二极管连接,用于向发光 二极管输出数据。八段数码管仍由8255并行接口 A 口的低4位进行位选择,低位为选中有效 信号,

5、通过B口输出要显示的段码,这样在4个八段数码管上分别显示秒和毫秒。 当1s时间到时,修改秒和毫秒对应的数值,送相应的八段数码管进行更新显示。8259中断控制模块8259A芯片在本实验中使用IRQ0内部中断,作为计时或在闹钟情况下的特 殊功能。IRQ0是用于控制计时,每10ms中断一次。当IQR0中断触发后,程序 进入闹钟计时模块。程序将用户输入的闹钟时间保存在存储单元中,在闹钟走时的过程中,不断将系统现在时间与闹钟时间进行对比,当定时时间到时,产生蜂鸣器响及流水灯闪烁效果。其中就拨动开关中 D3是用来调节设置时间有效性, 当D3=1时,定时设置有效,否则无效,定时时间为有效时的时间设置。3.

6、电路原理图、接线图PC0PC接 D0D3拨动开关设置定时时间;PC4PC接 S0S3显示流水灯;PB0PB7接 ADp数码管显示时间;PA6或PA7接SPK蜂鸣器;当 D3=1.学习帮手.4.程序流程图七段数码管显示子程序流程图中断程序流程图:中断程序入口Cou nt+1指针指向存取单兀调用定时时间并存储调用屏幕显示"Get up!”程序调用流水灯程序r调用蜂鸣器程序(中断程序结束J5.源程序使用IRQO内部中断使用 8253, 8255, 82598255 :方式 0, AB 口输出,PC0-PC3输入,PC4-PC7输出PC0PC3接D0D3 - 拨动开关设置定时时间PC4PC7

7、接 S0S3 -显示流水灯PB0PB7接ADP 数码管显示时间PA6或PA7接SPK 定时时间到蜂鸣PA0PA3接 X1X4D3用来调节设置闹钟有效性,当D3=1时,定时设置有效,否则无效,定时时间为有效时的时间设置STACKSTACKSEGMENT STACKDW64 DUPENDSDATASEGMENTDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH7,8,9;数码管可显示0,1,2, 3,4,5,6,FISDB 00H;第一块数码管SECDB 00H;第二块数码管THIDB 00H;第三块数码管FOU DB01H;第四块数码管COUNT1DB 0FFH

8、;定时数COUNT2DB 0EEH;控制流水灯亮的位置TEMPDB 00HTIMEUPDB 0DH,' Get Up ! ' ,00HDATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXPUSH DSTABLEMOV AX,0000HMOV DS,AXMOVADDMOVMOVMOVMOVAX,OFFSET IRQ0AX,2000HSI,0020H SI,AX AX,0000H SI,0022HMOV SI,AXPOPDSINAL,21HANDAL,0FCHOUT 21H,AL;8259开中断MOV A

9、L,81H;8255控制字初始化OUT 63H,ALMOV AL,00HOUT 61H,ALMOV AL,0FFHOUT 62H,AL;计数器0对IRQ0初始化MOV AL,34HOUT 43H,AL 193182MHzMOV AX,2E9AH ;8253 计数次数为 10ms*OUT 40H,ALMOV AL,AHOUT 40H,ALMOV CX,0000HMOV BX,0000HMOV DX,0000H;显示时间段DIS:CLIPUSH AXPUSH BXCALL DALLY1MOV AL,0DH ; 选择第2块数码管OUT 60H,ALMOV BL,SECMOV AL,TABLEBXOU

10、T 61H,ALCALL DALLY1MOV AL,0EH ; 选择第1块数码管OUT 60H,ALMOV BL,FISMOV AL,TABLEBXOUT 61H,ALCALL DALLY1MOVOUTAL,07H ;选择第4块数码管60H,ALMOV BL,FOUMOVOUTAL,TABLEBX61H,ALCALLMOVOUTDALLY1AL,0BH ;选择第3块数码管60H,ALMOV BL,THIMOVOUTAL,TABLEBX61H,ALPOPPOPSTIBXAXJMPDIS;IRQ0中断程序;PRE1、2、3、4为判断进位段;A1、2、3、4为判断定时段IRQ0:PUSH BXINC

11、 FOUCMP FOU,0AHJZPRE1BACK:POP MOV OUT IRETBXAL,20H20H , ALPRE1:MOVFOU,0HINCTHICMPTHI,0AHJZPRE2JMPBACKPRE2:MOVTHI ,0HINCSECA1:;CALL TIME这一段可以设置个位秒位定时;CMPTEMP,01H;JNZA4;MOVDH,COUNT1;CMPSEC ,DH;JZA3A4: CMP SEC,OAHJZPRE3JMPBACKPRE3:MOV SEC ,0HINC FIS调用定时程序A2: CALL TIMECMP TEMP,01HJNZ DOMOV DL,COUNT1CMP

12、FIS,DL;设置定时十位秒JZA3JMPDOA3: CALL OPEN;调用扬声器程序CALL LIUSHUI;调用流水灯程序MOV BX,OFFSET TIMEUPMOV AH,06HINT 10HMOV AL,0FFHOUT 62H,ALD0: CMP FIS,06HJZPRE4JMPBACKPRE4:MOV FIS,0JMP BACK;定时子程序TIME:PUSH AXINAL,62HAND AL,OFHCMP AL,08HJB C1MOV COUNT1,ALAND COUNT1,07HMOV TEMP,01HJMP C2C1: MOV TEMP,00HC2: POP AXRET;流水

13、灯程序LIUSHUI:PUSH AXPUSH CXMOV CL,03HMOV AL,COUNT2; COUNT2=0EEHB1: OUT 62H,ALCALL DALLY2CALL DALLY2ROL AL,1LOOP B1MOV COUNT2,ALMOV AL,0FFHOUT 62H,ALPOP CXPOP AXRET;扬声器子程序OPEN:PUSH AX ;初始化60H蜂鸣器PUSHCXMOV AL,0F0HOUT60H,ALPOPCXPOPAXRET;延时程序1DALLY1:PUSH CXPUSHAXMOVCX,0010HT1:MOVAX,0010HT2:DECAXJNZ T2LOOP

14、T1POP AXPOP CXRET;延时程序2DALLY2:PUSHCXPUSHAXMOVCX,0030HT3:MOVAX,0030HT4:DECAXJNZT4LOOPT3POPAXPOPCXRETCODE ENDSEND START6.总结和体会通过这次设计让我学到了不少东西,经过这次的课程设计让自己对8253、8259、8255等几个芯片有了更深入的了解,将课上的理论应用到了实践。在课 程设计的过程中通过查阅书籍,采用 8255、8259、8253三个芯片实现了电子定 时闹钟功能,明白了 8253的计数原理以及定时中断的应用让自己的知识更系统, 更深入,对接口技术有了更全面的理解。通过这几个芯片能够保证其它应用的很 好的功能。课程设计刚开始感觉无从下手,

温馨提示

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

评论

0/150

提交评论