在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)中斷問(wèn)題30例

            單片機(jī)中斷問(wèn)題30例

            作者: 時(shí)間:2013-05-07 來(lái)源:網(wǎng)絡(luò) 收藏

            d7=0;

            for(c=0;c25000;c++);

            d7=1;

            }

            答:

            IT0=0;//低電平觸發(fā),只要監(jiān)測(cè)到是低電平,就觸發(fā)中斷

            你P3.2一直接地,一直是低電平,那中斷就不斷的執(zhí)行,當(dāng)然回不到主程序中了。

            改成IT0=1;//下降沿觸發(fā),監(jiān)測(cè)到高電平到電平跳變,就觸發(fā)中斷

            就算P3.2一直接地,也只觸發(fā)一次,中斷執(zhí)行完了,就回到主程序中了。

            4、我的這個(gè)程序?yàn)槭裁床荒芡耆珗?zhí)行整個(gè)程序誰(shuí)能告訴我!就是沒(méi)法執(zhí)行3次亮暗的!

            2010-10-20 21:40 提問(wèn)者:3865203bin3 | 懸賞分:10

            ORG 0000H

            AG:MOV A,#11111110B

            AG1:RL A

            MOV P0,A

            ACALL DELAY

            DJNZ R0,AG1

            ACALL DELAY

            MOV A,#11111111B

            MOV P1,A

            ACALL DELAY

            MOV P0,#00000000B

            ACALL DELAY

            MOV P0,#11111111B

            ACALL DELAY

            MOV P0,#00000000B

            ACALL DELAY

            MOV P0,#11111111B

            ACALL DELAY

            SJMP AG

            DELAY:MOV R3,#10

            D3:MOV R2,#200

            D1:MOV R1,#250

            D2JNZ R1,D2

            DJNZ R2,D1

            DJNZ R3,D3

            RET

            END

            我是想執(zhí)行完流水燈亮.就然后執(zhí)行全亮全暗3次 !可是就是不會(huì)跳到全亮全暗3次~~

            答:

            R0沒(méi)有賦初值!另外建議不要使用前2B個(gè)地址,因?yàn)?1中斷矢量就在這個(gè)空間里。建議從0030H開始。以下程序在keil4中仿真成功。

            ORG 0000H

            AJMP AG

            ORG 0030H

            AG:MOV A,#11111110B

            MOV R0,#8

            AG1:RL A

            MOV P0,A

            ACALL DELAY

            DJNZ R0,AG1

            ACALL DELAY

            MOV A,#11111111B

            MOV P1,A

            ACALL DELAY

            MOV P0,#00000000B

            ACALL DELAY

            MOV P0,#11111111B

            ACALL DELAY

            MOV P0,#00000000B

            ACALL DELAY

            MOV P0,#11111111B

            ACALL DELAY

            SJMP AG

            DELAY:MOV R3,#10

            D3:MOV R2,#200

            D1:MOV R1,#250

            D2JNZ R1,D2

            DJNZ R2,D1

            DJNZ R3,D3

            RET

            END

            5、STC89C52通過(guò)兩個(gè)外部中斷P3.2和P3.3,來(lái)控制P1.0和P1.1的數(shù)碼管亮和滅,一定keil C

            說(shuō)明:通過(guò)外部中斷0【P3.2】,P1.0的數(shù)碼管亮,中斷結(jié)束后,數(shù)碼管滅;再由外部中斷1【P3.3】,P1.1的數(shù)碼管亮,次中斷結(jié)束后,數(shù)碼管滅;簡(jiǎn)言之就是一個(gè)中斷只控制一個(gè)數(shù)碼管,中斷之間在功能上沒(méi)有必然的聯(lián)系,編程環(huán)境keil C51。P1.0和P1.1口上接的都是普通LED小燈,數(shù)碼管=LED小燈。

            以下是我編的程序,就是一個(gè)中斷控制一個(gè)數(shù)碼管,但是當(dāng)有兩個(gè)中斷時(shí),我就抓瞎了

            #include

            sbit D1=P1^0;

            void main()

            {

            D1=1;

            EA=1;

            EX0=1;

            }

            void exter() interrupt 0

            {

            D1=0;

            }

            求高手幫我改改程序,改成兩個(gè)中斷的那種,功能要求都寫在上面了~【希望能有程序注釋】3Q,我會(huì)去keil里面模擬的~~o()^))o

            答:

            /*模塊低電平有效、外部中斷0、1為低電平出發(fā)*/

            #include "reg52.h"

            void delay( char i)

            {

            unsigned char t;

            while(i--)

            {

            for(t=0;t108;t++);

            }

            }

            void INT0_ROUTING() interrupt 0//外部中斷0子程序

            {

            P0=0xfe;//LED0點(diǎn)亮

            while((P3|0xfb)==0xff);//等待外部中斷0口(P3^2松開)

            delay(10);//延時(shí)去抖動(dòng)

            P0=0xff;//LED0熄滅

            }

            void INT0_ROUTING() interrupt 2

            {

            P0=0xfd;//LED1點(diǎn)亮

            while((P3|0xf7)==0xff);//等待外部中斷1口(P3^3松開)

            delay(10);//延時(shí)去抖動(dòng)

            P0=0xff;//LED1熄滅

            }

            void main()

            {

            EA=1;//中斷總開關(guān)

            EX0=1;//外部中斷0開

            EX1=1;//外部中斷1開

            /*默認(rèn)低電平觸發(fā)*/

            while(1);//死循環(huán) 防止跑飛

            }

            6、單片機(jī),下面這段程序不知道為什么只進(jìn)一次中斷,就沒(méi)有反應(yīng)了呢?

            #include // 包含51單片機(jī)寄存器定義的頭文件

            #define uint unsigned int

            sbit key1=P1^4;

            sbit key2=P1^5;

            void delay1ms(uint i)

            {

            uchar j;

            while(i--)

            {

            for(j=0;j125;j++) //1ms基準(zhǔn)延時(shí)程序

            {

            ;

            }

            }

            }

            void init()

            {

            EA=1; //開總中斷

            ES=1; //開串口中斷

            TMOD= 0x21; //定時(shí)器1定時(shí)方式2,定時(shí)器1工作于8位自動(dòng)重載模式, 用于產(chǎn)生波特率

            SCON = 0x50; // 設(shè)定串行口工作方式1 允許接收

            TH0=(65536-50000)/256;

            TL0=(65536-50000)%256;

            TH1= 0xfd; //11.0592M 波特率9600

            TL1= 0xfd;

            PCON =0x00; // 波特率不倍增

            TR1= 1; //啟動(dòng)定時(shí)器T1

            TR0=1; //啟動(dòng)定時(shí)器T0

            ET0=1; //打開T0中斷

            }

            void key()

            {

            if(key2==0)

            P0=0x3f;

            delay1ms(5000);

            P0=0xf3;

            }

            void mainxh()

            {

            while(1)

            {

            key();

            P0=0x32;

            }

            }

            void keybreak()

            {

            P0=0xf1;

            delay1ms(5000);

            P0=0x1f;

            mainxh();

            }

            void main(void)

            {

            init();

            mainxh();

            }

            void Time0(void) interrupt 1

            {

            TH0=(65536-50000)/256; //定時(shí)器T0的高8位重新賦初值

            TL0=(65536-50000)%256; //定時(shí)器T0的高8位重新賦初值



            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