俺是个新手,初学单片机,手头还没有实验板。 看了很久的书。结合自己的实际需求写了下面的程序,本人能力的关系没法验证,特请各位大哥大姐指点: 思路如下: 放如待测产品(小弟在工厂做啊,见笑了),程序自动运行,测试指定位置是否短路,并给出测试结果。 程序如下: ORG 0 SETB P1.1; p1.1为高,pcba加电 WAIT:JB,P0.7,DELAY,$ ; 判断P0.7 是否为高,不是等候。 JNB,P0.7,WAIT; start: MOV A P0 ; 送P0口数据到A, CJNE A,#FFH ,ERR; 检查各断口是否对地,是则提示 JNB P1.0 ERR; one: CLR P0.1; P0.1接地。 JNB P0.0 ERR; JNB P0.2 ERR ; 检查p0.2是否为0,为0则转到错误提示。 TWO:SETB,P0.1 CLR,P0.3 JNB P0.2 ERR; JNB P0.4 ERR; THREE:SETB,P0.3 CLR,P0.5 JNB P0.4,ERR; JNB P0.6 ERR; FOUR:JB,P1.2,ERR SETB,P1.3; PASS LED点亮 SJMP,WAIT; ERR:SETB P1.4; FAIL LED点亮 SJMP,WAIT;
DELAY: MOV R5,#20 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET 请指点,谢谢了!
|