您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > (十)串口调试舵机模块―串口通信调试
模块电路功能编程(下)串口调试舵机模块—串口通信调试双C工作室复习1.通过对巡线传感器信号的读取,重新再次回顾了AVRATmega128,IO端口的操作流程;2.巡线传感器模拟实现巡线的思路。1.上交实验报告模块六:串行通信模块案例1:编程控制实验板的主控芯片AVRATmega128的USART串口,USART0每秒向串口0发送一个字节变化的数据,不接收数据。所涉及的模块一、单片机串行通信模块二、串口调试案例1:编程控制实验板的主控芯片AVRATmega128的USART串口,USART0每秒向串口0发送一个字节变化的数据,不接收数据。任务分析:–1.USART0所用的IO端口是哪个?串口通信的基本流程;–2.选用什么样的方法来使用USART0:查询或中断?–3.怎么观察通信效果?–4.编码、调试;–5.运行,显示效果电路连接–此时电路连接要考虑:采用哪种显示设备,这些设备已经占用了哪些IO端口资源?电路连接图案例2:编程控制实验板的主控芯片AVRATmega128的串口,USART1从串口接收数据,将收到的数据原样返回并显示在PB口。请做《USART》这个课题的同学,上来讲解:串口接收数据。编程实现:USART1串口接收从计算机COM0口发送过来的数据,并显示在LCD1602上。实验十1.在实验板上,编写程序实现以下功能,并用串口调试助手或者超级终端观察结果–(1)主控芯片AVRATmega128上的串口USART0发送字符到PC串口上;–(2)PC串口发送字符到主控芯片串口USART0,并将收到的大写字母显示到LCD上。2.利用数字式红外巡线传感器实现巡线的功能(模拟实现),用按键控制巡线开始和结束。一、通用同步/异步串行接口USART0和USART11.单片机与其他元器件通信方法2.AVRATmega128的USART3.USART与PC的通信:RS-232C串口通信标准4.中断方式使用USART1.单片机与其他元器件通信方法单片机与其他元器件通信的方法:–并口(多根数据传输线)•LED、LCD、数码管等…(=8)–串口(一根或两根数据传输线)•单片机之间、单片机与计算机等…计算机通信方式并行通信控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难。串行通信传输线少,长距离传送时成本低,但数据的传送控制比并行通信复杂。(1)什么是串口串口的样子:DCEDTE电话网DCEDTERS-232CRS-232C(2)串行数据传输的方式分为异步(asynchronous)和同步(synchronous)两种:–异步串行:是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本上是同步的;只有一根数据线,通过波特率保证数据同步UART–同步串行:是指数据传送是以数据块(一组字符)为单位,字符与字符之间、字符内部的位与位之间都同步。时钟线、数据线,通过时钟保持数据同步SPI,I2C无线通信一般均为异步串行通信描述数据传输率:“字节/秒”(Bytespresecond),“位/秒”(bitspersecond),波特(baud)。数据帧起始位,总是为低电平数据位(0~8)停止位,总为高电平IDLE:传输线路RxD和TxD没有数据传输,注意线路空闲时必须保持高电平奇偶校验位(3)串行数据传送方向无线广播对讲机电话(4)串口接口数据线一、通用同步/异步串行接口USART0和USART11.单片机与其他元器件通信方法2.USART与PC的通信:RS-232C串口通信标准3.AVRATmega128的USART4.中断方式使用USART(1)单片机与计算机通信中的接口芯片:MAX232常用的接口芯片是MAX232。它能很好地完成TTL与RS-232的逻辑电平转换,工作电压与AT89C51单片机相同均为+5V,可以使用同一个电源。计算机串口执行的是RS-232标准,单片机的是TTL,两者通信需要进行转换。(2)单片机与计算机通信连接方法一、通用同步/异步串行接口USART0和USART11.单片机与其他元器件通信方法2.USART与PC的通信:RS-232C串口通信标准3.AVRATmega128的USART4.中断方式使用USART3.AVRATmega128的USARTATmega128有通用同步异步串行接口USART0和USART1(1)USARTnI/O数据寄存器--UDRn数据缓冲寄存器,共享相同的I/O地址USART发送USART接收但,将数据写入UDR时,实际操作的是发送数据缓冲器(TXB);读UDR时,实际返回的是接收数据缓冲器(RXB)的内容(2)USART控制和状态寄存器A--UCSRnA接收结束发送结束数据寄存器空帧错误数据过速奇偶校验错误倍速发送多处理器通信模式(3)USART控制和状态寄存器B--UCSRnB接收结束中断使能发送结束中断使能数据寄存器空中断使能接收使能发送使能字符长度接收数据位8发送数据位8(4)USART控制和状态寄存器C--UCSRnC保留位,写入时必须为0USART模式选择奇偶校验模式停止位选择字符长度,与UCSZn2一起决定时钟极性(5)USART波特率寄存器UBRRnH和UBRRnL一、通用同步/异步串行接口USART0和USART11.单片机与其他元器件通信方法2.USART与PC的通信:RS-232C串口通信标准3.AVRATmega128的USART4.查询方式与中断方式使用USART(1)USART初始化(2)发送数据—USART发送器(3)接收数据—USART接收器(1)USART初始化(查询法)voiduart_init0(void){UCSR0A=(1U2X0);/*倍速*/UCSR0B=(1TXEN0)|(1RXEN0);/*允许接收和发送*/UCSR0C=(1UCSZ01)|(1UCSZ00);/*8位数据、1位停止、异步、无校验*/UBRR0H=0x00;UBRR0L=12;/*波特率9600*/}(2)发送数据—USART发送器(查询法)voiduart_transmit0(unsignedchari){while(!(UCSR0A&(1UDRE0)));/*等待发送缓冲器为空*/UDR0=i;/*发送数据*/}(3)接收数据—USART接收器(查询法)/*数据接收,等待查询方式*/unsignedcharuart_receive0(void){while(!(UCSR0A&(1RXC0)));/*等待接收数据*/returnUDR0;/*获取并返回数据*/}(5)中断法初始化voiduart_init1_interrupt(void){UCSR0A=(1U2X0);/*倍速*/UCSR0B=(1RXEN0)|(1RXCIE1);/*允许接收、允许接收中断*/UCSR0C=(1UCSZ01)|(1UCSZ00);/*8位数据、1位停止、异步、无校验*/UBRR0H=0x00;UBRR0L=12;/*波特率9600*/}接收中断服务程序:SIGNAL(SIGNAL_USART0_RECV){unsignedchardata;data=UDR1;if(data=='A'){PORTB&=~(1PB0);}elseif(data=='B'){PORTB&=~(1PB1);}else{PORTB=0xFF;}}调试方法:常用工具串口调试助手超级终端超级终端(新建连接-取名字)超级终端(设置相应属性)超级终端(接收相应数据)
本文标题:(十)串口调试舵机模块―串口通信调试
链接地址:https://www.777doc.com/doc-3710953 .html