導航:首頁 > 操作系統 > 單片機c52流水燈程序keil

單片機c52流水燈程序keil

發布時間:2023-02-08 11:51:29

① 用c語言編寫單片機流水燈程序,(8個發光二極體從左至右循環點亮)

#include<reg51.h>

voiddelay(void)

{

unsignedinti,j;

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

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

;

}

voidmain(void)

{

while(1)

{

P3=0xfe;//第一個燈亮

delay();//延時

P3=0xfd;//第二個燈亮

delay();

P3=0xfb;//第三個燈亮

delay();

P3=0xf7;//第四個燈亮

delay();

P3=0xef;//第五個燈亮

delay();

P3=0xdf;//第六個燈亮

delay();

P3=0xbf;//第七個燈亮

delay();

P3=0x7f;//第八個燈亮

delay();

}

}

(1)單片機c52流水燈程序keil擴展閱讀

單片機C語言16種方式流水燈

voidmain()

{

while(1)

{

P1=0xfe;//點亮第一個發光管

Delay(5000);

P1=0xfd;//點亮第二個發光管

Delay(5000);

P1=0xfb;

Delay(5000);

P1=0xf7;

Delay(5000);

P1=0xef;

Delay(5000);

P1=0xdf;

Delay(5000);

P1=0xbf;

Delay(5000);

P1=0x7f;//點亮第八個發光管

}

}

② 單片機流水燈程序

我是一名多年的單片機工程師,下面的程序你參考一下


效果圖



程序如下:

#include<reg52.h>

#include<intrins.h>

#define uchar unsigned char

#define uint unsigned int

uint i;

uchar j;

void delay_ms(uint k) //延時子程序

{

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

{

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

{

;

}

}

}


main()

{

uchar a,b;

P1=0xfe;

delay_ms(500);

b=P1;


while(1)

{

for(a=0;a<3;a++)

{

b=_crol_(b,1);

P1=b;

delay_ms(500);

}

P1=0xf0;

delay_ms(500);

P1=0xfe;

delay_ms(500);

b=P1;



}

}

如果你想學習更多單片機和程序的知識,可以看看我整理好的「17個實驗學會單片機」,網路一下「17個實驗學會單片機」就可以看到在首頁了。

③ Keil軟體編寫流水燈

這個是不對的,sbit是keil針對51硬體對標准C的擴展P1^x中的x只能是立即數,不能做變數,而且for(x=7;x>=4;x--);循環什麼都做不了,printf函數在單片機中數據流向串口,因此實現這樣的功能這個代碼顯然無法完成。延時演算法最簡單的當屬--運算。具體實例我給你寫一個以供參考:

#include<STC12C2052AD.h>
voiddelay(unsignedK){while(K--);}//延時函數
voidmain()
{
inti=0;
while(1)
{
i++;
i&=3;//i在0~3之間變化
P1=~(1<<(i+4));//因為是P1.4~P1.7低電平有效所以i要先+4再移位結果還要取非
delay(65535);//延時
}
}

④ 如何用單片機簡單製作一個流水燈

  1. 工具:STC系列51單片機、串口轉換器(USB轉TTL 或232轉TTL)

  2. 材料:實驗板一塊(可以買現成的,也可以買麵包板自己搭建),電阻、LED燈 若干,5V電源等。

  3. 以下程序可以直接用Keil C 直接編譯執行。

//可以通過左移函數_crol_()和右移函數_cror_()來實現LED等的來迴流動。


//具體實現方法可以參考如下程序:


#include<reg51.h>

#include<intrins.h>

#defineuintunsignedint

#defineucharunsignedchar

voiddelay(uinta);

voidmain()

{

P1=0xfe;

while(1)

{

//向左循環點亮LED

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

{

P1=_crol_(P1,1);//左移一位,點亮下一位LED

delay(55);

}

//向右循環點亮LED

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

{

P1=_cror_(P1,1);//右移一位,,點亮上一位LED

delay(55);

}

}

}

