汇编与接口键盘显示实验报告

上传人:第*** 文档编号:34236479 上传时间:2018-02-22 格式:DOC 页数:9 大小:103KB
返回 下载 相关 举报
汇编与接口键盘显示实验报告_第1页
第1页 / 共9页
汇编与接口键盘显示实验报告_第2页
第2页 / 共9页
汇编与接口键盘显示实验报告_第3页
第3页 / 共9页
汇编与接口键盘显示实验报告_第4页
第4页 / 共9页
汇编与接口键盘显示实验报告_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《汇编与接口键盘显示实验报告》由会员分享,可在线阅读,更多相关《汇编与接口键盘显示实验报告(9页珍藏版)》请在金锄头文库上搜索。

1、微机原理与接口技术上机实验报告学院(部) 专 业 班 级 学生姓名 学 号 实验六 键盘扫描及显示设计实验一、实验目的1学习按键扫描的原理及电路接法;2掌握利用 8255 完成按键扫描及显示。二、实验内容1按原理图1连接好电路。2编程: 编程使得在键盘阵列上每按一个键后,微机屏幕和最右端的数码管上有相应字符显示出来,按“E”退出程序。3实验提示(1)8255CS接地址译码输出的288h28fh。(2)8255的A口PA0PA7接数码管的adp。数码管位码S0接+5V,S3S1接GND。(3)延时程序可用BIOS功能程序INT 1AH的0号功能程序:其出口参数:CH:CL=时:分;DH:DL=秒

2、:1/100秒。图 1 键盘显示连接图三、程序流程四、程序代码data segmentstring db the initialization is okay$,0ah,0dhkey db 0e7h, 0ebh, 0edh, 0eeh, 0d7h, 0dbh, 0ddh, 0deh, 0b7h, 0bbh, 0bdh, 0beh, 77h, 7bh, 7dh, 7eharray db 33h, 37h, 66, 70, 32h, 36h, 65, 69, 31h, 35h, 39h, 68, 30h, 34h, 38h, 67num db 16over db ?data endsstack1

3、segment stack stackdw 50 dup(?)stack1 endscode segmentassume cs:code, ds:data, ss:stack1start:mov ax,datamov ds,axmov ax,seg string ;显示提示mov ds,axmov dx,offset stringmov ah,09hint 21h.while 1call exam.if over = 69mov ah,4chint 21h.endif.endwmov ah,4ch ;/int 21hexam proc ;检测子程序/mov al,81h ;设置 8255 工作

4、方式字mov dx,28bhout dx,allp1:mov al,00h ;向 C 端口高四位输出低电平mov dx,28ahout dx,alin al,dx ;C 端口低四位cmp al,0fhjz lp1call delay ;延时子程序mov bl,al ;保存列值mov al,88h ;重置 8255 工作方式字mov dx,28bhout dx,almov al,blmov dx,28ahout dx,alin al,dx ;读入行值mov ah,blmov cl,4rcr ax,cl.if al = 0b7h ;1mov over,31hmov al,31hmov dl,alm

5、ov ah,2hint 21hmov al,06hmov dx,288hout dx,al.endif.if al = 0d7h ;2mov over,32hmov al,32hmov dl,almov ah,2hint 21hmov al,05bhmov dx,288hout dx,al.endif.if al = 0e7h ;3mov over,33hmov al,33hmov dl,almov ah,2hint 21hmov al,4fhmov dx,288hout dx,al.endif.if al = 07bh ;4mov over,34hmov al,34hmov dl,almov

6、 ah,2hint 21hmov al,66hmov dx,288hout dx,al.endif.if al = 0bbh ;5mov over,35hmov al,35hmov dl,almov ah,2hint 21hmov al,6dhmov dx,288hout dx,al.endif.if al = 0dbh ;6mov over,36hmov al,36hmov dl,almov ah,2hint 21hmov al,7dhmov dx,288hout dx,al.endif.if al = 0ebh ;7mov over,37hmov al,37hmov dl,almov ah

7、,2hint 21hmov al,07hmov dx,288hout dx,al.endif.if al = 07dh ;8mov over,38hmov al,38hmov dl,almov ah,2hint 21hmov al,7fhmov dx,288hout dx,al.endif.if al = 0bdh ;9mov over,39hmov al,39hmov dl,almov ah,2hint 21hmov al,67hmov dx,288hout dx,al.endif.if al = 0ddh ;amov over,65mov al,65mov dl,almov ah,2hin

8、t 21hmov al,77hmov dx,288hout dx,al.endif.if al = 0edh ;bmov over,66mov al,66mov dl,almov ah,2hint 21hmov al,7chmov dx,288hout dx,al.endif.if al = 7eh ;cmov over,67mov al,67mov dl,almov ah,2hint 21hmov al,39hmov dx,288hout dx,al.endif.if al = 0beh ;dmov over,68mov al,68mov dl,almov ah,2hint 21hmov a

9、l,5ehmov dx,288hout dx,al.endif.if al = 0deh ;emov over,69mov al,69mov dl,almov ah,2hint 21hmov al,79hmov dx,288hout dx,al.endif.if al = 0eeh ;fmov over,70mov al,70mov dl,almov ah,2hint 21hmov al,71hmov dx,288hout dx,al.endif;/;/mov al,81h ;重置 8255 工作方式字mov dx,28bhout dx,allp6:mov dx,28ahmov al,00hout dx,alin al,dxcmp al,0fhjnz lp6retexam endp ;/delay proc near ;延时子程序push ax ;delay 50ms-100msmov ah,0int 1ahmov bx,dxdelay1:mov ah,0int 1ahcmp bx,dxjz delay1mov bx,dxdelay2:mov ah,0int 1ahcmp bx,dxjz delay2pop axretdelay endpcode endsend start

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号