❶ 51單片機流水燈執行10次 全部閃爍一次 一直循環十次閃爍一次 c語言怎麼寫
#include<reg51.h>
#defineucharunsignedchar
voiddelay(uchara)
{
uchari;
whilie(a--)for(i=0;i<110;i++);
}
main()
{
uchari,j;
for(i=0;i<10;i++)
P0=0xfe;
for(j=0;j<8;j++)
{
P0=_crol_(P0,1);
delay(200);
}
}
P0=0x00;
delay(200);
P0=0xff;
delay(200);
while(1);
}
❷ 單片機控制8個LED燈,完成奇數燈亮偶數燈滅,然後偶數燈亮奇數燈滅,10次,用C語言編程
#include<reg51.h>
#include<intrins.h>
#defineucharunsignedchar
voiddelay(uchara)
{
uchari;
while(a--)for(i=0;i<120;i++);
}
main()
{
uchari,j;
for(i=0;i<10;i++)
{
P0=0xaa;
delay(200);
P0=0x55;
delay(200);
}
for(i=0;i<10;i++)
P0=0xfe;
{
for(j=0;j<8;j++){P0=_crol_(P0,1);delay(200);}
}
while(1);
}
❸ 編程式控制制一盞燈(C語言),實現不同速度的閃爍,每個速度閃爍10次,實現不同速度的循環閃爍
兩個for,雙循環。
for(int i =1;i <= 10;++i) //循環每種速度等級 注意,這里的i的范圍不一定是1-10,可以自定義
for(int j=1;j <=10; ++j) //循環10次
{
sleep(100 * i);//sleep休眠函數 休眠函數的時間和i一起,組成速度,也就是間隔時間
light();//亮燈
closelight();//關燈 亮燈和關燈在一起,組成一個閃爍動作
//當然如果有現成的閃爍函數可以替換著兩個函數。
}
❹ 編制一個循環閃爍燈的程序,每次其中某個燈閃爍10次後,轉到下一個閃爍10次,循環不止(用匯編語言編制)
其程序如下:
MOV A,#01H ;燈亮初值
SHIFT: LCAIL FLASH ;調閃亮10次子程序
RR A ;右移一位
SJMP SHIFT ;循環
FLASH: MOV R2,#0AH 閃爍10次計數
FLASH1; MOV P1,A ;點亮
LCALL DELAY ;延時
MOV P1,#00H ;熄滅
LCALL DELAY ;延時
DJNZ R2,FLASH1 ;循環
RET
❺ 51單片機C語言如何編程讓一個按鍵輪流PWM亮度調光每跳一個led燈代表亮度有10級,10%到100%
如果用STC90系列以後的單片機,由於內置了PWM模塊,直接按手冊中的常式就可以,如果是AT89系列的,就要用定時器模擬了,這個比較復雜,你網路一下,網上有的
❻ 控制8個LED燈,完成從左到右依次點亮,然後從右到左依次熄滅,魂環10次後完成全部閃爍。C語言代碼
#include<reg51.h>
#defineucharunsignedchar
voiddelay(uchara)
{
uchari;
while(a--)for(i=0;i<120;i++);
}
main()
{
uchari,j,led;
for(i=0;i<10;i++)
{
led=0xfe;
for(j=0;i<8;i++)
{
P0=led;
led=led<<1;
delay(200);
}
led=0x80;
for(j=0;i<8;i++)
{
P0=led;
led=(led>>1)|0x80;
delay(200);
}
}
P0=0xff;
while(1);
}
❼ C語言如何編程讓一個按鍵輪流點燈。按一下1燈亮,在按下1燈滅2燈亮,在按下3燈亮,1 2燈是滅,一直到8個燈
C51獨立按鍵的識別示常式序
每按一次獨立鍵盤的S2鍵,與P1口相連的一個發光二極體往下移動一位。
#include <reg52.h>
sbit BY1=P3^4; //定義按鍵的輸入端S2鍵
unsigned char count; //按鍵計數,每按一下,count加1
unsigned char temp;
unsigned char a,b;
void delay10ms(void) //延時程序
{
unsigned char i,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}
key() //按鍵判斷程序
{
if(BY1==0) //判斷是否按下鍵盤,當單片機上電時所有IO口為//高電平,S2鍵一端接地另一端接P3.4,所以當鍵被按下時P3.4口//直接接地,此時檢測P3.4肯定為低電平。
{
delay10ms(); //延時,軟體去干擾
if(BY1==0) //確認按鍵按下
{
count++; //按鍵計數加1
if(count==8) //計8次重新計數
{
count=0; //將count清零
}
}
while(BY1==0);//等待按鍵釋放,如果鍵未釋放則一直在此等待。
}
}
move() //廣告燈向下移動移動函數
{
a=temp<<count; //這三句為一個循環移位,相當於前面提到的
b=temp>>(8-count);// _crol_()函數
P1=a|b;
}
main()
{
count=0; //初始化參數設置
temp=0xfe;
P1=0xff;
P1=temp;
while(1) //永遠循環,掃描判斷按鍵是否按下
{
key(); //調用按鍵識別函數
move(); //調用廣告燈移動函數
}
}
❽ 使小燈亮十次後自己熄滅的c語言編程
for(int i=0;i<10;i++)
{
燈亮一次;
}
❾ led燈亮一秒滅一秒,循環十次c語言,
你得設定是什麼環境,如果是單片機ARM板之類的底層環境,可以採用延時函數或者中斷設定;如果是windows編程,可以調用系統的Timer;下面就提供一個最簡單的延時方案:
for (i=0; i<20; i++){ //一亮一滅算一個周期,所以循環20次
PORT_LED = ~PORT_LED;
delay_ms(1000);
}
void delay_ms(uint16 n){
while (n--){
//.....
}
}
❿ 我是一名C語言的初學者,我遇到了一個問題,keil軟體,網上的教程寫了一個讓LED燈長閃爍十次和短
沒看到完整的程序,按你的功能描述滿猜測,很可能這個循環就是控制十次閃爍的。
更改下i<10;這個條件中的「10」,調試試一試。