//延時函數,延時a毫秒

voiddelay(uinta)

{

uintx,y;

for(x=a;x>0;x--)

for(y=110;y>0;y--);

}

⑤ 單片機C語言編程的問題,我寫了一個流水燈的程序,在KEIL上沒錯,但放去模擬就不對了,幫看看哪錯了

#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
void main()
{
uint i;
uchar temp;
temp=0xFE;
P0=temp;
while(1)
{
temp=_crol_(temp,1);
P0=temp;
for(i=0;i<5000;i++);
}
}

這樣試試。P0不是一個數。不能用來左移的。

⑥ keil軟體用單片機控制8個LED流水燈來回點亮(C語言程序)

#include "reg51.h"
main()
{
unsigned int i,j;
while(1)
{
P1=0xfe; //點亮第一個LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0xfd; //點亮第二個LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0xfb; //點亮第三個LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0xf7; //點亮第四個LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0xef; //點亮第五個LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0xdf; //點亮第六個LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0xbf; //點亮第七個LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0x7f; //點亮第八個LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
}
}

或:
#include "reg51.h"
void delay(unsigned int t)
{
unsigned inti,j;
for(i=t;i>0;i--)
for(j=110;j>0;j--);
}
main()
{
unsigned char w,i;
while(1)
{
w=0xfe;
for (i=0;i<8;i++)
{
P1=w; //循環點亮LED
w<<=1; //點亮燈的位置移動,最低位補0
w=w|0x01; //將最低位置1
delay(500); //延時
}
}
}

或:
#include "reg51.h"
//程序中使用_crol_函數,所以要包含頭文件"intrins.h"
#include "intrins.h"
void delay(unsigned int t)
{
unsigned int i,j;
for(i=t;i>0;i--)
for(j=110;j>0;j--);
}
main()
{
unsigned char temp;
temp=0xfe;
while(1)
{
P1=temp;
delay(500); //延時
temp=_crol_(temp,1); //點亮LED的位置循環左移一位
}
}

⑦ 為什麼用keil編輯單片機流水燈程序時會提示以下錯誤,用c編寫的,點擊錯誤也不提示是哪的錯誤

你粘上的是lesson_1.c的代碼吧?lesson2.c的代碼呢?錯誤為全局變數重復定義,定義出錯是不會提示具體哪行的,因為多重定義只有第一個被編譯的是對的,其後的都錯。

⑧ 用C語言編寫C52單片機的流水燈程序

附上流水燈程序
#include<reg52.h>
#include<intrins.h>
unsigned char temp;
void delay(unsigned int x);
void main()
{
temp=0xfe; /*16進制的表示法,不能用:0eH這種形式了*/
while(1)
{
P1=temp;
delay(1000);
temp=_crol_(temp,1);

}
}
void delay(unsigned int x)
{
unsigned char j;
while(x--)
{
for(j=200;j>0;j--)
{
;
}
}
}

閱讀全文

與單片機c52流水燈程序keil相關的資料

熱點內容
ubuntuphpfpm安裝 瀏覽:413
末世之一女多男 瀏覽:178
電腦上如何下載稅務app 瀏覽:528
s曲線單片機 瀏覽:664
配音秀app如何自動取消續費功能 瀏覽:755
程序員深山養雞 瀏覽:825
類似渣夫的百惠媳的小說 瀏覽:502
javaforever 瀏覽:637
女主叫桃子的微電影 瀏覽:449
藍光超清1080p影視 瀏覽:296
男變女懷孕並生孩子的小說 瀏覽:344
安卓怎麼玩出蘋果的軟體 瀏覽:92
除了80以外還有啥看電影 瀏覽:369
加密分享可以採用的演算法 瀏覽:686
請問誰有免費的男人網站? 瀏覽:75
58pdf 瀏覽:768
年輕人愛看的免費的電影網站 瀏覽:782
天津水游城電影院今日影訊簡介 瀏覽:99
lin運演算法則 瀏覽:574
天刀命令 瀏覽:132