新聞中心

        外部中斷控制

        作者: 時(shí)間:2012-08-25 來源:網(wǎng)絡(luò) 收藏
        #includereg51.h> unsigned char flag=0; sbit p33=P3^3; unsigned char code port3[4][4]=   { 0x28,0x28,0x28,0x28, 0x29,0x29,0x29,0x29, 0x29,0x29,0x29,0x29, 0x29,0x29,0x29,0x29, }; unsigned char code port1[4][4]= { 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x20,0x20,0x20,0x20, 0x24,0x24,0x24,0x24, }; main()         { unsigned char i; unsigned int j,count=0; EA=1;       //總中斷允許 IT0=1;      //方式,下降沿有效 EX0=1;      //外中斷0允許 while(1) { while(1) { if(flag==1) break; } flag=0; for(i=0;i4;i++) { while(1) { for(j=0;j4;j++) { P3=port3[j];     P1=port1[j]; } if(++count==8000) {count=0;break;} } } p33=0;    //本單片機(jī)效果走完,改變p33,使下一單片機(jī),外部中斷0下降沿觸發(fā)} } void int0(void) interrupt 0 { flag=1; } 

        對(duì)程序稍加修改,昨天的程序,燈有點(diǎn)亂亮。

        上電馬上中斷:由于單片機(jī)復(fù)位后,各IO口為高電平。我給發(fā)中斷信號(hào)的單片機(jī),程序起始就給下一個(gè)中斷入口置低電平,所以上電后,下一個(gè)單片機(jī)進(jìn)入中斷了。

        漸變:本程序?yàn)樗膫€(gè)亮度等級(jí)。第一行不斷輪流循環(huán)執(zhí)行了8000次。

        break跳出整個(gè)循環(huán)。continue跳出本次循環(huán),重新執(zhí)行下一循環(huán)。goto語句應(yīng)盡量少用,通常與if連用,跳到對(duì)應(yīng)標(biāo)號(hào)處執(zhí)行

        以下為發(fā)送中斷單片機(jī)的程序,沒有完成想要的效果。

        #includereg51.h>sbit p33=P3^3;unsigned int count=0;main()         {p33=0;EA=1;       //總中斷允許IT0=1;      //方式,下降沿有效EX0=1; while(1){;}}void int0(void) interrupt 0{p33=1;p33=0;} 

        前一個(gè)單片機(jī)輸出p33,接后一單片機(jī)外部中斷0輸入p32

        單片機(jī)為



        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 双峰县| 万荣县| 海兴县| 惠安县| 盖州市| 清镇市| 莱西市| 三台县| 石家庄市| 石棉县| 图木舒克市| 舟曲县| 玛纳斯县| 库车县| 华宁县| 岐山县| 房产| 延川县| 册亨县| 祁阳县| 宁南县| 休宁县| 固安县| 大竹县| 赣榆县| 镇康县| 云霄县| 曲麻莱县| 禄丰县| 福州市| 积石山| 德兴市| 望谟县| 阜平县| 长乐市| 登封市| 江安县| 彭阳县| 府谷县| 德江县| 墨竹工卡县|