P0接LED,P1接矩阵键盘
使用线反转法扫描
代码如下:
- uchar num = 0x10; // 0x10 indicate character H
- void keyscan()
- {
- uchar key = 0xff; // no key pressed
- uchar i;
- P1 = 0x0f;
- if(P1 != 0x0f)
- {
- delay(10);
- if(P1 != 0x0f)
- {
- key = P1;
- P1 = 0xf0;
- key += P1;
- }
- }
- for(i=0;i<16;i++) // if set i<17;then after release the key,LED will only show H
- {
- if(key_code[i] == key)
- {
- num = i;
- }
- }
- }
- void display()
- {
- P0 = led_code[num];
- delay(10);
- P0 = 0x00;
- }
- void main()
- {
- while(1)
- {
- keyscan();
- display();
- }
- }
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>