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 每次呼叫顯示程式時,先要判斷需要顯示閃爍的位子的顯示碼,是不是等於「滅」的顯示碼,
不是的話,將該位的顯示碼送閃爍顯示碼的暫存器進行儲存,將「滅」的顯示碼送入相應的顯示緩衝區的位子,呼叫顯示程式;如果等於「滅」的顯示碼,則將儲存在閃爍顯示碼的暫存器中的顯示碼再送回相應的顯示緩衝區的位子,呼叫顯示程式。
微控制器控制led燈和一位數碼管, 51微控制器 我的學習板是LED和數碼管介面都是P0,請問怎麼樣實現分別控制呢?
體積大小可以不同,因為led電流小,但是電阻值要相同。還有焊接時有沒有短路開路,晶振不影響工作,隻影響精度。微控制器,全稱單片微型計算機 英語 single chip microcomputer 又稱微控制器 microcontroller 是把 處理器 儲存器 定時 計數器 timer count...
一位數碼管連在51微控制器上,按鍵後數碼管加1,按一下加1 怎樣用組合語言編寫,求程式非常感謝
做而論道 一位數碼管連在51微控制器上,按鍵後數碼管加1,按一下加1.sp1 equ p3.2 org 0000h mov 30h,3fh 0 mov 31h,06h 1 mov 32h,5bh 2 mov 33h,4fh 3 mov 34h,66h 4 mov 35h,6dh 5 mov 36h,...
51微控制器連線12位七段數碼管,如何驅動(用三極體)
注意要加延時,以匹配段選。否則會出現錯位的現象。 我覺得用三極體驅動可能使電路變得複雜,除錯起來也比較麻煩,還是考慮一下max7219 max7221,一塊晶片就可以驅動8位數碼管了。還可以級連。驅動程式寫起來也很簡單。 邵獻 我給你個4led的,懶得畫圖了。要增加管子的數量,把hc138換成hc1...