微机原理课程设计报告-秒表设计内容摘要:

计数,在等待中断的循。 环中用 LED 显示时间。 8253 用定时器 /计数器 1, 8253 片选接 CS4,地址为 0C000H。 8253 时钟。 源 CLK1 接分频电路的 F/64 输出。 分频器的 Fin 接 4MHz时钟。 8253 的。 GATE1 接 VCC。 8259 中断 INT0 接 8253 的 OUT1,片选接 CS5,地址为 0D000H。 显示电路的 KEY/LED CS 接 CS0,地址为 08000H。 CONTROL equ 0c003h COUNT0 equ 0c000h COUNT1 equ 0c001h OUTBIT equ 08002h。 位控制口 OUTSEG equ 08004h。 段控制口 IN_KEY equ 08001h。 键盘读入口 ICW1 equ 00010011b。 单片 8259, 上升沿中断 , 要写 ICW4 ICW2 equ 00100000b。 中断号为 20H ICW4 equ 00000001b。 工作在 8086/88 方式 OCW1 equ 11111110b。 只响应 INT0 中断 CS8259A equ 0d000h。 8259 地址 CS8259B equ 0d001h data segment LEDBuf db 6 dup(3fh)。 显示缓冲 LEDBuf1 db 96 dup(3fh) MINUTE db 0 SECOND db 0 MS db 0 LEDMAP:。 八段管显示码 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h KeyTable:。 键码定义 db 32h, 31h, 30h, 33h db 13h, 12h, 11h, 10h db 0dh, 0ch, 0bh, 0ah db 0eh, 03h, 06h, 09h db 0fh, 02h, 05h, 08h db 00h, 01h, 04h, 07h data ends code segment assume cs:code, ds:data Delay proc near push ax。 延时子程序 push cx mov al, 50 mov cx,ax loop $ pop cx pop ax ret Delay endp delay1 proc near push cx mov cx,6000 loop $ pop cx ret delay1 endp DisplayLED proc near push bx push cx push ax push dx mov cl, 6。 共 6 个八段管 mov ah, 20h。 作为选通信号,高电平有效 DLoop: mov dx, OUTBIT mov al, 0 out dx, al。 关所有八段管 mov al, [bx] mov dx, OUTSEG out dx, al mov dx, OUTBIT mov al, ah out dx, al。 显示一位八段管 push ax mov ah, 02h call Delay pop ax shr ah, 1 inc bx dec cl jnz DLoop mov dx, OUTBIT mov al, 0 out dx,al。 关所有八段管 pop dx pop ax pop cx pop bx ret DisplayLED endp TestKey proc near mov dx, OUTBIT mov al, 0 out dx, al。 输出线置为 0 mov dx, IN_KEY in al, dx。 读入键状态 not al and al, 0fh。 高四位不用 ret TestKey endp GetKey proc near mov ch, 00100000b mov cl, 6 KLoop: mov dx, OUTBIT mov al, ch。 找出键所在列 not al out dx, al shr ch, 1 mov dx, IN_KEY in al, dx not al and al, 0fh jne Goon_。 该列有键入 dec cl jnz KL。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。