3.在发送命令之前需检测模块为闲态(PIN7=1),否则所发的命令可能失效;
4.串口发送的必须是完整命令的ASCII码,如命令“BMP0B0C0D”,实际由串口发送的内容是“424D50304230433044”,顺序为“B->M->P->0->B->0->C->0->D”;
5.在每条命令末尾还要加上命令结束码“0D”,以表明命令结束。
6.若单片机AT89C2051的串口已被占为他用,那么用一根口线来摸拟生成一个软串口即可。
7.模块SIO接口中PIN6的作用是当模块内MCU由于干扰死机时,用户控制电路可强行外部
复位,使模块脱离死机状态,判断模块是否死机可通过向其发送正确的显示命令后,PIN7电平是否有变化来得知,实际上模块在完成每条命令内部操作后即进入睡眠状态,死机的机率是极低的。在下面的软件中未考虑死机的情况。
用MCS-51汇编语言编写简单的显示控制源程序如下(实际运行已通过):
BUSY BIT P3.0 ;定义忙信号口线,当然也可定义为其他口线
X_V EQU 30H ;定义各参数单元
Y_V EQU 31H
NUBER EQU 32H
WIDTH EQU 33H
HIGHT EQU 34H
REG_ASC_XH EQU 35H ;定义参数x高位ASCII码单元
REG_ASC_XL EQU 36H ;定义参数x低位ASCII码单元
REG_ASC_YH EQU 37H ;定义参数y高位ASCII码单元
REG_ASC_YL EQU 38H ;定义参数y低位ASCII码单元
REG_ASC_NH EQU 39H ;定义参数n高位ASCII码单元
REG_ASC_NL EQU 3AH ;定义参数n低位ASCII码单元
REG_ASC_WH EQU 3BH ;定义参数w高位ASCII码单元
REG_ASC_WL EQU 3CH ;定义参数w低位ASCII码单元
REG_ASC_HH EQU 3DH ;定义参数h高位ASCII码单元
REG_ASC_HL EQU 3EH ;定义参数h低位ASCII码单元
ORG 00H ;程序开始
AJMP MAIN
ORG 30H
MAIN: