




免费预览已结束,剩余5页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、设计的目的要求 学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。 该系统的要求利用8253定时器设计一个具有时、分、秒显示的电子时钟,并定义一个启动键,当按下该键时时钟从当前设定值(可在显示缓冲区中予置)开始走时。 二、系统的主要功能 该系统是一个简单的利用8253定时器、8255可并行通信接口和中断控制器8259设计的电子时钟系统,在该系统中设有一个启动键,启动键未按下时,显示初始化界面“HELLO”;当按下启动键时,8253定时器开始计时(8253的初值为10000,接1MHz的脉冲,即当8253计满100时正好是1S),当计时计满100时,8259便产生一次中断,在LED显示器便显示系统预先设计好的初始值“02.59.55”便开始从秒位开始加1,当加到10S时,10s位加1,加到60S时分位加1,同时秒位清零。 该系统主要接口部件有:可并行通信接口8255一片,计数器/定时器8253一片,中断控制器8259一片,七段LED数码管显示器6个以及译码电路等。其中各个部件的初始化如下:1、可并行通信接口8255的控制字是方式选择控制字,A口工作在方式0(即基本输入输出方式)下,并且为输出状态,B口工作在方式0下,为输出口,C口为输出口,其初始化为:8255控制口地址为20bh A端口地址为208h B端口地址为209h C端口地址为20ahmov dx,20bh mov al,10000001b out dx,al 2、做为计数器的计数器/定时器8253,在设置好计数初值(即定时常数)后,便开始减1计数,为0时,输出一个信号;控制字设置:BCD为设置为计数值为二进制格式,模式选择为模式2(即为分频器,当控制字写入后,输出段OUT变为高电平作为初始状态,当计数初值写入初值寄存器后,下一个时钟脉冲时,计数初值被写到计数执行部件,然后计数执行部件做减1计数,减到1时,输出端OUT变为低电平;完成一次计数过程后,输出端OUT又变为高电平,开始一个新的计数过程,由此可以周而复始的进行下去),读写指示位为先写低8位字节,在读写高8位字节,计数器选择计数器0。其中8253的计数初值为10000d,当接1MHZ的脉冲时,分频后的输出值为0.01S。8253的初始化为: 8253控制端口地址为203h 计数器0 端口地址为200h mov al , 34h mov dx , 203h out dx , al mov dx , 200h mov ax , 10000d out dx , al mov al , ah out dx , al 3、中断控制器8259的初始化为:ICW1,用来指示ICW1的标志的D4=1,LTIM为0(即中断请求为边沿触发方式),系统只用一片8259,所以SNGL为1,因为初始化程序将用到ICW4,所以,IC4为为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位系统;OCW1中断屏蔽操作命令字,要求写入8259的奇地址端口; mov al,13h mov dx,210h out dx,al ;ICW1初始化 mov al,08h mov dx,211h out dx,al ;ICW2初始化 mov al,01h out dx,al ;ICW4初始化 in al,dx and al,0feh out dx,al 该系统的主要工作原理为:在主程序中,要对各个用到的芯片进行初始化,在对8253进行初始化时,使它用方式2,每10ms 产生一次脉冲。在系统总8253的输入时钟频率为1MHZ,定时常数设为10000,则定时周期正好为10ms。由于8253的定时输出与8259的IR0相连,所以,系统中每隔10ms便由8253对8259产生一次中断请求,即每隔10ms执行一次中断处理程序。本系统将与时间密切相关的两个模块即显示模块和计时模块放在中断处理程序中,这样,就保证了LED的数字每隔10ms得到一次刷新,从而保证了数字显示的稳定。中断处理程序完成计时功能要依靠两个方面,因为中断处理程序是每10ms执行一次,但计时并不是一10ms 为单位进行的,而是以秒为单位进行的,所以,计时功能的事项一方面要利用10ms这个基准时间单位,另一方面要借助于一个计数单元。计数单元的初始值为100,每进行一次中断,便使计数单元的内容减1,也就是说,每10ms作一次计数。每当计数单元从100减为0时,说明已经经过了10ms*100=1s时间,于是使秒位加1。秒位加1之后,又须判断由此而可能引起的进位,如有进位,则应实现正确的修改。修改完以后,再将LED显示一遍。三、系统设计1、 接口电路设计8253D7 CLK0. OUT0. GATE0D0 CLK1 OUT1 GATE1 CLK2 OUT2 GATE2 CS8259CS A0WR INTARD IR7D7 IR6D6 IR5. . .D0 IR0 CAS0 INTCAS1 SP/ENGND CAS2D7 PA7D6 PA6. PA5. PA4D0 PA3WR PA2RD PA1CS PA0A1 PB7A0 PB6RESET PB5PC7 PB4PC6 PB3. PB2. PB1PC0 PB0CPUD7D6D5.D0。 。 。200 208 210 I I I207 20F 217译码器6位七段LED数码管显示器启动键1M高电平INTAINTR 2、 程序设计8255、8253、8259初始化显示提示信息开始判断启动键的状态是“1”?开中断并调用中断处理程序开始计时调用显示程序显示系统计时结果YN主程序框图电子时钟中断处理程序流程图保护寄存器秒位加110秒位加1计数单元减1分位加1计满1秒了吗?计满10秒了吗?计满60秒了吗?计满10分了吗?计满60分了吗?10分位加1将字符转换为段码时位加1计满10小时了吗?输出段码输出位码恢复寄存器位码右移1位中断返回10时位加1NYNNNNNYYYYY 四、源程序清单:code segment assume cs:code,ds:code start: mov ax,cs mov ds,ax mov bp,0064h ;设置计数初值 jmp start1 portbit equ 208h portseg equ 209h start1: mov dx,20bh mov al,10000001b out dx,al ;8255初始化 * mov al,34h mov dx,203h out dx,al ;8253写控制字 mov dx,200h mov ax,10000d out dx,al mov al,ah out dx,al ;8253初始化 * mov al,13h ;8259初始化 mov dx,210h out dx,al ;ICW1初始化 mov al,08h mov dx,211h out dx,al ;ICW2初始化 mov al,01h out dx,al ;ICW4初始化 in al,dx and al,0feh out dx,al ;OCW1打开非屏蔽位IR5被屏蔽 * push ds mov ax,0 mov ds,ax mov ax,offset intr mov ds:word ptr4*8,ax mov ax,cs mov ds:word ptr4*8+2,ax ;设置中断向量 pop ds* ;主程序开始 ab: mov dx,20ah in al,dx and al,1 cmp al,01h ;判断时钟是否启动 jz intr1 ;若启动,则开中断 call aab ;没启动,则转显示 cli ;关中断 jmp ab intr1: sti ;开中断 jmp ab ;检测时钟状态* ;初始界面显示程序aab: lea bx,TABLE lea di,BUFDA mov cl,11011111b ;位码next: mov dx,208h mov al,cl out dx,al ;输出位码 mov al,di+06 ;取段码 xlat mov dx,209h ;输出段码 out dx,al push cx mov cx,30hdelay1: loop delay1 ;软件延迟 pop cx cmp cl,11111110b ;判断是否扫完一遍 jz aaaa ;显示完一遍则返回 inc di ror cl,1 ;循环右移一位 jmp nextaaaa: ret* ;中断处理程序intr proc near push si push ax ;保存寄存器的内容 dec bp ;计数单元减1 jnz display ;如未计到100,则直接转显示 mov di,offset BUFDA mov bp,0064h ;计数单元设置初值 mov al,di+05 inc al ;秒位加1 mov di+05,al cmp al,0ah ;是否引起进位 jnz display ;无进位则转显示 mov al,00 mov di+05,al mov al,di+04 inc al ;有进位则本位清零,前一位加1 mov di+04,al cmp al,06 ;是否满60秒 jnz display ;否,则转显示 mov al,00 mov di+04,al mov al,di+03 inc al ;是则本位清零,而分位加1 mov di+03,al cmp al,0ah ;是否引起分位有进位 jnz display ;否,则转显示 mov al,00 mov di+03,al mov al,di+02 inc al mov di+02,al ;有进位,则本位清零,前一位加1 cmp al,06 ;是否满60分 jnz display ;否,则转显示 mov al,00 mov di+02,al mov al,di+01 inc al ;有进位,则本位清零,前一位加1 mov di+01,al cmp al,04 ;是否引起时位有进位 jnz display ;否,则转显示 mov al,00 mov di+01,al mov al,di inc al ;是则本位清零,前一位加1 mov si,al cmp al,02 ;是否满24小时 jnz display ;否,则转显示 mov al,00 mov di,al ;是则本位清零display: call displ ;调用显示程序 mov dx,210h mov al,20h out dx,al ;手动结束中断 pop ax pop si iret intr endp ;被中断处理程序调用的显示程序displ proc near push dx push cx push bx push si mov cx,0006 ;显示位数 mov bx,offset TABLE mov si,offset BUFDA mov ah,11011111bdispl1:mov dx,portbit mov al,0ffh out dx,al ;关显示 push cx mov cx,0100hwait1: loop wait1 ;软件延时 mov dx,portseg mov al,si xlat ;转换 out dx,al ;输出段码 mov dx,portbit mov al,ah out dx,al ;输出位码 mov cx,0100hwait2: loop wait2 ;延时 pop cx ror ah,1 inc si loop displ1 pop si pop bx pop cx pop dx ret displ endp *TABLE:db 3fh ;“0”的段码db 06h ;“1”的段码db 5bh ;“2”的段码db 4fh ;“3”的段码db 66h ;“4”的段码db 6dh ;“5”的段码db 7dh ;“6”的段码db 07h ;“7”的段码db 7fh ;“8”的段码db 6fh ;“9”的段码db 00h;db 76h ;“H”的段码db 79h ;“E”的段码db 38h ;“L”的段码db 38h ;“L”的段码db 5ch ;“o”的段码BUFDA:db0,2,5,9,5,5,11,12,13,14,15,16code ends end start五、设计总结及心得体会 经过两周努力,在指导老师和同学的帮助下,终于如期完成了该电子时钟的课程设计。当然在课程设计的过程中遇到了许多问题,但是经过查阅有关资料和向老师、同学请教后,还是一一解决了。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园学生欺凌事件突发应急处置预案
- 传感器数据加密区块链技术-洞察及研究
- 性能评估标准化方法-洞察及研究
- 2025年北京市二手车买卖合同范本参考
- 出口仁老师课件
- 出入境管理大队课件
- 2025标准版销售合同范本范文
- 冲压安全培训事项课件
- 2025合同样本:网络直播合作协议简版范本
- 冰柜测温安全培训课件
- 记者证考试复习题库汇总(含答案)
- 餐饮空间案例分析
- 第三章卫星链路设计
- 计算流体力学完整课件
- 知名投资机构和投资人联系方式汇总
- 四大时态综合课件
- 行政主管岗位职责及工作内容
- 生产安全事故应急救援演练记录
- 2023版初中化学跨学科实践活动(化学)
- 《新能源汽车驱动电机及传动技术》课程教案
- 上海市环卫作业养护预算定额经费
评论
0/150
提交评论