;
ORG 0000H
AJMP START
ORG 0100H
START:
MOV 42H, #88H ;先设NANB
MOV A, 40H
CJNE A, 50H, LOOP1 ;NAH-NBH
SJMP NEXT ;相等则再去比较低八位
LOOP1:
JC LOOP ;不够减,就可以结束了
AJMP LOOP3 ;转
NEXT:
MOV A, 41H
CJNE A, 51H, LOOP2 ;NAL-NBL
LOOP2:
JC LOOP ;不够减,就可以结束了
LOOP3:
MOV 42H, #0FFH ;否则就是NA=NB
LOOP:
AJMP LOOP
END
先来个抢答器的程序,P1接一个共阳极数码管,P0接8个抢答按键,主持人复位采用单片机复位按钮实现。
ORG 0000H
START: MOV A,P0
CJNE A,#0FFH,PL0
SJMP START
PL0: LCALL DELAY
MOV A,P0
CJNE A,#0FFH,PL1
SJMP START
PL1: JNB ACC.0,K1
JNB ACC.1,K2
JNB ACC.2,K3
JNB ACC.3,K4
JNB ACC.4,K5
JNB ACC.5,K6
JNB ACC.6,K7
JNB ACC.7,K8
LJMP START
K1: MOV P1,#0F9H
SJMP $
K2: MOV P1,#0A4H
SJMP $
K3: MOV P1,#0B0H
SJMP $
K4: MOV P1,#99H
SJMP $
K5: MOV P1,#9H
SJMP $
K6: MOV P1,#82H
SJMP $
K7: MOV P1,#0F8H
SJMP $
K8: MOV P1,#80H
SJMP $
DELAY: MOV R6,#15
DEL2: MOV R7,#200
DJNZ R7,$
DJNZ R6,DEL2
RET
END
表决器见下面的链接吧,参考一下:
这么简单的要求,不用大动干戈。
看看下面的程序,是不是最简单:
ORG 0000H
SETB TR0 ;启动T0
MOV R2, #250 ;定时计数初值
LOOP:
MOV TH0, #(8192 - 8000) / 32 ;定时8ms
MOV TL0, #(8192 - 8000) MOD 32
JNB TF0, $ ;等待8ms
CLR TF0
DJNZ R2, LOOP ;每隔8ms,R2减一次一
CPL P1.0 ;R2为0则LED亮灭转换
LJMP 0000H
END
本程序,已经实验成功。
单片机汇编最简单的程序的介绍就聊到这里吧,感谢您花时间阅读,谢谢。
本文标签:单片机汇编最简单的程序