色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

51單片機-流水燈

發(fā)布時間:2011-3-21 11:36    發(fā)布者:諸葛孔明
關鍵詞: 51單片機 , 流水燈



這個是原理圖,從圖中最右邊有一個排阻,也就是這里八個電阻封裝在一起,這里排阻的特點是八個

電阻有一個公共端,然后一個電源VCC通過跳線與排阻相連。到達二極管電流從正極流向負極,如

果二極管負極是低電平,則電流流過二極管,發(fā)光二極管亮起來。負極接在單片機的P2端口上。也就

是說P2的引腳位低電平時可驅(qū)動發(fā)光二極管發(fā)光。驅(qū)動各個燈閃爍的方法是把各位循環(huán)左移,使用函數(shù)

_crol_。

#include
#include
unsigned int a;

void delay(){
        int i,j;
        for(i = 0; i < 0xff; i++)
                for(j = 0; j < 0xff; j++)
                        ;
}

void liushui(){
        int i,dd;
        dd = 0xfe;                        //dd = 1111  1110 此時L9亮
        for(i = 0; i < 8; i++){
                P2 = dd;                        
                delay();
                dd = _crol_(dd,1);          //循環(huán)左移一位 dd = 1111 1101
        }
}
void main(){
        while(1){
                liushui();
        }
}

流水燈向左流動,當按住獨立按鍵時,流水燈向右移動:

#include
#include

unsigned int dd;
sbit key = P1^0;

void delay(){
        int i,j;
        for(i = 0; i < 0x2a; i++)
                for(j = 0; j < 0xff; j++)
                        ;
}

void right(){
        P2 = dd;
        delay();
        dd = _crol_(dd,1);        
}

void left(){
        P2 = dd;
        delay();
        dd = _cror_(dd,1);
}

void main(){
        dd = 0xfe;
        while(1){
                if(key == 1)
                        right();
                else {
                        delay();
                        if(key == 0)
                                left();
                }               
        }               
}

PWM調(diào)制使流水燈漸滅,改變占空比。

   1. #include   
   2. #include   
   3. #define uint unsigned int  
   4. uint a;  
   5.   
   6. void delay(uint t){  
   7.     int i,j;  
   8.     for(i = 0; i < t; i++)  
   9.         for(j = 0; j < 0xff; j++)  
  10.             ;  
  11. }  
  12.   
  13. void liushui(){  
  14.     int i,dd;  
  15.     dd = 0xfe;                        //dd = 1111  1110 此時L9亮  
  16.     for(i = 0; i < 8; i++){  
  17.         P2 = dd;                          
  18.         delay(1000);  
  19.         dd = _crol_(dd,1);          //循環(huán)左移一位 dd = 1111 1101  
  20.         P2 = 0xff;  
  21.         delay(300);  
  22.     }   
  23. }  
  24. void main(){  
  25.     while(1){  
  26.         liushui();  
  27.     }  
  28. }

李萬鵬
原文地址:http://blog.csdn.net/woshixingaaa/archive/2010/09/17/5891763.aspx
本文地址:http://www.54549.cn/thread-59035-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內(nèi)容、版權和其它問題,我們將根據(jù)著作權人的要求,第一時間更正或刪除。
williamkmcn 發(fā)表于 2011-7-7 17:30:27
好東西值得收藏
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表