導航:首頁 > 操作系統 > c51單片機愛心燈設計

c51單片機愛心燈設計

發布時間:2023-03-28 00:46:09

❶ 51單片機12展流水燈的程序怎麼設計

我就寫個順時針亮的程序(詳細解釋,其它的你就自己寫),全手打的哦,用慧槐的是匯編,我水平也不怎麼高,但是你的問題也是入門級的,還肆薯有我假設是高電裂碧者位亮,一共12燈從P0.0開始到P1.4(P1.4和P0.0相接)。ORG 4000HSTART:CLR P0CLR P1 /P0 P1清零MOV P0,#80H/1燈亮LCALL DEL/調用延時程序MOV P0,#0C0HLCALL DELMOV P0,#0E0HLCALL DELMOV P0,#0F0HLCALL DELMOV P0,#0F8HLCALL DELMOV P0,#0FCHLCALL DELMOV P0,#0FEHLCALL DELMOV P0,#0FFHLCALL DELSTEB P0/P0口值位,前8燈全亮MOV P1,#080HLCALL DELMOV P1,#0C0HLCALL DELMOV P1,#0E0HLCALL DELMOV P1,#0F0HLCALL DELMOV P1,#0F8HLCALL DELLJMP START/程序跳到開始,進行循環DEL:MOV R7,#200MOV R5,#20DEL1:MOV R6,#123 NOPDEL2:DJNZ R6,DEL2DJNZ R7,DEL1DJNZ R5,DEL1RET/延時程序 共約1SSJMP $起始位4000H 可能不對 要自己找。

❷ 我想做一個心形流水燈,誰能告訴我用幾個led合適,怎麼用單片機控制

看你要多大的心形了,隱喚用LED排一下,自己看著舒服就行了,灶唯凱沒有專門要求的。LED數目小於30個可以直接用單片機I/O口控制,山鏈大於30個最好用串轉並晶元,164或者595均可。

❸ 51單片機89c51rc,怎麼設計心形流水燈led至少30個,求電路圖,和程序!步驟要具體

#include//51系列單片機定義文件

#defineucharunsignedchar//定義無符號字滲猜符

#defineuintunsignedint//定義無符號整數

voiddelay(uint);//聲明延時函數

voidmain(void)

{

uinti;

uchartemp;

while(1)

{

temp=0x01;

for(i=0;i<8;i++)//8個流水燈逐個閃動

{

P0=~temp;

delay(100);//調用延時函數

temp<<=1;

}

temp=0x80;

for(i=0;i<8;i++)//8個流水燈反向逐個閃動

{

P0=~temp;

delay(100);//調用延時函數

temp>>=1;

}

temp=0xFE;

for(i=0;i<8;i++)//8個流姿喊陵水燈依次全部點亮

{

P0=temp;

delay(100);//調跡戚用延時函數

temp<<=1;

}

temp=0x7F;

for(i=0;i<8;i++)//8個流水燈依次反向全部點亮

{

P0=temp;

delay(100);//調用延時函數

temp>>=1;

}

}

}

voiddelay(uintt)//定義延時函數

{

registeruintbt;

for(;t;t--)

for(bt=0;bt<255;bt++);

}

❹ 51單片機組成的心形流水燈C語言 要求燈24個

24個燈很正常,模擬也可以給你做。

❺ 怎麼樣設計愛心閃光燈單片機控制愛心閃光燈的程序是什麼

是那種從里亮到外面,然後從外面亮到裡面的那種嗎?先要知道你要達到什麼效果,才可以設計硬體電路,最後再用程序來控制。

❻ 51單片機16個燈的心形流水燈編程

利用51單片機的p0,p1,p2口,分別驅動一個LED燈。然後,首先讓它們都輸出低電平0x00,再然後,按順序位移輸出高電平。

❼ 51單片機寫心形燈的數組問題

如果是同一組IO口可以不這么定義,直接Px=...就可以了。
如果攔扒你是不同組的IO口分別接的話,這么定義確實很方便。因為每個IO口輸出不是高就是低,所以在d1、d2...里要麼賦值為1要麼賦值為0,就是說你可以定義一個bit類型的數組,但是,C51又不支持定義bit類型的數組,所以你還是定義一個鄭物unsigned char或者char的都可以,數組里邊的數據也只是0或1了。
希望我的回答能幫助到你簡叢昌。

❽ 求51單片機流水燈音樂盒C程序,兩個按鍵(上一首,下一首)流水燈是4組,組成的一個愛心.

給你一個大致的,具體要求自己改一下吧。

