版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验六串口通信实验实验报告姓名:学号:一、实验内容USB供电及自动下载原理图如图7-1所示,CH340G实现串口转USB原理图如图7-2所示。自行编制程:实现以下功能:串口调试助手向单片机发送控制码,单片机向PC回送控制码,并按表7-1实现控制功能。要求串口配置用ConfigUART()函数实现,注意从串口接收到的数据是ASCII码还是16进制数。蜂鸣器连接原理图如图7-3所示。表7-1控制功能表控制码控制功能0熄灭1LED从上往-卜循环2LED从下往上循环3LED闪烁4蜂鸣器响图7-1USB供电及自动下载原理图图7-2串口转USB原理图图 7-3蜂鸣器连接原理图二、相关知识1、请说明矗中所用的串口通信协议。UART通信协议。是异步串口通信协议的一种,工作原理是将传输数据的每个字符一位接•位地传输,它能将要传输的资料在串行通信与并行通信之间加以转换,能够灵活地与外部设备进行全双工数据交换。1)起始位当未有数据发送时,数据线处于逻辑“1”状态;先发出一个逻辑“0”信号,表示开始传输字符。2)数据位紧接着起始位之后。资料位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。3)奇偶校验位资料为加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。4)停止位它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。5)空闲位或起始位处于逻辑“1”状态,表示当前线路上没有资料传送,进入空闲状态。处于逻辑“0”状态,表示开始传送下一数据段。6)波特率表示每秒钟传送的码元符号的个数,是衡量数据传送速率的指标,它用单位时间内载波调制状态改变的次数来表示。常用的波特率有:9600、115200等时间间隔计算:1秒除以波特率得出的时间,例如,波特率为9600的时间间隔为1s/9600(波特率)=104uso7)接口接口通过两个引脚从外部连接到其它设备。任何USART双向通信均需要至少两个引脚:接收数据输入引脚(RX)和发送数据引脚输出(TX):RX:接收数据输入引脚就是串行数据输入引脚。过采样技术可区分有效输入数据和噪声,从而用于恢复数据。TX:发送数据输出引脚。如果关闭发送器,该输出引脚模式由其I/O端II配置决定。如果使能了发送器但没有待发送的数据,则TX引脚处于高电平。在单线和智能卡模式下,该"0用于发送和接收数据。2、串口初始化包含哪些?串行□初始化,主要是设置产生波特率的定时器口、串行口控制和中断控制。具体步骤如下:(1)配置串行口为方式1(编程SCON寄存器)。(2)配置T1为方式2,即自动重装模式(编程TMOD寄存器)。(3)根据波特率计算或查表T1的初值,装载TH1、TL1,如果有需要可以使用PCON进行波特率加倍。(4)启动T1(编程TCON中的TR1位)。另外,串行门在中断方式工作时,还要进行中断设置(编程IE、IP寄存器)。3、串口通信中波特率如何进行设置?通过软件可设置单片机传行口的工作方式,其中方式0和方式2的波特率是固定的,方式1和方式3的波特率是可变的。串口可变的波特率需要由定时器产生,对于STC89C52单片机来讲,这个波特率发生器只能由定时器T1或定时器T2实现,而不能由定时器TO实现。如果用定时器T2,需要配置额外的寄存器,默认是使用定时器T1的。使用定时器门作为波特率发生器,方式1下的波特率发生器必须使用定时器口的方式2,也就是自动重装载模式当T1作为波特率发生器时,方式1和方式3的波特率为TITI溢出率=晶振值
12x(256-THD可推导出当SMOD=0时,定时器重载值的计算公式为TH1=TL1=256-晶振值
TH1=TL1=256-晶振值
12x2xl6x波特率和波特率有关的还有一个寄存器,是电源管理寄存器PCON,它的最高位SMOD可以把波特率提高一倍,也就是说PCON1=0x80,计算公式可写TH1=TL1=256-晶振值TH1=TL1=256-晶振值12xl6x波特率4、串口通信四种工作方式有何区别?方式0是同步移位寄存器方式(通常用于扩展10口),波特率固定;方式I是10位异步收发器(8位数据),波特率可变;方式2是11位异步收发器(9位数据),波特率固定;方式3是11位异步收发器(9位数据),波特率可变。三二硬件电路此实验中除了USB转串口电路、发光二极管电路还有蜂鸣器电路,请蜂鸣器电路有哪两种?图7-3属于哪种,并简单分析此电路如何工作?请画出另一种控制蜂鸣器的电路。蜂鸣器分为两类。1、有源蜂鸣器;2、无源蜂鸣器有源蜂鸣器比较简单,只要有电流通过,蜂鸣器就会发声。一般改变不了音调和音量。无源蜂鸣器要给•定频率的脉冲信号,蜂鸣器才会发出声音。对于无源蜂鸣器只要改变频率就可以改变蜂鸣器的音调、改变占空比就可以改变声音的大小。此电路中P44口置低电平,三极管导通,5V电压加到蜂鸣器上,蜂鸣器响。四、程序设计蜂鸣器控制程序及注释:if(RI)(RI=O;SendByte('4');whilc(SBUF=='4')(BEEP=0;//P4A4口接低电平)P()=()Xff;}主程序及注释:#include<reg52.h>#include"delay.h"#include"intrins.h"#include"datatype.h"voidConfigUART(uintl6baud);〃串口初始化voidSelectHC138(uint8channel);voidSendByte(uint8dal);〃发送一个字节voidmain()(SelectHCI38(0);ConfigUART(9600);while(l);voidSelectHC138(uint8channel)(switch(channel)(case0:PI=(PI&0xlf)|0x00;break;//发光二极管(LEDSO))voidSendByte(uint8dal)(SBUF=dat;while(!TI);TI=0;voidConfigUART(uint16baud)(SCON=OX5();〃8位数据,可变波特率TMOD&=OXOF;〃设定定时器1为16位自动重装方式TMOD|=0X20;TH1=256-(11059200/12/32)/baud;TL1=TH1;〃设定定时器初值ETI=0; 〃静止定时器I中断TR1=1;ES=1;〃打开串口中断EA=1;voidIntcrruptLJART(void)interrupt4(switch(SBUF){case'O':if(RI){BEEP=1;RI=0;SendByte('O');PO二OXFF;)break;case'I':if(RI){RI=0;PO=OX7f;BEEP=1;SendByte('r);while(SBUF==T)(delay_ms(100);PO=_cror_(PO,I);break;if(RI)(RI=0;P0=0XFE;BEEP=1;SendByte('2');while(SBUF=='2')(delay_ms(100);PO=_crol_(PO,l);break;if(RI)(RI=O;BEEP=1;SendByte('3');while(SBUF==3)(PO=OXFF;delay_ms(100);P0=0X00;delay_ms(100);break;case'4':if(RD(RI=0;SendByte('4');while(SBUF==4)(BEEP=0;)P0=0Xff;break;)}其它自定义头文件程序及注释:datatype.h文件#ifndefDATA_TYPE_H#defineDATA_TYPE_Htypedefbit_bool;//布尔型变量typcdcfunsignedcharuint8;//无符号8位整型变量typedefsignedcharint8;//有符号8位整型变量typedefunsignedshortuintl6;//无符号16位整型变量typedefsignedshortinti6;//有符号16位整型变量typedefunsignedintuint32;//无符号32位整型变量typedefunsignedlongintuinl64;//无符号64位整型变量typedefsignedintint32;//有符号32位整型变量typedeffloatfp32;//单精度浮点数(32位长度)typedefdoublefp64;〃双精度浮点数(64位长度)#endifdelay.c文件#include"delay.h"〃延时tus函数voidDelay_us(uint8t)(while(t-);I//延时Ims函数voidDelay_ms(uint8t){unsignedinti,j;for(i=0;i<t;i++)for(j=0;j<113;j++);delay.h文件#ifndefDELAY_H#defineDELAY.H#include"datatype.h"voidDelay_us(uint8t);voidDelay_ms(uint8t);#endif四、思考题修改程序,能把串口接收到控制码显示到数码管上。(选做)(说明只需展示修改部分的程序)voidIntcrruptUART(void)interrupt4(switch(SBUF)|case'O':if(RI)|RI=0;SendByte('O');LedScan(O,SMG_duanma[O]);)break;caseT:if(RI)(RI=0;ScndByteCl');LedScan(O,SMG_duanma[1]);}break;if(RI)(RI=0;SendByte('2');LedScan(O,SMGduanma⑵);break;if(RI)(RI=O;SendByte('3');LcdScan(0,SMG_duanma[3]);)break;case4:if(RI)(RI=O;SendByte('4'
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度美术教育机构美术教师作品展示合同4篇
- 二零二五年度离婚协议涉及房产租赁及使用权合同范本4篇
- 2024版信用卡还款中介协议3篇
- 2025年度文化艺术中心场地租赁与文化活动合同4篇
- 二零二五年度农田土地托管服务合同样本4篇
- 二零二五民间借贷合同纠纷解决策略针对四种借款人问题3篇
- 个性化委托技术服务协议2024版范例版
- 《片筏基础》课件
- 2025至2030年中国明朝丰谷酒数据监测研究报告
- 2025至2030年中国女用保健包数据监测研究报告
- 冷链冻品研究报告-冷链冻品行业市场深度分析及发展策略研究报告(2024年)
- 电梯广告机可行性方案
- 办公楼暖通空调系统的节能优化方案
- 泵车述职报告
- 建材协会管理制度
- 关于春联来源的研究报告
- 2024年山西文旅集团招聘笔试参考题库含答案解析
- 恢复中华人民共和国国籍申请表
- 220kV及以下变电站设备全面巡视标准
- (完整word版)doing-todo练习题
- 管理期货的趋势跟踪策略 寻找危机阿尔法
评论
0/150
提交评论