① 如何完成两个80C51单片机之间的通信
就利用单片机的串口吗。如果两个单片机比较近,1米以内,就可以用TTL方式连接,即是两个单片机的TXD,TXD对接,GND相连,共地。
如果距离再远的,就是RS232接口,实现标准
的串口通信,这很容易的,电路也简单,是最典型的串口通信电路了。
② 使用8051单片机的串行通信方式1,要求波特率9600bps,请编写初始化程序。
初始化程序:
SCON = 0x50 ; //方式1,允许接受
TMOD = 0x20 ; //设置time1,方式2
TH1 = 0xfd; //波特率9600b/s 晶振12MHz
TL1 = 0xfd;
ES = 1 ; //允许串口中断
EA = 1; //中断总开启
TR1 = 1 ; //T1开启
③ 8051单片机的串行口可以直接与rs232串行口想连接吗
当然不可以。单片机的“串行口”是TTL电平的,需要经过TTL-RS232电平转换器之后,才能转换为RS-232电平并与RS232串口相连接。
④ 两个8051单片机之间用方式2串行通信
串行口是单片机与外界进行信息交换的工具,8051单片机的通信方式有两种:
并行通信:数据的各位同时发送或接收。
串行通信:数据一位一位次序发送或接收。
串行通信的方式
异步通信
用一个起始位0表示字符的开始,用停止位1表示字符的结束,中间夹着8个数据位,字符能一个接一个传送
CPU与外设之间必须有字符格式和波特率两项规定
字符格式规定能使双方把0和1串理解成同一种意义,原则上自由制定,通用角度使用标准如ASCII
波特率即数据传输速率,每秒传送的二进制位数,如120字符/s,每个字符10数位,则传送波特率为1200波特
同步通信
去掉了开始结束标志提高速度,但由于数据块传递开始要用同步字符来指示,同时要求由时钟来实现发送端与接收端之间的同步,故硬件较复杂。
通信方向
在串行通信中,把通信接口只能发送或接收的单向传送办法叫单工传送;把数据能双向传递称为双工传送。半双工传送两机之间不能同时进行发送和接收,任一时该,只能发或者只能收信息。全双工传送是能同时发送接收。
串行接口结构
51单片机一个可编程的全双工串行通信接口。可用作异步通信方式(UART),与串行传送信息的外部设备相连接。或用于通过同步或异步标准通信协议进行全双工的8051多机系统,使用TTL或CMOS移位寄存器来扩充I/O口。
8051单片机通过管脚RXD(P3.0,串行数据接收端)和管脚TXD(P3.1,串行数据发送端)与外界通信。SBUF是串行口缓冲寄存器,包括发送寄存器和接收寄存器。它们有相同名字和地址空间,但不会出现冲突,因为它们两个一个只能被CPU读出数据,一个只能被CPU写入数据。
⑤ 80C51单片机串口通信工作方式1怎样发送字符串
1)数据发送与接收使用方式0实现数据的移位输入输出时,实际上是把串行口变成并行口使用。串行口作为并行输出口使用时,要和CD4049或74LS164配合使用,其电路连接如图10。图(b)为74LS164的引脚图,芯片各引脚功能如下:Q0~Q7为并行输出引脚。DSA、DSB为 串行输入引脚。
清零引脚,低电平时,使74LS164输出清零。CP为时钟脉冲输入引脚,在CP脉冲的上升沿作用下实现移位。在CP=0,
=1时,74LS164保持原来数据状态不变。
利用串行口与74LS164实现八位串入并行输出的连接如图(a)所示,当8位数据全部移出后,SCON寄存器的TI位被自动置1。用P1.0输出低电平可将164输出清零。
如果把能实现“并入串出”功能的CD4014或74LS165与串行口配合使用,就可以把串行口变为并行输入口使用。如图所示。
图(b)为74LS165引脚图,当
=1时,允许串行移位,
=0时允许并行输入。当CPINH=1时,从CP引脚输入的每一个正脉冲使QH输出移位一次。REN=0,