串行口应用(双机通信实验) 完成单片机与单片机之间的通信。 二、实验设备:
EL-8051-III型单片机实验箱
三、实验内容: 甲机P1口开关的状态通过串行口发送到乙机,乙机接收到后通过P2口的发光二极管显示;乙机P1口开关的状态通过串行口发送到甲机,甲机接收到后通过P2口的发光二极管显示;通信协议:以方式1工作,波特率为1200b/s。 四、实验原理:
对于两片AT89C51采用RS232进行双机通信。发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。接收方也使用MAX232芯片进行电平转换后,信号到达接收方串行口的接收端。接受方接收后,在数码管上显示接收的信息。为提高抗干扰能力,还可以在输入输出端加光耦合进行光电隔离。 五、实验仿真图: 六、参考程序: - #include<reg51.h>
- #define uchar unsigned char
- void delay(uchar); // 延时程序
- void main(void)
- {
- uchar i;
- SP=0x60;
- SCON=0x50; //串口初始化,方式2,允许接收
- TMOD=0x20; //电源控制,波特率不加倍
- TL1=0xe6;
- TH1=0xe6;
- TR1=1;EA=1;ES=1;
- while(1)
- {
- P1=0xff;
- i=P1;
- SBUF=i;
- while(TI==0);
- TI=0;
- }
- }
- void funins(void) interrupt 4 //延时子程序
- {
- EA=0;
- RI=0;
- P2=SBUF;
- EA=1;
- }
复制代码
完整的Word格式文档51黑下载地址:
实验三 串行口应用(双机通信实验)Y.doc
(45 KB, 下载次数: 74)
|