基于8255键盘的设计Word文档格式.docx
- 文档编号:15380014
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:10
- 大小:83.59KB
基于8255键盘的设计Word文档格式.docx
《基于8255键盘的设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于8255键盘的设计Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
《16-32位微型计算机技术及应用》清华大学出版社戴梅萼史嘉权编著
《汇编语言程序设计》南京大学出版社姚君遗编著
《汇编语言程序设计教程》清华大学出版社杨基文编著
《微型计算机原理及接口技术》实验指导书
开题批注
【摘要】:
本设计以8086作为主控芯片,将8255单元与键盘及数码管显示单元连接,编写实验程序,扫描键盘输入,并将扫描结果送数码管显示。
【关键词】:
8255A键盘扫描
一、总体概括3
二、方案的论证与比较4
1、主要电路硬件方案的选择4
2、显示设备的选择4
三、电路设计5
1、电路原理框图5
2、电路原理图5
四、软件设计6
1、程序流程图6
2、程序清单7
五、调试结果7
六、总结与体会7
一、总体概括
具体的系统方框图如下所示:
图1系统方框图
二、方案的论证与比较
1、主要电路硬件方案的选择
我们只想到了一个方案:
用译码器提供端口地址,8255A的PA0~PA3作输出端口,PB0~PB7作输入端口。
2、显示设备的选择
方案一:
采用传统数码管作为显示设备。
传统数码管具有低能耗、低损耗、低压、长寿命、耐老化、防晒、防潮、防火、防高(低)温的特点;
对外界环境要求低,易于维护;
同时其精度比较高,精确可靠,操作简单,程序编写容易,资源占用少。
方案二:
采用液晶显示屏(LCD)显示数字量。
液晶显示器具有功耗低、无辐射危险、平面直角显示以及影像稳定等,可视面积大,画面效果好,也可以显示汉字,分辨率高,抗干扰能力强,显示内容多等特点。
综合考虑我们选择方案二。
三、电路设计
1、电路原理框图
图2电路原理框图
2、电路原理图
图3电路原理框图
四、软件设计
1、程序流程图
图4主程序流程图
图5显示子程序流程图
2、程序清单
见附录1
五、调试结果
经过多次在星研上调试,最终我们得到了正确的显示结果。
六、总结与体会
经过我们三人的分工协作和不懈努力,终于完成了本设计题目中的基本要求。
本作品以8086作为主控芯片,将8255单元与键盘及数码管显示单元连接,编写实验程序,扫描键盘输入,并将扫描结果送数码管显示。
在调试过程中,我们对星研的编程环境有了更深地了解。
在这次课程设计中,我们充分发挥团队协作精神,积极工作并最终完成了作品。
通关过这次实践使我们加深了对课本知识的理解,并从中受益匪浅。
参考文献
《微型计算机原理及接口技术》中国科技大学出版社吴秀清周荷琴编著
《16-32位微型计算机技术及应用》清华大学出版社戴梅萼史嘉权编著
《汇编语言程序设计》南京大学出版社姚君遗编著
《汇编语言程序设计教程》清华大学出版社杨记文编著
附录1:
;
端口地址
PORT_AEQU00F0H;
8255A口地址
PORT_BEQU00F1H;
8255B口地址
PORT_CTLEQU00F2H;
8255控制口地址
数据段
DATASEGMENT
DB100DUP(0)
DATAENDS
堆栈段
STACK1SEGMENTSTACK'
STACK'
DW50DUP(0)
TOP_STACKLABELWORD
STACK1ENDS
代码段
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK1
START:
MOVAX,STACK1
MOVSS,AX
LEASP,TOP_STACK
MOVAX,DATA
MOVDS,AX
初始化8255A,方式0,A口作输出,B口和C口为输入
MOVDX,PORT_CTL;
指向控制口
MOVAL,10000010B;
控制字
OUTDX,AL;
写入控制字
向所有行送0
MOVDX,PORT_A;
A口
MOVAL,00H
向A口各位输出0
读列,查看所有键是否均松开
MOVDX,PORT_B
WAIT_OPEN:
INAL,DX;
键盘状态读入B口
ANDAL,0FFH;
查8位列值
CMPAL,0FFH;
是否都为1(各键均松开)
JNEWAIT_OPEN
各键均已松开,再查列是否有0,即是否有键压下
WAIT_PRES:
读B口
是否有键压下
JEWAIT_PRES;
无,等待
有键压下,延时20ms,消抖动
MOVCX,16EAH;
延时20ms
DELAY:
LOOPDELAY
再查列,看键是否仍被压着
INAL,DX
ANDAL,0FFH
CMPAL,0FFH
已松开,转出等待键
判断哪一个键按下
START1:
MOVBL,4;
行数送BL
MOVBH,8;
列数送BH
MOVAL,0FEH;
D0=0,准备扫描0行
MOVCL,0FFH;
键盘屏蔽码送CL
MOVCH,0FFH;
CH中存放起始键号
LOP1:
OUT80H,AL;
A口输出,扫描一行
ROLAL,1;
修改扫描码,准备扫描下一行
MOVAH,AL;
暂时保存
INAL,81H;
读B口,以便确定所按键的列值
ANDAL,CL
CMPAL,CL
JNZLOP2;
有列线为0,转LOP2,找列值
ADDCH,BH;
无键按下,修改键号,以方便下一行找键号
MOVAL,AH;
恢复扫描码
DECBL;
行数减1
JNZLOP1;
行未扫描完转LOP1
JMPSTART;
重新扫描
LOP2:
INCCH;
键号加1
RORAL,1;
右移一位
JCLOP2;
无键按下,查下一列线
MOVAL,CH;
已找到,键号送AL,AL作入口参数
CALLNEARPTRSHOW;
调用显示子程序
SHOWPROCNEAR
PUSHAX
CREQU0DH
LFEQU0AH
MESDB'
你按下的键号为:
AL'
CR,LF,'
$'
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETMES;
DS:
DX指向字符串MES
MOVAH,9;
9号功能调用
INT21H
SHOWENDP
CODEENDS
ENDSTART1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 8255 键盘 设计