當前位置:首頁 » 編程語言 » c語言跑馬燈程序

c語言跑馬燈程序

發布時間: 2022-05-09 22:34:36

『壹』 用c語言編寫簡單跑馬燈程序(4個燈的)

如下程序:
if(ledi==8)
{
ledi=0; //到了最後一個燈就換到第一個

//每跑一圈燈就根據預定設置的表格來決定下一圈的跑馬速度

speed=speedcode[i];

i++;if(i==2)i=0; ?你的速度設置不僅僅就2個呀(10個預定義的速度)

}
有兩種解決辦法:
一個就是將預定的速度加2倍
speedcode[30]={3,3,3,1,1,1,5,5,5,12,12,12,、、、、、、}
二是增加一全局變數uchar z=0;在i++前加上如下,前後不改:
、、、、、if(++z==3){z=0;i++;}、、、、、、、、、、、

『貳』 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);//把讀取的開關值用來控制延時

}
}
}

『叄』 89c51系列用c語言編寫跑馬燈程序

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int

sbit k1=P2^0;
sbit k2=P2^1;
sbit k3=P2^2;
sbit k4=P2^3;
sbit beep=P3^0;

uchar idex,,count;
uchar flag;

void display_lcd() //流水燈
{
switch(count) //四種不同的變化
{
case 1 :

P0=0x01<<idex;
if(idex>8)
idex=0;

break;

case 2 :

P0=0x80>>idex;
if(idex>8)
idex=0;

break;

case 3 :

P0=0x03<<idex;
if(idex>8)
idex=0;

break;

case 4 :

P0=0xaa<<idex;
if(idex>2)
idex=0;

break;
}
switch(flag)
{
case 0 : //開始
TR0=1;
break;

case 1 :
TR0=0; //暫停
break;
}

}

void scan_key() //按鍵
{
if(!k1)
=2;

if(!k2)
=4;

if(!k3)
{
count++;
while(!k3);
}
if(count>4)
count=0;

if(!k4)
{
flag++;
while(!k4);
}
if(flag>1)
flag=0;

}

void beep_b() //蜂鳴器
{
if(P2==0xff)
{
beep=1;
}
else
{
beep=0;
}
}

void Init() //定時器初始化
{
TMOD=0X01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
TR0=1;
EA=1;
ET0=1;
=1;
}

void main()
{
Init();
while(1)
{
display_lcd();
scan_key();
beep_b();
}
}

void timer0() interrupt 1
{
uint time;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
time++;
if(time>299*)
{
time=0;
idex++;
}

}

『肆』 請問以下有關單片機跑馬燈的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--);
}
}
}

『伍』 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語言還未入門啊!!!

『陸』 51單片機設計跑馬燈的程序用(c語言)編寫

|P1口接8個發光二極體共陽

#include <AT89X51.H>

unsigned char i;

unsigned char temp;

unsigned char a,b;

void delay(void)

{

unsigned char m,n,s;

for(m=20;m>0;m--)

for(n=20;n>0;n--)

for(s=248;s>0;s--);

}

void main(void)

{

while(1)

{

temp=0xfe;

P1=temp;

delay();

for(i=1;i<8;i++)

{

a=temp<<i;

b=temp>>(8-i);

P1=a|b;

delay();

}

for(i=1;i<8;i++)

{

a=temp>>i;

b=temp<<(8-i);

P1=a|b;

delay();

}

}

}

(6)c語言跑馬燈程序擴展閱讀:

Proteus 自從有了單片機也就有了開發系統,隨著單片機的發展開發系統也在不斷發展。 keil是一種先進的單片機集成開發系統。它代表著匯編語言單片機開發系統的最新發展,首創多項便利技術,將開發的編程/模擬/調試/寫入/加密等所有過程一氣呵成,中間不須任何編譯或匯編。

『柒』 單片機,用c語言寫跑馬燈程序,

