導航:首頁 > 編程語言 > 按鍵控制流水燈匯編程序

按鍵控制流水燈匯編程序

發布時間:2022-05-27 15:37:04

① 求助大神,用匯編語言寫流水燈控製程序和開關控製程序

要努力啊學弟

就不給你源碼了,這是個例題以前看的書 真好 翻到,

好好看看 ,修改一下或不修改就能使用,看看 程序的一步一步注釋 。匯編還是很有意思的你進去了 就不願意使用C 語言 。

你需要的是4個按鍵,這里用到了 12 個按鍵,去掉幾個即可

注意LED 是置 1 亮 還是 置 0亮。

整體思路: 主函數里不斷判斷4個按鍵 用中斷或不用也行就讓51不斷掃描

假如有一個按鍵 置 0 或置1 ,這個自己選擇

匯編就是跳轉到一個 標記處

添加流水燈 效果

滅幾秒或亮幾秒 這個應該可以搞定

運行完畢返回住函數

4個按鍵都是這樣的 步驟

努力

② 一鍵多控流水燈匯編語言怎麼寫,軟體是keil

一鍵多空流水燈匯編語言程序編寫方法是:設置一個變數,來檢測按鍵的次數,從而控製程序分支來達到控制不同流水燈的效果例如:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV R6,#0FEH
MOV R7,#0

LOOP:

JB P1.0,LOOP1
JNB P1.0,$

INC R7

CJNE R7,#2,LOOP1

MOV R7,#0

LOOP1: ;奇數次按鍵左向流水燈

MOV A,R7
JNZ LOOP2

MOV A,R6

MOV P0,A

RL A

MOV R6,A

LCALL DELAY

SJMP LOOP

LOOP2: ;偶數次按鍵右向流水燈

MOV A,R6
MOV P0,A

RR A

MOV R6,A

LCALL DELAY

LJMP LOOP

DELAY:

MOV R2,#200
DL1:

MOV R3,#250
DJNZ R3,$

DJNZ R2,DL1

RET

END

③ 匯編語言控制流水燈

KEY BIT P1.0
LED EQU 30H
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV LED,#0FEH
MOV R2,#8
LOOP:
MOV P0,LED
MOV A,LED
RL A
MOV LED,A
JNB KEY,KEYC
DJNZ R2,LOOP
MOV R2,#8
LOOP1:
MOV P0,LED
MOV A,LED
RR A
MOV LED,A
JNB KEY,KEYC
DJNZ R2,LOOP1
SJMP LOOP
KEYC:
MOV P0,#00H
JNB KEY,KEYC
LJMP LOOP
END

④ 匯編語言編輯按鍵控制流水燈,p1.0,p1.1接按鍵,p0口接8個燈,一個按鍵按下流水燈由左向右,

KEYL EQU P1.0
KEYR EQU P1.1
DAT EQU P0
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV A,#0FEH

LOOP:
JB KEYL,LOOP1

MOV DAT,A

LCALL DELAY

RL A

SJMP LOOP

LOOP1:
JB KEYR,LOOP

MOV DAT,A

LCALL DELAY

RR A

SJMP LOOP

DELAY:
MOV R2,#100

DELAY1:
MOV R3,#250

DJNZ R3,$

DJNZ R2,DELAY1

RET

END

⑤ 用匯編語言編寫一個按鈕控制8個流水燈的亮滅

51匯編程序如下:
KEY EQU P3.2
LED EQU P1
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
CLR 00H

MOV A,#0FEH

LOOP:
JB P3.2,LOOP1

JNB P3.2,$

CPL 00H

LOOP1:
JB 00H,LOOP2

MOV LED,#0FFH

SJMP LOOP

LOOP2:
MOV P1,A

RL A

LCALL DELAY

SJMP LOOP

DELAY:
MOV R2,#200

DLY1:
MOV R3,#250

DJNZ R3,$

DJNZ R2,DLY1

RET

END

單片機匯編語言按鍵控制流水燈,兩個開關k1,k2。實現功能按下k1,流水燈左移動,按下k2,流水燈右移動。

K1EQUP1.0
K2EQUP1.1
ORG0000H
LJMPMAIN
ORG0030H
MAIN:
MOVA,#0FEH
CLR00H
CLR01H
LOOP:
JBK1,LOOP1
SETB00H
CLR01H
SJMPLOOP
LOOP1:
JBK2,LOOP2
SETB01H
CLR00H
LOOP2:
JB01H,LOOP3
JB00H,LOOP4
SJMPMAIN
LOOP3:
MOVP0,A
RRA
LCALLDELAY
SJMPLOOP
LOOP4:
MOVP0,A
RLA
LCALLDELAY
SJMPLOOP
DELAY:
MOVR2,#200
DLY:
MOVR3,#250
DJNZR3,$
DJNZR2,DLY
RET
END

⑦ 單片機C語言 兩個按鍵控制8位花樣流水燈,P1.0接按鍵k1,P1.1接按鍵k2,P0口的8位接8個發光二極體

