0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

幾個(gè)使用單片機(jī)設(shè)計(jì)流水燈的程序概述

Wildesbeast ? 來源:?jiǎn)纹瑱C(jī)教程網(wǎng) ? 作者:豪杰電子工作室 ? 2020-06-13 11:13 ? 次閱讀

51單片機(jī)流水燈C語言源程序(源創(chuàng)) **************************************************************

文件名稱:flash_led.c

文件說明:流水燈C程序

編寫人員:Jerry Yang

編寫日期:2006年10月5日

程序說明:MCU采用AT89S51,外接12M晶振,P1口輸出

*************************************************************/

#include《reg51.h》 //51系列單片機(jī)定義文件

#define uchar unsigned char //定義無符號(hào)字符

#define uint unsigned int //定義無符號(hào)整數(shù)

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

void main(void)

{

uint i;

uchar temp;

while(1)

{

temp=0x01;

for(i=0;i《8;i++) //8個(gè)流水燈逐個(gè)閃動(dòng)

{

P1=~temp;

delay(100); //調(diào)用延時(shí)函數(shù)

temp《《=1;

}

temp=0x80;

for(i=0;i《8;i++) //8個(gè)流水燈反向逐個(gè)閃動(dòng)

{

P1=~temp;

delay(100); //調(diào)用延時(shí)函數(shù)

temp》》=1;

}

temp=0xFE;

for(i=0;i《8;i++) //8個(gè)流水燈依次全部點(diǎn)亮

{

P1=temp;

delay(100); //調(diào)用延時(shí)函數(shù)

temp《《=1;

}

temp=0x7F;

for(i=0;i《8;i++) //8個(gè)流水燈依次反向全部點(diǎn)亮

{

P1=temp;

delay(100); //調(diào)用延時(shí)函數(shù)

temp》》=1;

}

}

}

void delay(uint t) //定義延時(shí)函數(shù)

{

register uint bt;

for(;t;t--)

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

}

/************************************************************

*89C51、S51單片機(jī)32個(gè)IO口流水燈測(cè)試程序

*Flash0、1、2、3分別對(duì)應(yīng)單片機(jī)的P0、1、2、3四個(gè)口

*a程序?qū)?yīng)流水燈從全滅到一個(gè)一個(gè)亮

*b程序?qū)?yīng)流水燈從全亮到一個(gè)一個(gè)滅

*Author:大靈通

*2006-7-26 10:57,OK!

*************************************************************/

#include《reg51.h》

#include《intrins.h》

#include《absacc.h》

#define uchar unsigned char

#define uint unsigned int

#define TimeDelay 60000

void delay(uint n);

void Flash0a(void);

void Flash0b(void);

void Flash1a(void);

void Flash1b(void);

void Flash2a(void);

void Flash2b(void);

void Flash3a(void);

void Flash3b(void);

/************************************************************

*Function: 主函數(shù)

*parameter:

*Return:

*Modify:

*************************************************************/

void main(void)

{

while(1)

{

Flash1b();

Flash1a();

delay(TimeDelay);

delay(TimeDelay);

Flash0b();

Flash0a();

Flash2b();

Flash2a();

Flash1b();

Flash1a();

Flash3b();

Flash3a();

}

}

/************************************************************

*Function: 延時(shí)

*parameter:

*Return:

*Modify:

*************************************************************/

void delay(uint n)

{

while(n!=0)

{

n--;

}

}

void Flash0a(void)

{

uchar i;

uchar Temp;

Temp = 0x80;

for(i=0;i《8;i++)

{

P0 = ~Temp;

delay(TimeDelay);

Temp = Temp 》》 1;

}

P0 = 0xff;

}

void Flash0b(void)

{

uchar i;

uchar Temp;

Temp = 0x80;

for(i=0;i《8;i++)

{

P0 = Temp;

delay(TimeDelay);

Temp = Temp 》》 1;

}

P0 = 0;

}

void Flash1a(void)

{

uchar i;

uchar Temp;

P1 = 1;

Temp = 0x80;

for(i=0;i《8;i++)

{

P1 = ~Temp;

delay(TimeDelay);

Temp = Temp 》》 1;

}

P1 = 0xff;

}

void Flash1b(void)

{

uchar i;

uchar Temp;

P1 = 1;

Temp = 0x80;

for(i=0;i《8;i++)

{

P1 = Temp;

delay(TimeDelay);

Temp = Temp 》》 1;

}

P1 = 0;

}

void Flash2a(void)

