① 單片機c語言,將8個燈依次點亮(被點亮的繼續亮),然後再依次熄滅,(在沒有熄滅完時熄滅的保持滅)
其次,我建議還是自己嘗試寫一寫,這個不難,我給你個思路
首先定義變數類似於P1_2 = P1^2這種,先把這八個管腳全部定義好,之後給個for循環,讓P1(假設的你LED燈連接的是P1口)口的P1^0~P1^7相關標志位依次等於0或者1(0還是1需要看你在LED等上給的是高電位亮還是低電位亮),之後再給個for循環,五次的循環,全部P1口置為1(假設高電平LED亮),之後設置P1口全為1,再讓P1口的相關標志位置為0,再置為0的時候可以加個延時
② 單片機控制8個燈依次亮,全亮了,再依次滅的c語言流程圖,順便加上解釋,不然看不懂
1、創建項目,如圖所示。
③ 單片機流水燈C語言程序(8個燈,依次點亮每個燈,延時500MS)
單片機流水燈C語言程序的源代碼如下:
#include //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;
}
temp=0x80;
for(i=0;i<8;i++) //8個流水燈反向逐個閃動
{
P1=~temp;
delay(100); //調用延時函數
temp>>=1;
}
temp=0xFE;
for(i=0;i<8;i++) //8個流水燈依次全部點亮
{
P1=temp;
delay(100); //調用延時函數
temp<<=1;
}
temp=0x7F;
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++);
}
(3)八個燈同時亮的c語言程序擴展閱讀
51單片機流水燈的源代碼如下
#include<reg51.h>
#include<intrins.h>
voiddelay(inta)
{
inti;
while(a--)for(i=0;i<110;i++);
}
main()
{
inti;
while(1)
{
P0=0xfe;
for(i=0;i<8;i++)
{
P0=_crol_(P0,1);
delay(500);
}
}
}
④ 在51單片機中用c語言寫程序實現用一個按鍵控制8個燈的亮和滅(按下按鍵燈亮,按下按鍵燈滅)
比如你的8個燈連在 P0口,如果是陰極的
你只要先定義
sbit P0^0=LED0;
.....一定定義下去
然後再定義一個按鈕
比如P1.1
sbit P1^1=key;
代碼里寫
while(true)
{
if(key==1)
{
LED0=0;
LED1=0;
..//把你要亮的燈置0就行了。陽極的話置1
}
}
⑤ 用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();
}
}
(5)八個燈同時亮的c語言程序擴展閱讀
單片機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;//點亮第八個發光管
}
}
⑥ 如何用C語言編寫讓8個小燈齊亮齊滅的程序~!
首先小燈是共陰還是共陽的?
假設共陰的
#include<reg52.h>
void main()
{
P0 = 0xff; //亮
// P0 = 0x0; //都暗
while(1);
}
⑦ 單片機控制8個燈依次亮,全亮了,再滅的c語言流程圖和程序,順便加上解釋,不然看不懂
#include<reg51.h>
#defineucharunsignedchar
voiddelay(uchara)
{
uchari;
while(a--)for(i=0;i<120;i++);
}
main()
{
uchari,led;
while(1)
{
led=0xfe;
for(i=0;i<8;i++)
{
P0=led;
delay(200);
led=led<<1;
}
P0=0xff;
delay(200);
}
}
⑧ 類似流水燈程序,c語言編程,一共8個燈
我不知道你的點燈和滅燈函數是什麼,所以隨便取了一個,思路大概就是這樣
void
main()
{
int
pull[8]={0};
int
push[8]={1,2,3,4,5,6,7,8};
int
flag=0;
int
i=0;
while(1)
{
if(flag==0)
{
for(i=0;i<8;i++)
{
pull[i]=push[i];
push[i]=0;
light(pull[i]);//點亮pull[i]數組裡面存放的燈一秒
turn(pull[i]);//滅pull[i]數組裡面存放的燈一秒
}
flag=1;
}
else
{
for(i=0;i<8;i++)
{
push[i]=pull[i];
pull[i]=0;
light(push[i]);//點亮push[i]數組裡面存放的燈一秒
turn(push[i]);//滅push[i]數組裡面存放的燈一秒
}
flag=0;
}
}
}
⑨ 8個led燈編程
8個LED流水燈依次循環亮的C語言程序,問題詳細內容為:我用的是PROTUSE做的模擬程序,想讓這8個流水燈依次亮從P0到P7口要它的C語言程序可以在KEILC51裡面運行的,希望在每句C語言後面有個解釋不用WHILE和for語句i高分懸賞我這里有個程序希...我用的是PROTUSE做的模擬程序,想讓這8個流水燈依次亮,從P0到P7口
要它的C語言程序可以在KEIL C51裡面運行的,希望在每句C語言後面有個解釋,
不用 WHILE和for語句。
我這里有個程序 希望能有個和它作用相同的程序
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=120;i>0;i--);
}
}
void main()
{
P0 = 0xFE;
while(1)
{
P0 = _crol_(P0,1);
DelayMS(150);
}
}