![单片机原理及应用A实验报告-UART串口通信_第1页](http://file1.renrendoc.com/fileroot_temp2/2021-1/20/345b7978-de22-45fd-b819-39795028ca4d/345b7978-de22-45fd-b819-39795028ca4d1.gif)
![单片机原理及应用A实验报告-UART串口通信_第2页](http://file1.renrendoc.com/fileroot_temp2/2021-1/20/345b7978-de22-45fd-b819-39795028ca4d/345b7978-de22-45fd-b819-39795028ca4d2.gif)
![单片机原理及应用A实验报告-UART串口通信_第3页](http://file1.renrendoc.com/fileroot_temp2/2021-1/20/345b7978-de22-45fd-b819-39795028ca4d/345b7978-de22-45fd-b819-39795028ca4d3.gif)
![单片机原理及应用A实验报告-UART串口通信_第4页](http://file1.renrendoc.com/fileroot_temp2/2021-1/20/345b7978-de22-45fd-b819-39795028ca4d/345b7978-de22-45fd-b819-39795028ca4d4.gif)
![单片机原理及应用A实验报告-UART串口通信_第5页](http://file1.renrendoc.com/fileroot_temp2/2021-1/20/345b7978-de22-45fd-b819-39795028ca4d/345b7978-de22-45fd-b819-39795028ca4d5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.UART串口通信一、实验目的1、学习实验系统的基本操作,了解在实验系统中进行程序设计、仿真和调试的操作方法和步骤;2、熟悉Proteus的虚拟仪器的使用;3、熟悉并灵活运用单片机的UART通信功能;4、熟悉虚拟串口在仿真中的应用;5、实现单片机点对点串口通信,即单片机与单片机间的相互通信;6、实现单片机与计算机串口通信。二、实验原理1、如图(1),有甲、乙两个单片机,甲单片机外接一个33矩阵键盘和8个LED;乙单片机外接一个独立按键和一个数码管;甲乙两个单片机通过串口进行通信(即TXD和RXD引脚)。图(1) 单片机点对点串口通信电路仿真图按下甲单片机矩阵键盘的任意一个按键,将该键编号(编号
2、自己设定)通过串口发送给乙单片机,乙单片机在数码管上显示出对应的按键号;按下乙单片机的外接独立按键控制甲单片机的8个LED(按键之前8个LED灯均点亮),具体关系为:(1)第1次按键,乙单片机向甲单片机通过串口发送命令字符A,甲收到该命令,使前4个LED灯亮,后4个不亮;(2)第2次按键,乙单片机向甲单片机通过串口发送命令字符B,甲收到该命令,使前4个LED不亮,后4个亮;(3)第3次按键,乙单片机向甲单片机通过串口发送命令字符C,甲收到该命令,使奇数个灯亮,偶数个灯不亮;(4)第4次按键,乙单片机向甲单片机通过串口发送命令字符D,甲收到该命令,使偶数个灯亮,奇数个灯不亮;(5)第5次按键,乙
3、单片机向甲单片机通过串口发送命令字符E,甲收到该命令,使所有灯都不亮。2、单片机与计算机串口通信,如图(2),需要一个单片机和一个COMPIM器件,连接电路时,将单片机的RXD和COMPIM的RXD相连,单片机的TXD与COMPIM的TXD相连,即同名引脚相连,其它的引脚悬空。图(2) 单片机与与计算机串口通信电路仿真图实验内容:设置单片机的串口为工作方式1,波特率设置为9600。计算机通过串口调试助手向单片机依次发送字符1、2、3、4,单片机收到每个字符后向计算机回复相应的内容,具体要求如表1所示:表1 单片机与计算机通信内容计算机发送字符单片机返回的内容2ZhangKang3SiChuan
4、NanChong4TianChao其它字符Error!三、实验步骤1、硬件仿真。先分析实验所需的硬件条件,然后在Proteus上连接好硬件电路,注意连接好必要的电阻等。2、软件编写。在Keil或其它的单片机编程软件上用C语言编写出构思好的软件。3、将程序编译为HEX文件,然后烧录到仿真单片机中,进行仿真。4、分析实验结果,找出问题并解决。四、实验结果及分析1、两个实验都基本实现了要求。图(3) 单片机点对点串口通信实验结果图(4) 单片机与计算机通信实验结果五、体会程序的调试仍然是最难的了,可能调试很久都不会有结果。但是,当你休息后再来时也许就茅塞顿开了。所以,有时做软件实在做不出来时不妨先去
5、放松一下,然后再来。 六、附件程序:单片机点对点串口通信,单片机甲:/* 实验名: UART通信单片机甲*功能:通过矩阵键盘控制单片机乙的数码管显示相应数字,同时接受单片机乙 的信号并让LED有不同的显示状态。*/#include sbit P13 = P13; /键盘列扫描端sbit P14 = P14; /键盘列扫描端sbit P15 = P15; /键盘列扫描端char SendDate; /发送的数据char LED = 0xf0,0x0f,0x55,0x99,0xff, /LED显示模式数组 0x89,0x23,0x45,0x78,0x88;/* 函数名 : UART_Init* 函
6、数功能: UART初始化函数,设置UART通讯的规则并打开定时器。* 输入 : unsigned int baud* 输出 : 无*/char UART_Init(unsigned int baud)SCON = 0x50;/设置UART通信模式为模式一PCON = PCON | 0x80;/设置为高速模式TMOD = (TMOD & 0xf0) | 0x20; /定时器1工作模式为自动重装模式TH1 = 0x100 - (11059200/12/16/baud); /配置波特率TL1 = TH1;TR1 = 1;ES = 1;/打开串口中断return 0;/* 函数名 : UART_Int
7、er* 函数功能: UART中断函数,实现数据的发送功能。* 输入 : 无* 输出 : 无*/void UART_Inter() interrupt 4int a;/数据存储if(RI)/接收标志RI = 0;a = SBUF;P2 = LEDa; /LED显示if(TI)TI = 0;/* 函数名 : main* 函数功能: 主函数,矩阵键盘扫描并发送信号。* 输入 : 无* 输出 : 无*/void main()char Date;/储存上次发送的数据UART_Init(9600); /设置波特率为9600EA = 1;/打开总中断P1 = 0xff;/设置为输入模式while(1)Dat
8、a = SendDate;P1 = 0xfe;/矩阵键盘扫描if(P13 = 0)SendDate = 1;else if(P14 = 0)SendDate = 2;else if(P15 = 0)SendDate = 3;P1 = 0xfd;if(P13 = 0)SendDate = 4;else if(P14 = 0)SendDate = 5;else if(P15 = 0)SendDate = 6;P1 = 0xfb;if(P13 = 0)SendDate = 7;else if(P14 = 0)SendDate = 8;else if(P15 = 0)SendDate = 9;if(S
9、endDate != Date) /若有新的数据则发送SBUF = SendDate;单片机点对点串口通信,单片机乙:/* 实验名:UART通信单片机乙*功能:通过按键控制单片机甲的LED灯的显示模式,同时接受单片机甲的信号让数 码管显示不同的数字。*/#includeunsigned char num10= 0x3f,0x06,0x5b,0x4f,0x66, /数码管显示数组 0x6d,0x7d,0x07,0x7f,0x6f;sbit P10 = P10;int SendData = 0; /发送的数据/* 函数名 : UART_Init* 函数功能: UART初始化函数,设置UART通讯的
10、规则并打开定时器。* 输入 : unsigned int baud* 输出 : 无*/char UART_Init(unsigned int baud)SCON = 0x50;/设置UART通信模式为模式一PCON = PCON | 0x80;/设置为高速模式TMOD = (TMOD & 0xf0) | 0x20;/定时器1工作模式为自动重装模式TH1 = 0x100 - (11059200/12/16/baud); /配置波特率TL1 = TH1;TR1 = 1;ES = 1; /打开串口中断return 0;/* 函数名 : UART_Inter* 函数功能: UART中断函数,实现数据的
11、发送功能。* 输入 : 无* 输出 : 无*/void UART_Inter() interrupt 4int i;ES = 0;if(RI)RI = 0;P2 = numSBUF;/数码管显示if(TI)TI = 0;if(P10 = 0)/判断按键是否按下for(i = 0;i = 5)SendData = 0;SendData = SendData + 1;SBUF = SendData;/发送显示模式 ES = 1;/* 函数名 : main* 函数功能: 主函数。* 输入 : 无* 输出 : 无*/void main()UART_Init(9600);/配置波特率为9600EA =
12、1;while(1)TI = 1;单片机与计算机串口通信:/* 实验名: UART通信(单片机与电脑)*功能:单片机发送1,2,。电脑接收后显示相应信息*/#include#includestatic unsigned char idata *SendData; /发送的数据的指针static unsigned char idata LenData; /发送的数据的长度char revice; /接收的数据char Data20; /发送的数据/* 函数名 : UART_Init* 函数功能: UART初始化函数,设置UART通讯的规则并打开定时器。* 输入 : unsigned int ba
13、ud* 输出 : 无*/char UART_Init(unsigned int baud)SCON = 0x50;/设置UART通信模式为模式一PCON = PCON | 0x80;/设置为高速模式TMOD = (TMOD & 0xf0) | 0x20; /定时器1工作模式为自动重装模式TH1 = 0x100 - (11059200/12/16/baud); /配置波特率TL1 = TH1;TR1 = 1;ES = 1;/打开串口中断return 0;/* 函数名 : UART_Inter* 函数功能: UART中断函数,实现数据的发送功能。* 输入 : 无* 输出 : 无*/void UAR
14、T_Inter() interrupt 4ES = 0;if(RI = 1)RI = 0;revice = SBUF; /接收数据switch(revice) /判断要发送的数据case 1:strcpy(Data,5120141519n);LenData = strlen(Data);SendData = Data;TI = 1;break;case 2:strcpy(Data,ZhangKangn);LenData = strlen(Data);SendData = Data;TI = 1;break;case 3:strcpy(Data,SiChuanNanChongn);LenData = strlen(Data);SendData = Data;TI = 1;break;case 4:strcpy(Data,TianChaon);LenData = strlen(Data);SendData = Data;TI = 1;break;default:strcpy(Dat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信息化教学田园风含内容模板
- 2023年江西省事业单位招聘面试真题及答案
- 电梯维护保养技术规范
- 盾构管片拼装施工技术
- 纺织工程专业实验报告
- 锰酸锂项目可行性报告
- 湖北省随州市广水市2023-2024学年一年级下学期期末综合练习语文试题
- 2024年印前处理设备:照排机项目可行性报告
- 高速加工中心项目可行性报告
- 《四季更替导学案-2023-2024学年科学青岛版五四学制》
- 2024年江苏省南京市玄武区编外教师会计校医招聘50人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 生药学智慧树知到期末考试答案章节答案2024年中国药科大学
- 2024届山东临沂市数学高一下期末统考试题含解析
- 西非音乐赏析-非洲鼓基本演奏智慧树知到期末考试答案章节答案2024年南开大学
- 文档目录模版(自动生成)
- 南京求真中学英语新初一分班试卷含答案
- 盐城市2022-2023学年七年级下学期数学期末试卷(含答案解析)
- 苗木供货及实施方案
- 大件运输专业知识课件
- (完整版)like练习题
- 标准正态分布表(附表12)
评论
0/150
提交评论