定時器 實現流水燈迴圈移位點亮

2021-07-03 04:31:19 字數 920 閱讀 7165

程式功能:用t0計時器,採用方式1實現流水燈的迴圈移位點亮。

宣告:採用t0技術,工作於方式1

間隔1秒點亮,定時50ms,20次。

初值計算:65536-50000=3cb0h

;利用t0產生1s定時

org 0000h

ajmp main ;

org 000bh ;t0定時服務子程式入口位址

ajmp serve ;

org 0100h ;

main:

mov sp,#60h ;

mov b,#14h ;20次

mov tmod,#01h ;設定方式1

mov tl0,#0b0h ;定時器賦初值

mov th0,#3ch ;

setb tr0 ;啟動t0

setb et0 ;開啟t0中斷

setb ea ;開啟總中斷

mov p1,#01111111b; led7點亮

sjmp $ ;

serve:

mov tl0,#0b0h ;

mov th0,#3ch

djnz b,loop ;

mov b,#14h ;

mov a,p1 ;

rr a ;迴圈右移

mov p1,a ;

loop:

reti

;中斷返回

end

利用定時器1實現流水燈

首先要求使用定時器1,且定時1s,那麼先將基礎的初始化函式完成,計算初值為1ms.在服務函式中定義乙個計數變數count並且讓count自增,當count 1000時即達到要求的1s.接著題目要求led燈 先從左至右,再從右至左移動,這一功能通過使用左移函式與右移函式來完成,具體看示例程式 incl...

中斷定時器與流水燈

此程式為設定led流水燈與數碼管第0一位的0 16數字迴圈亮。不能將數碼管程式放進主函式裡,因為延遲函式delay,可能會在add自加到40時剛好在dalay裡面,這時不會有數碼管的閃爍。include include define uchar unsigned char define uint u...

ESP8266軟體定時器實現流水燈

esp8266 nonos 3.0軟體定時器實現流水燈 已經搭建好了esp8266開發環境,我們先實現一下最基本的功能,用軟體定時器實現流水燈功能。要實現流水燈我們首先需要進行gpio的配置。檢視原理圖我們的led連線的是esp8266的gpio4引腳和gpio5引腳,所以我們需要先設定這兩個gpi...