实验二 串口异步通信实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二串口通信(SCI)实验
一.实验目的
1.进一步熟悉MT-IDE嵌入式开发系统环境、汇编、C语言、调试方式。2.加强串口通信(SCI)基本原理及编程原理的理解。
3.理解课本中的程序代码。
4.分别运用查询方式、中断方式实现通信。
5.理解SCI通信原理图(如图2-1)。
PC
二.预习要求
1.仔细阅读本实验指导书。
2.复习有关的串行通信(SCI)的章节
3.熟悉GP32串行通信(SCI)的工作方法及编程。
4.根据实验内容要求编写好程序,为实验做充分地准备。
三.实验设备及其连接
1.PC机一台
2.MT-IDE嵌入式开发系统一台
3.串行通信线一根
4.万用表一只
四.实验内容
1.理解串行通信(SCI)原理。
2.运行与理解各子程序。
3.主程序运行课本的样例程序。
4.编制一个查询方式通信程序。
通过PC机发送一个命令以控制接在PTA0~PTA7口的8个小灯亮暗状态,具体是:各个小灯初始状态都为暗,首先进行通信测试,PC机发送“A”(65),若单片机接收到则8个小灯全亮,并回送字符“A”(65),虽然单片机接收到但有问题,不是“A”(65),说明有误码,则4个小灯全亮,并回送字符“0”(48),否则8个小灯全暗无反应,PC机1分钟后自己判断线路不通,并显示“线路不通”。成功后进入控制状态,PC机发送字符串“11”,PTA0口灯亮;发送“10”,PTA0口灯暗;发送“21”,PTA1口灯亮;发送“20”,PTA1口灯暗;依此类推,当给PTA口发送“01”,8个小灯全亮,发送“00”,全暗。PC 机方程序已知。
5.编制一个中断方式通信程序。
编程要求同上一条。
五.编程提示
1.按照结构要求写好编程代码和注释。
2.计算波特率,SCIInit.h(SCI初始化子程序)设置SCI比特率寄存器(SCBR),设置允许SCI、正常码输出、8位数据、无校验,即设置SCI控制寄存器1(SCC1)相应位,设置是否允许发送与接收、是中断接收还是查询接收,即设置SCI控制寄存器2(SCC2)相应位。
3.查询方式通信程序的主程序主体是一个死循环,循环体中是不断检测来自PC机的数据是否可以收,即检测SCI状态寄存器1(SCS1)第五位是否为1,成立时可以接收数据;和发送接收到的数据,即不断检测SCI状态寄存器1(SCS1)第七位是否为1,成立时可以发送数据。
4.中断方式通信程序的主程序也主体是一个死循环,但该循环体是一个空循环体,所有接收和发送数据程序代码放在中断程序中,这里没有检测代码,数据开始发送和接收的条件就是中断的条件。
六.实验报告要求
1.小结GP32串行通信(SCI)的原理及编程,并画出其流程图和程序代码与硬件接线图。2.小结中断方式和查询方式的编程方法,并画出其流程图和程序代码与硬件接线图。3.回答下列问题
(1)全部发送字节每位为0,用万用表测量芯片的TX端电压是多少?并说明其原理。(2)全部发送字节每位为1,用万用表测量芯片的TX端电压是多少?并说明其原理。(3)什么是空闲线,如何识别?
(4)串行SCI通信有哪些中断?各在什么情况下发生,作用是什么?
(5)如何知道串行口TX发送了信号?
提示:方法一,利用万用表在TX端发送0或者255持续0.5秒钟时的电压值。
方法二,在TX端发送0或255持续0.5秒钟的波形时的小灯变化。