微机原理电子时钟...doc_第1页
微机原理电子时钟...doc_第2页
微机原理电子时钟...doc_第3页
微机原理电子时钟...doc_第4页
微机原理电子时钟...doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

精品文档目 录一、课程设计目的二、课程设计要求三、基本工作原理及系统框图四、芯片简介及初始化4.1、8255简介及初始化4.2、8253简介及初始化4.3、8259简介及初始化五、软件程序设计5.1、主程序流程图5.2、电子时钟中断处理程序流程图5.3、显示模块流程图5.4、总程序代码六、设计总结七、参考文献一、课程设计的目的通过本次课程设计学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使设计者的设计水平和对所学知识的应用能力以及分析问题解决问题的能力得到全面提高。1. 熟练掌握8086/88教学系统的基本操作和调试程序的各种指令。2. 掌握8259中断控制器的工作原理和应用编程方法,练习编写中断程序的方法。3. 掌握8255的各种工作方式及其应用编程。4. 掌握8253定时/计数器的工作原理、工作方式及其应用编程。5. 熟悉编程及调试程序的方法。二、课程设计要求: (1)用8255的A口驱动六个七段数码管(LED)的字段,B口驱动六位七段数码管(LED)的位控端,右侧开始各两位分别显示:时、分、秒。(2)七段数码管采用动态扫描工作方式,每位轮流显示的时间50HZ,采用8253定时中断方式,在中断服务程序中完成显示位和内容的轮换。(3) 以8253定时中断的时间2ms为基本单位,可设置计数变量单元Tim2ms、Tim1(秒单元)、Tim2(分单元)、Tim3(时单元)。每进入中断服务程序一次Tim2ms+1,当Tim2ms=500时清0,Tim1+1;当Tim1=60时清0,Tim2+1;当Tim2=60时清0,Tim3+1;Tim3=24时清0 三:基本工作原理及系统框图:系统设计的电子时钟主要由显示模块、时钟控制模块和时钟运算模块三大部分组成。以8086微处理器作CPU, 8253做定时器对一个频率为1MHZ的时钟信号定时,在写入控制字与计数初值后,每到2ms定时器就启动工作,即当计数器减到1时,输出端OUT0输出一个CLK周期的低电平,接8259,向CPU申请中断,主要用8259A的IRQ2的中断服务程序完成秒、分、时的运算即计时功能,8255A负责将内存里的时位,分位,秒位值输出到数码管。.本设计由8259A中断控制器、8253定时/计数器、8255A接口芯片、LED数码显示管组成。电子时钟的显示格式HH:MM:SS由左到右分别为时、分、秒,每百分之一秒对百分之一秒寄存器的内容加一,并依次对秒、分、小时寄存器的内容加一,六个数码管动态显示时、分、秒的当前值。最大记时23:59:59超过这个时间时分秒位都清零从00:00:00重新开始。设计过程:(1)在主程序中要分别对8253、8259、8255进行初始化编程。(2)8255的A口、B口都设为方式0,为基本的输入输出方式。(3)在中断服务程序中对中断次数进行统计,当满10次时就进行一次时、分、秒的处理。时、分、秒分别对应6个存储单元,分别存放时、分、秒的十位和个位。当中断次数满10次时,将秒的个位加1,同理对分,时作相应处理。(4)七段数码管显示作为子程序,对时、分、秒对应存储单元的内容分别取出并转换成相应的段码,从8255的B口输出,A口输出对应位的位选信号,延时后进行下一位的显示。系统框图:四、芯片简介及初始化4.1 8259芯片介绍及初始化中断控制器8259A 是专门为控制优先级中断而设计开发的芯片。它将中断源优先排队、辨别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259A进 行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。同时,在不需要增加其他电路的情况下,通过多片8259A 的级连,能构成多达64级的矢量中断系统。 图1 8259芯片8259A的主要功能如下:一片8259A可以接受并管理8级可屏蔽中断 请求,通过9片8259A级联可扩展至64级可屏蔽中断优先控制。对每一级中断都可以通过程序来屏蔽或允许在中断响应周期,8259A可为CPU提供相应的中断类型码。具有多种工作方式,并可通过编程来加以选择。通过初始化编程向8259A写入相应的初始化命令ICW,可以使芯片处于一个规定的基本工作方式,并在此方式下进行工作。8259A的初始化命令字共有4个ICW1-ICW4,进行初始化时要求ICW1-ICW4按一定的顺序写入。中断控制器8259的初始化为:ICW1,用来指示ICW1的标志的D4=1,LTIM为0(即中断请求为边沿触发方式),系统只用一片8259,所以SNGL为1,因为初始化程序将用到ICW4,所以,ICW4为1;ICW2设置中断类型码的初始化命令字,必须写到8259的奇地址端口中,ICW2是任选的,而ICW2一旦确定下来,8259的8个中断请求信号输入引脚IR0IR7所对应的8个中断类型码也确定了;ICW4方式控制初始化命令字,它也要求写入奇地址端口,不过ICW4并不总是需要写入的,只有在ICW1的第0位为1时,才有必要设置ICW4,其中,D7D5三位总是为0,作为ICW4的标识码,SFNM位为0,BUF位为0,M/S位为0,AEOL位为0,D0为为1表示8259当前所在的系统为16位或32位系统初始化程序:mov al,13hmov dx,0020hout dx,al ;icw1 mov al,08h mov dx,0021h out dx,al ; icw2 mov al,01h out dx,al ; icw4 mov al,0fbh out 21h,al ; 8259 ocw1 4.2 8253芯片介绍及初始化 图28253芯片8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz) 8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制 字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数 器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。8253初始化:做为计数器的计数器/定时器8253,在设置好计数初值(即定时常数)后,便开始减1计数,为0时,输出一个信号;控制字设置:BCD为设置为计数值为二进制格式,模式选择为模式2(即为分频器,当控制字写入后,输出段OUT变为高电平作为初始状态,当计数初值写入初值寄存器后,下一个时钟脉冲时,计数初值被写到计数执行部件,然后计数执行部件做减1计数,减到1时,输出端OUT变为低电平;完成一次计数过程后,输出端OUT又变为高电平,开始一个新的计数过程,由此可以周而复始的进行下去),读写指示位为先写低8位字节,在读写高8位字节,计数器选择计数器0。其中8253的计数初值为2000,当接1MHZ的脉冲时,分频后的输出值为0.01S。8253的初始化程序:mov al,34h mov dx,4Bhout dx,almov dx,48hmov ax,2000out dx,almov al,ahout dx,al ; 82534.3 8255芯片介绍及初始化8255特性:(1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口.(2)具有24个可编程设置的I/O口,即使3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口 (高4位,PC4PC7),B组包括B口及C口(低4位,PC0PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I /O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定.图38255芯片8255引脚功能:RESET:复位输入线CS:芯片选择信号线RD:读信号线WR:写入信号D0D7:三态双向数据总线 PA0PA7:端口A输入输出线PB0PB7:端口B输入输出线PC0PC7:端口C输入输出线A0,A1:地址选择线8255初始化:可并行通信接口8255的控制字是方式选择控制字,A口工作在方式0(即基本输入输出方式)下,并且为输出状态,B口工作在方式0下,为输出口,C口为输出口,其初始化为:8255控制口地址为63h8255初始化程序:mov dx,63h mov al,10000000b out dx,al ;8255五、软件程序设计5.1程序主流程图:5.2电子时钟中断处理程序流程图:保护寄存器秒位加110秒位加1计数单元减1分位加1计满1秒了吗?计满10秒了吗?计满60秒了吗?计满10分了吗?计满60分了吗?10分位加1将字符转换为段码时位加1计满10小时了吗?输出段码输出位码恢复寄存器位码右移1位中断返回10时位加1NYNNNNNYYYYY5.3显示模块流程图:时、分转化为十进制,存到内存单元中计算时、分的各位数值在TABLE中对应编码结束开始依次在61H段输出到LED显示5.4总程序代码:PORTBIT EQU 61HPORTSEG EQU 60HCODE SEGMENT ASSUME CS:CODE ORG 1000HSTART: MOV AX,CS MOV DS,AX MOV DX,63H ;8255控制寄存器地址 MOV AL,10000000B ;CW1=80H OUT DX,AL ;8255 MOV AL,34H ;0011 0100B CW0方式2 MOV DX,4BH;8253控 OUT DX,AL MOV DX,48H MOV AX,2000 ;500Hz,2ms OUT DX,AL MOV AL,AH OUT DX,AL ; 8253 MOV AL,13H ;0001 0011B ICW1 单片,边沿触发,要ICW4 MOV DX,0020H ;PC/XT偶地址 OUT DX,AL ;ICW1 MOV AL,0BH;0000 1011B 中断类型号B MOV DX,0021H;PC/XT奇地址 OUT DX,AL ; ICW2 MOV AL,01H ;8259 D7-D0与总线直连,中断非自动结束,处于8086系统 OUT DX,AL ; ICW4 MOV AL,0F7H ;1111 0111 开放IR3 OUT 21H,AL ; 8259 OCW1 MOV AX,0 MOV DS,AX MOV AX,OFFSET INTR1 MOV DI,002CH MOV DI,AX INC DI INC DI MOV AX,CS MOV DI,AX INC DI INC DI MOV BP,0H MOV AL,CS:BP+BIT OUT PORTBIT,AL ROL AL,1 MOV CS:BP+BIT,AL MOV SI,OFFSET BUF MOV AL,SI MOV BX,OFFSET TABLE XLAT OUT PORTSEG,AL INC SI STI BEGIN: CMP CS:BP+TIME,1000 JNZ BEGIN MOV AL,0 MOV CS:BP+TIME,0 MOV DI,OFFSET BUF MOV AL,DI+00 MOV CH,DI+01 MOV CL,4 ROL CH,CL OR AL,CH ADD AL,1 DAA MOV CH,AL AND AL,0FH MOV DI+00,AL MOV AL,CH AND AL,0F0H ROR AL,CL MOV DI+01,AL MOV AL,CH CMP AL,60H JNZ BEGIN MOV AL,00 MOV DI+00,AL MOV DI+01,AL MOV AL,DI+02 MOV CH,DI+03 MOV CL,4 ROL CH,CL OR AL,CH ADD AL,1 DAA MOV CH,AL AND AL,0FH MOV DI+02,AL MOV AL,CH AND AL,0F0H ROR AL,CL MOV DI+03,AL MOV AL,CH CMP AL,60H JNZ BEGIN MOV AL,00 MOV DI+02,AL MOV DI+03,AL MOV AL,DI+04 MOV CH,DI+05 MOV CL,4 ROL CH,CL OR AL,CH ADD AL,1 DAA MOV CH,AL AND AL,0FH MOV DI+04,AL MOV AL,CH AND AL,0F0H ROR AL,CL MOV DI+05,AL MOV AL,CH CMP AL,24H JNZ A MOV AL,00 MOV DI+04,AL ;时低 MOV DI+05,AL A: JMP BEGININTR1: ;中断程序MOV BX,OFFSET TABLE MOV AL,CS:BP+BIT OUT 61H,AL MOV AL,SI XLAT OUT 60H,A

温馨提示

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

评论

0/150

提交评论