数码管显示矩阵按键键值笔记.doc

数码管显示矩阵按键键值笔记.doc

ID:59194311

大小:14.50 KB

页数:2页

时间:2020-09-10

数码管显示矩阵按键键值笔记.doc_第1页
数码管显示矩阵按键键值笔记.doc_第2页
资源描述:

《数码管显示矩阵按键键值笔记.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、/******************************************************************************功能:数码管显示矩阵按键键值******************************************************************************/#include#include#defineucharunsignedchar#defineuintunsignedintsbitL1=P1^4;//定义列sbitL2=P1^5;

2、sbitL3=P1^6;sbitL4=P1^7;uchardis[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//共阳极0—F对应的段码值voiddelay10ms(uintc)//延时10ms,误差0us{unsignedchara,b;for(;c>0;c--)for(b=38;b>0;b--)for(a=130;a>0;a--);}voidmain(){uchartemp;chari;/***********若定义为unsign

3、ed型,i=0即00000000在执行循环时,******************i--后变为-1,无符号后i变成11111111即2^8-1=256***********/while(1)//死循环一直扫描{P1=0xf7;//行扫描初值,第四行P1.3,P1.0=0,P1.0~P1.0=1for(i=3;i>=0;i--){if(L1==0)P0=dis[i*4+0];//判断第1列有无键按下,可能为0,4,8,C,送显示if(L2==0)P0=dis[i*4+1];//判断第2列有无键按下,可能为1,5,9,D,送显示if(L3==0)P0=dis[i*

4、4+2];//判断第3列有无键按下,可能为2,6,A,E,送显示if(L4==0)P0=dis[i*4+3];//判断第4列有无键按下,可能为3,7,B,F,送显示delay10ms(1);/******单行扫描时间不能太长***********///temp=P1;//读入当前P1口的行状态11111110//temp=temp

5、0xf0;//或‘

6、’屏蔽行P1.0~P1.3,使保留原值;P1.4~P1.7初始化高电平//为P1.0~P1.3左移、扫描下一行做准备//temp=temp<<1;//P1.0~P1.3左移1位,准备下一行扫描//temp=tem

7、p

8、0xf0;//屏蔽P1.0~P1.3保原值,列P1.4~P1.7初始化高电平//P1=temp;//下一行的行扫描值送P1口,为下一行扫描做准备/***********************************************************************************以上从第一行(P1.0)扫描开始,初值11111110左移一位时,低位自动补0,难保证低位值为1;故以下从第四行(P1.3)扫描开始,初值11110111,通过右移保证高位值为1;另外,P1=_crol_(P1,1)这种方式,只有在高四位没有按键按下

9、时,才能正确换行扫描。**********************************************************************************/temp=P1;temp=temp

10、0xf0;temp=temp>>1;temp=temp

11、0xf0;P1=temp;}}}

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

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

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