欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
大佬們按鍵中斷求幫助
[打印本頁]
作者:
張879
時間:
2022-12-25 15:37
標題:
大佬們按鍵中斷求幫助
#include <REGX52.H>
sbit key1 = P2^4;
sbit key2 = P2^5;
sbit key3 = P2^6;
sbit key4 = P2^7;
unsigned char sz[]={0x10,0x00,0x78,0x02,0x12,0x19,0x30,0x24,0x79,0x40};//數碼管值
void Timer0Init(void) //1毫秒@12.000MHz
{
TMOD &= 0xF0; //設置定時器模式
TMOD |= 0x01; //設置定時器模式
TL0 = 0x30; //設置定時初值
TH0 = 0xf8; //設置定時初值
TF0 = 0; //清除TF0標志
TR0 = 1; //定時器0開始計時
EA=1; //定時器總開關
ET0=1; //定時器0開關
}
bit keydq = 1;//按鍵當前值
bit bc = 1;//保存前一次的值
void main()
{
unsigned char i; //數值變化
P2=0xfe;//矩陣按鍵選擇P2.0低電平
Timer0Init();
while(1)
{
if(key2==0)
{
P0=0X55;
}
if(keydq != bc) //當前值與前一次不一樣
{
if(bc == 0)
{
i++;
if(i >= 9)
{
i=0;
}
}
}
P1=sz[i];
bc=keydq;
}
}
void time0() interrupt 1
{
unsigned char keybuf=0xff;
P2=0XFE;
TL0 = 0x30; //設置定時初值
TH0 = 0xf8; //設置定時初值
keybuf=(keybuf<<1) | key2;
if(keybuf==0x00)
{
keydq=0;
}
else if(keybuf==0xff)
{
keydq=1;
}
else
{}
}
程序如上在main中將keydq換成key1則按鍵正常使用,求大佬幫看看哪里寫的有問題
作者:
張879
時間:
2022-12-26 14:09
小白求求懂得大佬看看是哪里問題,2天來沒搞懂
作者:
aecuter
時間:
2023-4-27 20:25
宏定義的是key1
作者:
jxchen
時間:
2024-2-2 09:52
非常好,謝謝樓主
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1