{

uchar i;

uchar Temp;

P2 = 1;

Temp = 0x80;

for(i=0;i《8;i++)

{

P2 = ~Temp;

delay(TimeDelay);

Temp = Temp 》》 1;

}

P2 = 0xff;

}

void Flash2b(void)

{

uchar i;

uchar Temp;

P2 = 1;

Temp = 0x80;

for(i=0;i《8;i++)

{

P2 = Temp;

delay(TimeDelay);

Temp = Temp 》》 1;

}

P2 = 0;

}

void Flash3a(void)

{

uchar i;

uchar Temp;

P3 = 1;

Temp = 0x80;

for(i=0;i《8;i++)

{

P3 = ~Temp;

delay(TimeDelay);

Temp = Temp 》》 1;

}

P3 = 0xff;

}

void Flash3b(void)

{

uchar i;

uchar Temp;

P3 = 1;

Temp = 0x80;

for(i=0;i《8;i++)

{

P3 = Temp;

delay(TimeDelay);

Temp = Temp 》》 1;

}

P3 = 0;

}

===========

;P1口八個(gè)LED燈做三路流水燈實(shí)驗(yàn)

;***************************************************************

;* Date : 2004.4.20 *

;* Support Mb:020-34007281 E-mail:c51cn@163.com *

;* Create by :dengdewu http://www.c51.cn 更多例程請(qǐng)登陸網(wǎng)站 *

;* 網(wǎng)站單片機(jī)學(xué)習(xí)資料同步更新,敬請(qǐng)新老朋友隨時(shí)關(guān)注 *

;***************************************************************

ORG 0000H

LJMP MAIN

ORG 030H

MAIN:MOV P1,#0DBH ;11011011--0為亮,1為滅

ACALL DELAY

MOV P1,#06DH ;01101101

ACALL DELAY

MOV P1,#0B6H ;10110110

ACALL DELAY

AJMP MAIN

DELAY:MOV R7,#255 ;延時(shí)子程序

D1: MOV R6,#255

D2: DJNZ R6,D2

DJNZ R7,D1

RET

