6.2.4 8255a的应用举例

6.2.4 8255a的应用举例

ID:5618245

大小:292.00 KB

页数:23页

时间:2017-11-13

6.2.4  8255a的应用举例_第1页
6.2.4  8255a的应用举例_第2页
6.2.4  8255a的应用举例_第3页
6.2.4  8255a的应用举例_第4页
6.2.4  8255a的应用举例_第5页
资源描述:

《6.2.4 8255a的应用举例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、6.2.48255A的应用举例例:键盘接口键盘编码键盘非编码键盘一、键盘工作过程:1、键盘输入信息(按键识别、按键代码的产生)(1)检测是否有键按下;(2)查出按下的是哪一个键;(3)转换成约定的代码。2、消去抖动等按键稳定后才检测键信息3、防止串键(多键)编码键盘:自动提供被按键的编码信息(如ASCII码),并能同时产生一个选通脉冲通知微处理器。第二、三步用硬件完成。优点:使用方便,需较多的硬件,价格昂贵。非编码键盘:由开关矩阵组成,全部工作靠程序来实现。优点:需硬件少,价格便宜。硬件:非编码键盘接口电路如图6-19。8255A的A口方式0,行输出,B口方式0,列

2、输入。按下键,与对应行列短接,通,为低电平。软件:负责按键识别,按键代码的产生,用延时程序消除键的抖动等问题。6-19二、键的识别按行和列线上的电平来识别闭合键,有两种方法:1、行扫描法先令所有行同时接地,再检查是否有列线为低电平,若有,则说明有键按下,再用扫描法确定哪个键。第0行,PA0=0,检查列线是否低电平,若是,则有键按下,处在相交位置上。找到“0”位对应的行列编号。……第7行,PA7=0,检查列线是否低电平,若是,则有键按下,处在相交位置上。程序如下:PORTAEQU0FFF8HPORTBEQU0FFFAHPORTCEQU0FFFCHPORTCNEQU0F

3、FFEH……JTABDB‘0123456789ABCDEF’……MOVDX,PORTCN;初始化程序MOVAL,82H;A口出,B口入OUTDX,ALWAITK:MOVDX,PORTA;等待键闭合MOVAL,0OUTDX,ALMOVDX,PORTBINAL,DXCMPAL,0FFHJZWAITKCALLDELAY;延时20ms;再一次B口输入判断,去抖动;确定按下的是哪个键:找到列线,保留数据,依;次右移到进位位,判是否为低电平。;工作单元:BL-键号,BH-行扫描值,CX-行数MOVBL,0MOVBH,11111110BMOVCX,8;FNDROW:MOVAL,B

4、HMOVDX,PORTAOUTDX,ALROLBH,1MOVDX,PORTBINAL,DXCMPAL,0FFH;实验只2列,JNZFNDCOL;与03H比较ADDBL,8;实验只2列,用2LOOPFNDROWJMPDONEFNDCOL:RORAL,1JNCRIGHTINCBLJMPFNDCOLRIGHT:LEASI,JTAB;产生代码MOVBH,0ADDBX,SIMOVAL,[BX];送显示或缓冲区等。2、行反转法先确定有键按下,即读入的列线值不为FFH。令列线B口改为输出方式,输出刚读入的值;行线A口改为输入方式,读入行线值,则得到对应按下键的行列值。例:9号键闭

5、合,设为8*8行线全0,读列值为11111101,再输出列线11111101后,第二次从行线上读得11111101得到列行值111111011111101B(FDFDH),对应键9。每个键对应一个代码放在表中,程序通过查表确定按下哪个键。实验中为8*2,则列值为00000001。TABLEDW0FEFEH,0FEFDH,0FEFBHDW0FEF7H,……CHARDB‘0123456789ABCDEF’此法遇到重键时,列值上的0超过一个,因此无对应的键代码,可判出是重键,再重新查找,解决重键问题。不必再一次B口输入判断,去抖动。初始化程序,等待键闭合程序同行扫描法。其

6、他程序如下:PUSHAX;保存列值PUSHAXCALLDELAYMOVDX,PORTCNMOVAL,90H;MOVDX,ALMOVDX,PORTBPOPAXOUTDX,ALMOVDX,PORTAINAL,DXPOPBXMOVAH,BL;列值放AH中LEASI,TABLELEADI,CHARMOVCX,16;共16键LOOP1:CMPAX,[SI]JZKEYPROADDSI,2INCDILOOPLOOP1JMPSTART……KEYPRO:MOVDL,[DI]MOVAH,2INT21H例:LED/开关接口开关设置的二进制信息由8255A的PB口输入,经程序转换为对应的7

7、段LED的段选码(字形码)后,通过PA口输出,由7段LED显示开关二进制状态值,试编制其控制程序。7段LED显示器如图6-20,接口电路如图6-23。分析:(1)PA口输出后经驱动器连7段LED显示器。(2)8255A设置为方式工作,PA口输出,PB口输入。方式选择控制字:10000010B=82H(3)用8086CPU,片内地址A2A1,A0空,取0。8255A端口地址为:0FFF8H,0FFFAH,0FFFCH,0FFFEH。(只低字节不同)6-206-23(4)用指令XLAT实现转换。(5)控制程序:DATASEGMENTSSEGCODEDB0C0H,0F

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。