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

下载本文档

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

文档简介

一、课程设计目的 二、课程设计要求 三、基本工作原理及系统框图 四、芯片简介及初始化 8255简介及初始化 8253简介及初始化 8259简介及初始化 五、软件程序设计 主程序流程图 电子时钟中断处理程序流程图 显示模块流程图 总程序代码 六、设计总结 七、参考文献 一、课程设计的目的通过本次课程设计学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使设计者的设计水平和对所学知识的应用能力以及分析问题解决问题的能力得到全面提高。.熟练掌握8086/88教学系统的基本操作和调试程序的各种指令。.掌握8259中断控制器的工作原理和应用编程方法,练习编写中断程序的方法。.掌握8255的各种工作方式及其应用编程。.掌握8253定时/计数器的工作原理、工作方式及其应用编程。.熟悉编程及调试程序的方法。二、课程设计要求:(1)用8255的A口驱动六个七段数码管(LED)的字段,B口驱动六位七段数码管(LED)的位控端,右侧开始各两位分别显示:时、分、秒。(2)七段数码管采用动态扫描工作方式,每位轮流显示的时间<2ms,扫描频率>50HZ,采用8253定时中断方式,在中断服务程序中完成显示位和内容的轮换。(3)以8253定时中断的时间2ms为基本单位,可设置计数变量单元Tim2ms、Timl(秒单元)、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.18259芯片介绍及初始化中断控制器8259A是专门为控制优先级中断而设计开发的芯片。它将中断源优先排队、辨别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259A四、芯片简介及初始化4.18259芯片介绍及初始化中断控制器8259A是专门为控制优先级中断而设计开发的芯片。它将中断源优先排队、辨别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。同时,在不需要增加其他电路的情况下,通过多片8259A的级连,能构成多达64级的矢量中断系统。8259A的主要功能如下:2 27VccAnR£) _INTA3 26D7._JK7D6D5 45 2411"H<sr)46 237/K ”a■ j113sK 21-THiTDI Do9 1910 1月JKJ. 1Ft]TDA12 17llxU INICASOLASI jd,1 16地 |'1 |>图18259芯片①一片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个中断请求信号输入引脚IR0〜IR7所对应的8个中断类型码也确定了;ICW4方式控制初始化命令字,它也要求写入奇地址端口,不过ICW4并不总是需要写入的,只有在ICW1的第0位为1时,才有必要设置ICW4,其中,D7〜口5三位总是为0,作为ICW4的标识码,SFNM位为0,BUF位为0,M/S位为0,AEOL位为0,D0为为1表示8259当前所在的系统为16位或32位系统

初始化程序:moval,13hmovdx,0020houtdx,al ;icw1moval,08hmovdx,0021houtdx,al ;icw2moval,01houtdx,al ;icw4moval,0fbhout21h,al ;8259ocw14.28253芯片介绍及初始化8253是NMOS工艺制成的可编程计数 口丁1O241Vee% 2 23 WR器/定时器,有几种芯片型号,外形引脚及 立一3 22—RD功能都是兼容的,只是工作的最高计数速 54 21 CS1——5 20A|率有所差异,例如8253 一682S319Ag(2.6MHz),8253-5(5MHz)8253内部有三 D,7 18 C1X2——H 17 OUT:个计数器,分别成为计数器0、计数器10扁——q 16 cate2和计数器2,他们的机构完全相同。每个计口UT”10 15 CLK|gate, 11 14 OtJTjGND 12 13 GATE图28253芯片数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端比h一个为门控信号输入端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的初始化程序:moval,34hmovdx,4Bhoutdx,al

movdx,48hmovax,2000outdx,almoval,ahoutdx,al ;82534.38255芯片介绍及初始化8255特性:(1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口.⑵具有24个可编程设置的I/O口,即使3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向1/O3种模式闪控式,双向1/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定.PA5小PA7型KEXEIDODID2D5[4球DiD7PA7PkiPBrFFtPB3图38255芯8255引脚功能:RESET:复位输入线CS:芯片选择信号线RD:读信号线WR:写入信号D0〜口7:三态双向数据总线PA0〜PA7:端口人输入输出线PB0〜PB7:端口8输入输出线PC0〜PC7:端口C输入输出线A0,A1:地址选择线8255初始化:可并行通信接口8255的控制字是方式选择控制字,A口工作在方式0(即基本输入输出方式)下,并且为输出状态,B口工作在方式0下,为输出口,C口为输出口,其初始化为:8255控制口地址为63h8255初始化程序:movdx,63hmoval,10000000boutdx,al ;8255五、软件程序设计程序主流程图:

电子时钟中断处理程序流程图:

计满10秒了吗?计满60秒了吗?计满10分了吗?计满60分了吗?计满10小时了吗?NYYNYYYYNNN将字符转换为段码10秒位加1计满10秒了吗?计满60秒了吗?计满10分了吗?计满60分了吗?计满10小时了吗?NYYNYYYYNNN将字符转换为段码10秒位加1秒位加1计数单元减1分位加1输出位码位码右移1位恢复寄存器输出段码保护寄存器10时位加1中断返回10分位加1时位加1显示模块流程图:总程序代码:PORTBITEQU61HPORTSEGEQU60HCODESEGMENTASSUMECS:CODEORG1000HSTART:MOVAX,CSMOVDS,AXMOVDX,63H ;8255控制寄存器地址MOVAL,10000000B;CW1=80H

OUTDX,ALMOVAL,34HOUTDX,ALMOVAL,34H2MOVDX,4BHOUTDX,ALMOVDX,48HMOVAX,2000OUTDX,ALMOVAL,AHOUTDX,ALMOVAL,13H片,边沿触发,要ICW4MOVDX,0020HOUTDX,ALMOVAL,0BHMOVDX,0021HOUTDX,AL;00110100BCW0方式;8253控;500Hz,2ms;8253;00010011BICW1单;PC/XT偶地址;ICW1;00001011B中断类型号B;PC/XT奇地址;ICW2MOVAL,01H ;8259D7-D0与总线直连,中断非自动结束,处于8086系统OUTDX,ALMOVAL,0F7HOUT21H,AL;ICW4;11110111;ICW4;11110111开放IR3;8259OCW1MOVDS,AXMOVAX,OFFSETINTR1MOVDI,002CHMOV[DI],AXINCDIINCDIMOVAX,CSMOV[DI],AXINCDIINCDIMOVBP,0HMOVAL,CS:[BP+BIT]OUTPORTBIT,ALROLAL,1MOVCS:[BP+BIT],ALMOVSI,OFFSETBUFMOVAL,[SI]MOVBX,OFFSETTABLEXLATOUTPORTSEG,ALINCSISTIBEGIN:CMPCS:[BP+TIME],1000JNZBEGINMOVAL,0MOVCS:[BP+TIME],0MOVDI,OFFSETBUFMOVAL,[DI+00]MOVCH,[DI+01]MOVCL,4ROLCH,CLORAL,CHADDAL,1DAAMOVCH,ALANDAL,0FHMOV[DI+00],ALMOVAL,CHANDAL,0F0HRORAL,CLMOV[DI+01],ALMOVAL,CHCMPAL,60HJNZBEGINMOVAL,00MOV[DI+00],ALMOV[DI+01],ALMOVAL,[DI+02]MOVCH,[DI+03]MOVCL,4ROLCH,CLORAL,CHADDAL,1DAAMOVCH,ALANDAL,0FHMOV[DI+02],ALMOVAL,CHANDAL,0F0HRORAL,CLMOV[DI+03],ALMOVAL,CHC

温馨提示

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

评论

0/150

提交评论