導航:首頁 > 操作系統 > 一個流水燈單片機程序

一個流水燈單片機程序

發布時間:2023-09-09 11:40:30

1. 單片機流水燈

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--);
} //延時函數
希望可以幫助到您

謝謝

2. 一個花樣流水燈單片機程序(要求1,3,5,7燈亮,2,4,6,8燈亮然後全滅)

先把P1口全部接低電平。

ORG 0000H。
AJMP START。
ORG 0040H。
AA:MOV P1,#55H。


ACALL DELAY。
MOV P1,#0AAH。
ACALL DELAY。
MOV P1,#00H。


ACALL DELAY。
AJMP AA。

DELAY:MOV R5,#256。
LOOP2:MOV R4,#256。
LOOP1:NOP。
NOP。


DJNZ R4,LOOP1。
DJNZ R5,LOOP2。
RET。

單片機(Single-Chip Microcomputer)是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的微型計算機系統。

在工業控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發展到現在的300M的高速單片機。

單片機又稱單片微控制器,它不是完成某一個邏輯功能的晶元,而是把一個計算機系統集成到一個晶元上。相當於一個微型的計算機,和計算機相比,單片機只缺少了I/O設備。概括的講:一塊晶元就成了一台計算機。

它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。

單片機的使用領域已十分廣泛,如智能儀表、實時工控、通訊設備、導航系統、家用電器等。

3. 單片機流水燈程序

我是一名多年的單片機工程師,下面的程序你參考一下


效果圖



程序如下:

#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個實驗學會單片機」就可以看到在首頁了。

4. 求52單片機流水燈程序

//單片機流水燈程序,是學習單片機的最簡單的程序。

//流水燈

#include <REG51.h> //51頭文件

#define DY_PORT P1 //設置LED連接的I/O組

#define DY_SPEED 100 //設置每一個明亮級的停留時間(值域:0~65535)

void delay (unsigned int a){ // 1ms延時程序

unsigned int i;

while( --a != 0){

for(i = 0; i < 600; i++);

}

}

void main(void){

unsigned int i;

unsigned int temp;

while(1){

temp=0x01;

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

DY_PORT=~temp;

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

temp<<=1;

}

temp=0x80;

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

DY_PORT=~temp;

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

temp>>=1;

}

temp=0xFE;

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

DY_PORT=temp;

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

temp<<=1;

}

temp=0x7F;

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

DY_PORT=temp;

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

temp>>=1;

}

}

}

5. 單片機流水燈程序

程序如下:

#include <reg52.h>

sbit led1 = P2^0;

sbit led2 = P2^1;

sbit led3 = P2^2;

sbit led4 = P2^3。

讓電子信息技術與單片機技術相融合,有效提高了單片機應用效果。作為計算機技術中的一個分支,單片機技術在電子產品領域的應用,豐富了電子產品的功能,也為智能化電子設備的開發和應用提供了新的出路,實現了智能化電子設備的創新與發展。

從二十世紀九十年代開始,單片機技術就已經發展起來,隨著時代的進步與科技的發展,目前該技術的實踐應用日漸成熟,單片機被廣泛應用於各個領域。現如今,人們越來越重視單片機在智能電子技術方面的開發和應用,單片機的發展進入到新的時期。

無論是自動測量還是智能儀表的實踐,都能看到單片機技術的身影。當前工業發展進程中,電子行業屬於新興產業,工業生產中人們將電子信息技術成功運用。

6. 用單片機控制流水燈的六種方案,要程序電路圖,詳細講解

;//*********************************************************
;//實現功能:本程序實現在P0口模擬一種流水燈程序
;//*********************************************************
p_out equ P0 ;宏定義P0為p_out
org 00h ;程序的開始地址
ajmp main ;跳到main
org 030h
;//******************主函數***************************
;//描 述:實現在P0口模擬一個流水燈程序
;//設計人: lishengling24
;//****************************************************
main: ;主函數
mov sp,#50h ;設置sp堆棧的初始位置
mov a,#0feh ;初始化acc
main_1:
mov p_out,a ;點亮一個燈
mov r1,#250 ;
mov r0,#250 ;
Call delay_time;調用時間延遲子程序,上面兩句是設置延遲時間
mov p_out,#0ffh;熄滅燈
RL a ;循環左移一位準備點亮下一個燈
JMP main_1 ;跳到main_1循環
;//******************時間延遲函數**********************
;//描 述:用指令實現延時一段時間
;//入口參數:r1為高位,r0為低位,都是十六進製表示?
;//出口參數:無
;//設計人:lishengling24
;//****************************************************
delay_time:
push acc ;acc入棧
push psw ;psw入棧
mov a,r0 ;把r0賦給acc
inc r1 ;r1加1,因為djnz是先減1再比較是否為零,如果不加1
;當r1的初值為0的時候,減1後變成了0x0ff,改變了當
;初預想的延遲時間計數值
inc r0 ;道理和inc r1 一樣,當然r0和r1的初值不能為0x0ff
loop:
nop
nop
nop
nop
nop
nop
djnz acc,loop ;
mov a,r0 ;
djnz r1,loop ;
pop psw ;psw出棧
pop acc ;acc出棧
ret
end ;需要其他5種方案的程序和電路,在網路HI我。

