1樓:網友
專門給你寫的:
org 00h
sjmp main
org 40h
main:mov sp,#5fh
mov 30h,#11111110b
mov 31h,30h
lp:lcall zy ;左移3次。
lcall yy ;右移3次。
sjmp lp ;無限迴圈。
zy:mov r2,#24 ;左移3次,乘上八個燈=24次。
zy1:mov a,30h
rl amov 30h,a
mov p1,a
mov a,31h
rl amov 31h,a
mov p2,a
lcall delay
djnz r2,zy1
retyy:mov r2,#24 ;左移3次,乘上八個燈=24次。
yy1:mov a,30h
rl a ;p1不變。
mov 30h,a
mov p1,a
mov a,31h
rr a ;p2右移。
mov 31h,a
mov p2,a
lcall delay
djnz r2,yy1
retdelay:mov r3,#10 ;延時1秒,12mhzdelay1:mov r4,#
delay2:mov r5,#
djnz r5,$
djnz r4,delay2
djnz r3,delay1
retend
不用微控制器怎麼實現3個或多個燈輪流閃?
2樓:網友
可以用解碼器和觸發器一起,具體電路你自己去想,我感覺這樣能實現。
3樓:網友
最典型的就是cd4017和振盪器的組合。網上4017的典型電路里肯定有的。
11、 實現燈左右移動和閃爍 功能說明:微控制器埠接八隻led,使埠p1做單一燈的變化:從p1.0開始先向左移
4樓:做而論道
:org 0000h
sjmp start
org 0030h
start:
mov a, #0feh
loop:mov p1, a
call delay
rl a ;左移一次。
mov p1, a
call delay
rl a ;左移兩次。
mov p1, a
call delay
rl a ;左移三次。
mov p1, a
call delay
mov p1, a
call delay
rr a ;右移一次。
mov p1, a
call delay
rr a ;右移兩次。
mov p1, a
call delay
rr a ;右移三次。
mov p1, a
call delay
mov p1, #255 ;關閉。
call delay
mov p1, #0 ;顯示。
call delay
mov p1, #
call delay
mov p1, #
call delay
mov p1, #
call delay
mov p1, #
call delay
mov p1, #
call delay
mov p1, #
call delay ;以上閃爍四次。
ljmp loop ;從頭反覆。
delay: mov r5,#
s0: mov r6,#
s1: mov r7,#
djnz r7,$ 表示本行位址。
djnz r6,s1
djnz r5,s0
retend
做而論道。
微控制器流水燈程式 四個開關分別是全閃 全滅 下移 上移
5樓:不想的卑微
哥們key的值你沒有對它進行賦值呀,你粗拆是想通過按鍵來控鬥知制,可是你這按鍵狀態並沒有通過key傳遞呀,建議你初始空凳消化p1=0xff
微控制器上電後8個led燈閃爍,按下k1乙個燈從左右移動,按下k2兩個燈左右移動,
6樓:聖騎天啟者
沒有具體的電路圖,就只以p1口作為基本輸驅動口進行說明。主程式需要乙個delay函式進行led亮滅的延時。當然你首先要先進行p1口和開關按鍵的預定義,這個要看你板子的原理圖。
void delay(int l)
void main()
else if( ==0)
if (m == 0)
else if(m ==1)}}
7樓:做而論道
樓主寫這個幹嘛?
是不是需要設計些什麼?
8樓:陶茂強
誰知道怎麼讓k1按2下,led1才亮的程式,求程式!謝謝!
急求!求乙個使微控制器控制p1埠的8個led燈做作左移流水燈的c語言程式(用迴圈結構)
9樓:網友
#include
#include
#define uchar unsigned char
#define uint unsigned int
名稱 : delay()
功能 : 延時,延時時間為 10ms * del
輸入 : del
輸出 : 無。
void delay(uint del)
名稱 : main()
功能 : 實現燈的閃爍。
輸入 : 無。
輸出 : 無。
說明 :也可以使用例1的的方法來關閉數碼管。
void main(void)}}
這是乙個51微控制器的p1口小燈迴圈左移的例子,不懂的問我。應該能用。
10樓:網友
如何能只用乙個介面控制12個燈常亮或是閃動。
用微控制器控制乙個燈閃爍
11樓:網友
1全部#include//包含51微控制器暫存器定義的標頭檔案void main(void)
void delay() // 延時程式延時程式裡面i,j的數字你可以修改一下,我沒試,可以大一點,也可以小一點,數字大一點閃得慢一點,小一點就快一點。
12樓:城市不快樂
沒裝微控制器,微控制器放到中間的插座上,插座有個尾巴是用來上下搬動,夾緊新盤引腳的(插座1腳對應微控制器1腳),微控制器io口控制led電路的一段,給高低電平,從而達到控制led兩端電壓的目的,實現led的亮滅。
13樓:來自舜耕山百年難遇的蔡文姬
怎麼讓led燈一秒鐘內閃爍兩次。
14樓:網友
呵呵!能看看你的原理圖嗎!?這個圖我也看不出內部的佈線啊!
幫忙解釋如下微控制器程式,想實現單燈閃爍,但是隻能做到乙個燈亮,怎麼修改?**等
15樓:**飄渺迷人
org 0000h
l1:cpl ;輸出取反,不斷翻轉 產生閃爍mov r7,#0ffh;延時計數器r7取255次l2:mov r6,#0ffh;延時計數器r6取255次l3:nop;
djnz r6,l3;r6減一次,不為0就轉 l3繼續djnz r7,l2;r7減一次,不為0就轉 l2繼續(總延時≈255x255x(2+1)機器週期)12mhz晶振時約秒。
sjmp l1;重複執行上述程式。
end用12mhz晶振,上述程式是亮 秒滅秒,每秒閃2-3次,應該可以看到的。如果只長亮就要看硬體方面了。
16樓:創客老司
只看這段程式,功能應該就是實現燈的閃爍,如果看不到閃的效果只是一直亮,很有可能是因為延時時間太短,閃爍頻率太高,你的眼睛不能分辨!一般來說人的眼睛能分辨10hz左右的頻率,如果有條件的話有示波器測一下燈的電壓波形是不是乙個方波形式,如果是那就說明是延時太短。
沒有條件可以改程式試試看!如:
org 0000h
l1:cpl
mov r7,#0ffh
l2:mov r6,#0ffh
l3:nop
nopnop
nopnop
nopnop
nop;這一段多加幾個nop試一下,最簡單的了,如果有效果可以考慮其他延時程式!
djnz r6,l3
djnz r7,l2
sjmp l1
end本人好長時間沒用匯編了,希望對你有幫助!
17樓:網友
可能是延時時間太短了。多加幾個nop試試。
org 0000h
l1:cpl
mov r7,#0ffh
l2:mov r6,#0ffh
l3:nop
nopnop
nopnop
nopnop
nopnop
nopdjnz r6,l3
djnz r7,l2
sjmp l1end
求微控制器中圍繞中斷的程式題目?急求
找了幾個定時 計數器的題目,外部中斷應該很簡單。1 利用定時 計數器t0從p1.0輸出週期為1s的方波,讓發光二極體以1hz閃爍,設晶振頻率為12mhz。2 利用定時 計數器t1產生定時時鐘,由p1口控制8個發光二極體,使8個指示燈依次一個一個閃動,閃動頻率為10次 秒 8個燈依次亮一遍為一個週期 ...
急求微控制器的自動斷電C語言程式
用乙個超大繼電器嘛。微控制器斷電後程式就飛了是怎麼回事?你用的哪個公司的微控制器,看你的程式設計器有沒有低電壓復位功能,有的話就開啟。急求51微控制器計數器的c程式!你好!具體要實現什麼功能,描述清楚。誰有sht10的c語言程式,要是通過c51微控制器控制的,急求!我這兩天也要用這個,不過我是用st...
急!!51微控制器匯程式設計序問題
缺少消抖環節。延時10ms後,再去判斷是否按下。loopmain jb counts 為1轉移,因為沒有按鍵。lcall dl10ms 為0,是有鍵按下,等10msjb counts 為1轉移,因為剛才是按鍵抖動。ljmp cou 依然為0,才去執行按鍵的功能程式。樓上說的消抖是乙個方面,也就是說當...