四个跑马灯的c语言程序,入门编程语言跑马灯,C语言设计跑马灯程序
C語(yǔ)言設(shè)計(jì)跑馬燈程序
#include //51系列單片機(jī)定義文件
#define uchar unsigned char //定義無(wú)符號(hào)字符
#define uint unsigned int //定義無(wú)符號(hào)整數(shù)
void delay(uint); //聲明延時(shí)函數(shù)
void main(void)
{
uint i;
uchar temp;
while(1)
{
temp=0x01;
for(i=0;i<8;i++) //8個(gè)流水燈逐個(gè)閃動(dòng)
{
P1=~temp;
delay(100); //調(diào)用延時(shí)函數(shù)
temp<<=1;
}
}
void delay(uint t) //定義延時(shí)函數(shù)
{
register uint bt;
for(;t;t--)
for(bt=0;bt<255;bt++);
}
跑馬燈程序最基本的,c語(yǔ)言還未入門(mén)啊!!!
C語(yǔ)言編程實(shí)現(xiàn)跑馬燈的四個(gè)不同的亮法
1:if里面的表達(dá)式應(yīng)該是“==”,少了一個(gè) “=” 編譯器不一定會(huì)報(bào)錯(cuò),但運(yùn)行的時(shí)候一定進(jìn)入不了;
2:最大的錯(cuò)誤是那么多地方使用了變量“i “,但你卻只定義了一個(gè)全局變量,試想當(dāng)你的程序進(jìn)入了一個(gè)for后,再執(zhí)行了“delay(10);”,等退出了這個(gè)延時(shí)后,i 的值已經(jīng)變成了120了,所以緊接著這個(gè)for語(yǔ)句也會(huì)被退出,因?yàn)橐呀?jīng)不滿足 i<10 這個(gè)條件了。再多定義幾個(gè)局部變量分開(kāi)處理,不然是沒(méi)辦法搞定的。
3:你的P0=table2[]、P0=table2[]連下標(biāo)都忘記寫(xiě)了。
4:for(0;i<10;i++) 這句是錯(cuò)的,你忘記了給“i ”賦值了。
5:你的延時(shí)太短點(diǎn)了吧,如果你的晶振用得快的話,估計(jì)燈跑起來(lái)一就一閃而過(guò),連什么亮法都看不清楚。
能看出來(lái)的大概有這些,你再試下看有沒(méi)有別的
用匯編語(yǔ)言編寫(xiě)跑馬燈程序
跑馬燈程序用匯編是很好實(shí)現(xiàn)的,只要用好循環(huán)移位指令就可以,以下是程序。
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV A,#0FEH
LOOP:
MOV P1,A ;將控制字送端口
RL A ;控制字循環(huán)左移
LCALL DELAY ;延時(shí)
SJMP LOOP
DELAY: ;延時(shí)大概1秒
MOV R2,#10
DLY1:
MOV R3,#200
DLY2:
MOV R4,#250
DJNZ R4,$
DJNZ R3,DLY2
DJNZ R2,DLY1
RET
END
用C語(yǔ)言編寫(xiě)簡(jiǎn)單跑馬燈程序(4個(gè)燈的)
如下程序:
if(ledi==8)
{
ledi=0; //到了最后一個(gè)燈就換到第一個(gè)
//每跑一圈燈就根據(jù)預(yù)定設(shè)置的表格來(lái)決定下一圈的跑馬速度
speed=speedcode[i];
i++;if(i==2)i=0; ?你的速度設(shè)置不僅僅就2個(gè)呀(10個(gè)預(yù)定義的速度)
}
有兩種解決辦法:
一個(gè)就是將預(yù)定的速度加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++;}、、、、、、、、、、、
求一個(gè)跑馬燈的C語(yǔ)言編程
參考:http://zhidao.baidu.com/link?url=vT0HMc_kojtX9us9LIHj3crC2GLu_DQfzIvw0nrXbcQnY9PMCMmShx5GYk0t79TB_c124h2GdXPDe8cIdcabhq
用51單片機(jī)(匯編語(yǔ)言寫(xiě))寫(xiě)一個(gè)跑馬燈程序??知道的幫個(gè)忙寫(xiě)寫(xiě)。
答疑解難 跑馬燈程序
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: JB P0.7,MAIN ;等待開(kāi)始鍵按下
LCALL YS ;按鍵延時(shí)
JB P0.7,MAIN
MOV A,#7FH ;是開(kāi)始鍵按下 則跑馬燈開(kāi)始運(yùn)行
LL: MOV P1,A
LCALL YS ;顯示延時(shí)
RR A ;循環(huán)右移一位
JB P0.6,LL ;沒(méi)有按下停止鍵 則繼續(xù)跑馬
LCALL YS ;按鍵延時(shí)
JB P0.6,LL ;按下停止鍵則停止跑馬;否則繼續(xù)跑馬
MOV A,#0FFH
MOV P1,A
SJMP MAIN ;轉(zhuǎn)到程序開(kāi)始處,等待開(kāi)始鍵的按下
YS: MOV R7,#150 ;延時(shí)子程序
YL: MOV R6,#200
YY: NOP
DJNZ R6,YY
DJNZ R7,YL
RET
END
硬件接口電路如下:
哈哈 還滿意嗎 就請(qǐng)給俺選擇(滿意選項(xiàng))吧
本文標(biāo)簽:
總結(jié)
以上是生活随笔為你收集整理的四个跑马灯的c语言程序,入门编程语言跑马灯,C语言设计跑马灯程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: javascript --- 堆栈内存
- 下一篇: 买个社区团购小程序多少钱呢?微信社区团购