需要微控制器組合語言程式 按鍵控制燈,此鍵每快速地按2下,燈的亮與滅就翻轉1次

時間 2021-08-14 22:58:25

1樓:做而論道

雙擊功能。

統計《按鍵釋放》到《下次按鍵》的時間,很簡單的。

**********===

;下列程式,已經經過實驗檢測,可以滿足題目要求:

;---------------------------------------------

led equ p3.5

key equ p3.7

org 0000h

ljmp start

org 0030h

start:

jb key, $

call delay10ms

jb key, start

jnb key, $

dan_ji:

call delay10ms

mov r2, #20

k_loop:

call delay10ms

jnb key, shuang_ji

djnz r2, k_loop

sjmp start

shuang_ji:

call delay10ms

jb key, dan_ji

cpl led

jnb key, $

sjmp start

;-------------------------delay10ms:

mov r6, #20

djnz r7, $

djnz r6, $ - 2

ret;-------------------------end題目的要求,十分簡單,不用定時器就可以完成。

按照本程式的思路、方法,編寫《單擊》、《長按》、《雙擊》、《三連擊》的程式,都不是難事。

2樓:匿名使用者

一分都不給,太吝嗇了吧?

你要先告訴我,51微控制器用什麼晶振,最好有個電路貼圖,按鍵是上拉觸發還是下拉觸發?按鍵是否並有電容。

3樓:匿名使用者

key equ p1.0

led equ p1.1

org 0000h

ljmp main

org 000bh

ljmp t0isr

org 0030h

main:

mov sp,#5fh

mov tmod,#01h

mov th0,#high(65536-40000)mov tl0,#low(65536-40000)setb et0

setb ea

clr a

loop:

clr 00h

clr tr0

jb key,loop

setb tr0

loop1:

jb 00h,loop

jb key,loop1

cpl led

sjmp loop

t0isr:

clr tr0

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

inc a

cjne a,#10,t0e

clr a

setb 00h

t0e:

retiend

急求一個微控制器控制一個led燈發光的彙編程式,啟動時led發光有按鍵按下燈熄滅

微控制器用組合語言編寫一個。用十個按鈕分別控制十個燈。比如:按下按鈕k1 led1燈亮。按下"

4樓:

檢測是否有按鍵按下,相應的指示燈點亮,並熄滅其它的指示燈。至於10s鎖住其他按鈕,如果程式不做其它的事情,最簡單的方法就是點亮指示燈後延時10s,再回到主函式掃描其它按鍵即可

微控制器怎麼實現一個開關控制八個燈按一下亮一個按八下八個燈都亮組合語言程式

5樓:做而論道

;一個開關控制八個燈

;按一下亮一個

;按八下八個燈都亮

;按鍵接在p1.0

;八個燈在p0,低電平燈亮

key equ p1.0

org 0000h

mov a, #11111111b

wait:

mov p0, a

jb key, $

djnz r7, $

djnz r7, $

jb key, wait

jnb key, $

clr c

rlc a

jc wait

jmp 0000hend

6樓:匿名使用者

c語言才會,彙編不會。。。。。

一個io作key,再用一個全域性變數判斷亮燈狀態,隨按鍵反轉。另外可以使用一p1 io連線8個led

7樓:

用一個暫存器做變數就可以。

假如按鍵是一個開個,接在p1.0,八個燈在p0,低電平燈亮程式是這樣的

mov 30h ,#00

lop :

setb p1.0

jnb p1.0, press

ajmp lop

press:

inc 30h

mov a,30h

cjne a,#9,l_next

mov 30h,#1

l_next:

jnb p1.0,$

mov a,30h

cjne a,#1 ,led1_on

cjne a,#2, led2_on

cjne a,#3, led3_on

cjne a,#4, led4_on

cjne a,#5, led5_on

cjne a,#6, led6_on

cjne a,#7, led7_on

cjne a,#8, led8_on

ljmp lop

led1_on: mov p0,#0feh //亮一個燈ljmp lop

led2_on: mov p0,#0fdh //亮一個燈ljmp lop

led3_on: mov p0,#0f8h //亮一個燈ljmp lop

led4_on: mov p0,#0f0h //亮一個燈ljmp lop

led5_on: mov p0,#0e0h //亮一個燈ljmp lop

led6_on: mov p0,#0d0h //亮一個燈ljmp lop

led7_on: mov p0,#080h //亮一個燈ljmp lop

led8_on: mov p0,#00h //亮一個燈ljmp lop

微控制器組合語言程式設計,全國微控制器組合語言程式設計師

org 0000h main mov dptr,3000h clr r0 clr r1 clr r2 mov r3,100 loop mov a,dptr clr c cjne a,0h,loop1 inc r0 djnz r3,loop loop1 rl a jc fushu inc r1 djn...

組合語言微控制器,組合語言怎麼寫入微控制器

rlc 是帶進位的迴圈左移,rlc a即將a的內容左移一位,將進位位c中的值移到累加器a的最低位,a的最高位移到c裡。譬如說 設a 01000001,c 1 則如果執行rl 則a 10000010,c 1 a所有位左移一位,最低位補零,c不參加移位操作,保持原值不變 如果執行rlc後,則a 1000...

52微控制器的keil程式?題目 中斷按鍵控制秒錶的走停。要求 按鍵必須使用中斷秒錶必須使用定

c語言編寫和製作還是很困難的。求微控制器大神 寫10s的秒錶程式,用三個按鍵分別控制秒錶啟動 停止 清零 要求 使用定時器0定時,50 52微控制器不用定時中斷如何實現60s秒錶功能 怎麼用微控制器組合語言設計按鍵控制秒錶的啟動和停止 很急 你要是用的硬體中斷作為計時訊號的話,加一個更高優先順序的中...