logo资料库

键盘显示系统.doc

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
基于 Intel 8086 的键盘显示系统——“专业课程设计”设计报告 基于 Intel 8086 的键盘显示系统 ——“专业课程设计”设计报告 学 专 学 姓 号: 名: 指导老师: 院: 机电工程及其自动化 业: 电气工程及其自动化 0912XXXX XXX 汪西川 时 间: 2012 年 6 月 29 日
基于 Intel 8086 的键盘显示系统——“专业课程设计”设计报告 1. 课程设计要求 利用 Intel 8086CPU、8259、8253、8255 芯片和 LED、按钮开关 等元器件设计一个键盘显示系统。 其中:LED 数码显示器共 8 位,要求每过 10ms 从右到左显示一 遍。键盘为 4*8 阵列(键名为:0~9,A~F,F1~F16),要求每过 10ms 全盘扫描一遍,每当“F1”键按下时显示字符串“20120629”,其余 各键扫描后的处理程序暂不考虑。 要求:画出系统连接图,并编写相关控制程序。 2. 系统连接图 系统连接图如下页所示:
基于 Intel 8086 的键盘显示系统——“专业课程设计”设计报告
基于 Intel 8086 的键盘显示系统——“专业课程设计”设计报告 3. 控制程序及简要说明 3.1 芯片初始化程序 8253: MOV DX, 67H MOV AL,00110101B OUT DX,AL MOV AL,00H MOV AL,01H 8255(KEYBOARD): MOV DX,6BH MOV AL,10110110B OUT DX,AL 以查询中断 8255(LED): MOV DX,6FH MOV AL,10000000B OUT DX,AL 8259: MOV DX,60H MOV AL,00011011B OUT DX,AL MOV DX,61H MOV AL,28H OUT DX,AL MOV AL,00000001B OUT DX,AL ;将定时器 0 设为工作方式 2,采用 BCD 码 ;让定时器 0 每 10MS 送出一个脉冲信号 ;将 8255(键盘)设为工作方式 1,A、B 口输入,可 ;将 8255(LED)设为工作方式 0,A、B 口输出 ;ICW1 初始化 ;ICW2 初始化 ;ICW4 初始化 3.2 定时中断服务程序 利用 8259 的查询中断方式: MOV DX,60H
基于 Intel 8086 的键盘显示系统——“专业课程设计”设计报告 MOV AL,00001100B OUT DX,AL IN AL,DX 3.3 键盘扫描程序 WALK: MOV DX,68H MOV AL,0 OUT DX,AL MOV DX,6AH IN AL,DX CMP AL,0FFH JZ WALK MOV BL,0 MOV BH,FEH MOV CX,4 FNDROW: MOV AL,BH MOV DX,69H OUT DX,AL ROL BH,1 MOV DX,6AH IN AL,DX CMP AL,0FFH JNZ RNDCOL ADD BL,8 LOOP FNDROW JMP DONE FNDCOL: ROR AL,1 ;查询 IR3,输入查询命令,读出查询字 ;扫描全 0 输出 ;无键合上继续等待 ;从 PA0 开始扫描 ;本行无键合上,扫描下一行,键号加 8 ;本行有键合上,判断哪一位
基于 Intel 8086 的键盘显示系统——“专业课程设计”设计报告 ;键号在 BL 中 ;判断是不是 F1 ;不是 F1 结束中断 ;是 F1,输出 20120629 JNC RIGHT INC BL JMP FNDCOL RIGHT:CMP BL,17 JNZ DONE . . . DONE: … 3.4 显示控制程序 循环点亮 8 个 LED: MOV AL, 80H OUT 6FH, AL MOV AL, 0FFH OUT MOV AL,0FEH ;第一盏灯亮,其余灭 AGAIN: OUT CALL DELAY ROR ;每盏灯依次亮 0F8H, AL 6CH, AL AL, 1 4. 设计体会 在本次程序设计之前,我对用电脑进行单片机电路模拟和仿真的 知识知之甚少,在进行本次设计的过程中,我不断寻找 Proteus 的教 学资料并进行学习与使用,让我对 Proteus 仿真软件的使用技能有了 很大提高。同时,通过对这一比较复杂的单片机系统的设计与调试经 验,让我对 Intel 8086 和 8259 等元器件有了更深的了解,让我发现了
基于 Intel 8086 的键盘显示系统——“专业课程设计”设计报告 对定时中断的编程不大熟悉的问题,并通过这一次编程设计解决了这 一问题并有了提高。总之,这次课程设计让我展开了设计的思路,对 学过的知识有很好的强化和拓展,在临近毕业的时候,这次专业课程 设计让我受益匪浅。
分享到:
收藏