當前位置:首頁 » 編程語言 » c語言編寫走馬燈
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言編寫走馬燈

發布時間: 2023-08-25 22:23:42

『壹』 請問以下有關單片機跑馬燈的c語言程序各語句的含義(詳細)

#include <reg51.h> //51頭文件
#include <intrins.h> //包含移位函數_crol_
void Delay10ms(unsigned int c); //延時函數聲明

void main(void)
{
unsigned char LED;

LED = 0x01; //一個unsigned char有8位,每一位代表了一個燈,初始點亮第一盞燈
while(1)
{
P0 = LED; //點亮一盞燈

Delay10ms(50); //延時500ms,讓其量一會兒

LED = _crol_(LED,1); //向左移位函數,比如 0x01 --> 0x02 --> 0x04 -->0x08 ---> 0x10
}
}

void Delay10ms(unsigned int c) //延時函數
{
unsigned char a, b;

for (;c>0;c--) //三重循環延時,大約延時10ms
{
for (b=38;b>0;b--)
{
for (a=130;a>0;a--);
}
}
}

『貳』 51單片機 ,設計一個跑馬燈程序,用軟體延時,p0輸出,怎麼設計c語言,用p1口的開關控制燈循環的速率

51單片機是單片機接觸最早的,下邊這個程序希望能幫到你。(只有主函數,就不進行硬體什麼定義以及頭文件包含什麼的了)

void delay(int times){//延時函數,times控制延時時間
int i, j;

for(i = 0; i < times; i++)

for(j = 0; j < 210; j++)

;

}
int main(void){
unsigned char data, i;
while(1){

data = P1;//把開關值讀回來
for(i = 0; i < 8; i++){
P0 = ~(0x01 << i); //某位為高電平某位對應的燈亮
delay(data);//把讀取的開關值用來控制延時

}
}
}

『叄』 C語言設計跑馬燈程序

#include<reg51.h> //51系列單片機定義文件
#define uchar unsigned char //定義無符號字元
#define uint unsigned int //定義無符號整數
void delay(uint); //聲明延時函數
void main(void)
{
uint i;
uchar temp;
while(1)
{
temp=0x01;
for(i=0;i<8;i++) //8個流水燈逐個閃動
{
P1=~temp;
delay(100); //調用延時函數
temp<<=1;
}
}

void delay(uint t) //定義延時函數
{
register uint bt;
for(;t;t--)
for(bt=0;bt<255;bt++);
}
跑馬燈程序最基本的,c語言還未入門啊!!!

『肆』 求一個C語言程序,5個74hc595級聯驅動40個LED跑馬燈的簡易程序

40個LED其實可以把LED做成矩陣方式連接,就沒必要用5片595驅動了啊,你這樣感覺硬體電路有點累贅。不過呢你這樣做呢程序簡單點,是吧。
手上只有2片聯級使用的,給你個參考吧,有問題再說
//**********************************
//寫595兩個位元組
行數據
//*****data_A為高位元組,data_B是低位元組
void
WRITER_595A(data_A,data_B)
{
uint
i,n;
//
data1=datt;
//賦值顯示數據
for(i=0;i<8;i++)
//寫入第一位元組
{
n=data_A
&
0x80;
if(n==0x80)
LS595_DATA_A=1;
else
LS595_DATA_A=0;
LS595_CLOK_A=0;
LS595_CLOK_A=1;
data_A=data_A<<1;
}
for(i=0;i<8;i++)
//寫入第二位元組
{
n=data_B
&
0x80;
if(n==0x80)
LS595_DATA_A=1;
else
LS595_DATA_A=0;
LS595_CLOK_A=0;
LS595_CLOK_A=1;
data_B=data_B<<1;
}
LS595_SCLK_A=0;
LS595_SCLK_A=1;
LS595_SCLK_A=0;
}