跑马灯与键盘显示控制实验.doc

上传人:精*** 文档编号:1010980 上传时间:2024-03-21 格式:DOC 页数:7 大小:80KB
下载 相关 举报
跑马灯与键盘显示控制实验.doc_第1页
第1页 / 共7页
跑马灯与键盘显示控制实验.doc_第2页
第2页 / 共7页
跑马灯与键盘显示控制实验.doc_第3页
第3页 / 共7页
跑马灯与键盘显示控制实验.doc_第4页
第4页 / 共7页
跑马灯与键盘显示控制实验.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、课程名称微机原理与接口实验 实验一:跑马灯a) 实验内容及要求、静态显示:按4-4-1连接好电路,将8255的A口PA0PA7分别与七段数码管的段码驱动输入端adp相连,位码驱动输入端S0、S1 接PC0、PC1;S2、S3接地,编程在数码管上循环显示“00-99”。2、接线: PA7PA0/8255 接 dpa/LED数码管PC1PC0/8255 接 S1S0/LED数码管GND 接 S3S2 /LED数码管CS/8255 接 Y1/IO地址b) 设计原理及硬件连线图c) 实验代码及完成情况及结果PORT_A EQU 280H;8255A口地址PORT_B EQU 281H;8255B口地址

2、PORT_CTL EQU 283H;8255控制口地址CODE SEGMENT ASSUME CS:CODE ;B端口输出START: MOV AX,STACK MOV SS,AXLEA SP,TOP_S MOV DX,PORT_CTL;控制字端口 MOV AL,10010000B;控制字 OUT DX,ALMOV AL,01 MOV DX,PORT_BTEST: OUT DX,ALMOV BX,1000;BX*20msDELAY1:MOV CX,16EAH DELAY2:LOOP DELAY2;延时20msDEC BXJNZ DELAY1ROL AL,01;循环左移JMP TESTCODE

3、ENDSEND STARTd) 实验体会及建议实验进入第二次开始真正地通过接口芯片8255A控制外设的动作实现了更加复杂和精确的控制。数码管的动态扫描需要多重循环程序设计的时候需要有清晰的逻辑转移。 我在实验中遇到的主要问题是时间的控制具体在单个数码管显示时间、状态间转换的等待时间控制方面。由于循环较多容易造成的问题是外层循环次数设置过大导致整个程序的循环过大单次大循环时间太长显示出现问题。经过多次的调整才对时间的控制和配合找到了感觉。实验二:键盘显示控制实验a)实验内容及要求1、编程:使得在小键盘上每按一个健,4位数码管上显示出相应字符,它们的对应关系如下:小键盘 显示 小键盘 显示0 0

4、C C1 1 D d2 2 E E3 3 F F4 4 5 5 6 6 7 7 8 8 9 9 A B b 2、接线: PC7PC0 /8255 接 行3列0 /4X4键盘PA7PA0 /8255 接 dpa /LED数码管CS/8255 接 Y1 /IO地址+5V 接 S0 /LED数码管GND 接 S3S1 /LED数码管b)设计原理,给出硬件连线图c)实验代码及完成情况及结果PORT_A EQU 280H;8255A口地址PORT_B EQU 281H;8255B口地址PORT_C EQU 282H;8255C口地址PORT_CTL EQU 283H;8255控制口地址DATA SEGM

5、ENT;键盘扫描表; 0 1 2 3 4 5 6 7KEYBDB 77H,7BH,7DH,7EH,0B7H,0BBH,0BDH,0BEH; 8 9 A B C D E FDB 0D7H,0DBH,0DDH,0DEH,0E7H,0EBH,0EDH,0EEH;数码管表,共阳; 0 1 2 3 4 5 6 7TUBEDB 40H,79H,24H,30H,19H,12H,02H,78H; 8 9 A B C D E FDB 00H,10H,08H,03H,46H,21H,06H,0EHDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DAT

6、AMOV DS,AX;方式0,A端口和C端口输出,B端口输入MOV DX,PORT_CTL;控制字端口MOV AL,10000010B;控制字OUT DX,ALMOV DX,PORT_CMOV AL,0FFHOUT DX,AL;向所有行送0RE:MOV DX,PORT_AMOV AL,00HOUT DX,AL;查是否全松开MOV DX,PORT_BWAIT_O:IN AL,DXAND AL,0FHCMP AL,0FHJNE WAIT_O;查是否有键按下WAIT_P:IN AL,DXAND AL,0FHCMP AL,0FHJE WAIT_P;消抖MOV CX,16EAH DELAY:LOOP D

7、ELAY;延时20ms;检查按键是否仍按着IN AL,DXAND AL,0FHCMP AL,0FHJE WAIT_P;确定那一个键按下MOV AL,0FEHMOV CL,ALNEXT_R: MOV DX,PORT_AOUT DX,ALMOV DX,PORT_BIN AL,DXAND AL,0FHCMP AL,0FHJNE ENCODEROL CL,01MOV AL,CLJMP NEXT_R;编码ENCODE:MOV BX,0000FHIN AL,DXNEXT_T:CMP AL,KEYBBXJE DONEDEC BXJNS NEXT_T;不为负值,继续查MOV AH,01;减为负值,出错码01AHJMP EXITDONE:MOV AL,BLMOV AH,00MOV BX,OFFSET TUBEXLATNOT ALMOV DX,PORT_COUT DX,ALJMP REEXIT:HLTCODE ENDSEND STARTd) 实验体会及建议通过这次的实验我了解到自己还有很多的不足,比如做实验的速度很 慢,效率很低,思维不集中导致最后老师验收的时候没有来的及交,对书本 的了解不是很透彻,也因此我决定下次实验的时候一定要好好地去思考,尽 量在课外把实验看懂!

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

当前位置:首页 > 学术论文 > 毕业论文

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922