欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
怎么通過編程實現單片機按鍵掃描顯示0到15,急需大神求解
[打印本頁]
作者:
鐘宇大傻逼
時間:
2019-2-22 14:59
標題:
怎么通過編程實現單片機按鍵掃描顯示0到15,急需大神求解
怎么通過編程實現單片機按鍵掃描顯示0到15,比如按下按鍵1顯示1,按下按鍵2顯示2.....按下按鍵11顯示11
這是我的原程序,只能實現單數,不知道怎么實現雙數,求大家幫幫忙
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit wr=P2^5;
sbit cs1=P2^6;
sbit cs2=P2^7;
uchar code table[]={0xc0,
0xf9,0xa4,0xb0,0x99,0x92,
0x82,0xf8,0x80,0x90,0x88};
void dms(uint);
uchar num;
void display(num)
{
cs1=1;
P0=0xfe;
wr=0;
wr=1;
cs1=0;
cs2=1;
P0=table[num];
wr=0;
wr=1;
cs2=0;
}
void m()
{
uchar tp,k;
P3=0xfe;
tp=P3;
tp=tp&0xf0;
if(tp!=0xf0)
{
dms(10);
tp=P3;
tp=tp&0xf0;
if(tp!=0xf0)
{
tp=P3;
switch(tp)
{
case 0xee:
k=0;
break;
case 0xde:
k=1;
break;
case 0xbe:
k=2;
break;
case 0x7e:
k=3;
break;
}
while(tp!=0xf0)
{
tp=P3;
tp=tp&0xf0;
}
display(k);
}
}
P3=0xfd;
tp=P3;
tp=tp&0xf0;
if(tp!=0xf0)
{
dms(10);
tp=P3;
tp=tp&0xf0;
if(tp!=0xf0)
{
tp=P3;
switch(tp)
{
case 0xed:
k=4;
break;
case 0xdd:
k=5;
break;
case 0xbd:
k=6;
break;
case 0x7d:
k=7;
break;
}
while(tp!=0xf0)
{
tp=P3;
tp=tp&0xf0;
}
display(k);
}
}
P3=0xfb;
tp=P3;
tp=tp&0xf0;
if(tp!=0xf0)
{
dms(10);
tp=P3;
tp=tp&0xf0;
if(tp!=0xf0)
{
tp=P3;
switch(tp)
{
case 0xeb:
k=8;
break;
case 0xdb:
k=9;
break;
case 0xbb:
k=10;
break;
case 0x7b:
k=11;
break;
}
while(tp!=0xf0)
{
tp=P3;
tp=tp&0xf0;
}
display(k);
}
}
}
void dms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
while(1)
{
m();
}
}
作者:
wulin
時間:
2019-2-22 20:50
你的程序只寫了一位數碼管顯示,怎能顯示兩位數?程序沒有任何注釋,別人怎么準確知道你的硬件電路連接?
作者:
static
時間:
2019-2-22 23:43
上電路圖,不方便的話上壇子看視頻
作者:
2583715224
時間:
2019-2-23 15:07
你忘了,顯示都是按16進制來顯示的,而且你一次只掃描一次
作者:
dxn396396396
時間:
2019-2-24 20:45
先檢測按下第幾行在檢測按的是哪個,沒思路的話可以參考一下網上的
作者:
wysh_2012
時間:
2019-2-24 22:01
程序要有詳細的注釋和關于數碼管接線的說明,還有變量名函數名的命名要規范和見名知義,這樣別人也容易看得懂為你解答。
作者:
菜用雞
時間:
2019-3-4 10:43
如果是數碼管的話可以先取整顯示,在取余顯示,
作者:
菜用雞
時間:
2019-3-4 10:45
如果不想顯示一位數時帶個0在前面(如09,08,11)再加一個判斷條件
作者:
黛angle
時間:
2019-3-4 15:04
在編制鍵盤輸入程序時常常要用到一個鍵的掃描碼或ASC碼,如用到 Foxpro 的 inkey() 函數,以及用到 BIOS 的 INT 16H時,但找一個編碼表不太容易,有時候找到的編碼表又不全,無法查到組合鍵的編碼,本程序就是一個隨時用來顯示按鍵的ASC碼及掃描碼的程序,可以用 16 進制和 10 進制同時顯示一個鍵按下和放開的掃描碼,以及ASC碼,同樣也支持組合鍵。
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1