昆明理工大学机电工程学院
嵌入式系统设计与应用
实验报告书
实验名称:
串行通信实验
年级专业及班级:
2012级123班
姓名:
段剑华
学号:
201210301326
指导教师:
张文斌、高贯斌
评定成绩:
教师评语:
实验时间: 2014 年 12 月 14 日
实验三串口实验
一、实验要求
熟悉XS128单片机的SCI串口的使用,掌握查询式的发送和接收功能。
使用SCI1和PC机通信,XS128复位后发送“Hello! World!”到PC机,然后等待接收PC机发送的数据,当接收到了来自PC机的数据后立即回发。波特率为9600,使用SCI1口。
实验电路连线
连线
引脚
连接孔
功能简要说明
1
PS2
RXD端口
2
PS3
TXD端口
3
本实验有4个小实验组成,分别为:查询方式发送实验、中断方式发送实验、查询方式接收实验、中断方式接收实验。
查询方式发送是指单片机按照一定时间间隔按时读取串口的状态,如果串口处于空闲状态,就将待收的数据发送出去。
中断方式发送是指,一旦串口处于空闲状态,串口就对单片机触发一个中断,单片机则将待收的数据发送出去。
查询方式接收是指,单片机按照一定时间间隔按时读取串口的状态,如果串口接收到了数据,单片机就将数据读入,并对数据进行处理。
中断方式接收是指,当串口接收到一个数据后,对单片机触发一个中断,单片机则响应中断,对数据进行接收并处理。
基本要求:
用查询方式实验xs128串行通信的接收及发送,并实现与上位机串口调试程序的交互:上位机发送‘a’,xs128接收到字母‘a’返回‘Hello World!’。
高级要求:
用中断方式实现上述功能。
三、实验程序(列出用到的主要函数)
#include <> /* common defines and macros */
#include "" /* derivative-specific definitions */
void SCI1_init(void)//初始化函数
{
SCI1BD=0x34; //波特设置SCI baud=fbus/(16*SBR[12:0]);
SCI1CR1=0x00;
SCI1CR2 = 0x0C; //允许发送和接收
}
char uart_receive_data(void) //接受一个数据
{
while(!(SCI1SR1&0x20)) ;// 等待接受到数据( while(!SCI1SR1_RDRF); )
return SCI1DRL;
}
void uart_send_one(char data) //发送一个数据
{
while(!(SCI1SR1&0x80)); //等待发送完成
SCI1DRL=data; //写发送数据
}
void uart_send_
嵌入式实验报告三 来自淘豆网m.daumloan.com转载请标明出处.