欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
求助!單片機中斷計數的問題
[打印本頁]
作者:
asyxl
時間:
2017-8-30 11:46
標題:
求助!單片機中斷計數的問題
利用兩個按鍵模擬傳感器計數為a和b,當a大于b是亮一個燈,a等于b時亮另一個燈。
道理我懂,但是為什么程序寫出來后仿真卻不計數呢?請各位大神幫忙看一下應該怎么改
捕獲.PNG
(69.8 KB, 下載次數: 77)
下載附件
2017-8-30 11:47 上傳
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit out1=P1^0;
sbit out2=P1^1;
uint a=0,b=0;
void delay(uchar c)
{
uchar i;
while(c--)for(i=0;i<120;i++);
}
void t0isr() interrupt 1
{
a++;
}
void t1isr() interrupt 3
{
b++;
}
main()
{
TMOD=0x66;
ET0=1;
ET1=1;
TR1=1;
TR0=1;
EA=1;
OUT=1;
while(1)
{
if(a>b)out1=0;
if(a==b)
{
delay(200);
out2=0;
}
}}
復制代碼
作者:
jubaolun
時間:
2017-8-30 11:46
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit out1=P1^0;
sbit out2=P1^1;
uint a=0,b=0;
void delay(uchar c)
{
uchar i;
while(c--)for(i=0;i<120;i++);
}
void int0() interrupt 0
{
a++;
}
void int1() interrupt 2
{
b++;
}
main()
{
EX0=1;
EX1=1;
IT1=1;
IT0=1;
EA=1;
while(1)
{
if(a>b)out1=0;
if(a==b)
{
delay(200);
out2=0;
}
}}
作者:
a330300029
時間:
2017-8-30 14:40
我也沒測試過呀具體不太懂
作者:
jubaolun
時間:
2017-8-30 16:11
上面我改了外部中斷的語句:
EX0=1;
EX1=1;
IT1=1;
IT0=1;
作者:
ahshmj
時間:
2017-8-30 16:16
定時器工作模式設置不對。“TMOD=0x66”,計數器也沒有設置初值,即便你的程序其他地方沒問題,你按按鍵也要按65536次才能產生中斷,a或b才會加1。
大概你是想每按一次按鍵“a”或“b”增加“1”,你可以不用中斷,如:a=TL0 和b=TL1 。
程序還有許多問題,你自己實踐中提高吧。
作者:
zl2168
時間:
2017-8-30 16:23
應先學些基礎理論,才能事半功倍。
作者:
asyxl
時間:
2017-8-30 16:45
太感謝了
作者:
Q624353765
時間:
2017-8-30 22:11
看看3333
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1