/*****************************************
*用P1口接LED
*****************************************/
#include<at89x52.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(500); //調用延時函數
temp<<=1;
}
temp=0x80;
for(i=0;i<8;i++) //8個流水燈反向逐個閃動
{
P1^=temp;
delay(500); //調用延時函數
temp>>=1;
}
temp=0xFE;
for(i=0;i<8;i++) //8個流水燈依次全部點亮
{
P1=temp;
delay(500); //調用延時函數
temp<<=1;
}
temp=0x7F;
for(i=0;i<8;i++) //8個流水燈依次反向全部點亮
{
P1=temp;
delay(500); //調用延時函數
temp>>=1;
}
}

}
void delay(uint t) //定義延時函數
{
register uint bt; //register為寄存器變數 即將無符號整形變數bt放在CPU的寄存器中而不是放在內存中 因為該

變數使用頻率高 這樣可以提高執行效率
for(;t;t--)
for(bt=0;bt<255;bt++);
}

『捌』 c語言跑馬燈跑馬速度問題

如下程序:
if(ledi==8)
{
ledi=0; //到了最後一個燈就換到第一個

//每跑一圈燈就根據預定設置的表格來決定下一圈的跑馬速度

speed=speedcode[i];

i++;if(i==2)i=0; ?你的速度設置不僅僅就2個呀(10個預定義的速度)

}
有兩種解決辦法:
一個就是將預定的速度加2倍
speedcode[30]={3,3,3,1,1,1,5,5,5,12,12,12,、、、、、、}
二是增加一全局變數uchar z=0;在i++前加上如下,前後不改:
、、、、、if(++z==3){z=0;i++;}、、、、、、、、、、、

『玖』 用c語言實現跑馬燈循環亮滅

給個示常式序看看
/*-----------------------------------------------
名稱:流水燈
公司:上海浩豚電子科技有限公司
編寫:師訪
日期:2009.5
修改:無
內容:循環點亮P1口對應的8個LED燈,造成循環流水點亮的效果
------------------------------------------------*/
#include<reg52.h>
//包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
/*------------------------------------------------
延時子程序
------------------------------------------------*/
void
delay(unsigned
int
cnt)
{
while(--cnt);
}
/*------------------------------------------------
主函數
------------------------------------------------*/
main()
{
P1=0xfe;
//給初始化值
換算成二進制是1111
1110
while(1)
{
delay(30000);//延時程序
P1<<=1;
//左移一位
該語句等效於
P1=P1<<1
P1|=0x01;
//最後一位補1,該語句等效於
P1=P1|0x01
符號"|"表示"或"
if(P1==0x7f)
//檢測是否移到最左端?"=="表示檢測符號2端的值是否相等
{
delay(30000);
P1=0xfe;
//重新賦值
}
}
}

『拾』 C語言寫跑馬燈程序

不知道你是那個口控制數碼管高低電平的 延時的話你可以用中斷做也可以用延遲函數做 大循環用while 小循環用for寫

熱點內容
寫shell腳本 發布:2025-05-11 04:37:41 瀏覽:934
電腦伺服器打開有什麼用 發布:2025-05-11 04:36:49 瀏覽:98
sqlserver2008查詢時間 發布:2025-05-11 04:15:28 瀏覽:386
安卓孤膽車神被封號怎麼解封 發布:2025-05-11 04:05:22 瀏覽:940
高壓洗車泡沫怎麼配置 發布:2025-05-11 04:00:47 瀏覽:547
騰訊輕量伺服器怎麼使用 發布:2025-05-11 03:52:46 瀏覽:174
4位密碼組合有多少種至少有一個0 發布:2025-05-11 03:44:03 瀏覽:338
八卦手指演算法 發布:2025-05-11 03:23:32 瀏覽:281
編譯成exe是什麼意思 發布:2025-05-11 03:23:28 瀏覽:470
javaweb技術內幕 發布:2025-05-11 03:20:14 瀏覽:803