• <label id="gmp5l"></label>

    <li id="gmp5l"></li>
      • 您好,歡迎訪問上海意泓電子科技有限責(zé)任公司網(wǎng)站!
        4新聞資訊
        您的位置: 首頁 ->  新聞資訊 -> 單片機(jī)

        ?51單片機(jī) (2)流水燈實驗

        文章出處:單片機(jī) 責(zé)任編輯:上海意泓電子科技有限責(zé)任公司 發(fā)表時間:
        2018
        05-19

        一、控制一/多燈亮滅

        匯編實現(xiàn)


        1. ;注釋  

        2. LOOP:  

        3. ;SETB P1.1 ;(1)熄滅燈  

        4. MOV P1,#0FFH;  

        5. LCALL DELAY     ;(2)延時一段時間  

        6. ;CLR P1.1        ;(3)點亮燈  

        7. MOV P1,#0FDH;  

        8. LCALL DELAY     ;(4)延時一段時間     

        9. AJMP LOOP       ;(5)跳轉(zhuǎn)到第一句LOOP處  

        10.   

        11. ;以下子程序   

        12. DELAY:   

        13.     MOV R7,#250 ;  

        14. D1: MOV R6,#250 ;  

        15. D2: DJNZ R6,D2  ;R6=R6-1;IF(R6!=0) GOTO D2;  

        16.     DJNZ R7,D1  ;  

        17.     RET         ;返回主程序  

        18. END             ;子程序結(jié)束標(biāo)志  


        C語言實現(xiàn)


        1. #include   

        2.   

        3. sbit led=P1^3;  

        4. void Delay(){  

        5.     unsigned char i,j;  

        6.     for(i=0;i<250;i++)  

        7.     for(j=0;j<200;j++);  

        8. }  

        9. void main(){  

        10.    while(1){  

        11.       P1=0xfe;  

        12.       Delay(); Delay();Delay();Delay();  

        13.       led=0;  

        14.       Delay(); Delay();Delay();Delay();  

        15.       P1=0x00;  

        16.       Delay(); Delay();Delay();Delay();  

        17.    }  

        18. }  

        開關(guān)控制單燈亮滅


        1. #include   

        2.   

        3. sbit led=P1^3;  

        4. void main(){  

        5.    while(1){  

        6.       if(P0^1==0){ //開關(guān)是否按下  

        7.         led=0;  

        8.       }else{  

        9.             led=1;  

        10.       }  

        11.    }  

        12. }  

        流水燈表示乘法運(yùn)算結(jié)果


        1. #include  

        2. void main(void){  

        3.   unsigned char s,m,n;  

        4.   m=64;  

        5.   n=71;  

        6.   s=m*n;  //s=4544=17*256+192  所以用P0表示17、P1表示192  

        7.   P0=s/256;  

        8.   P1=s%256;  

        9. }  


        走馬燈


        1. #include   

        2. void Delay(){  

        3.     unsigned char i,j;  

        4.     for(i=0;i<250;i++)  

        5.     for(j=0;j<250;j++);  

        6. }  

        7. void main(){  

        8.    unsigned int i;  

        9.    i=0x01;   

        10.    while(1){  

        11.       P1=i; Delay();  

        12.       i<<=1;  

        13.       if(i==0x100) i=0x01;  

        14.    }  

        15. }  

        摘自《單機(jī)片C語言編程100個實例》


        1. //實例19:用if語句控制P0口8位LED的流水方向  

        2. #include  //包含單片機(jī)寄存器的頭文件   

        3. sbit S1=P1^4;     //將S1位定義為P1.4  

        4. sbit S2=P1^5;     //將S2位定義為P1.5  

        5. /***************************** 

        6. 函數(shù)功能:主函數(shù)  

        7. *****************************/  

        8. void main(void)  

        9. {    

        10. while(1)  

        11. {  

        12. if(S1==0)   //如果按鍵S1按下   

        13. P0=0x0f;  //P0口高四位LED點亮   

        14. if(S2==0)   //如果按鍵S2按下   

        15. P0=0xf0;  //P0口低四位LED點亮   

        16. }        

        17. }  


        上海意泓電子科技有限責(zé)任公司 版權(quán)所有 未經(jīng)授權(quán)禁止復(fù)制或鏡像

        CopyRight 2020-2025 www.jlodreman.com All rights reserved   滬ICP備2021005866號

        亚洲人成影院在线观看,91综合永久在线观看,欧洲亚洲日韩国产AV一级,中文字幕在线视频播放
      • <label id="gmp5l"></label>

        <li id="gmp5l"></li>