欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 用C51單片機怎么做流水燈 [打印本頁]

作者: 123456說的方法    時間: 2017-10-7 16:52
標題: 用C51單片機怎么做流水燈
用C51單片機怎么做流水燈

作者: map0391    時間: 2017-10-7 18:53
借花獻佛
/**************************************************************************************
*                              LED流水燈實驗                                                                                                  *
實現現象:下載程序后LED呈現流水燈效果進行左移右移滾動
注意事項:無
***************************************************************************************/

#include "reg52.h"                         //此文件中定義了單片機的一些特殊功能寄存器
#include<intrins.h>                //因為要用到左右移函數,所以加入這個頭文件

typedef unsigned int u16;          //對數據類型進行聲明定義
typedef unsigned char u8;

#define led P0           //將P0口定義為led 后面就可以使用led代替P0口

/*******************************************************************************
* 函 數 名         : delay
* 函數功能                   : 延時函數,i=1時,大約延時10us
*******************************************************************************/
void delay(u16 i)
{
        while(i--);
}

/*******************************************************************************
* 函 數 名       : main
* 函數功能                 : 主函數
* 輸    入       : 無
* 輸    出             : 無
*******************************************************************************/
void main()
{
        u8 i;
        led=0x01;
        delay(50000); //大約延時450ms
        while(1)
        {
/*                for(i=0;i<8;i++)
                {
                        P0=(0x01<<i);         //將1右移i位,然后將結果賦值到P0口
                        delay(50000); //大約延時450ms
                }
*/

                for(i=0;i<7;i++)         //將led左移一位
                {
                        led=_crol_(led,1);
                        delay(50000); //大約延時450ms
                }
                for(i=0;i<7;i++)        //將led右移一位
                {
                        led=_cror_(led,1);
                        delay(50000); //大約延時450ms
                }
        }
}

作者: Larya    時間: 2017-10-7 19:22
去百度文庫找教程,或者看郭天祥的《新概念51單片機》入門,用proteus仿真或者淘寶買一塊片子。
作者: fyh0826    時間: 2017-10-7 20:07
網上一搜一大堆例程
作者: 亞洲大陸TS    時間: 2017-10-7 20:36
很簡單,STC-ISP下載軟件同時也提供了很多資料,打開軟件,跳到     范例程序---》選擇相應的單片機
如果你是新手,不知道軟件在哪里下,可以打開這個鏈接www點gxwmcu點com    (這是STC官網)
然后跳到    STC-ISP下載編程燒錄軟件,下載軟件就可以了

作者: 丁大寶    時間: 2017-10-7 22:03
是用單片機嘛?就用循環就可以了
作者: zl2168    時間: 2017-10-7 22:20
網上一大堆,自己去搜。
作者: luohe2008    時間: 2017-10-7 22:36
/************************************
*實驗名:流水燈
*實驗效果:流水燈(循環移位)
*************************************/
#include<reg52.h>
#include<intrins.h>
#include"delay.h"
void main()
{
        P1 = 0xfe;//1111 1110
        while(1)
        {
                delay(500);
                P1 =_crol_(P1,1);/*將P1循環左移1位*/
        }
}
作者: luohe2008    時間: 2017-10-7 22:36
www點yahboom點com/build.html?id=111&cid=33
請看這里
作者: acd12    時間: 2017-10-7 23:39
流水燈

流水燈.rar

13.19 KB, 下載次數: 3


作者: repluser    時間: 2017-10-8 09:21
* 實 驗 名                 : 流水燈實驗
* 實驗說明       : 延時實現LED流水燈效果P2口八個燈作跑馬燈。采用了寄存器存中間數
* 連接方式       : 見接線圖
* 注    意                 :
*******************************************************************************/

//--包含你要使用的頭文件
#include <reg52.h>          //此文件中定義了51的一些特殊功能寄存器
#include <intrins.h>

//--聲明全局函數--//
void Delay10ms(unsigned int c);   //延時10ms            

/*******************************************************************************
* 函 數 名         : main
* 函數功能                   : 主函數
* 輸    入         : 無
* 輸    出         : 無
*******************************************************************************/

main()
{
        unsigned char LED;

        LED = ~0xfe;          //0xfe = 1111 1110

        while (1)
        {
             P0 = LED;
                 Delay10ms(50);
                 LED = LED << 1;    //循環右移1位,點亮下一個LED "<<"為左移位
                  if (P0 == 0x00)        //當它全滅的時候,重新賦值
                 {
                         LED = 0xfe;          // 0xfe = 1111 1110
                 }
                                     
        }
}

/*******************************************************************************
* 函 數 名         : Delay10ms
* 函數功能                   : 延時函數,延時10ms
* 輸    入         : 無
* 輸    出         : 無
*******************************************************************************/

void Delay10ms(unsigned int c)   //誤差 0us
{
    unsigned char a, b;

        //--c已經在傳遞過來的時候已經賦值了,所以在for語句第一句就不用賦值了--//
    for (;c>0;c--)
        {
                for (b=38;b>0;b--)
                {
                        for (a=130;a>0;a--);
                }
           
        }      
}




