国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于52系列單片機的多路舵機控制方法

      文檔序號:10552303閱讀:325來源:國知局
      一種基于52系列單片機的多路舵機控制方法
      【專利摘要】本發(fā)明涉及一種基于52系列單片機的多路舵機控制方法,其包括:(1)搭建控制框架;(2)按照周期為20ms,脈沖寬度為0.5ms~2.5ms標準舵機進行定時時間分配,每路舵機的高電平持續(xù)時間為0.5ms~2.5ms,然后將需要控制的端口等分成多個端口組,并對該多個端口組進行排序;(3)將所有端口組的端口的電平變?yōu)榈碗娖剑?4)對T0定時器和T1定時器進行初始化配置;(5)對T0定時器和T1定時器進行賦值;(6)遍歷所有的端口組,直到T0定時器和T1定時器中斷關閉為止。
      【專利說明】
      一種基于52系列單片機的多路舵機控制方法
      技術領域
      [0001]本發(fā)明屬于機器人應用控制領域,具體涉及一種基于52系列單片機的多路舵機控制方法。
      【背景技術】
      [0002]隨著當今社會科技發(fā)展迅速,處理器的功能在不停的提升,性能不斷的被優(yōu)化,而在各行業(yè)應用了很多年的52系列的單片機由于沒有自帶pwm的端口,所以在很多領域的應用受到了很大的限制,尤其是機器人的領域,沒有多路的Pwm使得52系列單片機被擋在了多自由度機器人的門外;但是52系列單片機由于在價格和穩(wěn)定性等方面的優(yōu)勢勉強沒有被市場淘汰;如何將52系列單片機應用到在多機舵機的控制板上,進而降低成本成為一個急需解決的問題。

      【發(fā)明內(nèi)容】

      [0003]發(fā)明目的:本發(fā)明針對上述現(xiàn)有技術存在的問題做出改進,即本發(fā)明公開了一種基于52系列單片機的多路舵機控制方法,其可以使沒有pwm輸出口的52系列單片機實現(xiàn)高精確度多路可調Pwm波,可以利用這些可以調節(jié)的pwm波來控制多路舵機,使52系列的功能更加的完善。
      [0004]技術方案:一種基于52系列單片機的多路舵機控制方法,包括以下步驟:
      [0005](I)搭建控制框架,該控制框架包括:
      [0006]TO中斷模塊:按照設定的中斷順序依次給TO定時器中需要控制的端口賦初值;
      [0007]T1中斷模塊:按照設定的中斷順序依次給Tl定時器中需要控制的端口賦初值;
      [0008]定時器定時初值比較模塊,用于判斷TO定時器和Tl定時器初值的大小,依據(jù)比較的結果更改低優(yōu)先級的定時器的定時初值;
      [0009]舵機控制模塊,用來存放和改變TO定時器和Tl定時器所需要控制的端口的定時初值;
      [00? O ] (2)按照周期為20ms,脈沖寬度為0.5ms?2.5ms標準舵機進行定時時間分配,每路舵機的高電平持續(xù)時間為0.5ms?2.5ms,然后將需要控制的端口等分成多個端口組,并對該多個端口組進行排序,每一個端口組包括兩個端口,該端口兩個分別受TO定時器和Tl定時器控制;
      [0011](3)將所有端口組的端口的電平變?yōu)榈碗娖剑?br>[0012](4)對TO定時器和Tl定時器進行初始化配置,同時TO定時器和Tl定時器初始化的初值差小于0.5ms;
      [0013](5)對TO定時器和Tl定時器進行賦值;
      [0014](51)通過TO中斷模塊控制TO定時器進入中斷,將第一端口組中TO定時器控制的端口變?yōu)楦唠娖剑瑫r為TO定時器賦初值,TO定時器初值為舵機控制模塊中此路端口對應的定時初值;
      [0015](52)通過Tl中斷模塊控制Tl定時器進入中斷,將第一端口組中Tl定時器控制的端口變?yōu)楦唠娖?,同時為Tl定時器賦初值,Tl定時器初值為舵機控制模塊中此路端口對應的定時初值;
      [0016](53)通過定時器定時初值比較模塊比較中步驟(51)得到的TO定時器初值和步驟
      (52)得到的Tl定時器初值的大小,通過比較的結果改變低優(yōu)先級Tl定時器的高電平的初值
      [0017](531)若TO定時器初值大于Tl定時器初值,則對Tl定時器初值重新進行賦值,其值等于步驟(52)得到的TI定時器初值減去TI,TI的值為TO定時器進入中斷時到賦初值開始時的時間;
      [0018](532)若TO定時器初值等于Tl定時器初值,則對Tl定時器初值重新進行賦值,其值等于步驟(52)得到的Tl定時器初值減去T2,T2的值為TO定時器進入中斷時到賦初值開始時的時間;
      [0019](532)若TO定時器初值小于Tl定時器初值,則調換TO和Tl的中斷優(yōu)先級,對TO定時器初值重新進行賦值,其值等于步驟(52)得到的TO定時器初值減去Τ3,Τ3的值為Tl定時器進入中斷時到賦初值開始時的時間;
      [0020](54)通過TO中斷模塊控制TO定時器進入中斷,將第一端口組中TO定時器控制的端口由高電平改為低電平,同時為TO定時器進行二次賦值,TO定時器二次賦值等于2.5ms減去TO定時器初值;
      [0021 ] (55)通過Tl中斷模塊控制Tl定時器進入中斷,將第一端口組中Tl定時器控制的端口由高電平變?yōu)榈碗娖?,并對Tl定時器進行二次賦值,Tl定時器二次賦值等于2.5ms-Tl定時器初值;
      [0022](6)遍歷所有的端口組,重復步驟(51)?(55),直到TO定時器和Tl定時器中斷關閉為止。
      [0023]進一步地,步驟(2)中若所需要控制的端口的數(shù)量為奇數(shù),多余的一路端口隨機分配給TO定時器或Tl定時器。
      [0024]更進一步地,若所需要控制的端口的數(shù)量為奇數(shù),多余出來一路端口不需要對初值進行比較。
      [0025]有益效果:本發(fā)明公開的一種基于52系列單片機的多路舵機控制方法具有以下有益效果:
      [0026]1、將價格低廉且穩(wěn)定性好的52系列單片機應用到機器人控制領域,節(jié)約成本;
      [0027]2、同時可以應用到其他需要pwm的領域;
      [0028]3、對52單片機的應用范圍進一步拓展。
      【具體實施方式】
      :
      [0029]下面對本發(fā)明的【具體實施方式】詳細說明。
      [0030]具體實施例1
      [0031 ]一種基于52系列單片機的多路舵機控制方法,包括以下步驟:
      [0032](I)搭建控制框架,該控制框架包括:
      [0033]T0中斷模塊:按照設定的中斷順序依次給TO定時器中需要控制的端口賦初值;
      [0034]Tl中斷模塊:按照設定的中斷順序依次給Tl定時器中需要控制的端口賦初值;
      [0035]定時器定時初值比較模塊,用于判斷TO定時器和Tl定時器初值的大小,依據(jù)比較的結果更改低優(yōu)先級的定時器的定時初值;
      [0036]舵機控制模塊,用來存放和改變TO定時器和Tl定時器所需要控制的端口的定時初值;
      [0037](2)按照周期為20ms,脈沖寬度為0.5ms標準舵機進行定時時間分配,每路舵機的高電平持續(xù)時間為0.5ms,然后將需要控制的端口等分成多個端口組,并對該多個端口組進行排序,每一個端口組包括兩個端口,該端口兩個分別受TO定時器和Tl定時器控制;
      [0038](3)將所有端口組的端口的電平變?yōu)榈碗娖剑?br>[0039](4)對TO定時器和Tl定時器進行初始化配置,同時TO定時器和Tl定時器初始化的初值差小于0.5ms;
      [0040](5)對TO定時器和Tl定時器進行賦值;
      [0041 ] (51)通過TO中斷模塊控制TO定時器進入中斷,將第一端口組中TO定時器控制的端口變?yōu)楦唠娖剑瑫r為TO定時器賦初值,TO定時器初值為舵機控制模塊中此路端口對應的定時初值;
      [0042](52)通過Tl中斷模塊控制Tl定時器進入中斷,將第一端口組中Tl定時器控制的端口變?yōu)楦唠娖剑瑫r為Tl定時器賦初值,Tl定時器初值為舵機控制模塊中此路端口對應的定時初值;
      [0043](53)通過定時器定時初值比較模塊比較中步驟(51)得到的TO定時器初值和步驟
      (52)得到的Tl定時器初值的大小,通過比較的結果改變低優(yōu)先級Tl定時器的高電平的初值
      [0044](531)若TO定時器初值大于Tl定時器初值,則對Tl定時器初值重新進行賦值,其值等于步驟(52)得到的TI定時器初值減去TI,TI的值為TO定時器進入中斷時到賦初值開始時的時間;
      [0045](532)若TO定時器初值等于Tl定時器初值,則對Tl定時器初值重新進行賦值,其值等于步驟(52)得到的Tl定時器初值減去T2,T2的值為TO定時器進入中斷時到賦初值開始時的時間;
      [0046](532)若TO定時器初值小于Tl定時器初值,則調換TO和Tl的中斷優(yōu)先級,對TO定時器初值重新進行賦值,其值等于步驟(52)得到的TO定時器初值減去Τ3,Τ3的值為Tl定時器進入中斷時到賦初值開始時的時間;
      [0047](54)通過TO中斷模塊控制TO定時器進入中斷,將第一端口組中TO定時器控制的端口由高電平改為低電平,同時為TO定時器進行二次賦值,TO定時器二次賦值等于2.5ms減去步驟(53)得到的TO定時器初值;
      [0048](55)通過Tl中斷模塊控制Tl定時器進入中斷,將第一端口組中Tl定時器控制的端口由高電平變?yōu)榈碗娖?,并對Tl定時器進行二次賦值,Tl定時器二次賦值等于2.5ms-步驟
      (53)得到的Tl定時器初值;
      [0049](6)遍歷所有的端口組,重復步驟(51)?(55),直到TO定時器和Tl定時器中斷關閉為止。
      [0050]進一步地,步驟(2)中若所需要控制的端口的數(shù)量為奇數(shù),多余的一路端口隨機分配給TO定時器或Tl定時器。
      [0051 ]更進一步地,若所需要控制的端口的數(shù)量為奇數(shù),多余出來一路端口不需要對初值進行比較。
      [0052]具體實施例2
      [0053]與具體實施例1大致相同,區(qū)別僅僅在于:
      [0054]步驟(2)中按照周期為20ms,脈沖寬度為2.5ms標準舵機進行定時時間分配,每路舵機的高電平持續(xù)時間為2.5ms。
      [0055]具體實施例3
      [0056]與具體實施例1大致相同,區(qū)別僅僅在于:
      [0057]步驟(2)中按照周期為20ms,脈沖寬度為Ims標準舵機進行定時時間分配,每路舵機的高電平持續(xù)時間為Ims ο
      [0058]上面對本發(fā)明的實施方式做了詳細說明。但是本發(fā)明并不限于上述實施方式,在所屬技術領域普通技術人員所具備的知識范圍內(nèi),還可以在不脫離本發(fā)明宗旨的前提下做出各種變化。
      【主權項】
      1.一種基于52系列單片機的多路舵機控制方法,其特征在于,包括以下步驟: (1)搭建控制框架,該控制框架包括: TO中斷模塊:按照設定的中斷順序依次給TO定時器中需要控制的端口賦初值; TI中斷模塊:按照設定的中斷順序依次給TI定時器中需要控制的端口賦初值; 定時器定時初值比較模塊,用于判斷TO定時器和Tl定時器初值的大小,依據(jù)比較的結果更改低優(yōu)先級的定時器的定時初值; 舵機控制模塊,用來存放和改變TO定時器和Tl定時器所需要控制的端口的定時初值; (2)按照周期為20ms,脈沖寬度為0.5ms?2.5ms標準舵機進行定時時間分配,每路舵機的高電平持續(xù)時間為0.5ms?2.5ms,然后將需要控制的端口等分成多個端口組,并對該多個端口組進行排序,每一個端口組包括兩個端口,該端口兩個分別受TO定時器和Tl定時器控制; (3)將所有端口組的端口的電平變?yōu)榈碗娖剑? (4)對TO定時器和Tl定時器進行初始化配置,同時TO定時器和Tl定時器初始化的初值差小于0.5ms; (5)對TO定時器和Tl定時器進行賦值; (51)通過TO中斷模塊控制TO定時器進入中斷,將第一端口組中TO定時器控制的端口變?yōu)楦唠娖?,同時為TO定時器賦初值,TO定時器初值為舵機控制模塊中此路端口對應的定時初值; (52)通過TI中斷模塊控制TI定時器進入中斷,將第一端口組中TI定時器控制的端口變?yōu)楦唠娖?,同時為Tl定時器賦初值,Tl定時器初值為舵機控制模塊中此路端口對應的定時初值; (53)通過定時器定時初值比較模塊比較中步驟(51)得到的TO定時器初值和步驟(52)得到的Tl定時器初值的大小,通過比較的結果改變低優(yōu)先級Tl定時器的高電平的初值 (531)若TO定時器初值大于Tl定時器初值,則對Tl定時器初值重新進行賦值,其值等于步驟(52)得到的Tl定時器初值減去Tl,T1的值為TO定時器進入中斷時到賦初值開始時的時間; (532)若TO定時器初值等于Tl定時器初值,則對Tl定時器初值重新進行賦值,其值等于步驟(52)得到的Tl定時器初值減去T2,T2的值為TO定時器進入中斷時到賦初值開始時的時間; (532)若TO定時器初值小于Tl定時器初值,則調換TO和Tl的中斷優(yōu)先級,對TO定時器初值重新進行賦值,其值等于步驟(52)得到的TO定時器初值減去Τ3,Τ3的值為Tl定時器進入中斷時到賦初值開始時的時間; (54)通過TO中斷模塊控制TO定時器進入中斷,將第一端口組中TO定時器控制的端口由高電平改為低電平,同時為TO定時器進行二次賦值,TO定時器二次賦值等于2.5ms減去TO定時器初值; (55)通過TI中斷模塊控制TI定時器進入中斷,將第一端口組中Tl定時器控制的端口由高電平變?yōu)榈碗娖?,并對Tl定時器進行二次賦值,Tl定時器二次賦值等于2.5ms-Tl定時器初值; (6)遍歷所有的端口組,重復步驟(51)?(55),直到TO定時器和Tl定時器中斷關閉為止。2.根據(jù)權利要求1所述的一種基于52系列單片機的多路舵機控制方法,其特征在于,步驟(2)中若所需要控制的端口的數(shù)量為奇數(shù),多余的一路端口隨機分配給TO定時器或Tl定時器。3.根據(jù)權利要求2所述的一種基于52系列單片機的多路舵機控制方法,其特征在于,若所需要控制的端口的數(shù)量為奇數(shù),多余出來一路端口不需要對初值進行比較。
      【文檔編號】G05B19/042GK105911921SQ201610428812
      【公開日】2016年8月31日
      【申請日】2016年6月16日
      【發(fā)明人】常坤, 武風波, 劉海強, 馬文凱, 李榮榮
      【申請人】西安科技大學
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1