单片机c语言程序设计---串行端口的发送与接收实验报告.pdf
单片机c语言程序设计串行端口的发送与接收实验报告--第1页
单片机c语言程序设计串行端口的发送与接收实验报告
课程名称:单片机c语言设计实验类型:设计型实验
实验项目名称:串行端口的发送与接收
一、实验目的和要求
1.掌握串行端口工作方式
2.掌握串行端口仿作方式3的编程
二、实验内容和原理
实验1.串行端口工作方式3发送和接收
功能:单片机U2通过其串行端口向单片机U1发送一串数据1、
2……16,单片机U1接收数据后进行偶校验,校验无误后通过数码管
显示,并保存在片内RAM40H开始的存储器空间。两个单片机晶振均
为11.0592MHZ,波特率9600bit/s,试编写程序,并通过Proteus仿
真。
分析:单片机串行口方式3比方式1多了一个可编程为TB8,该
位用作奇偶校验位,接收到的8位二进制数据可能出错,需要进行奇
偶校验。方法是将单片机U1的RB8和PSW的奇偶校验位进行比较,
如果相同,接收数据,否则,拒绝接收。
(1)硬件设计
电路原理图如下
单片机c语言程序设计串行端口的发送与接收实验报告--第1页
单片机c语言程序设计串行端口的发送与接收实验报告--第2页
仿真所需元器件
实验要求:
1.完成串行端口方式3发送和接收实验。具体包括绘制仿真电路图、
编写c源程序(发送程序和接收程序),进行仿真并观察仿真结果,
需要保存原理图截图,保存c源程序,总结观察的仿真结果。
三、操作方法与实验步骤
1.按照硬件设计在protues上按照所给硬件设计绘制电路图。
2.在keil上进行编译后生成“xxx.hex”文件。
3.编译好的“xxx.hex”文件加入AT89C51。启动仿真,观察仿真结
果。
四、实验结果与分析
单片机c语言程序设计串行端口的发送与接收实验报告--第2页
单片机c语言程序设计串行端口的发送与接收实验报告--第3页
①发送
voidmain()
{
UartInit();
EA=1;
ES=0;
while(1)
{
for(i=0;i=15;i++)
{
ACC=table[i];//第一个发送数据送ACC
TB8=P;//由PSW的最低位P产生TB8
SBUF=ACC;//发送第一个数据
while(TI==0);
TI=0;
Delay(500);
}
i=0;
单片机c语言程序设计串行端口的发送与接收实验报告--第3页
单片机c语言程序设计串行端口的发送与接收实验报告--第4页
}
}
②接收
voidUART()interrupt4
{
RI=0;
ACC=SBUF;
if(RB8==P)