導航:首頁 > 編程知識 > 單片機弄39個燈泡怎麼編程

單片機弄39個燈泡怎麼編程

發布時間:2023-09-05 13:54:51

Ⅰ 單片機C語言編程點亮LED燈

可以通過左移函數_crol_()和右移函數_cror_()來實現LED等的來迴流動。 具體實現方法可以參考如下程序: #include #include #define uint unsigned int#define uchar unsigned charvoid delay(uint a);void main(){ P1=0xfe; while(1) { // 向左循環點亮LED for(i=0; i<7; i++) { P1=_crol_(P1,1); // 左移一位,點亮下一位LED delay(55); } // 向右循環點亮LED for(i=0; i/ 右移一位,,點亮上一位LED delay(55); } }}// 延時函數,延時a毫秒void delay(uint a){ uint x,y; for(x=a;x>0;x--) for(y=110;y>0;y--);}

Ⅱ 單片機流水燈程序

用的什麼單片機?
--------------------
看了電路圖,就知道了。
既不是32個串口,也根本不使用串口。

;32個LED顯示初版始化:
MOV P0, #3FH
MOV P1, #3CH
MOV P2, #2AH
MOV P3, #47H

;循環移位權:
_LOOP:
MOV A, P0
RRC A

MOV A, P1
RRC A
MOV P1, A

MOV A, P2
RRC A
MOV P2, A

MOV A, P3
RRC A
MOV P3, A

MOV A, P0
RRC A
MOV P0, A

LCALL _DELAY1S
SJMP _LOOP

;延時子程序:
_DELAY1S:
…………
RET

Ⅲ c51單片機中如何用匯編語言編寫流水燈

51單片機用匯編語言編寫流水燈程序,就是控制多個LED ,使其在特定時間間隔內,只有一個LED 發光,其他熄滅,用這種方式順序移動點亮LED的位置,就形成了流水燈的效果。以下是程序:
;假設晶振12MHZ,P1控制8個LED低電平亮
;啟動入口========================
ORG 0000H ;復位啟動
AJMP START ;
ORG 001BH ;T1中斷
AJMP T1INT ;
;定義變數========================
YSJS EQU 30H;延時計數器
LED EQU 31H;LED控制緩沖器
;主程序==========================
START: MOV LED,#0FEH ;初始化數據
MOV YSJS,#0 ;
;
MOV TMOD,#10H ;定時器1工作於方式1,16位定時器
MOV TL1,#0B0H ;設置定時初值
MOV TH1,#3CH ;定時時間=50mS
SETB ET1 ;使能定時器1中斷
SETB TR1 ;啟動定時器1
SETB EA ;開總中斷
MOV P1,LED ;初始化流水燈
;
LOOP: JMP LOOP ;循環等待中斷
;
;
T1INT: PUSH PSW ;定時器1中斷程序
PUSH ACC ;保護現場
;
MOV TH1,#3CH ;定時時間=50mS
MOV TL1,#0B0H ;
INC YSJS ;
PUSH ACC ;保護ACC
MOV A,YSJI ;
CJNE A,#2,QT1 ;50mS*2=100mS
MOV P1,LED ;
MOV A,LED ;
RL A ;累加器A的值循環左移1位
MOV LED,A ;
MOV YSJS,#0 ;
;
QT1: POP ACC ;恢復現場
POP PSW ;
RETI ;返回主程序
END ;匯編程序結束

Ⅳ 單片機製作呼吸燈的C語言程序怎樣編寫

#include<reg51.h>
sbit LED0=P0^0;
sbit wei=P1^1;
sbit an=P1^0;
sbit lcden=P1^7;
sbit dianzhen=P1^3;
sbit leden=P1^2;
void Delay(unsigned int t);
void main (void)
{
unsigned int CYCLE=600,PWM_LOW=0;//定義周期並賦值
lcden=0;
P0=0x00;
dianzhen=0;
P0=0xff;
wei=0;
an=0;
while (1) //主循環
{
LED0=1;
Delay(150000); //特意加延時,可以看到熄滅的過程
for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
{
LED0=0;

Delay(PWM_LOW);

LED0=1;

Delay(CYCLE-PWM_LOW);
}
for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
{
LED0=0;

Delay(PWM_LOW);

LED0=1;

Delay(CYCLE-PWM_LOW);
}
}
}
void Delay(unsigned int t)
{
while(t--);
}

Ⅳ 單片機流水燈的C語言編程

#include <reg52.h> //52系列單片機頭文件
#include <intrins.h>
#define uint unsigned int //宏定義
#define uchar unsigned char
void delayms(uint); //聲明子函數
uchar aa;
void main() //主函數
{
aa=0xfe; //賦初值11111110
while(1) //大循環
{
P1=aa;
delayms(500); //延時500毫秒
aa=_crol_(aa,1); //將aa循環左內移1位後再賦容給aa
}
}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--) //i=xms即延時約xms毫秒
for(j=110;j>0;j--);
}
查表就是在表頭加個code table[]={......}

Ⅵ 51單片機32個流水燈編程如何實現指定其中某一個燈亮,如何實現多種花樣亮燈

要51單片機控制32個流水燈,關鍵是要解決電路設計,只要能設計出電路來,編程實現控制指定其中某一個燈亮,並實現多種花樣亮燈,就容易了。如果只做32個流水燈,就用單片機的四個並行口,共32個IO引腳全部用上,正好控制32個流水燈。如果引腳還有其他應用,可用四片鎖存器,也可以控制32個流水燈了。

Ⅶ 請位高手幫我寫個89C51單片機控制流水燈C語言源程序。謝謝

用P2=0xFF&(0x01+2*i)用for循環,之後是P2=0xFF&(0x81+2*i)用for循環,之後類推P2=P2=0xFF&(0xC1+2*i),P2=0xFF&(0xE1+2*i),P2=0xFF&(0xF1+2*i),P2=0xFF&(0xF9+2*i),P2=0xFF&(0xFD+2*i),P2=0xFF;每次循環都比前一次少一次循環就可以了。

閱讀全文

與單片機弄39個燈泡怎麼編程相關的資料

熱點內容
在剪映app中怎麼查看視頻尺寸 瀏覽:9
linux文件成分包括 瀏覽:886
文件轉換免費的軟體 瀏覽:644
linuxwpsxlsx 瀏覽:482
小米手機怎麼上移動網路連接失敗怎麼辦 瀏覽:598
win10系統打開java 瀏覽:479
全日制編程什麼意思 瀏覽:447
筆記本創建區域網怎麼傳文件 瀏覽:871
怎樣查看id密碼 瀏覽:647
贛州極客晨星少兒編程怎麼樣 瀏覽:690
覺醒年代哪個app可以免費觀看 瀏覽:830
如何關閉win10觸摸屏幕 瀏覽:761
蘋果142不能傳文件 瀏覽:128
如何看歷史底部數據 瀏覽:230
怎麼在電腦上下軟體或安裝app 瀏覽:798
qq頭像電影截圖情侶 瀏覽:87
安卓的網路位置設置在哪 瀏覽:973
編程俠官網如何登錄 瀏覽:484
借貸王app怎麼樣 瀏覽:552
qq黑鑽手機怎麼開通 瀏覽:465

友情鏈接