性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

  • 回復(fù)
  • 收藏
  • 點(diǎn)贊
  • 分享
  • 發(fā)新帖

寫(xiě)了外部中斷的程序,可是出了點(diǎn)問(wèn)題

#include

#include

#define LED P0

sbit K=P1^0;

unsigned char KEY=0;

void Delay(unsigned int n)

{

unsigned char a,b;

for(;n>0;n--)

{

for(b=1;b>0;b--)

for(a=22;a>0;a--);

}

}

void Intconfiguration(void)

{

IT0=1;

EX0=1;

EA=1;

}

void Int() interrupt 0

{

Delay(1);

if(K==0)

{

KEY=1;

}

}

void main()

{

LED=0xfe;

Intconfiguration();

while(1) {

if(KEY==1)

{

LED=_cror_(LED,1);

}

if(KEY==0)

{

LED=_crol_(LED,1);

}

Delay(2000);

}

}

全部回復(fù)(26)
正序查看
倒序查看
backin
LV.4
2
2014-02-25 20:38
p0加上拉電阻沒(méi)有?你是怎么發(fā)出中斷信號(hào)的?那個(gè)intrins.h是什么文件?延時(shí)函數(shù)的第二個(gè)for有什么意義?main函數(shù)前面的void去掉再試試看
0
回復(fù)
close3
LV.5
3
2014-02-25 20:38
@backin
p0加上拉電阻沒(méi)有?你是怎么發(fā)出中斷信號(hào)的?那個(gè)intrins.h是什么文件?延時(shí)函數(shù)的第二個(gè)for有什么意義?main函數(shù)前面的void去掉再試試看
電路是試驗(yàn)箱做好的,中斷信號(hào)是下降沿觸發(fā),intrins是為了左移右移準(zhǔn)備的函數(shù),延時(shí)函數(shù)是抄來(lái)的應(yīng)該沒(méi)錯(cuò),void應(yīng)該不要去掉吧,應(yīng)為沒(méi)有返回值啊
0
回復(fù)
backin
LV.4
4
2014-02-25 20:39
@close3
電路是試驗(yàn)箱做好的,中斷信號(hào)是下降沿觸發(fā),intrins是為了左移右移準(zhǔn)備的函數(shù),延時(shí)函數(shù)是抄來(lái)的應(yīng)該沒(méi)錯(cuò),void應(yīng)該不要去掉吧,應(yīng)為沒(méi)有返回值啊
主函數(shù)不用void,用了反而要出問(wèn)題。你的設(shè)計(jì)是中斷來(lái)了的時(shí)候如果此時(shí)按鍵按下就改變led?
0
回復(fù)
backin
LV.4
5
2014-02-25 20:40
@backin
主函數(shù)不用void,用了反而要出問(wèn)題。你的設(shè)計(jì)是中斷來(lái)了的時(shí)候如果此時(shí)按鍵按下就改變led?
話說(shuō)你到底是哪里出問(wèn)題了?是沒(méi)法編譯還是燒錄了程序沒(méi)法正常運(yùn)行。
0
回復(fù)
backin
LV.4
6
2014-02-25 20:41
@backin
話說(shuō)你到底是哪里出問(wèn)題了?是沒(méi)法編譯還是燒錄了程序沒(méi)法正常運(yùn)行。
還有那個(gè)延時(shí)函數(shù)確實(shí)很奇怪。
0
回復(fù)
close3
LV.5
7
2014-02-25 20:41
@backin
還有那個(gè)延時(shí)函數(shù)確實(shí)很奇怪。
要不我換個(gè)延時(shí)函數(shù)?
0
回復(fù)
close3
LV.5
8
2014-02-25 20:42
程序編譯沒(méi)錯(cuò),也能用,但是狀態(tài)改變不了,就是中斷不起作用
0
回復(fù)
backin
LV.4
9
2014-02-25 20:43
@close3
程序編譯沒(méi)錯(cuò),也能用,但是狀態(tài)改變不了,就是中斷不起作用
你確定在p3.幾來(lái)著,反正就是中斷0的輸入端接受到下降沿的時(shí)候按鍵是按下的?
0
回復(fù)
close3
LV.5
10
2014-02-25 20:44
@backin
你確定在p3.幾來(lái)著,反正就是中斷0的輸入端接受到下降沿的時(shí)候按鍵是按下的?
我主函數(shù)用了一個(gè)while循環(huán)啊,可以不停地接受吧
0
回復(fù)
backin
LV.4
11
2014-02-25 20:44
@close3
程序編譯沒(méi)錯(cuò),也能用,但是狀態(tài)改變不了,就是中斷不起作用
對(duì)的,按照你的程序設(shè)定,你需要將p1.0接地,然后給p3.2一個(gè)下降沿,此時(shí)key才會(huì)等于1,然后程序的行為是每隔一段時(shí)間對(duì)p0端口進(jìn)行一次移動(dòng)。
0
回復(fù)
backin
LV.4
12
2014-02-25 20:45
@backin
對(duì)的,按照你的程序設(shè)定,你需要將p1.0接地,然后給p3.2一個(gè)下降沿,此時(shí)key才會(huì)等于1,然后程序的行為是每隔一段時(shí)間對(duì)p0端口進(jìn)行一次移動(dòng)。
主函數(shù)不論在干什么中斷都不會(huì)受到影響的
0
回復(fù)
close3
LV.5
13
2014-02-25 20:46
@backin
主函數(shù)不論在干什么中斷都不會(huì)受到影響的
那這個(gè)程序應(yīng)該怎么改能?
0
回復(fù)
backin
LV.4
14
2014-02-25 20:46
@close3
那這個(gè)程序應(yīng)該怎么改能?
你想要實(shí)現(xiàn)什么目標(biāo)?
0
回復(fù)
close3
LV.5
15
2014-02-25 20:47
@backin
你想要實(shí)現(xiàn)什么目標(biāo)?
沒(méi)有中斷LED彩燈依次左移,有中斷LED彩燈右移
0
回復(fù)
backin
LV.4
16
2014-02-25 20:48
@close3
沒(méi)有中斷LED彩燈依次左移,有中斷LED彩燈右移
中斷只是一瞬間的事,只有下降沿到來(lái)的那一刻才叫有中斷
0
回復(fù)
close3
LV.5
17
2014-02-25 20:49
@backin
中斷只是一瞬間的事,只有下降沿到來(lái)的那一刻才叫有中斷
中斷來(lái)的瞬間KEY值不是改變了嗎,主程序是依照KEY的值來(lái)決定左移右移的
0
回復(fù)
close3
LV.5
18
2014-02-25 20:49
@close3
中斷來(lái)的瞬間KEY值不是改變了嗎,主程序是依照KEY的值來(lái)決定左移右移的
解決了,原來(lái)中斷的IO口用錯(cuò)了
0
回復(fù)
backin
LV.4
19
2014-02-25 20:50
@close3
解決了,原來(lái)中斷的IO口用錯(cuò)了
不過(guò)按照你的程序key值沒(méi)法再?gòu)?變回0哦
0
回復(fù)
backin
LV.4
20
2014-02-25 20:50
@backin
不過(guò)按照你的程序key值沒(méi)法再?gòu)?變回0哦
話說(shuō)我還以為你是要兩個(gè)信號(hào)同時(shí)控制呢
0
回復(fù)
daylight
LV.4
21
2014-02-25 20:51
設(shè)置了下降沿中斷嗎?
0
回復(fù)
close3
LV.5
22
2014-02-25 20:52
@daylight
設(shè)置了下降沿中斷嗎?
設(shè)置啦
0
回復(fù)
daylight
LV.4
23
2014-02-25 20:53
@close3
設(shè)置啦
沒(méi)看出問(wèn)題,再寫(xiě)一個(gè)吧
0
回復(fù)
matou
LV.3
24
2014-02-25 20:54
中斷io口好像不是p10,其他口的話可以直接用鍵盤掃描的形式
0
回復(fù)
close3
LV.5
25
2014-02-25 20:54
@matou
中斷io口好像不是p10,其他口的話可以直接用鍵盤掃描的形式
試驗(yàn)箱上有獨(dú)立鍵盤,應(yīng)該用哪個(gè)IO口?
0
回復(fù)
close3
LV.5
26
2014-02-25 20:55
@close3
試驗(yàn)箱上有獨(dú)立鍵盤,應(yīng)該用哪個(gè)IO口?
解決了,原來(lái)中斷的IO口用錯(cuò)了
0
回復(fù)
2014-02-25 20:56
@close3
解決了,原來(lái)中斷的IO口用錯(cuò)了
按你的程序看應(yīng)該要按著p10然后按p32。
0
回復(fù)
發(fā)