END

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 51單片機(jī)
    +關(guān)注

    關(guān)注

    274

    文章

    5705

    瀏覽量

    124142
  • 流水燈
    +關(guān)注

    關(guān)注

    21

    文章

    433

    瀏覽量

    59788
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3795

    瀏覽量

    81328
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    #中國(guó)香河英茂科工#STC32G12K128#屠龍刀三.2 流水燈例程

    流水燈
    丙丁先生
    發(fā)布于 :2025年01月19日 14:19:35

    低成本單片機(jī)方案——觸摸流水燈開關(guān)控制

    概述本方案旨在提供一種基于低成本單片機(jī)的觸摸流水燈開關(guān)控制解決方案。該方案結(jié)合了單片機(jī)技術(shù)、電容式觸摸傳感技術(shù)和LED驅(qū)動(dòng)技術(shù),實(shí)現(xiàn)了通過觸摸操作控制
    的頭像 發(fā)表于 12-26 16:37 ?226次閱讀
    低成本<b class='flag-5'>單片機(jī)</b>方案——觸摸<b class='flag-5'>流水燈</b>開關(guān)控制

    基于51單片機(jī)的跑馬燈/流水燈系統(tǒng)

    具體實(shí)現(xiàn)功能(1)9種LED流水燈模式通過按鍵進(jìn)行切換,數(shù)碼管顯示流水燈模式。(2)通過加減按鍵可以切換每種LED流水燈的速度。仿真演示視頻:設(shè)計(jì)介紹51單片機(jī)簡(jiǎn)介51
    的頭像 發(fā)表于 10-22 14:12 ?304次閱讀
    基于51<b class='flag-5'>單片機(jī)</b>的跑馬燈/<b class='flag-5'>流水燈</b>系統(tǒng)

    單片機(jī)怎么寫入程序

    程序通常涉及以下幾個(gè)步驟: 選擇單片機(jī)和開發(fā)環(huán)境 : 確定項(xiàng)目需求,選擇合適的單片機(jī)型號(hào)。 安裝相應(yīng)的開發(fā)環(huán)境,如Keil、IAR、MPLAB等。 硬件連接 : 將
    的頭像 發(fā)表于 10-21 11:21 ?885次閱讀

    用MSP430FR235x單片機(jī)設(shè)計(jì)雙射線煙霧探測(cè)器模擬前端

    電子發(fā)燒友網(wǎng)站提供《用MSP430FR235x單片機(jī)設(shè)計(jì)雙射線煙霧探測(cè)器模擬前端.pdf》資料免費(fèi)下載
    發(fā)表于 09-14 10:53 ?0次下載
    用MSP430FR235x<b class='flag-5'>單片機(jī)設(shè)</b>計(jì)雙射線煙霧探測(cè)器模擬前端

    keil可以讀出單片機(jī)程序

    Keil是一款廣泛應(yīng)用于單片機(jī)程序開發(fā)的軟件,它提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案。然而,關(guān)于Keil是否能直接“讀出”單片機(jī)程序
    的頭像 發(fā)表于 09-02 10:32 ?1210次閱讀

    單片機(jī)燒錄程序用什么軟件

    單片機(jī)燒錄程序單片機(jī)開發(fā)過程中的一個(gè)重要環(huán)節(jié),涉及到將編寫好的程序代碼通過燒錄器寫入單片機(jī)的ROM中,以實(shí)現(xiàn)對(duì)
    的頭像 發(fā)表于 09-02 10:05 ?1583次閱讀

    單片機(jī)燒錄程序可以重新燒嗎

    單片機(jī)(Microcontroller Unit, MCU)是一種集成電路芯片,它將計(jì)算機(jī)的CPU、存儲(chǔ)器、輸入/輸出接口等集成在一塊芯片上,用于控制各種電子設(shè)備。單片機(jī)燒錄程序是指將編寫
    的頭像 發(fā)表于 09-02 10:04 ?1509次閱讀

    單片機(jī)燒錄程序的線比單片機(jī)上的少還能燒錄嗎

    單片機(jī)燒錄原理 單片機(jī)燒錄是指將編寫好的程序代碼通過一定的方式傳輸?shù)?b class='flag-5'>單片機(jī)的存儲(chǔ)器中,使其能夠按照程序的指令運(yùn)行。這個(gè)過程通常需要使用燒錄器
    的頭像 發(fā)表于 09-02 09:54 ?596次閱讀

    單片機(jī)燒錄程序的基本步驟是什么

    單片機(jī)燒錄程序的基礎(chǔ),它包含了單片機(jī)芯片、電源、接口等基本元件。在選擇單片機(jī)開發(fā)板時(shí),需要考慮以下幾個(gè)方面: (1)
    的頭像 發(fā)表于 09-02 09:47 ?1374次閱讀

    stm32單片機(jī)燒錄程序會(huì)擦除原來的程序

    在STM32單片機(jī)燒錄程序的過程中, 通常情況下會(huì)擦除原來的程序 ,并將新程序寫入單片機(jī)的閃存(Flash)中。這一過程是通過燒錄工具(如S
    的頭像 發(fā)表于 09-02 09:42 ?2464次閱讀

    單片機(jī)POV LED流水燈制作

    電子發(fā)燒友網(wǎng)站提供《單片機(jī)POV LED流水燈制作.docx》資料免費(fèi)下載
    發(fā)表于 05-28 14:34 ?3次下載

    玩轉(zhuǎn)嵌入式單片機(jī),必會(huì)的50個(gè)電路(收藏)

    單片機(jī) 電源 聲音模塊 收音機(jī) 485 藍(lán)牙 光耦 can 光敏電阻 單片機(jī) 矩陣 單片機(jī)電路 時(shí)鐘 ADC 接口電路 紅外發(fā)射 顯示模塊 紅外接收 蜂鳴器驅(qū)動(dòng) 流水燈 usb供電 燒
    的頭像 發(fā)表于 03-28 17:25 ?1371次閱讀
    玩轉(zhuǎn)嵌入式<b class='flag-5'>單片機(jī)</b>,必會(huì)的50個(gè)電路(收藏)

    51單片機(jī)流水燈制作

    ?流水燈是學(xué)習(xí)51單片機(jī)的一個(gè)基本項(xiàng)目,是我們對(duì)單片機(jī)IO口輸出認(rèn)識(shí)的基本項(xiàng)目。當(dāng)然學(xué)會(huì)了花樣流水燈也很好玩。 下面就分享一種51單片機(jī)
    的頭像 發(fā)表于 02-26 10:06 ?1692次閱讀
    51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>流水燈</b>制作

    TC233使用QSPI跑SPI程序單片機(jī)不定時(shí)復(fù)位的原因?

    ,如果再使用一路SPI,使用SPI0作為主機(jī),連接端口,使用片內(nèi)兩路SPI互相收發(fā),任然會(huì)復(fù)位,只是頻率會(huì)更低,還有就是只跑一個(gè)流水燈程序倒是不會(huì)復(fù)位最后就是我看門狗都關(guān)閉了,難道除了看門狗還有其他
    發(fā)表于 02-02 07:58