文档详情

单片机c语言程序设计---串行端口的发送与接收实验报告.pdf

发布:2024-10-06约2.2千字共4页下载文档
文本预览下载声明

单片机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)

显示全部
相似文档