新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 80C51單片機程序(2)

        80C51單片機程序(2)

        作者: 時間:2016-11-22 來源:網絡 收藏
        //80C51程序——單片機流水燈顯示

        //發光二極管的閃爍

        本文引用地址:http://www.104case.com/article/201611/319716.htm

        -------------------------------------------------------------------

        #include //包含reg52.h頭文件

        #define uint unsigned int //宏定義uint的數據類型為unsigned int型
        sbit D1=P1^2; //定義P1^2位
        void main()
        {

        uintnum=50000;//定義num數據類型,并附初值
        D1=0; //點亮發光二極管

        while(num--);//延時

        num=50000;//定義num數據類型,并附初值
        D1=1; //點亮發光二極管

        while(num--);//延時
        }

        --------------------------------------------------------------------

        //發光二極管的閃爍

        --------------------------------------------------------------------

        #include //包含reg52.h頭文件
        #define uint unsigned int //宏定義uint的數據類型為unsigned int型
        #define uchar unsigned char //宏定義uchar的數據類型為unsigned char型
        sbit D1=P1^0; //定義P1^0位
        void delay(uint); //聲明延時子函數
        void main()
        {
        while(1) //進入死循環
        {
        D1=0; //點亮
        delay(100); //延時(注:由于軟件延時誤差比較大,這里不寫具體時間,大家可以在keil里調試測出)
        D1=1; //熄滅
        delay(100);//延時
        }
        }
        void delay(uint z)
        {
        uint x;//在子函數中定義局部變量x
        uchar y; //在子函數中定義局部變量y
        for(x=z;x>0;x--)
        for(y=20;y>0;y--); //進入一次嵌套循環

        }

        -------------------------------------------------------------------

        //流水顯示

        -------------------------------------------------------------------

        #include //包含reg52.h頭文件
        #include //包含intrins.h頭文件
        #define uint unsigned int//宏定義uint的數據類型為unsigned int型
        #define uchar unsigned char //宏定義uchar的數據類型為unsigned char型
        uchar temp,num,num1; //定義temp,num1,num2
        void delay(uint); //聲明延時子函數

        void main()
        {
        temp=0xfe; //定義臨時變量temp
        while(1)//進入死循環
        {
        for(num1=0;num1<3;num1++) //循環三個來回
        {
        for(num=0;num<8;num++) //每一趟亮八次
        {
        P1=temp; //點亮第一個燈,即給P1^0低電位
        delay(100);//延時
        temp=_crol_(temp,1); //用左移函數左移一位
        P1=0xff; //關閉燈
        delay(100); //延時
        }
        }
        for(num1=0;num1<3;num1++) //循環三個來回
        {
        for(num=0;num<8;num++)//每一趟亮八次
        {
        P1=temp; //點亮第一個燈,即給P1^0低電位
        delay(100);//延時
        temp=_cror_(temp,1); //用右移函數右移一位
        P1=0xff; //關閉燈
        delay(100); //延時
        }
        }
        while(1);//以上程序死循環
        }
        }

        void delay(uint z) //延時子函數
        {
        uint x,y;
        for(x=z;x>0;x--)
        for(y=110;y>0;y--); //進入一次嵌套程序
        }



        關鍵詞: 80C51單片機程

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 将乐县| 密云县| 凤庆县| 阿克陶县| 增城市| 虹口区| 菏泽市| 鞍山市| 莲花县| 喜德县| 西畴县| 康定县| 廉江市| 桦南县| 武隆县| 沂水县| 丹东市| 镇安县| 大方县| 潜江市| 凌海市| 江口县| 柘荣县| 额尔古纳市| 富民县| 青川县| 会昌县| 达州市| 陵川县| 临桂县| 台南市| 嘉荫县| 德阳市| 天水市| 随州市| 怀集县| 福海县| 吉林市| 石楼县| 沽源县| 盘锦市|