以下是C的寫法:
//*********************************************************
//實現功能:本程序實現在P0口模擬一個流水燈程序
//*********************************************************
#include <reg51.h>
#define p_out P0 //宏定義輸出的i/o口為p0
//******************時間延遲函數**********************
//描 述:用指令實現延時一段時間
//入口參數:int i,為時間延遲參數
//****************************************************
void delay_time(int i)
{
while(i)
i--;
}
//******************主函數***************************
//描 述:實現在P0口模擬一個流水燈程序
//****************************************************
void main(void)
{
unsigned char i=0; //初始化一個局部變數為0
p_out=0xff; //初始化將要輸出的i/o口,輸出高電平,熄滅所有燈
while(1)
{
for(i=0;i<8;i++)
{
p_out=~(1<<i);//點亮一個燈,
delay_time(50000); //延遲一段時間
p_out=0xff;//熄滅所有燈
}
}
}

7. 用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();

}

}

(7)一個流水燈單片機程序擴展閱讀

單片機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;//點亮第八個發光管

}

}

8. 單片機c語言編了個流水燈,用按鍵怎麼實現它暫停。

實現流水燈的方式有很多種(中斷,定時器,延時等等),看用哪種方式,最簡單的是延時做流水燈,那麼在死循環裡面增加按鍵檢測,判斷出有按鍵按下來時,再進入死循環,程序不往下走就可以暫停,再按跌出死循團拍世環。

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

#define uchar unsigned char //定義無符號字元

#define uint unsigned int //定義無符號整數

void delay(uint); //聲明延時函數

void main(void)

{

uint i;

uchar temp;

uint Flag1=0; 按鍵標志位

uint Flag2=0;

while(1)

{

Flag1 = keyscan();

if(Flag1==1)(Flag2=~Flag2); //如果一旦檢測到一次按鍵掃描就把標志位2 打開;再次就關閉;

if(Flag2==1)// 如果標志位打開就開始流水燈

{

temp=0x01;

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

{

P1=~temp;

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

temp<<=1;

}

}

(8)一個流水燈單片機程序擴展閱讀:

單片機編程就是硬體賀瞎是單片機,基於單片機進行的程序開發,在有周圍外設支持的情況下,用軟體來控制的部分通過單片機編程來實現。單片機能識別的語言是硬體語言即匯編,因此編程就是圍繞匯編來實現,有直接用匯編程序來編寫的,但是較難調試的編寫,特別是一上規模就更不易實現,因此常用塌肢高級語言來寫然後通過編譯器轉化成匯編。

閱讀全文

與一個流水燈單片機程序相關的資料

熱點內容
中銘機器人怎麼編程 瀏覽:812
把字母變為數字的加密法 瀏覽:523
噬血狂襲第三季哪個app能看 瀏覽:421
江蘇螺桿壓縮機 瀏覽:980
android底部彈出對話框 瀏覽:501
怎麼查伺服器同行fc號 瀏覽:999
什麼伺服器雲鳥最便宜 瀏覽:220
vs編譯器反匯編 瀏覽:570
程序員直播做項目創業 瀏覽:403
linux下samba配置 瀏覽:797
程序員面試銀行崗位會有編制嗎 瀏覽:414
ex表怎麼加密碼保護 瀏覽:173
小孩上編程課用哪款好 瀏覽:559
如何製作伺服器商店 瀏覽:735
壓縮氣管閥門 瀏覽:465
pdf推文 瀏覽:360
69程序員 瀏覽:583
阿里雲伺服器鏡像如何遷移到騰訊 瀏覽:991
安卓如何顯示日期在狀態欄 瀏覽:805
cadsplt這個命令用不了 瀏覽:468