找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3299|回復(fù): 2
收起左側(cè)

分享一個(gè)四位左右循環(huán)流水燈單片機(jī)程序

[復(fù)制鏈接]
ID:321836 發(fā)表于 2021-5-28 11:53 | 顯示全部樓層 |閱讀模式
論壇中常見的是8位流水燈程序,4位的很少見,而本人近期波及到這種設(shè)計(jì),特分享以下程序,大佬飄過,一般學(xué)習(xí)者請(qǐng)笑納:
/*****************************************
*實(shí)驗(yàn)效果:程序運(yùn)行后,實(shí)現(xiàn)流水燈圖形
*****************************************/

#include <REGX52.H>    //包含單片機(jī)寄存器的頭文件
#include<intrins.h>

#define uchar unsigned char
uchar j, num;

void delay(unsigned int xms)   //延時(shí)x毫秒(ms)
{
    unsigned int i, j;
    for(i = xms; i > 0; i--)
        for(j = 112; j > 0; j--);
}


void main()
{
    num = 1;
    P0 = 0x01;        //P0=0000 0001,對(duì)應(yīng)第1個(gè)燈亮
    delay(1000);      //延遲1秒
    while(1)            //無限循環(huán),以使led燈持續(xù)閃爍,并防止程序跑飛
    {
        if(num == 1)
        {

            for(j = 0; j < 3; j++)
            {
                P0 = _crol_(P0, 1); //左移函數(shù),依次是00000010,00000100,00001000
                delay(1000);        //延遲1秒
                if(P0 == 0x08)
                    num = 0;
            }
        }
        else
        {
            for(j = 0; j < 3; j++)
            {
                P0 = _cror_(P0, 1);  //左移函數(shù),依次是0000 0100,0000 0010,0000 0001
                delay(1000);         //延遲1秒
                if(P0 == 0x01)
                    num = 1;
            }
        }
    }
}


評(píng)分

參與人數(shù) 1黑幣 +30 收起 理由
admin + 30 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:863362 發(fā)表于 2021-5-28 16:00 | 顯示全部樓層
_crol_(P0, 1)和_cror_(P0, 1)能直接拿來用?
回復(fù)

使用道具 舉報(bào)

ID:321836 發(fā)表于 2021-5-28 16:30 | 顯示全部樓層
sonique0371 發(fā)表于 2021-5-28 16:00
_crol_(P0, 1)和_cror_(P0, 1)能直接拿來用?

在普中的板子實(shí)測(cè)了的,沒有問題
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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