编辑: 烂衣小孩 | 2019-07-03 |
四、读程序,请: ①在电压V―时间t坐标上,画出803l单片机 P1.0~P1.3引脚上的波形图. ②对源程序加以注释. ORG 0000H START: MOV SP,#20H MOV 30H,#0FFH MLP0: MOV A,30H CJNE A,#07H,MLP1 MOV A,#00H MLP2: MOV 30H,A MOV DPTR,#ITAB MOVC A,@A+DPTR MOV P1,A ACALL D20ms SJMP MLP0 MLP1: INC A SJMP MLP2 ITAB: DB 1,2,4.8 DB 8,4.2.1 D20ms: …… RET P1. 0~P1.3引脚上的波形图如图1- 2所示. ② 程序注释如下: ORG 0000H START: MOV SP,#20H ;
堆栈指针 MOV 30H,#0FFH MLP0: MOV A,30H CJNE A,#07H,MLP1 ;
判断表格中数据是否取完 MOV A,#00H ;
取完,从表头开始取 MLP2: MOV 30H,A MOV DPTR,#ITAB ;
表格首地址 MOVC A,@A+DPTR ;
取表格中数据 MOV P1,A ;
输出波形 ACALL D20ms ;
波形软件延时20 ms SJMP MLP0 MLP1: INC A ;
表格中数据未取完,准备取下一个 SJMP MLP2 ITAB: DB 1,2,4,8 ;
输出波形表 DB 8,4,2,1 D20ms: ……. RET
五、编程题
五、按题意编写程序,并加上注释和必要的伪指令. ? 1.根据2000H单元中的值X,决定P1口引脚输出为: ? 2X X>0 ? P1= 55H X=0 ? X X0;
若最高位为1,表示X