附数码管和矩阵键盘实例 ppt.ppt
上传人:王子****青蛙 上传时间:2024-09-14 格式:PPT 页数:19 大小:480KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

附数码管和矩阵键盘实例 ppt.ppt

附数码管和矩阵键盘实例ppt.ppt

预览

免费试读已结束,剩余 9 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

附数码管和矩阵键盘实例大家学习辛苦了,还是要坚持键盘扫描程序第一步:判断有无按键按下使A端口输出00H,读入B端口的数据,如果是FFH,则没有按键按下,继续第一步。否则进行第二步。第二步:行扫描法识别按键(1)使A端口的PA0输出低电平,其余为高电平。(2)观察列线的状态。(3)如果某条列线变为低电平,则第0行与该列相交位置上的键被按下;否则第0行没有键按下。(4)使PA1输出低电平,其余为高电平。(5)观察列线的状态判断是否有键按下。(6)如此逐行扫描下去,直到最后一行。通过分析可知,8255A的端口A工作在方式0的输出,端口B工作在方式0的输入,端口C不用。8255A端口的地址如下:A端口:60HB端口:62HC端口:64H控制口:66H8255的初始化及检测有无按键按下:PORTAEQU60HPORTBEQU62HPORTCEQU64HPORTCNEQU66HMOVDX,PORTCN;置8255A端口A、B工作在方式0MOVAL,10000010B;端口A为输出口,端口B为输入口OUTDX,ALWAITK:MOVDX,PORTA;等待键闭合MOVAL,00;行码送全“0”OUTDX,ALMOVDX,PORTB;读列码INAL,DXCMPAL,0FFHJZWAITK;无键按下,继续等待行扫描法识别按键MOVBL,0;扫描键盘矩阵,送键号初值MOVBH,11111110B;置初始扫描模式-行码送FEHMOVCX,8FNDROW:MOVAL,BH;送行码MOVDX,PORTAOUTDX,ALROLBH,1;修改行码MOVDX,PORTB;读列码INAL,DXCMPAL,0FFHJNZFNDCOL;有键按下,查列号ADDBL,8;无键按下,指向下一行键号初值LOOPFNDROW;8行扫描未完,送下一行扫描码JMPDONE;8行扫描完,无键按下FNDCOL:RORAL,1;查哪一列有键按下JNCRIGHT;查到按下键的键号INCBL;键号加1,查下一列JMPFNDCOLRIGHT:…;按下键的编号在BL中DONE:…;无键闭合共阴极:公共端接低电平“L”发光段接高电平“H”8位7段数码管动态显示电路图显示系统的具体工作步骤如下:a、设要显示的初始位码i=0;b、送第i位的段信号;c、送第i位的位信号;d、延时;e、i+1->if、如果i小于8,转bg、8位数据显示结束。程序如下:a_portequ80h;定义8255A的四个端口b_portequ82hc_portequ84hctrl_portequ86h……datasegment;定义数据段tab1db3FH,06H,5BH,4FH,…,;定义段码表dispbuffdb2,0,0,6,1,2,0,9;定义显示缓冲区dataends……