微控制器如何讓數碼管每一位單獨閃爍

時間 2021-09-10 12:14:00

1樓:

例如是51系列的微控制器的話,由於是八位的,每個i/o口對應著八位資料,如p0 對應著 0xff。

如果led燈是i/o口高電平亮,p0口每個管教上面接有一個led燈,那麼想讓哪個燈亮就讓哪個管腳的電平賦值為1.

例如,我想讓p0.2 p0.4 p0.7管腳上面的燈亮,那麼p0=10010100h=0x94!

希望能夠幫助到你

2樓:暖暖在人間

org 00h

start:mov dptr,#tablemov r0,#0

loop:mov a,r0

movc a,@a+dptr

mov p0,a

acall dly1s

inc r0

cjne r0,#10,loop

jmp start

dly1s:mov r5,#50

d1:mov r6,#100

d2:mov r7,#100

djnz r7,$

djnz r6,d2

djnz r5,d1

rettable:db 0c0h,0f9h,0a4h,0b0hdb 99h,92h,82h,0f8h

db 80h,90h,88h,83h

db 0c6h,0a1h,86h,8eh

end;

這個是數碼管顯示的彙編程式,希望對你有所幫助。

3樓:匿名使用者

什麼叫單獨閃爍?

是每一位顯示不同的東西還是隻顯示一位?

如果是顯示不同的東西就是用迴圈

依次選擇每一位 然後送資料

之後選擇下一位 送資料 這樣迴圈

如果是隻顯示一位是隻選擇一位就可以了

4樓:陳小檢

如果是動態顯示的話,控制好位控就可以了 要是靜態的話就只需控制段控

51微控制器如何讓2位數碼管閃爍

5樓:墨竹吟

“想讓抄他最後3秒閃爍”,我猜應該是像倒計時到快結束時的警報那樣的閃爍吧?

這需要再新增一個計時變數。比如總共有10秒,想讓它在最後3秒閃爍,可以這樣:

在定時器中斷(比如100ms一次) 裡令一個計時變數(假設叫t)加1——加到10就是1秒,加到70就是第7秒。在進行數碼管驅動的時候判斷這個變數t,如果大於70再執行閃爍,小於70則不閃爍。

6樓:

在t1s1裡建立一個分支,一段時間(例如50ms)給p1,p2送全黑(mov p1,#0ffh;mov p2,#0ffh),另一段時間送段碼,顯示管就閃爍了

51微控制器和數碼管做時鐘調時間的時候如何讓某一位閃爍

7樓:匿名使用者

不是取反,是關閉對應數碼管。

思路:判斷按鍵->調整時間->顯示時間;

你要實現閃爍,需要在顯示數字部分下功夫

讓6位數碼管閃爍顯示原理

8樓:匿名使用者

1 微控制器數碼管動態顯示的過程中,設定一個閃爍暫存器,專門儲存要閃爍顯示的位子,再增加一個閃爍顯示碼的暫存器。

2 每次呼叫顯示程式時,先要判斷需要顯示閃爍的位子的顯示碼,是不是等於“滅”的顯示碼,

不是的話,將該位的顯示碼送閃爍顯示碼的暫存器進行儲存,將“滅”的顯示碼送入相應的顯示緩衝區的位子,呼叫顯示程式;如果等於“滅”的顯示碼,則將儲存在閃爍顯示碼的暫存器中的顯示碼再送回相應的顯示緩衝區的位子,呼叫顯示程式。

51微控制器數碼管位選移動

以下這個例子用延時和for迴圈實現流水燈效果 例項12 用自增運算控制p0口8位led流水花樣 include 包含微控制器暫存器的標頭檔案 函式功能 延時一段時間 void delay void 函式功能 主函式 void main void 網 上這份資料能幫到你 十天學會微控制器例項100 c...

51微控制器8051數碼管顯示8位二進位制數匯程式設計序無

修者世界 數碼管顯示8位二進位制數程式段 待顯示數值存放在20h單元 org 50h mov 20h,07fh 待顯示二進位制數寄存單元,如01111111 start mov dptr,dispcode 表首位址賦給dptrmov a,20h rr a mov 20h,a anl a,01h mo...

用AT89C51微控制器實現四位數碼管顯示資料!!用c語言程式

include include typedef unsigned char uchar typedef unsigned int uint uchar code table 0xbfvoid delay uchar t void opertion p2 0x01 p0 table 0 delay 1...