匯編程序如下:
; 花樣流水燈(8個發光二極體以各種形式循環點亮)
; 功能:流水燈(8個發光二極體循環以1S間隔以各種形式循環點亮)
ORG H ;偽指令,指定程序從H開始存放
LJMP MAIN ;跳轉指令,程序跳轉至MAIN處執行
ORG H ;偽指令,指定程序從H開始存放
MAIN: MO SP, #60H ;給堆棧指針賦初值
MO P1,#0FFH ;給P1口賦值
MO DPTR,#TABLE;查表
LIGHT: MO R4,#42 ;設置循環次數
LOOP: MO A,#42 ;給A賦初值
SUBB A,R4 ;將A的值與R4的值相減,結果存在A中
MOC A,@A+DPTR ;將A+DPTR的值所對應的TABLE中的值賦給A
MO P1,A ;將A的值賦給P1口
LCALL DEL1S ;調用1S延時子程序
DJNZ R4,LOOP ;判斷R4是否為0,不為0跳轉,為0順序執行
LJMP LIGHT ;跳轉指令,跳轉至LIGHT處繼續執行
;1S延時子程序(11.MHz晶振,誤差0微秒)
DEL1S: MO R5, #H
DL1S0: MO R6, #0A4H
DL1S1: MO R7, #H
DJNZ R7, $
DJNZ R6, DL1S1
DJNZ R5, DL1S0
RET
TABLE: ;定義表格數據
DB 0FFH ;全滅
DB 0FEH 0FDH 0FBH 0F7H 0EFH 0DFH 0BFH 07FH ;依次逐個點亮
DB 0FEH 0FCH 0F8H 0F0H 0E0H 0C0H H H ;依次逐個疊加
DB H 0C0H 0E0H 0F0H 0F8H 0FCH 0FEH 0FFH ;依次逐個遞減
DB 07EH 0BDH 0DBH 0E7H 0E7H 0DBH 0BDH 07EH ;兩邊靠攏後分開
DB 07EH 03CH H H H H 03CH 07EH ;兩邊疊加後遞減
DB H ;全亮
END ;程序結束指令
C語言程序如下:
/* 該實驗是花樣流水燈(8個發光二極體以各種方式循環點亮),功能是花樣流水燈(8個發光二極體以1S間隔以各種方式循環點亮) */
#include//包含reg.52文件
#define uint unsigned int//宏定義
#define uchar unsigned char//宏定義
void delay(uint z);//聲明延時函數
uint a;//定義循環用變數
uchar code table[]={
0xff,//全滅
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,//依次逐個點亮
0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,//依次逐個疊加
0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,//依次逐個遞減
0x7e,0xbd,0xdb,0xe7,0xe7,0xdb,0xbd,0x7e,//兩邊靠攏後分開
0x7e,0x3c,0x18,0x00,0x00,0x18,0x3c,0x7e,//兩邊疊加後遞減
0x00,//全亮
;//¶¨ҥѭ»·Ӄʽ¾ݱ�
/*Aµď֏󣺏ȊLj«ð£¬Ȼº󒀴Ζ𸶵ぁ£¬Ȼº󒀴Ζ𸶵�
Ȼº󒀴Ζ𸶵ݼ�»º󁽱߿¿£º󷖿ª£¬Ȼº󁽱ߵ�ݼ𖎱
׮º󈫁a£ѭ»·£¡*/
void in()//inº¯ʽ
{
a=0;//¸񸳳𕛕
while(1)//whileѭ»·
{
P1=table[a];//½«a˹Ԛµ”able֐µĖµ¸³¸􁿚
delay();//1Sѓʱד³̐ɠ a ;//aµĖµ¼Ӓ»
if(a==42)//²⊔aʇ·񵈓Ƥ2
a=0;//¸񸳖µ
}
}
void delay(uint z)//1msѓʱד³̐򣬍¨¹�±䑓ʱʱ¼F{
uint x,y;
for(x=z;x

⑧ 按鍵控制流水燈匯編程序

怎麼沒輸出口啊 其實很簡單的 把P0口做輸出口
ORG 0000H
AJMP MIAN
ORG 0030H
MIAN:MOV SP,60H
JB P1.2,L0 ;判斷
LJMP LK0
L0:JB P1.3,L1 ;判斷
LJMP LK1
L1:JB P1.4,L2 ;判斷
LJMP LK2
L2:JB P1.5,L3 ;判斷
LJMP LK3
L3:AJMP MIAN ;沒有按下 程序循環
LK0:MOV P0,#FFH ;亮
LCALL DAY ;延時閃爍時間自己寫
MOV P0,#00H
LCALL DAY
CLR CY
MOV P0,01H
RRL
RLR ;運用左或右移動指令
;然後運用判斷指令

LK1:
LK2:
LK3:

⑨ 求助:用匯編實現按鈕控制流水燈

樓主寫三個子程序,用三個按鍵控制,分別調用,即可。

⑩ 用一個按鍵控制流水燈的匯編程序,跪求高手

START: MOV P1,#0FFH ;全滅
S: SETB P3.0 ;每次讀I/O時,要先置1
JB P3.0,NEXT1 ;若沒有按下為1,燈亮
MOV P1,#0FFH ;否則全滅
AJMP S
NEXT1: MOV A,#0FEH
……
LJMP S

閱讀全文

與按鍵控制流水燈匯編程序相關的資料

熱點內容
qt下編譯生成mqtt庫 瀏覽:541
南京中興招收專科程序員嗎 瀏覽:297
代理商php源碼 瀏覽:983
蘋果手機怎麼解壓軟體app 瀏覽:650
游戲資源被編譯 瀏覽:152
代碼編譯後黑屏 瀏覽:8
程序員情侶寫真 瀏覽:505
python3孿生素數 瀏覽:36
計算楊輝三角Python 瀏覽:404
linux目錄重命名 瀏覽:196
演算法設計的最終形態是代碼 瀏覽:262
程序員社團招新橫幅 瀏覽:238
拖鞋解壓視頻大全 瀏覽:887
租伺服器主機鏈接軟體叫什麼 瀏覽:856
交叉編譯工具的linux版本號 瀏覽:156
python開發應用軟體 瀏覽:32
hdl綜合器與c編譯器的區別 瀏覽:899
編譯原理最左推導代碼 瀏覽:702
加密三 瀏覽:131
通過編譯鏈接後形成的可執行程序 瀏覽:680