找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
12
返回列表 發(fā)新帖
樓主: x小白x
打印 上一主題 下一主題
收起左側(cè)

誰能給我給個(gè)流水燈程序

  [復(fù)制鏈接]
41#
ID:197324 發(fā)表于 2017-5-6 15:16 | 只看該作者
這個(gè)網(wǎng)上一大把
回復(fù)

使用道具 舉報(bào)

42#
ID:197136 發(fā)表于 2017-5-6 15:27 | 只看該作者
這個(gè)網(wǎng)上很多吧
回復(fù)

使用道具 舉報(bào)

43#
ID:197362 發(fā)表于 2017-5-6 16:07 | 只看該作者
用FPGA做的
回復(fù)

使用道具 舉報(bào)

44#
ID:197393 發(fā)表于 2017-5-6 16:59 | 只看該作者

/*---------------------------------------------------------------*/
#include<reg52.h> //包含頭文件,一般情況不需要改動(dòng),
                  //頭文件包含特殊功能寄存器的定義
/*-------------------------IO口定義----------------------------*/
sbit P20 = P2^0;//這是為了關(guān)閉開發(fā)板上的數(shù)碼管實(shí)際應(yīng)用去掉
sbit P21 = P2^1;//這是為了關(guān)閉開發(fā)板上的數(shù)碼管實(shí)際應(yīng)用去掉
sbit CS88 = P2^2;//這是為了關(guān)閉開發(fā)板上的點(diǎn)陣實(shí)際應(yīng)用去掉

sbit LED0=P1^0;// 用sbit 關(guān)鍵字 定義 LED到P1.0端口,
sbit LED1=P1^1;//LED是自己任意定義且容易記憶的符號(hào)
sbit LED2=P1^2;
sbit LED3=P1^3;
sbit LED4=P1^4;
sbit LED5=P1^5;
sbit LED6=P1^6;
sbit LED7=P1^7;
/*------------------------------------------------
                    主函數(shù)
------------------------------------------------*/
void main (void)
{
        P1=0x00;//這是為了關(guān)閉開發(fā)板上的數(shù)碼管實(shí)際應(yīng)用去掉
        P20=0; //這是為了關(guān)閉開發(fā)板上的數(shù)碼管實(shí)際應(yīng)用去掉
        P21=0; //這是為了關(guān)閉開發(fā)板上的數(shù)碼管實(shí)際應(yīng)用去掉
        CS88=0; //這是為了關(guān)閉開發(fā)板上的點(diǎn)陣實(shí)際應(yīng)用去掉
        P1=0xFF;//P1口置1

                  //此方法使用bit位對(duì)單個(gè)端口賦值
LED0=0;            //將P1.0口賦值 0,對(duì)外輸出低電平
LED1=1;
LED2=0;
LED3=1;
LED4=0;
LED5=1;
LED6=0;
LED7=1;
while (1)         //主循環(huán)
  {
                  //主循環(huán)中添加其他需要一直工作的程序
  }
}
回復(fù)

使用道具 舉報(bào)

45#
ID:197445 發(fā)表于 2017-5-6 19:24 | 只看該作者

#include "reg52.h"                         //此文件中定義了單片機(jī)的一些特殊功能寄存器
#include<intrins.h>                //因?yàn)橐玫阶笥乙坪瘮?shù),所以加入這個(gè)頭文件

typedef unsigned int u16;          //對(duì)數(shù)據(jù)類型進(jìn)行聲明定義
typedef unsigned char u8;

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

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

/*******************************************************************************
* 函 數(shù) 名       : main
* 函數(shù)功能                 : 主函數(shù)
* 輸    入       : 無
* 輸    出             : 無
*******************************************************************************/
void main()
{
        u8 i;
        led=0xfe;
        delay(50000); //大約延時(shí)450ms       
        while(1)
        {       
/*                for(i=0;i<8;i++)
                {
                        P2=~(0x01<<i);         //將1右移i位,然后將結(jié)果取反賦值到P2口
                        delay(50000); //大約延時(shí)450ms
                }
*/               
                for(i=0;i<7;i++)         //將led左移一位
                {
                        led=_crol_(led,1);
                        delay(50000); //大約延時(shí)450ms       
                }
                for(i=0;i<7;i++)        //將led右移一位
                {
                        led=_cror_(led,1);
                        delay(50000); //大約延時(shí)450ms       
                }       
        }               
}
回復(fù)

使用道具 舉報(bào)

46#
ID:197464 發(fā)表于 2017-5-6 20:17 | 只看該作者
#include<reg52.h>                                                      //包含特殊功能寄存器定義的頭文件
                                                                                          


sbit ADDR0 = P1^0;                                                          //位地址聲明,注意:sbit必須小寫,P必須大寫

sbit ADDR1 = P1^1;

sbit ADDR2 = P1^2;

sbit ADDR3 = P1^3;

sbit ENLED = P1^4;



int main(void)

{
                                                         
        unsigned char cnt1 = 0;                                              //定義一個(gè)字符型變量cnt1,并初始賦值0

        unsigned char cnt2 = 0;                                          //定義一個(gè)字符型變量cnt2,并初始賦值0

        unsigned int i = 0;                                                 //定義無符號(hào)整型變量i,并初始賦值0



        ENLED = 0;                                                                   // 使能3-8譯碼器

        ADDR3 = 1;

        ADDR2 = 1;                                        // 開啟8盞小燈總開關(guān)

        ADDR1 = 1;

        ADDR0 = 0;



        while(1)                                   //主循環(huán),程序無限循環(huán)執(zhí)行該循環(huán)體語句

        {

                P0 = ~(0x01 << cnt1);                       // P0等于1左移cnt位,控制8個(gè)LED燈,P0等于1時(shí)二進(jìn)制是0b00000001,然后取反變成0b11111110,8個(gè)小燈以此類推

                for (i=0; i<30000; i++);                           //軟件延時(shí)
                                                                                           //移位計(jì)數(shù)變量自加1
                cnt1++;

            
                if(cnt1 >= 8)                                                  //移位計(jì)數(shù)超過7次后,再重新從0開始
            {

               for (cnt2=0; cnt2<=7; ++cnt2)       // 實(shí)現(xiàn)從左向右移動(dòng)
                                                                                         
                        {

                                 P0 = ~(0x80 >> cnt2);                   //P0等于0x80右移cnt位,控制8個(gè)LED燈,P0等于80時(shí)二進(jìn)制是0b10000000,然后取反變成0b01111111,8個(gè)小燈以此類推

                                 for (i=0; i<30000; i++);           //軟件延時(shí)
                                                                                          
                                                                                          
                                 if(cnt2 >= 7)                                   //移位計(jì)數(shù)超過6次后,再重新從0開始

                                  {

                                        cnt1 = 0;                                   //移位計(jì)數(shù)cnt1等于0時(shí),開始循環(huán)

                                  }

                         }

                  }

                cnt2 = 0;                                                          //移位計(jì)數(shù)cnt2等于0時(shí),重新開始程序循環(huán)

        }



        return 0;                                                          //返回住函數(shù)

}
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表