国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 1870|回復(fù): 0
打印 上一主題 下一主題

【教程6】瘋殼·人形街舞機(jī)器人-串口控制舵機(jī)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2022-8-12 11:34:45 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
多自由度人形雙足舞蹈機(jī)器人
——瘋殼·機(jī)器人開(kāi)發(fā)系列
串口控制舵機(jī)





1 串口簡(jiǎn)介

  本章將使用 IAP15W4K61S4 單片機(jī)的串口通信來(lái)控制舵機(jī)的轉(zhuǎn)動(dòng)。

  IAP15W4K61S4 單 片 機(jī) 有 4 個(gè) 采 用 UART ( Universal Asychronous Receiver/Transmitter)工作方式的全雙工異步串行通行接口。每一個(gè)串口都有 2 個(gè)數(shù)據(jù)緩沖器、一個(gè)移位寄存器、一個(gè)串行控制寄存器和一個(gè)波特率發(fā)生器組成。而每一個(gè)串行口的數(shù)據(jù)緩沖器由 2 個(gè)相互獨(dú)立的接收、發(fā)送緩沖器構(gòu)成,可以同時(shí)發(fā)送和接收數(shù)據(jù)。發(fā)送緩沖器只能寫(xiě)入而不能讀出,接收緩沖器只能讀出而不能寫(xiě)入,因而兩個(gè)緩沖器可以共用一個(gè)地址碼。
  IAP15W4K61S4 單片機(jī)的串口 1 有 4 種工作方式,其中兩種方式的波特率是可變的,另兩種是固定的。而串口 2、3、4 都只有兩種工作方式,這兩種工作方式的波特率都是可變的。
  用戶可以用軟件設(shè)置不同的波特率和選擇不同的工作方式。主機(jī)可通過(guò)查詢或中斷方式對(duì)接收/發(fā)送進(jìn)行程序處理,使用十分靈活。
  IAP15W4K61S4 單片機(jī)的串口對(duì)應(yīng)的硬件部分分別為:TXD 和 RXD、TXD2 和RXD2、TXD3 和 RXD3、TXD4 和 RXD4,可以在幾組引腳之間進(jìn)行切換。


2 硬件設(shè)計(jì)

  由于絕大多數(shù)筆記本已經(jīng)沒(méi)有串口了,所以我們這里使用了 CH340 這個(gè)芯片,
成功實(shí)現(xiàn) USB 通信協(xié)議和標(biāo)準(zhǔn) UART 串行通信協(xié)議的轉(zhuǎn)換。另外,DEBUG_RX 與DEBUG_TX 連接到 IAP15W4K51S4 單片機(jī)的 P3.0 和 P3.1。


圖 1


3軟件設(shè)計(jì)

  在使用串口之前,我們首先介紹幾個(gè)與串口 1 相關(guān)的主要寄存器,其他串口的寄存器可以查看數(shù)據(jù)手冊(cè)。
(1)串行控制寄存器 SCON

串行控制寄存器 SCON 用于選擇串行通信的工作方式和某些控制功能。


圖 2
  SM0/FE:當(dāng) PCON 寄存器中的 SMOD0/PCON.6 位為 1 時(shí),該位用于幀錯(cuò)誤檢測(cè)。當(dāng)檢測(cè)到 一個(gè)無(wú)效停止位時(shí),通過(guò) UART 接收設(shè)置該位。它必須由軟件清零。當(dāng) PCON 寄存器中 的 SMOD0/PCON.0 時(shí),該位和 SM1 一起指定串行通信的工作方式,如下表所示:


圖 3
  SM2:允許方式 2 或方式 3 多級(jí)通信控制位。

  REN:允許/禁止串口接收控制位。由軟件置 REN 位 1 為允許串行接收狀態(tài), 可啟動(dòng)串口接收器 RXD,開(kāi)始接收信息。軟件復(fù)位 REN,即 REN=0,則禁止接收。
  TB8:在方式 2 或方式 3,它為要發(fā)送的第 9 位數(shù)據(jù),按需要由軟件置位或者清零。在方式0 和方式 1 中,該位不可用。

  RB8:在方式 2 或方式 3,它為要接收到的第 9 位數(shù)據(jù),作為奇偶效驗(yàn)位或者地址幀/數(shù)據(jù)幀   的標(biāo)志位。方式 0 中不用 RB8(置 SM2=0)。方式 1 中也不用 RB8(置 SM2=0,RB8 是 接收到的停止位)。
  TI:發(fā)送中斷請(qǐng)求標(biāo)志位。在方式 0,當(dāng)串行發(fā)送數(shù)據(jù)第 8 位結(jié)束時(shí),由內(nèi)部硬件自動(dòng)置位TI=1,向主機(jī)請(qǐng)求中斷,響應(yīng)中斷 TI 必須用軟件清零,即 TI=0。在其他方式中,則在停 止位開(kāi)始發(fā)送時(shí)由硬件置位,即 TI=1,響應(yīng)中斷后 TI 必須用軟件清零。
  RI:接收中斷請(qǐng)求標(biāo)志位。在方式 0,當(dāng)串行接收到第 8 位結(jié)束時(shí),由內(nèi)部硬件自動(dòng)置位RI=1,向主機(jī)請(qǐng)求中斷,響應(yīng)中斷 RI 必須用軟件清零,即 RI=0。在其他方式中,串行        接收到停止位的中間時(shí)刻由硬件置位,即 RI=1,向 CPU 發(fā)中斷申請(qǐng),響應(yīng)中斷后 RI 必 須用軟件清零。
