发表于:2006-07-31 13:09:00
4楼
to: 周公
ORG 00H
;主程序
START: JB P0.0, M01; 抢答提示开始
JB M00, M01;
M01: JNB M01, M00;
M00: SETB M00;
JB M00,M0000
M0000: CLR P0.0;
JB P0.1, M001; 答题结束,同时复位PLC数据
M001: SETB M01;
JB P0.2, M00; 一号选手抢答程序
JB M00, M03;
M03: JNB M03, M04;
M04: LCALL DELAY1 ;调用子程序
DELAY1: ;子程序1开始
JNB M01,SM00;
SM00:JB SM00, M02;
M02:SETB M02;
JB M02,MOVB
MOVB: MOV P1,#1H; 输出点亮一号选手
JB P0.3, M00; 二号选手抢答程序
JB M00, M02;
JNB M02, M04;
JB M04,LCALL1;
LCALL1:LCALL DELAY2 ;调用子程序
DELAY2: ;子程序2开始
JNB M01,SM00;
JB SM00, M03;
SETB M03;
JB M03,MOVB1
MOVB1:MOV P1,#10H; 输出点亮二号选手
JB P0.4, M00; 三号选手抢答程序
JB M00, M02;
JNB M02, M03;
JB M03,LCALL2;
LCALL2:LCALL DELAY3 ;调用子程序
DELAY3: ;子程序3开始
JNB M01,SM00;
JB SM00, M04;
SETB M04;
JB M04,MOVB2
MOVB2:MOV P1,#11H; 输出点亮 三号选手
以上是小弟做的一个三人抢答器的AT89S51单片机程序,请教一下有问题么