欢迎来到天天文库
浏览记录
ID:10007376
大小:2.04 MB
页数:5页
时间:2018-05-20
《实验二rs-232串口通信实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、昆明理工大学信息工程与自动化学院学生实验报告(2011—2012学年第2学期)课程名称:嵌入式技术基础与实验开课实验室:信自楼2342012年5月10日年级、专业、班学号姓名成绩实验项目名称RS-232串口通信实验指导教师教师评语教师签名:年月日注:报告内容按实验须知中七点要求进行。一、实验目的通过该实验实习,进一步熟悉CodeWarrior嵌入式开发系统环境、汇编和C语言以及调试方式;加强串口通信(SCI)基本原理及编程原理;理解课本中的程序代码;分别运用查询方式、中断方式实现通信。二、实验原理及基本技术路线图(方框原理图)AW60MCU的SCI有2个,能接收其他设备信息供MCU处理,
2、也能将MCU内部的信号输出给外部设备,显示数据或者控制对象。SCI的使用涉及波特率寄存器、控制寄存器、状态寄存器和数据寄存器。接收方和发送方必须在相同的波特率和模式的条件下接收和发送信息。引脚连接图如图4-1所示。PCSCI接口Rx(2)Tx(3)GND(5)AW60PTE0/TxD1(13)PTE1/TxD1(14)GNDMAX232图4-1SCI的连接图-5-三、所用仪器、材料(设备名称、型号、规格等)飞思卡尔试验箱四、实验方法、步骤1、资源使用SCI连接图雷同演示实验,即MCU的SCI发送引脚E口的1号引脚接MAX232的TTL电平接收引脚11号,MCU的SCI接收引脚E口的0号引
3、脚接MAX232的TTL电平发送引脚12号。另外,要讲SCI线一头接PC的COM1,一头接实验箱的COM1或COM2,小灯的连接是用D口的1号引脚和一个小灯接口连接。波特率为19200bps,计算波特率寄存器的值,计算过程:公式为SCI1BD=fsys/(波特率*16)(其中fsys=sysclk*1000000)SCI1BD=20000000/(19200*16)=65然后将其结果供后语句使用。SCI1BDH=0x00;SCI1BDL=0x41;2、硬件设计先阅读源程序,查看相应的端口的宏定义,再根据端口号来接线。-5-3、软件设计(主要的程序流程图)MCU端程序流程图4、编程(关键性
4、程序段)串行通信中断方式的主程序部分代码://-------------------------------------------------------------------------*#include"Includes.h"voidmain(void){//1关总中断DisableInterrupt();//禁止总中断-5-//2芯片初始化MCUInit();//3模块初始化//3.1指示灯初始化Light_Init(Light_Run_PORT,Light_Run,Light_OFF);//3.2串行口初始化//使用SCI1模块,使用系统时钟作为SCI的时钟源//波特率为38
5、400SCIInit(SCI_NUM_1,SYSTEM_CLOCK,38400);//4开放中断EnableSCIReInt();//开放SCI接收中断EnableInterrupt();//开放总中断//5主循环while(1){}}2)、串行中断方式子程序部分代码:interruptvoidSCI1_Recv(void){uint8i;uint8SerialBuff[1];//存放接收数据的数组DisableInterrupt();//禁止总中断i=SCIReN(SCI_NUM_1,1,SerialBuff);//等待接收1个数据if(i==0)SCISendN(SCI_NUM_1,
6、1,SerialBuff);//发送接到的数据if(SerialBuff[0]=='1')Light_Control(Light_Run_PORT,Light_Run,Light_ON);if(SerialBuff[0]=='0')Light_Control(Light_Run_PORT,Light_Run,Light_OFF);EnableInterrupt();//开放总中断}五、实验过程原始记录(数据、图表、计算等)-5-六、实验结果、分析和结论(误差分析与数据处理、成果总结等。其中,绘制曲线图时必须用计算纸)本次实验虽属简单小型实验,却着实遇到不少问题,通过实验,我也进一步发现了
7、自己在动手能力和自学能力方面的不足,当然对本实验所涉及到的东西也算是有了不少兴趣,感觉越来越有意思了。同时也对rs232串口的发送与接收信息有了进一步的了解,初步认识了MODBUS协议传输数据的原理,相信本实验对我日后的进一步学习有莫大帮助。-5-
此文档下载收益归作者所有