51单片机一段程序的问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 16:08:23
; 程序用来测试输入的数字为213则点亮灯 ,输入的数字由3个按键代表,电路图在附件里 希望各位朋友 帮忙 几天了 一直想不明白问题出在哪 (不能实现前面讲的功能)
org 0000h
jmp start
org 0003h
ljmp int00
start: mov sp,#5fh
mov r0,#50h
setb ea
setb ex0

jmp $
int00: jnb p1.0,h1
jnb p1.1,h2
jnb p1.2,h3
jnb p1.3,h4

h1: mov @r0,#1
inc r0
reti
h2: mov @r0,#2
;clr p2.0
inc r0
reti
h3: mov @r0,#3
inc r0
reti
h4: call cmp

reti
cmp: ;mov a,50h
;cjne a,#2,ed
mov a,#2
xrl a,52h
jnz ed
; mov a,51h
; cjne a,#1,ed
; mov a,52h
; cjne a,#3,ed
cpl p2.0

ed: mov r0,#50h
anl 50h,#00
anl 51h,#00
anl 52h,#00
ret
end

装个 KEIL C51 软件仿真,运行过程参数都可看。单片机一般都是试出来的

老大,麻烦你把一些必要的注释写到上面好不?这样起码我看得不那么伤心.