(2)數(shù)據(jù)緩沖寄存器 SBUF

  串口 1 的數(shù)據(jù)緩沖寄存器(SBUF)的地址是 99H,實(shí)際是 2 個(gè)緩沖器,寫(xiě) SBUF 的操作完成待發(fā)送數(shù)據(jù)的加載,讀SBUF 的操作可獲得已收到的數(shù)據(jù)。兩個(gè)操作分別對(duì)應(yīng)兩個(gè)不同的寄存器,寫(xiě)寄存器和讀寄存器。
(3)串口 1 切換寄存器 AUXR1(P_SW1)


圖 4
  要是用串口通信,首先就是就要對(duì)串口進(jìn)行初始化。


代碼1

  對(duì)串口初始化完成之后,我們就開(kāi)始寫(xiě)串口中斷函數(shù)uart_int(void) interrupt 4using 1,每當(dāng)接收到數(shù)據(jù),CPU 就會(huì)產(chǎn)生中斷,從而進(jìn)入串口中斷函數(shù)。
  在串口中斷函數(shù)中,我們?cè)O(shè)置了一個(gè)數(shù)據(jù)緩沖區(qū),將串口接收到的一個(gè)一個(gè)字節(jié)的數(shù)據(jù)存儲(chǔ)在 receive_data 中。


代碼2

  每次將 6 個(gè)字節(jié)的數(shù)據(jù)接存儲(chǔ)到 receive_data 中,當(dāng)?shù)谝粋(gè)字節(jié)為 0x05,并且最后一個(gè)字節(jié)為 0x77 時(shí),那么中間的第 2、3、4、5 字節(jié)分別表示P 值的千、百、十、個(gè)位。


4實(shí)驗(yàn)現(xiàn)象

  首先打開(kāi)下載軟件 STC-ISP。


圖 5
  (1)點(diǎn)擊 Keil 仿真設(shè)置,添加 STC 相關(guān)的頭文件。STC 的相關(guān)頭文件路徑是我們之前安裝 Keil C51 的路徑,如果之前采用的默認(rèn)路徑,那么選擇 C 盤(pán) Keil 文件夾。


圖 6
  (2)添加完 STC 相關(guān)的頭文件,點(diǎn)擊彈窗中的確定。

       
圖 7
  (3)設(shè)置單片機(jī)的型號(hào)、最低波特率、最高波特率如下圖所示,硬件選項(xiàng)等選項(xiàng)默認(rèn)即可。串口號(hào)根據(jù)實(shí)際情況選擇。


圖 8
  (4)點(diǎn)擊打開(kāi)程序文件,選擇我們例程中的.hex 文件。


圖 9
  (5)點(diǎn)擊下載/編程,下載代碼。

       
圖 10
  (6)按一下電路板上面的 RST 按鍵,完成下載。


圖 11
  代碼下載完成之后,打開(kāi)機(jī)器人電源,運(yùn)行代碼,打開(kāi)串口調(diào)試助手。

  (1)選擇串口號(hào),我們圖中是 COM1,這個(gè)根據(jù)實(shí)際情況選擇。

  (2)配置串口參數(shù),波特率為 9600,數(shù)據(jù)位 8,停止位 1,沒(méi)有校驗(yàn)位和控制流,與下圖一致。
  (3)點(diǎn)擊打開(kāi)串口。



圖 12
  打開(kāi)串口之后,我們?cè)谧址斎肟蛑休斎?05 01 02 02 02 77,然后點(diǎn)擊發(fā)送,將機(jī)器人頭部舵機(jī)的高電平時(shí)間改為 1222,同時(shí)會(huì)看到我們機(jī)器人的頭轉(zhuǎn)動(dòng)到一個(gè)位置,繼續(xù)發(fā)送其他值,機(jī)器人的頭會(huì)轉(zhuǎn)向其它位置。



圖 13



文件下載請(qǐng)點(diǎn)擊: 5_串口控制舵機(jī).pdf (1.27 MB)

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本特一级 | 狠狠色狠狠色狠狠五月ady | 日本一区二区三区久久久 | 青青草手机视频在线观看 | 最新国语自产精品视频在 | 午夜精品在线 | 一级aaaaaa片毛片在线播放 | 99热欧美 | 国产成人欧美一区二区三区vr | 久久这里只有精品视频99 | 国产成人精品免费青青草原app | 麻豆污视频 | 欧美日本亚洲国产一区二区 | 亚洲欧美一区二区三区蜜芽 | 在线成人毛片 | 亚洲永久在线 | 最近韩国日本免费观看 | 日韩四区 | 永久国产 | 四虎影永久在线高清免费 | 中文字幕在线一区二区在线 | 国产对白刺激真实精品91 | 在线中文字幕一区 | 久久国产片 | 国产成人精品日本亚洲语言 | 欧美日韩一区二区在线 | 一本久久精品一区二区 | 免费人成黄页在线观看1024 | 国产卡一卡二卡3卡乱码免费 | 亚洲欧美专区精品久久 | 日本三级网站在线线观看 | 久久2019| 阿v视频在线免费观看 | 日本特黄特色大片免费看 | www.91香蕉视频| 亚洲国产精品欧美日韩一区二区 | 日本一区二区在线播放 | 男女涩涩| 国产日韩欧美在线观看 | 99re6这里只有精品 | 国产欧美日韩在线一区二区不卡 |