1. 單片機,花樣流水燈
K1 BIT P3.0
K2 BIT P3.1
ORG 0000H
JMP START
START:
MOV TMOD, #01H
SETB TR0
MOV R4, #7FH
MOV R5, #7FH
MOV R6, #0FEH
M_LOOP:
JNB K1, K1_PROG
JNB K2, K2_PROG
MOV P1, R4
MOV A, R4
RR A
MOV R4, A
CALL DL1S
JMP M_LOOP
;---------------------------------
K1_PROG:
MOV A, R5
ANL A, R6
MOV P1, A
MOV A, R5
RR A
MOV R5, A
MOV A, R6
RL A
MOV R6, A
CJNE R6, #0EFH, K1_DL
MOV R5, #7FH
MOV R6, #0FEH
K1_DL:
CALL DL1S
JMP M_LOOP
;---------------------------------
K2_PROG:
MOV R3, #16
LP2:XRL P1, #255
CALL DL1S
DJNZ R3, LP2
JMP M_LOOP
;---------------------------------
DL1S:
MOV R2, #20
LP1:MOV TL0, #LOW (65536-50000)
MOV TH0, #HIGH(65536-50000)
JNB TF0, $
CLR TF0
DJNZ R2, LP1
RET
;---------------------------------
END
2. 單片機流水燈程序
我是一名多年的單片機工程師,下面的程序你參考一下
效果圖
程序如下:
#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個實驗學會單片機」就可以看到在首頁了。
3. 單片機流水燈
P0口控制,先奇數亮再偶數亮,循環三次;一個燈上下循環三次;兩個分別從兩邊往中間流動三次;再從中間往兩邊流動三次;不過這個程序實現的應該是這樣的
先奇數亮再偶數亮,循環三次;一個燈上下循環三次;兩個分別從兩邊往中間流動;再從中間往兩邊流動(延時0.1s)
#include< reg52.h>
#include< intrins.h>//頭文件
#define uint unsigned int
#define uchar unsigned char//聲明用unit代替unsigned int,下個同理
void delay();
void main()
{ uchar temp,temp1,temp2,a,b;
while(1)
{ for(b=3;b>0;b--)
{ temp=0xaa;
P0=temp;
delay();
temp=0x55;
P0=temp;
delay();//調用延時函數
}
for(a=3;a>0;a--)
{ temp=0xfe;
for(b=7;b>0;b--)
{ P0=temp;
temp=_crol_(temp,1);
delay();
P0=temp;
delay();
}
}
temp1=0xfe;
temp2=0x7f;
for(a=8;a>0;a--)
{
temp=temp1&temp2;
P0=temp;
delay();
temp1=_crol_(temp1,1);
temp2=_cror_(temp2,1);
}
}
}
void delay()
{ uint a,b;
for(a=100;a>0;a--)
for(b=100;b>0;b--);
} //延時函數
希望可以幫助到您
謝謝
4. 急求懂51單片機編程的C語言大神幫忙編一個AT89S52單片機有創意的8位流水燈程序
#include <遲彎reg51.h>
#define GPIO P1
#define uint8 unsigned char
#define uint16 unsigned int
void delay_ms(uint16 x)
{
uint8 i=110;
while(x--)
while(i--);
}
void main()
{
uint8 i;
while(1)
{ i=8;
GPIO=0x01;
do
{
delay_ms(1000);
GPIO=GPIO<<1;
i--;
}while(i);
}
}
一團旦凱位流水燈左移。前提是你塌喚的等給一的時候才亮。否者把GPIO改為oxfe。
5. 基於單片機的花樣流水燈控制
單片機流水燈,是學習單片機的基礎實驗,花樣+按鍵是稍微進一步,可以多看一些實例,網上有很多模擬實例可以參考學習。
6. 單片機用at89c51來製作一個16個燈的流水燈
用一個 16 位的變數,每隔一會,就把內容變化一下,
再輸出到介面,即可。
7. 單片機心形流水燈6v電壓怎麼會閃,加了個7805又不會亮,電壓開大電就全部亮又不閃,求大神們指點下
7805的驅動能力跟不上,LED太多,
你算算電流就知道了
8. 單片機花樣流水燈設計怎麼寫
單片機花樣流水燈怎設計?怎麼寫?請問誰知道告訴我,謝謝。
9. 求幫忙寫一個用STC89C52單片機控制心形流水燈的程序!萬分感謝
焊接的挺漂亮,用心了,祝你成功!!
10. 求用STC89C52RC單片機實現流水燈(C語言)
用STC89C52RC單片機實現流水燈,這是最簡單的程序,用左移函數_corl_( )實現很容易。P0口接8個LED燈,用proteus 模擬時的模擬圖和模擬效果如下。