當前位置:首頁 » 課程大全 » 單片機課程設計流水燈

單片機課程設計流水燈

發布時間: 2020-11-27 17:32:20

『壹』 單片機16路流水燈課程設計

程序和流程圖寫著麻煩,給你個思路吧分別以P0,P1做兩個單八路流水等先P1全滅,讓P0單流水並計數,8次後P0全滅,讓P1單流水並計數,8次後返回循環.找我的話到 www.ahut.org,論壇中有我的電子製作實驗室版塊

『貳』 單片機用at89c51來製作一個16個燈的流水燈

用一個 16 位的變數,每隔一會,就把內容變化一下,
再輸出到介面,即可。

『叄』 AT89C51單片機控制流水燈課程設計

/*******************************************************************************
* 標題: ME300系列單片機開發系統演示程序 - LED流水燈 *
;* 硬體: ME300A,ME300S,ME300A+,ME300B *
* 文件: wl001.C *
* 日期: 2004-1-5 *
* 版本: 1.0 *
* 作者: 偉納電子 - Freeman *
* 郵箱: [email protected] *
* 網站: http://www.willar.com *
********************************************************************************
* 描述: *
* LED流水燈 *
* *
********************************************************************************
* 跳線設置: *
* ME300A+ JP1 全部短接,JP2短接在3-4端 *
* ME300B JP1 短接,JP2短接在3-4端 *
* *
* *
********************************************************************************
* 【版權】 Copyright(C)偉納電子 www.willar.com All Rights Reserved *
* 【聲明】 此程序僅用於學習與參考,引用請註明版權和作者信息! *
*******************************************************************************/

#include<reg51.h>
#include <intrins.h>

void delayms(unsigned char ms)
// 延時子程序
{
unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
}

main()
{
unsigned char LED;
LED = 0xfe;
P0 = LED;

while(1)
{
delayms(250);
LED = _crol_(LED,1); //循環右移1位,點亮下一個LED
P0 = LED;
}
}

『肆』 51單片機流水燈用C語言編寫的設計程序

/*********************************************************************************************
程序名: 8路流水燈
編寫時間:年5月13日
硬體支持:STC12C4052AD外部12MHZ晶振
介面說明:8個LED彩燈接P1口
修改日誌:
NO.1-2009年5月14日 在程序前面加入參數定義項
/*********************************************************************************************
說明:
根據參數設置產生流水LED效果。

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

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

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

#define DY_PORT P1 //設置LED連接的I/O組
#define DY_SPEED 100 //設置每一個明亮級的停留時間(值域:0~65535)

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

bit [自定義名] ; //定義一個位(位的值只能是0或1)例:bit LED
#define [代替名] [原名] //用代替名代替原名(可以方便修改常改或調試的值)例:#define LED P1
sbit [自定義名] = [系統位名] ; //自定義系統位名。例:sbit Add_Key = P3 ^ 1;
unsigned char [自定義名] ; //定義一個0~255的整數變數.例:unsigned char a;
unsigned int [自定義名] ; //定義一個0~65535的整數變數

/*********************************************************************************************/
void delay (unsigned int a){ // 1ms延時程序
unsigned int i;
while( --a != 0){
for(i = 0; i < 600; i++);//STC單片機在外部晶振為12MHz時i值上限為600
} //AT89C51單片機在外部晶振為12MHz時i值上限為125
}
/*********************************************************************************************/
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;
}
}
}
/*********************************************************************************************/

『伍』 單片機流水燈C語言程序(8個燈,依次點亮每個燈,延時500MS)

單片機流水燈C語言程序的源代碼如下:

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

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

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

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

void main(void)

{

uint i;

uchar temp;

while(1)

{

temp=0x01;

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

{

P1=~temp;

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

temp<<=1;

}

temp=0x80;

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

{

P1=~temp;

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

temp>>=1;

}

temp=0xFE;

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

{

P1=temp;

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

temp<<=1;

}

temp=0x7F;

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

{

P1=temp;

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

temp>>=1;

}

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

{

register uint bt;

for(;t;t--)

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

}

(5)單片機課程設計流水燈擴展閱讀

51單片機流水燈的源代碼如下

#include<reg51.h>

#include<intrins.h>

voiddelay(inta)

{

inti;

while(a--)for(i=0;i<110;i++);

}

main()

{

inti;

while(1)

{

P0=0xfe;

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

{

P0=_crol_(P0,1);

delay(500);

}

}

}

『陸』 如何用單片機簡單製作一個流水燈

  1. 工具:STC系列51單片機、串口轉換器(USB轉TTL 或232轉TTL)

  2. 材料:實驗板一塊(可以買現成的,也可以買麵包板自己搭建),電阻、LED燈 若干,5V電源等。

  3. 以下程序可以直接用Keil C 直接編譯執行。

//可以通過左移函數_crol_()和右移函數_cror_()來實現LED等的來迴流動。


//具體實現方法可以參考如下程序:


#include<reg51.h>

#include<intrins.h>

#defineuintunsignedint

#defineucharunsignedchar

voiddelay(uinta);

voidmain()

{

P1=0xfe;

while(1)

{

//向左循環點亮LED

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

{

P1=_crol_(P1,1);//左移一位,點亮下一位LED

delay(55);

}

//向右循環點亮LED

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

{

P1=_cror_(P1,1);//右移一位,,點亮上一位LED

delay(55);

}

}

}

//延時函數,延時a毫秒

voiddelay(uinta)

{

uintx,y;

for(x=a;x>0;x--)

for(y=110;y>0;y--);

}

『柒』 單片機流水燈課程設計

功能:先保持全滅一段時間,然後順序點亮8個燈,全亮後再保持一段時間,然後從從頭開始

SS2:
MOV A,#0FFH ;全部熄滅
MOV P1,A ;送顯示
ACALL DELAY1S ;延時一段時間,保持全滅1S
SS1:
RL A ;循環左移1位
CLR ACC.0 ;將最低位置0,點亮1個等
MOV P1,A ;送顯示
ACALL DELAY100ms ;延時一段時間,感覺上100ms比較合適,根據情況自己調整一下
JNZ SS1 ;A不等於0,說明還有燈未點亮,循環繼續下一個
ACALL DELAY1S ;A=0,保持全部點亮1S鍾
JMP SS2 ;再次開始

延時子程序我就不寫了,你應該會的。
建議:牽涉到延時,最好用定時中斷實現,實際運用中ms級的延時一般都會使用中斷實現,否則CPU的資源就浪費了。如果是作業就算了,如果你想學些東西最好用中斷的方式再嘗試一下。

『捌』 學習單片機流水燈的步驟

先用c語言入門,學得差不多時可以學習單片機匯編,這樣對理解單片機內部工作原理非常有幫助,跟著郭天祥<十天學會單片機> 的視頻來,相信你很快就能入門的

『玖』 單片機課程設計,按鍵控制6個LED流水燈設計:按下K1,執行A,按下K2,執行B,

你好,請問每次變換兩個燈是不是亮1,2;亮0.5S,熄滅,亮3,4,;以此類推 ?

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919