/*-----------------------------------------------
名稱:音樂播放
內容:
------------------------------------------------*/
#include<reg52.h> //包含頭文件,一般情況不需要改動?
//頭文件包含特殊功能寄存器的定義
/*------------------------------------------------
硬體埠定義
------------------------------------------------*/
sbit SPK1=P1^5; //定義音樂輸出埠
unsigned char Timer0_H,Timer0_L,Time;
//世上只有媽媽好數據表
code unsigned char MUSIC[]={ 6,2,3, 5,2,1, 3,2,2, 5,2,2, 1,3,2, 6,2,1, 5,2,1,
6,2,4, 3,2,2, 5,2,1, 6,2,1, 5,2,2, 3,2,2, 1,2,1,
6,1,1, 5,2,1, 3,2,1, 2,2,4, 2,2,3, 3,2,1, 5,2,2,
5,2,1, 6,2,1, 3,2,2, 2,2,2, 1,2,4, 5,2,3, 3,2,1,
2,2,1, 1,2,1, 6,1,1, 1,2,1, 5,1,6, 0,0,0
};
// 音階頻率表 高八位
code unsigned char FREQH[]={
0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,
0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, //1,2,3,4,5,6,7,8,i
0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,
0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,
} ;
// 音階頻率表 低八位
code unsigned char FREQL[]={
0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,
0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, //1,2,3,4,5,6,7,8,i
0xEE,0x44, 0x6B,0xB4,0xF4,0x2D,
0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,
};
/*------------------------------------------------
uS延時函數,含有輸入參數 unsigned char t,無返回值
unsigned char 是定義無符號字元變數,其值的范圍是
0~255 這里使用晶振12M,精確延時請使用匯編,大致延時
長度如下 T=tx2+5 uS
------------------------------------------------*/
void DelayUs2x(unsigned char t)
{
while(--t);
}
/*------------------------------------------------
mS延時函數,含有輸入參數 unsigned char t,無返回值
unsigned char 是定義無符號字元變數,其值的范圍是
0~255 這里使用晶振12M,精確延時請使用匯編
------------------------------------------------*/
void DelayMs(unsigned char t)
{

while(t--)
{
//大致延時1mS
DelayUs2x(245);
DelayUs2x(245);
}
}
/*------------------------------------------------
節拍延時函數
各調1/4節拍時間:
調4/4 125ms
調2/4 250ms
調3/4 187ms
------------------------------------------------*/
void delay(unsigned char t)
{
unsigned char i;
for(i=0;i<t;i++)
DelayMs(250);
TR0=0;
}
/*------------------------------------------------
定時器0中斷
------------------------------------------------*/
void TIM0_ISR() interrupt 1
{
TR0=0;
SPK1=!SPK1;
TH0=Timer0_H;
TL0=Timer0_L;
TR0=1;
}
/*------------------------------------------------
歌曲處理函數
------------------------------------------------*/
void Song()
{
TH0=Timer0_H;//賦值定時器時間,決定頻率
TL0=Timer0_L;
TR0=1; //打開定時器
delay(Time); //延時所需要的節拍
}
/*------------------------------------------------
主函數
------------------------------------------------*/
void main(void)
{
unsigned char k,i;
TMOD|=0x01; //置定時器0工作方式1
EA=1; //打開全局中斷
ET0=1; //打開定時0中斷
while(1)
{
i=0;
while(i<100)
{ //音樂數組長度 ,唱完從頭再來
k=MUSIC[i]+7*MUSIC[i+1]-1;//去音符振盪頻率所需數據
Timer0_H=FREQH[k];
Timer0_L=FREQL[k];
Time=MUSIC[i+2]; //節拍時長
i=i+3;
Song();
}
}
}

❾ 51單片機編程題單片機P1.0~1.7口接八個發光二極體(愛心圖樣)試編寫流水燈的匯編程序使發光二極體逐個亮

;啟動入口
ORG 0000H ;復位啟動
LJMP START ;
ORG 000BH ;T0中斷
LJMP T0INT ;
ORG 0100H ;
LJMP START ;
;
;主控程序
START: MOV SP,#80H ;初始堆棧值
MOV TMOD,#01H ;定時器0工作於方式1,50毫秒@12.000MHz
MOV TH0,#03CH ;定時器0定時時間=50mS
MOV TL0,#0B0H ;設置定時初值
MOV P1,#0FEH ;
MOV YSJS,#4 ;4*50mS=200mS
SETB ET0 ;允許定時器0中斷
SETB EA ;開總中斷
SETB TR0 ;定時器0啟動,開悉賣鍵始定時
JMP $ ;死循環等待中斷
;
;定時器0中斷服務程睜巧序
T0INT: PUSH PSW ;保配槐護現場
PUSH ACC ;
;
DJNZ YSJS,QT0 ;
MOV YSJS,#4 ;4*50mS=200mS
MOV A,P1 ;
RL A ;
MOV P1,A ;
;
QT0: MOV TH0,#03CH ;定時器0定時時間=50mS
MOV TL0,#0B0H ;
POP ACC ;恢復現場
POP PSW ;
RETI ;
;
YSJS EQU 30H ;
END ;

閱讀全文

與c51單片機愛心燈設計相關的資料

熱點內容
大轉折系列電影17部 瀏覽:86
蠟筆小新功夫小子國語版免費觀看 瀏覽:407
一個囚犯和一個小男孩的外國電影 瀏覽:974
yy寫的很詳細的小說 瀏覽:128
求個在線觀看的中文字幕 瀏覽:436
四台伺服器怎麼改成host 瀏覽:784
馬尾電影院今日影訊 瀏覽:815
老濕機免費看片網站 瀏覽:914
ck影院 瀏覽:942
ubuntuphpfpm安裝 瀏覽:414
末世之一女多男 瀏覽:178
電腦上如何下載稅務app 瀏覽:528
s曲線單片機 瀏覽:664
配音秀app如何自動取消續費功能 瀏覽:755
程序員深山養雞 瀏覽:825
類似渣夫的百惠媳的小說 瀏覽:502
javaforever 瀏覽:637
女主叫桃子的微電影 瀏覽:449
藍光超清1080p影視 瀏覽:296
男變女懷孕並生孩子的小說 瀏覽:344