(2)在RTS、CTS、DSR、DTR和DCD等控制线上:
信号有效(接通,ON状态,正电压)=+3V~+15V
信号无效(断开,OFF状态,负电压)=-3V~-15V
以上规定说明了RS-232标准对逻辑电平的定义。对于数据(信息码):逻辑“1”(传号)的电平低于-3V,逻辑“0”(空号)的电平高于+3V;对于控制信号:接通状态(ON)即信号有效的电平高于+3V,断开状态(OFF)即信号无效的电平低于-3V,也就是当传输电平的绝对值大于3V时,电路可以有效地检查出来,介于-3~+3V之间的电压无意义,低于-15V或高于+15V的电压也认为无意义,因此,实际工作时,应保证电平在±(3~15)V之间。
2.2.2 STC89C52串行通信特点
STC89C52的串行口是一个全双工的异步串行通信接口,它可作UART(通用异步接收和发送器)用,也可作同步移位寄存器用。
所谓全双工的异步串行通信接口,是说该接口可以同时进行接收和发送数据,因为,口内的接收缓冲器和发送缓冲器在物理上是隔离的,即是完全独立的。可以通过访问特殊功能寄存器SBUF,来访问接收缓冲器和发送缓冲器。接收缓冲器还具有双缓冲的功能,即它在接收第一个数据字节后,能接受第二个数据字节。但是,它在完成接收第二个数据字节之后,若第一个数据字节仍未取走,那么该字节数据将丢失。
串行口的特殊功能寄存器主要有:
(1) 串行口控制寄存器SCON:控制串行通信的方式选择、接收和发送,指示串行口的状态。
(2) 控制寄存器PCON:是一个逐位定义的8位寄存器,目前仅有几位有定义,其中仅有最高位——SMOD与串行口控制有关(控制串行通信波特率系数),其它位与掉电方式有关。
(3) 串行数据寄存器SBUF,包含在物理上是隔离的两个8位寄存器:发送数据寄存器和接收数据寄存器。写SBUF,访问发送数据寄存器;读SBUF,访问接收数据寄存器。
STC89C52的串行口有四种工作方式,本课题选择了方式1。在方式1下,串行口的传输波特率由定时器/计数器T1和T2的溢出决定,可用程序设定。由TXD(P3.1)和RXD(P3.0)引脚接收数据。发送或接收一帧信息为10位:1位起始位(0),8位数据位和一位停止位(1)。
工作过程:
(1) 发送:当执行任意一条写SBUF的指令时,就启动串行数据的发送。开始发送后的一个位周期,发送信号有效。发送移位寄存器将数据由低位到高位顺序输出至TXD(P3.1)引脚。一位时间后,第一个移位脉冲出现将最低数据位从右边移出。同时0从左边挤入。当最高数据位移至发送移位寄存器的输出端时,先前装入的第9位的1,正好在最高数据位的左边,而它的右边全部为0。在第10个位周期(16分频计数器回0时),发送控制器进行最后一次移位,清除发送信号,同时使TI置位。
(2) 接收:当REN=1且清除RI后,若在RXD(P3.0)引脚上检测到一个1到0的跳变,立即启动一次接收。同时,复位16位分频计数器,使输入位的边沿与时钟对齐,并将1FFH(即9个1)写入接收移位寄存器。接收控制器以波特率的16倍的速率继续对RXD(P3.0)引脚进行检测,对每一位时间的第7、8、9个计数状态的采样值用多数表决法,当两次或两次以上的采样值相同时,采样值予以接受。如果在第一个时钟周期中接收到的不是0(起始位),就复位接收电路,继续检测RXD(P3.0)引脚上1到0的跳变。如果接收到的是起始位,就将其移入接收移位寄存器,然后接收该帧的其它位。接收到的位从右边移入,原来写入的1,从左边移出,当起始位移到最左边时,接收控制器将控制进行最后一次移位,把接收到的9位数据送入接收数据缓冲器SBUF和RB8,而且置位RI。 三通管拉制仪材料分配系数精确控制系统设计+PCB+源程序(5):http://www.youerw.com/jixie/lunwen_2394.html