作者: kongdexiang    時間: 2017-10-8 15:18
百度一下,你就知道
作者: 1402387648    時間: 2017-10-8 16:23
/**************************************************************************************
*                              LED閃爍的簡單試驗                                                                                                  *
*                延時實現p2口LED流水燈效果 (用循環移位指令)                                       *
*        連接方法: JP11(P2)和JP1(LED燈) 用8PIN排線連接起來                                                          *
*                                                                                                                                                                          *
***************************************************************************************/
#include <reg51.h>            //此文件中定義了51的一些特殊功能寄存器
#include <intrins.h>

void delayms(unsigned char ms)       
// 延時子程序
{                                               
        unsigned char i;
        while(ms--)
        {
                for(i = 0; i < 120; i++);
        }
}


main()
{
        unsigned char LED;
        LED = 0xfe;          //0xfe = 1111 1110
        while(1)
        {
             P2 = LED;
                 delayms(250);
                 LED = LED << 1;    //循環右移1位,點亮下一個LED "<<"為左移位
                  if(P2 == 0x00 )         {LED = 0xfe;  } // 0xfe = 1111 1110
                    
                 
        }
}






作者: sp150    時間: 2017-10-8 19:13
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
uint a,b,c;
void main()
{               
                P1=0xff;                                          //左到右
                P1=0xfe;
                for(a=0;a<20000;a++);
                b=7;
                while(b--)
                {       
                        P1=_cror_(P1,1);
                        for(a=0;a<20000;a++);
                }
                P1=0xff;
                P3=0xfe;
                for(a=0;a<20000;a++);
                b=7;
                while(b--)
                {
                        P3=_cror_(P3,1);
                        for(a=0;a<20000;a++);
                }
                P3=0xff;
                P2=0xfe;
                for(a=0;a<20000;a++);
                b=7;
                while(b--)
                {
                        P2=_cror_(P2,1);
                        for(a=0;a<20000;a++);
                }
                P2=0xff;
                P0=0x7f;
                for(a=0;a<20000;a++);
                b=7;
                while(b--)
                {
                        P0=_cror_(P0,1);
                        for(a=0;a<20000;a++);
                }                                                              //
                         //
            P0=0xff;                                         //全亮全滅
                P2=0xff;
                P3=0xff;
                P1=0xff;
                for(a=0;a<20000;a++);
                P0=0x00;
                for(a=0;a<20000;a++);
                P2=0x00;
                for(a=0;a<20000;a++);
                P3=0x00;
                for(a=0;a<20000;a++);
                P1=0x00;
                for(a=0;a<20000;a++);               
                                               
            P0=0xfe;                                    //從右向左追趕
                for(a=0;a<10000;a++);
                b=7;
                while(b--)
                {
                        P0=_crol_(P0,1);
                        for(a=0;a<10000;a++);
                }
                P0=0xff;
                P2=0x7f;
                for(a=0;a<10000;a++);
                b=7;
                while(b--)
                {
                        P2=_crol_(P2,1);
                        for(a=0;a<10000;a++);
                }
                P2=0xff;
                P3=0x7f;
                for(a=0;a<10000;a++);
                b=7;
                while(b--)
                {
                        P3=_crol_(P3,1);
                        for(a=0;a<10000;a++);
                }
                P3=0xff;
                P1=0x7f;
                for(a=0;a<10000;a++);
                b=7;
                while(b--)
                {
                        P1=_crol_(P1,1);
                        for(a=0;a<10000;a++);
                }                       
                P0=0xfe;                                         //上收放,下收放
                P1=0xfe;
                b=7;               
                while(b--)
                {
                        P0=_crol_(P0,1);
                        P1=_cror_(P1,1);
                        for(a=0;a<10000;a++);
                }
                P0=0xff;
                P1=0xff;
                P2=0x7f;
                P3=0xfe;
                b=7;               
                while(b--)
                {
                        P2=_cror_(P2,1);
                        P3=_crol_(P3,1);
                        for(a=0;a<10000;a++);
                }
                P2=0xff;
                P3=0xff;
                P2=0xfe;
                P3=0x7f;
                b=7;               
                while(b--)
                {
                        P2=_crol_(P2,1);
                        P3=_cror_(P3,1);
                        for(a=0;a<10000;a++);
                }                                          //
                P2=0xff;
                P3=0xff;
                P0=0x7f;
                P1=0x7f;
                b=7;               
                while(b--)
                {
                        P0=_crol_(P0,1);
                        P1=_cror_(P1,1);
                        for(a=0;a<10000;a++);
                }
                P0=0xff;
                P1=0xff;                                                    //
}

作者: aaaw    時間: 2017-10-8 20:08
簡單的程序設計,網上有教程
作者: 春風十里吹    時間: 2019-2-25 03:37
壇子里一大堆例程




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1