微控制器,花樣流水燈,微控制器中的流水燈,花樣燈,跑馬燈

2022-03-06 14:55:47 字數 5188 閱讀 6260

1樓:匿名使用者

參考《微控制器原理與應用-基於彙編、c51及混合程式設計》一書的第146-147頁例題5-25,要改變流水燈的花樣只改變陣列a中各元素即可

2樓:做而論道

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_dlmov 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

3樓:修者世界

led equ 30h

times equ 31h

k1 bit p3.2

k2 bit p3.3

org 0000h

ljmp main

org 000bh

ljmp t0isr

org 0030h

main:

mov tmod,#01h

mov th0,#high(65536-50000)mov tl0,#low(65536-50000)setb tr0

setb et0

setb ea

mov r2,#0

mov r3,#0

mov led,#0feh

mov times,#0

loop:

jb k1,loop1

jnb k1,$

mov times,#1

sjmp loop

loop1:

jb k2,loop

jnb k2,$

mov times,#2

sjmp loop

t0isr:

push acc

clr tr0

mov th0,#high(65536-50000)mov tl0,#low(65536-50000)setb tr0

inc r3

cjne r3,#20,t0e

mov r3,#0

mov a,times

jnz t001

mov a,led

mov p0,a

t01:

jnz t011

mov a,#0feh

sjmp t012

t011:

clr c

rlc a

t012:

mov led,a

pop acc

reti

t001:

dec a

jnz t002

mov dptr,#tab1

mov a,r2

movc a,@a+dptr

mov p0,a

inc r2

cjne r2,#4,t0e

mov r2,#0

mov times,#0

pop acc

reti

t002:

mov dptr,#tab2

mov a,r2

movc a,@a+dptr

mov p0,a

inc r2

cjne r2,#8,t0e

mov r2,#0

mov times,#0

t0e:

pop acc

reti

tab1:

db 7eh,3ch,18h,00h

tab2:

db 00h,0ffh,00h,0ffh,00h,0ffh,00h,0ffhend

微控制器中的流水燈,花樣燈,跑馬燈?

4樓:

等 到 你微控制器學到一定程度就理解了,這些燈只是按照自己的意思來亮,至於名稱都無所謂

5樓:近視800度不戴眼鏡

估計樓上都沒看題目,花樣燈應該沒啥既定要求,流水燈和跑馬燈有區別,跑馬燈是一亮一滅,流水燈是實現乙個流水的效果

流水燈和跑馬燈(圖源csdn)

6樓:匿名使用者

沒什麼實質的區別只是各人說法不一樣,像流水燈程式也有人叫跑馬燈,說個簡單的例子,比方說乙個亮點不斷的左迴圈就叫流水燈。從中間亮兩個點,從左右兩邊流動就叫花樣。

7樓:

可以把每組i/o口看成乙個陣列,進行移位取反等操做就可以邊不同的流水燈程式,參考一下:#include

unsigned char i;

unsigned char temp,temp1;

unsigned char a,b;

void delay(void)

void main(void)

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

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

for(i=0;i<3;i++) }

}這個是我在開發板上的實驗程式,很久以前了,從程式來看應該是兩組八個的,

轉一圈然後閃三下。

8樓:匿名使用者

這三個和你了解都差不多,只是順序不同

51微控制器流水燈程式

9樓:電路diy手工

來自理科生的浪漫,用51微控制器製作心形流水燈

10樓:安迪的快樂時光

花樣流水燈的玩法,乙個51微控制器8位埠輪流輸出16顆燈珠,

11樓:匿名使用者

推薦你看郭天祥十天學會微控制器,回講實際程式的,講的挺好的

c語言c51微控制器花樣流水燈程式分析註釋

12樓:

和你說一句關鍵的(別告我你整個程式一句都看不懂):

p1=0xfe;

0xfe是十六進位制表示的數,二進位制就是1111 1110,通過你的程式和相關註釋可以看出,硬體上你有8個led燈連線p1口,且這些led是低電平亮。p1=0xfe(1111 1110)也就是表示七個燈滅,乙個燈亮。接下來的**就是讓p1資料0xfe左移且低位補1,移一次就是1111 1101,、兩次就是1111 1011,三次是1111 0111。。。

以此類推,可以看出它是0由最低位到最高位依次移過去的,而剛說了0表示led亮,這也就是led從一邊到另一邊依次點亮的效果。

後面的**按我上面說的自己理解,完全對你解釋太麻煩,對你也沒多大好處,只有你自己理解了才能學好微控制器

微控制器流水燈c語言程式(8個燈,依次點亮每個燈,延時500ms)

13樓:小夏在深圳

微控制器流水燈c語言程式的源**如下:

#include //51系列微控制器定義檔案#define uchar unsigned char //定義無符號字元

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

void delay(uint); //宣告延時函式void main(void)

temp=0x80;

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

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

for(i=0;i<8;i++) //8個流水燈依次反向全部點亮void delay(uint t) //定義延時函式擴充套件資料51微控制器流水燈的源**如下

#include

#include

void delay(int a)

main()}}

14樓:

1、用精確定時的方法,設定流水燈執行時的時間間隔,延時時間為500ms。

2、#include "reg51.h"首先寫出微控制器的頭函式。

3、#include "intrins.h"輸入位移函式。

4、unsigned int count=0,led;定義函式。

5、輸入主函式,定義微控制器的埠,寫入延時函式。

6、中斷跳轉,使流水燈執行起來。

15樓:匿名使用者

#include //51系列微控制器定義檔案#define uchar unsigned char //定義無符號字元

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

void delay(uint); //宣告延時函式void main(void)

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

關於微控制器流水燈

不知道你有沒有搞明白所有的彙編指令的用途就看這個。p0口應該接了8個燈,操作他們的方法有兩種,一種是位操作,一種就是對整個p0口操作。51微控制器中每個並口有8條線,這8條線每條都接乙個led,如果是共陰極的話,給p0口的哪一位送高電平哪一位就亮。如果是共陽極,送低點平亮。一般都是共陽極,因為微控制...

微控制器流水燈彙編問題

org 0000h ljmp main org 030h mov p0,0dbh 11011011 零為亮 main mov a p0 rl a mov p0,a acall delay ajmp main delay mov r7,255 延時子程式d1 mov r6,255 d2 djnz r6...

求助高手 給些有關微控制器花樣流水燈程式 C語言編寫

去網上下乙個 然後對著晶元把程式寫進去測試下就 好了。微控制器十六位led流水燈控制用c語言怎麼程式設計 15 微控制器從小白開始系列 七 第乙個c語言程式來控制led燈。你也是計算機應用技術班的嗎?不會做呢 看不到線路圖,誰能幫你啊!51微控制器中如何用組合語言編寫流水燈 51微控制器中如何用組合...