精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • 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++;
    }
    其他人氣:122 ℃時(shí)間:2020-08-27 07:55:32
    優(yōu)質(zhì)解答
    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ù)碼管停止顯示.
    不知道我這樣描述,你能不能理解.
    我來(lái)回答
    類(lèi)似推薦
    請(qǐng)使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點(diǎn),以保證最佳閱讀效果。本頁(yè)提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權(quán)所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機(jī)版