標(biāo)題:
分享一個(gè)四位左右循環(huán)流水燈單片機(jī)程序
[打印本頁(yè)]
作者:
已飛的鷹
時(shí)間:
2021-5-28 11:53
標(biāo)題:
分享一個(gè)四位左右循環(huán)流水燈單片機(jī)程序
論壇中常見的是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) //無(wú)限循環(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;
}
}
}
}
作者:
sonique0371
時(shí)間:
2021-5-28 16:00
_crol_(P0, 1)和_cror_(P0, 1)能直接拿來(lái)用?
作者:
已飛的鷹
時(shí)間:
2021-5-28 16:30
sonique0371 發(fā)表于 2021-5-28 16:00
_crol_(P0, 1)和_cror_(P0, 1)能直接拿來(lái)用?
在普中的板子實(shí)測(cè)了的,沒有問題
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1