1、設(shè)置TI=1,是人為的設(shè)置了串行發(fā)送請(qǐng)求完畢的中斷請(qǐng)求標(biāo)志.但是你并沒(méi)有致能(es=1)串口中斷.實(shí)際上你的interrupt5的處理程序也沒(méi)有寫(xiě),是空的.(注意這點(diǎn))
2、你既然沒(méi)有設(shè)置it0=1(跳變觸發(fā)中斷),那么就是IT0=0(低電平觸發(fā)).
3、當(dāng)一個(gè)低電平來(lái)的時(shí)候,就進(jìn)入你的interrupt0處理程序.并且硬件自動(dòng)清標(biāo)記位置.執(zhí)行完畢 beer=1.
4、這個(gè)時(shí)候還有一個(gè)中斷請(qǐng)求標(biāo)志IT=1,于是產(chǎn)生了中斷嵌套.執(zhí)行完高級(jí)中斷后,進(jìn)入低級(jí)中斷interrupt5.之后是空白.
5、結(jié)果就是你描述的:蜂鳴器一直響,數(shù)碼管停止顯示.
不知道我這樣描述,你能不能理解.
51單片機(jī)問(wèn)題,想問(wèn)一下IT0=1和TI=1有什么區(qū)別,盡量解釋清楚一些,
51單片機(jī)問(wèn)題,想問(wèn)一下IT0=1和TI=1有什么區(qū)別,盡量解釋清楚一些,
以下程序是想讓數(shù)碼管一直工作,當(dāng)在給外部中斷0一個(gè)跳變電壓時(shí)讓蜂鳴器響一下,但不影響數(shù)碼管顯示,但是結(jié)果卻是一接跳變電壓,蜂鳴器一直響,數(shù)碼管停止顯示.最后查出原因(在程序上寫(xiě)出來(lái)了)
#include
sbit dula=P2^6;
sbit wela=P2^7;
sbit beer=P2^3;
unsigned char code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
unsigned int i;
int tt;
void main()
{ int num=0;
tt=0;
EA=1;
EX0=1;
TI=1; //這里是錯(cuò)的,最后改成了 IT0=1;就好了
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;
TR0=1;
wela=1;
P0=0x00;
wela=0;
dula=1;
P0=0x3f;
dula=0;
while(1)
{
if(tt==20)
{
tt=0;
num++;
if(num==16)
num=0;
dula=1;
P0=table[num];
dula=0;
}
}
}
void waibuzhongduan() interrupt 0
{
beer=0;
for(i=5000;i>0;i--);
beer=1;
}
void dingshi() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
tt++;
}
以下程序是想讓數(shù)碼管一直工作,當(dāng)在給外部中斷0一個(gè)跳變電壓時(shí)讓蜂鳴器響一下,但不影響數(shù)碼管顯示,但是結(jié)果卻是一接跳變電壓,蜂鳴器一直響,數(shù)碼管停止顯示.最后查出原因(在程序上寫(xiě)出來(lái)了)
#include
sbit dula=P2^6;
sbit wela=P2^7;
sbit beer=P2^3;
unsigned char code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
unsigned int i;
int tt;
void main()
{ int num=0;
tt=0;
EA=1;
EX0=1;
TI=1; //這里是錯(cuò)的,最后改成了 IT0=1;就好了
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;
TR0=1;
wela=1;
P0=0x00;
wela=0;
dula=1;
P0=0x3f;
dula=0;
while(1)
{
if(tt==20)
{
tt=0;
num++;
if(num==16)
num=0;
dula=1;
P0=table[num];
dula=0;
}
}
}
void waibuzhongduan() interrupt 0
{
beer=0;
for(i=5000;i>0;i--);
beer=1;
}
void dingshi() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
tt++;
}
其他人氣:122 ℃時(shí)間:2020-08-27 07:55:32
優(yōu)質(zhì)解答
我來(lái)回答
類(lèi)似推薦
- 51單片機(jī)p1=oxff是什么意思,為什么要這樣定義
- 求詳細(xì)解釋這個(gè)51單片機(jī)PWM波原理
- 麻煩高手幫我注釋一下這段程序 51單片機(jī)的
- 仿照 I imagine (that) a lot of people will come to the food festival.寫(xiě)四個(gè)句子.
- 現(xiàn)在在高一.初中英語(yǔ)和基本沒(méi)學(xué).現(xiàn)在補(bǔ)英語(yǔ)的話能補(bǔ)上么.還有就是我現(xiàn)在有一套新概念.我是以新概念為主還是課本呢.現(xiàn)在學(xué)校發(fā)的題90%看不明白.要是補(bǔ)的話能不能有希望啊.
- 17.Because air pollution has been greatly reduced,this city is still _______.
- 一棵樹(shù)在離地面9米處斷裂,樹(shù)的頂部落在離底部12米處,這棵樹(shù)折斷之前是多少米.
- 一道除法算式中,被除數(shù)加上除數(shù),與商的積是80,被除數(shù)是
- 物體做初速度為零的勻加速直線運(yùn)動(dòng),在第3S、第4S內(nèi)的總位移是1.2M,則第5S內(nèi)的位移是多少?
- 魯迅《雪》閱讀答案,
- 試比較雙子葉植物莖和單子葉植物莖初生結(jié)構(gòu)的不同
- 下列物質(zhì)放置在空氣中,變質(zhì)原因與其他有本質(zhì)區(qū)別的是 Na NaOH Na2SO3 Na2O2
猜你喜歡
- 18(x一6.2)=41.6這方程咋解
- 2請(qǐng)問(wèn)情態(tài)動(dòng)詞和助動(dòng)詞有哪些 他們有什么區(qū)別?是不是情態(tài)動(dòng)詞和助動(dòng)詞后面都要跟動(dòng)詞原形?
- 3硝酸鉀屬于復(fù)合肥嗎
- 4I'm sure you are b_____ .you can stay at home by yourself.
- 5"瘠"怎么讀
- 6送別同學(xué)的詩(shī)歌
- 7________ _________ does it take to go from my home to the school by car?Twenty minutes.
- 8寫(xiě)一篇英語(yǔ)短文,10句,描述一只動(dòng)物
- 9they的賓格形式
- 10競(jìng)選班長(zhǎng)發(fā)言稿400字左右
- 11有小學(xué)生、中學(xué)生和大學(xué)生共405人參加節(jié)目聯(lián)歡會(huì),他們?nèi)藬?shù)的比是2:三分之一:1.要算式,
- 12英語(yǔ)翻譯