ror平台_(ror官方网)_网站
咨询热线:400-066-2698
服务区域
ror平台-镜面与改性
【教程6】疯壳·人形街舞机器人-串口操控舵机
【教程6】疯壳·人形街舞机器人-串口操控舵机 时间: 2023-04-06 20:36:46 |   作者: ror平台

  IAP15W4K61S4 单 片 机 有 4 个 采 用 UART ( Universal Asychronous Receiver/Transmitter)工作方法的全双工异步串行通行接口。每一个串口都有 2 个数据缓冲器、一个移位寄存器、一个串行操控寄存器和一个波特率发生器组成。而每一个串行口的数据缓冲器由 2 个彼此独立的接纳、发送缓冲器构成,能够一同发送和接纳数据。发送缓冲器只能写入而不能读出,接纳缓冲器只能读出而不能写入,因此两个缓冲器能够共用一个地址码。

  IAP15W4K61S4 单片机的串口 1 有 4 种工作方法,其间两种方法的波特率是可变的,另两种是固定的。而串口 2、3、4 都只要两种工作方法,这两种工作方法的波特率都是可变的。

  用户能够用软件设置不同的波特率和挑选不同的工作方法。主机可经过查询或中止方法对接纳/发送进行程序处理,运用非常灵敏。

  因为绝大多数笔记本现已没有串口了,所以咱们这儿运用了 CH340 这个芯片,

  在运用串口之前,咱们首要介绍几个与串口 1 相关的首要寄存器,其他串口的寄存器能够检查数据手册。

  SM0/FE:当 PCON 寄存器中的 SMOD0/PCON.6 位为 1 时,该位用于帧过错检测。当检测到 一个无效中止位时,经过 UART 接纳设置该位。它必须由软件清零。当 PCON 寄存器中 的 SMOD0/PCON.0 时,该位和 SM1 一同指定串行通讯的工作方法,如下表所示:

  REN:答应/制止串口接纳操控位。由软件置 REN 位 1 为答应串行接纳状况, 可发动串口接纳器 RXD,开端接纳信息。软件复位 REN,即 REN=0,则制止接纳。

  TB8:在方法 2 或方法 3,它为要发送的第 9 位数据,按需要由软件置位或许清零。在方法0 和方法 1 中,该位不可用。

  RB8:在方法 2 或方法 3,它为要接纳到的第 9 位数据,作为奇偶效验位或许地址帧/数据帧 的标志位。方法 0 中不必 RB8(置 SM2=0)。方法 1 中也不必 RB8(置 SM2=0,RB8 是 接纳到的中止位)。

  TI:发送中止恳求标志位。在方法 0,当串行发送数据第 8 位结束时,由内部硬件主动置位TI=1,向主机恳求中止,呼应中止 TI 必须用软件清零,即 TI=0。在其他方法中,则在停 止位开端发送时由硬件置位,即 TI=1,呼应中止后 TI 必须用软件清零。

  RI:接纳中止恳求标志位。在方法 0,当串行接纳到第 8 位结束时,由内部硬件主动置位RI=1,向主机恳求中止,呼应中止 RI 必须用软件清零,即 RI=0。在其他方法中,串行 接纳到中止位的中心时刻由硬件置位,即 RI=1,向 CPU 发中止请求,呼应中止后 RI 必 须用软件清零。

  串口 1 的数据缓冲寄存器(SBUF)的地址是 99H,实践是 2 个缓冲器,写 SBUF 的操作完结待发送数据的加载,读SBUF 的操作可获得已收到的数据。两个操作别离对应两个不同的寄存器,写寄存器和读寄存器。

  对串口初始化完结之后,咱们就开端写串口中止函数uart_int(void) interrupt 4using 1,每逢接纳到数据,CPU 就会发生中止,然后进入串口中止函数。在串口中止函数中,咱们设置了一个数据缓冲区,将串口接纳到的一个一个字节的数据存储在 receive_data 中。

  每次将 6 个字节的数据接存储到 receive_data 中,当第一个字节为 0x05,而且最终一个字节为 0x77 时,那么中心的第 2、3、4、5 字节别离表明P 值的千、百、十、个位。

  (1)点击设置,增加 STC 相关的头文件。STC 的相关头文件途径是咱们之前装置 Keil C51 的途径,假如之前选用的默许途径,那么挑选 C 盘 Keil 文件夹。

  (3)设置单片机的类型、最低波特率、最高波特率如下图所示,硬件选项等选项默许即可。串标语依据实践情况挑选。

  (2)装备串口参数,波特率为 9600,数据位 8,中止位 1,没有校验位和操控流,与下图共同。

  翻开串口之后,咱们在字符串输入框中输入 05 01 02 02 02 77,然后点击发送,将机器人头部舵机的高电平时刻改为 1222,一同会看到咱们机器人的头转动到一个方位,持续发送其他值,机器人的头会转向其它方位。