图5 观察变量窗口
在程序调试过程中,可以使用单步进入、单步跳过、单步跳出、连续单步等功能,也可以自动单步运行,在需要查看的地方点击“暂停” 使运行停止即可。该调试简单易行,不占用任何资源,所有地址空间全部提供给用户,同时还可以通过超级终端观看接收的数据,如图6所示。
图6 超级终端观看结果图
Transmitter
;
Xmtr
IF X_Nbit
movlw 8
ELSE
movlw 7
ENDIF
movwf Count
;
IF X_MODE
ELSE
IF X_Nbit
ELSE
rlf XmtReg,Same
ENDIF
;
bcf PORTA,DX ;
/*Send Start Bit*/
call Delay1
X_next bcf STATUS,C
;
IF X_MODE
rrf XmtReg,Same ;
/*Conditional Assembly*/
ELSE ;
/* to set if MSB first or LSB first*/
rlf XmtReg,Same
ENDIF
;
btfsc STATUS,C
bsf PORTA,DX
btfss STATUS,C
bcf PORTA,DX
call DelayX
decfsz Count,Same
goto X_next
bsf PORTA,DX ;
/* Send Stop Bit*/
call Delay1
IF Sbit2
bsf PORTA,DX
call Delay1
ENDIF;
goto Talk
Receiver
;
Rcvr
IF R_Nbit
movlw 8 ;
/*8 Data bits*/
ELSE
movlw 7 ;
/*7 data bits*/
ENDIF;
movwf Count
R_next bcf STATUS,C
IF R_MODE
rrf RcvReg,Same ;
/* to set if MSB first or LSB first*/
ELSE
rlf RcvReg,Same
ENDIF
btfsc PORTA,DR
;
IF R_MODE
IF R_Nbit
bsf RcvReg,MSB ;
/*Conditional Assembly*/
ELSE
bsf RcvReg,MSB-1
ENDIF;
ELSE
bsf RcvReg,LSB
ENDIF
;
call DelayY
decfsz Count,Same
goto R_next
4. 结 语
本文可以根据用户需求通过软件实现半双工或全双工的RS-232通信,结合PICE-II仿真器突出的优点在于排除错误的能力极强,可以进行实时跟踪,能快速检测错误的根源。运用PICE-II实时在线仿真器极大地方便了用户进行软件调试,更快地实现异步串行口。
作者:贝能科技有限公司 曾淑叶
上一篇:基于PI12XX的精确延时技术