版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、智能尋跡小車設(shè)計與制作(電機調(diào)速控制程序設(shè)計)湖南創(chuàng)博龍智信息科技有限公司主講:雷道仲 任務(wù)一:任務(wù)一:直流電機減速控制; 要求:要求:學(xué)員編寫程序,實現(xiàn)如下功能:智能尋跡小車接通電源,電機全速旋轉(zhuǎn),小車最大速度前進,前進3秒后,小車開始減速,電機轉(zhuǎn)速變慢,時間維持3秒鐘,之后回到全速旋轉(zhuǎn)狀態(tài),如此周而復(fù)始。湖南創(chuàng)博龍智信息科技有限公司任務(wù)及要求電機調(diào)速控制模塊共設(shè)置了兩個任務(wù),分別如下: 任務(wù)二:任務(wù)二:用兩個獨立按鍵控制直流電機調(diào)速 學(xué)員編寫程序代碼實現(xiàn)如下功能:當(dāng)按下S1時,直流電機減速運行,當(dāng)按下S2時,直流電機全速運行。湖南創(chuàng)博龍智信息科技有限公司任務(wù)及要求電機調(diào)速控制模塊共設(shè)置了兩
2、個任務(wù),分別如下:湖南創(chuàng)博龍智信息科技有限公司1.11.1 任務(wù)一:任務(wù)一:直流電機減速控制直流電機減速控制1.1.11.1.1 電機控制電路電機控制電路圖1 電機控制電路湖南創(chuàng)博龍智信息科技有限公司圖2 直流電機控制示意圖電路1.1.2 直流減速控制原理原理湖南創(chuàng)博龍智信息科技有限公司 直流電機調(diào)速控制方法有很多,如:PWM脈寬調(diào)制、本設(shè)計中,根據(jù)電機特點采用控制使能端電平達到調(diào)速的目的。具體過程如下:如圖2所示是本設(shè)計中的電機控制示意圖,圖中,當(dāng)單片機P0.0、P0.1輸出控制電平0和1,且在使能控制端P1.0=1的控制下,電機會全速前進。如果在電機全速旋轉(zhuǎn)的過程中將使能端的電平變?yōu)?,即
3、P1.0=0,則電機就會因為失去控制信號,而慢慢逼近停轉(zhuǎn)。電機在失去控制信號時,本應(yīng)停轉(zhuǎn),但由于高速旋轉(zhuǎn)的1.1.2 直流減速控制原理原理湖南創(chuàng)博龍智信息科技有限公司 電機由于慣性作用會繼續(xù)旋轉(zhuǎn),但轉(zhuǎn)速會變慢,只要在電機沒有完全停止下來前,再將使能端控制信號恢復(fù)為1,即:P1.0=1,則電機又會啟動高速旋轉(zhuǎn),當(dāng)高速旋轉(zhuǎn)一段時間后,又重復(fù)之前的動作,使使能端電平再變?yōu)?,如此反復(fù),則電機的轉(zhuǎn)速便會從最高速慢慢降低,達到減速目的。當(dāng)然,使能端使出控制信號的時間要設(shè)置的適當(dāng),否則達不到減速目的,一般這個時間為毫秒級。實現(xiàn)方法可由單片機軟件延時和定時器延時兩種方法實現(xiàn)。1.1.3 單片機的定時器原理
4、在工業(yè)檢測、控制中,很多場合都要用到計數(shù)或者定時功能。例如對外部脈沖進行計數(shù)、產(chǎn)生精確的定時時間、作串行口的波特率發(fā)聲器等,AT8951單片機內(nèi)部有兩個可編程的定時器/計數(shù)器,以滿足這方面的需要。它們具有兩種工作模式(計數(shù)器模式、定時器模式)和四種工作方式(方式0、方式1、方式2、方式3),其控制字均在相應(yīng)的特殊功能寄存器(SFR)中,通過對它的SFR的編程,可以方便的選擇工作模數(shù)和工作方式。1.1.3 單片機的定時器原理 定時器/計數(shù)器(Timer/Counter)本質(zhì)上都是加法計數(shù)器,當(dāng)對固定周期的脈沖信號計數(shù)時是定時器,對脈沖長度不確定的信號計數(shù)時是計數(shù)器。每接收到一個計數(shù)脈沖,加法計數(shù)
5、器的值就加一,當(dāng)計滿時發(fā)生溢出,并從0開始繼續(xù)計數(shù)。 當(dāng)設(shè)置為定時工作模式時,定時器對8951片內(nèi)振蕩器輸出的經(jīng)12分頻后的脈沖計數(shù),即每個機器周期使定時器(T/C0或T/C1)的數(shù)值加1直至計滿溢出。當(dāng)采用12MHz晶振時,一個機器周期為1s。1.1.3 單片機的定時器原理 當(dāng)設(shè)置為計數(shù)工作模式時,通過引腳T0(P3.4)和T1(P3.5)對外部脈沖信號計數(shù),當(dāng)輸入脈沖信號產(chǎn)生由1到0的下降沿時,定時器的值加1. 不管時定時還是計數(shù)工作模式,定時器T0或T1在對內(nèi)部時鐘或外部事件計數(shù)時,都不占用CUP時間,除非定時器/計數(shù)器溢出,才可能中斷CPU的當(dāng)前操作,計數(shù)器的計滿溢出信號就是定時/計數(shù)
6、器的輸出,該信號使TCON的某位(TF0或TF1位)置1,作為定時器/計數(shù)器的溢出中斷標(biāo)志,定時器/計數(shù)器的內(nèi)部結(jié)構(gòu)框圖如圖3所示。1.1.3 單片機的定時器原理圖3 定時器/計數(shù)器結(jié)構(gòu)框圖1.1.3 單片機的定時器原理 1、定時/計數(shù)器有關(guān)的特殊功能寄存器 (1)計數(shù)寄存器TH和TL 定時器/計數(shù)器T/C0和T/C1都是16位寄存器,由TH高8位和TL低8位構(gòu)成,在特殊功能寄存器(sfr)中,對應(yīng)T/C0為TH0和TL0,對應(yīng)T/C1為TH1和TL1,定時器/計數(shù)器T/C0和T/C1的初值分別通過TH0/TL0和TH1/TL1來設(shè)置,加法計數(shù)器是計滿溢出時才申請中斷,所以在給定時器/計數(shù)器賦
7、初值時,不能直接輸入所需的計數(shù)值, 而應(yīng)輸入的是計數(shù)器計數(shù)的最大值與這一計數(shù)值的差值, 設(shè)最大值為 M, 計數(shù)值為N, 初值為X, 則X的計算方法如下: 1.1.3 單片機的定時器原理 計數(shù)狀態(tài): X=MN 定時狀態(tài): X=M定時時間/T(T=12晶振頻率) 對定時器的控制其實質(zhì)就是對內(nèi)部相關(guān)寄存器的編程控制,下面就介紹與定時器定時有關(guān)的兩個寄存器,圖4為定時器/計數(shù)器控制寄存器TCON,對該寄存器各位的定義分別如下:圖4 定時器/計數(shù)器控制寄存器TCON TF0、TF1:分別是定時器/計數(shù)器T0、 T1 的溢出標(biāo)志位, 加法計數(shù)器計滿溢出時置1,申請1.1.3 單片機的定時器原理中斷, 在中
8、斷響應(yīng)后自動復(fù) 0。TF產(chǎn)生的中斷申請是否被接受, 還需要由中斷是否開放來決定。 TR1、TR0:分別是定時器 /計數(shù)器T1、T0的運行控制位, 通過軟件置1后,定時器/計數(shù)器才開始工作,(如本設(shè)計案例中用到定時器T0,啟動時:TR0=1;停止時:TR0=0),在系統(tǒng)復(fù)位時被清0。 如圖5所示為T0、T1工作方式及功能選擇控制寄存器TMOD。該寄存器各位定義如下:圖5 定時器/計數(shù)器方式控制寄存器TMOD1.1.3 單片機的定時器原理 GATE位:門控位,GATE1時,T0、T1是否計數(shù)要受到外部引腳輸入電平的控制,INT0引腳控制T0,INT1引腳控制T1??捎糜跍y量在INT0和INT1引腳
9、出現(xiàn)的正脈沖的寬度。若GATE0,即不使能門控功能,定時計數(shù)器的運行不受外部輸入引腳INT0、INT1的控制 C/T位:計數(shù)器模式和定時器模式的選擇位,C/T0,為定時器模式,內(nèi)部計數(shù)器對晶振脈沖12分頻后的脈沖計數(shù),該脈沖周期等于機器周期,所以可以理解為對機器周期進行計數(shù)。從計數(shù)值可以求得計數(shù)的時間,所以稱為定時器模式。1.1.3 單片機的定時器原理C/T 1,為計數(shù)器模式,計數(shù)器對外部輸入引腳T0(P3.4)或T1(P3.5)的外部脈沖(負(fù)跳變)計數(shù),允許的最高計數(shù)頻率為晶振頻率的1/24。M1 M0:四種工作方式的選擇位M1M1M0 M0 工作工作方式方式說明說明00 013 位定時器(
10、TH的 8 位和TL的低 5 位),最大計數(shù)范圍213(8192)01 116 位定時器/計數(shù)器10 2自動重裝入初值的 8 位計數(shù)器11 3T0 分成兩個獨立的 8 位計數(shù)器,T1 在方式 3 時停止工作表3-3 定時/計數(shù)器工作方式1.1.3 單片機的定時器原理 2、工作方式工作方式 (1)方式0 如圖6為定時器/計數(shù)器方式0的內(nèi)部結(jié)構(gòu)圖。方式0下,T0和T1工作在13位的定時/計數(shù)器方式,由TH的高 8 位和TL的低 5 位組成。當(dāng)T0的13位計數(shù)器加到全部為 1 以后,再加1就產(chǎn)生溢出,這時置TCON的TF0為 1 ,同時把計數(shù)器全部變 0 ,然后從 0 開始繼續(xù)計數(shù)。 方式0的計數(shù)長
11、度M為2的13次方,初值也是13位二進制數(shù),但要注意是高8位賦值給TH0,低5位前面補足 3 個 0 湊成 8 位賦給TL0。1.1.3 單片機的定時器原理 例如,如要求計數(shù)值為1000,則初值為: 根據(jù):X=MN XM1000 81921000 1C18H 11100000 1 1000B 即賦初值時,TH00 xE0,TL00 x18。1.1.3 單片機的定時器原理圖6 方式 0(13位計數(shù)器)1.1.3 單片機的定時器原理 (2)方式1 如圖7為定時器/計數(shù)器方式0的內(nèi)部結(jié)構(gòu)圖。方式1和方式0的工作原理基本相同,唯一不同是T0和T1工作在方式1時是16位的計數(shù)/定時器。方式1時的計數(shù)長度
12、M是2的16次方。16位的初值直接拆成高低字節(jié),分別送入TH和TL即可。因為計數(shù)長度大,初值計算方便,方式1就定時/計數(shù)器最常用的方式,(如在本設(shè)計案例中,用的就是方式1:TMOD |= 0 x01;)1.1.3 單片機的定時器原理圖7 方式1(16位計數(shù)器)1.1.3 單片機的定時器原理 (3)方式2 如圖8為定時器/計數(shù)器方式0的內(nèi)部結(jié)構(gòu)圖方式0和方式1的最大特點就是計數(shù)溢出后,計數(shù)器為全0,因而循環(huán)定時或循環(huán)計數(shù)應(yīng)用時就存在反復(fù)設(shè)置初值的問題,這給程序設(shè)計帶來許多不便,同時也會影響計時精度。工作方式2就針對這個問題而設(shè)置,它具有自動重裝載功能,即自動加載計數(shù)初值,所以也稱為自動重加載工作
13、方式。 在這種工作方式中,16位計數(shù)器分為兩部分,即以TL0為計數(shù)器,以TH0作為預(yù)置寄存器,初始化時把計數(shù)初值分別加載至TL0和TH0中,當(dāng)計數(shù)溢出時,不再象方式0和方式1那樣需要“人工干預(yù)”,由軟件重新賦值,而是由預(yù)置寄存器TH以硬件方法自動給計數(shù)器TL0重新加載。1.1.3 單片機的定時器原理圖8 方式2(自動重加載初值方式)1.1.3 單片機的定時器原理 (4)方式3 如圖9為定時器/計數(shù)器方式0的內(nèi)部結(jié)構(gòu)圖。在方式3模式下,定時/計數(shù)器0被拆成兩個獨立的8位計數(shù)器TL0和TH0。其中TL0既可以作計數(shù)器使用,也可以作為定時器使用,定時/計數(shù)器0的各控制位和引腳信號全歸它使用。其功能和
14、操作與方式0或方式1完全相同。TH0就沒有那么多“資源”可利用了,只能作為簡單的定時器使用,而且由于定時/計數(shù)器0的控制位已被TL0占用,因此只能借用定時/計數(shù)器1的控制位TR1和TF1,也就是以計數(shù)溢出去置位TF1,TR1則負(fù)責(zé)控制TH0定時的啟動和停止。1.1.3 單片機的定時器原理 由于TL0既能作定時器也能作計數(shù)器使用,而TH0只能作定時器使用而不能作計數(shù)器使用,因此在方式3模式下,定時/計數(shù)器0可以構(gòu)成二個定時器或者一個定時器和一個計數(shù)器。 如果定時/計數(shù)器0工作于工作方式3,那么定時/計數(shù)器1的工作方式就不可避免受到一定的限制,因為自己的一些控制位已被定時/計數(shù)器借用,只能工作在方
15、式0、方式1或方式2下,如果設(shè)置T1工作在方式3,則T1停止工作,相當(dāng)于其他方式時令TR10。1.1.3 單片機的定時器原理圖9 方式3(兩個8位獨立計數(shù)器)1.1.3 單片機的定時器原理 3、定時/計數(shù)器的應(yīng)用 (1)初始化步驟 在應(yīng)用定時/計數(shù)器之前,要對它計數(shù)初始化編程,主要是對寄存器TCON和TMOD的編程以及計算和裝載T/C(定時/計數(shù)器)的計數(shù)初值,一般有一下幾個步驟:確定定時/計數(shù)器的工作方式編程TMOD寄存器;計算定時/計數(shù)器的計數(shù)初值,并裝載到TH和T;定時/計數(shù)器在中斷方式工作時,還必須開CPU總中斷EA和相應(yīng)中斷源編程IE寄存器;啟動定時/計數(shù)器編程TCON中的TR1或T
16、R0;1.1.3 單片機的定時器原理 (2 2)應(yīng)用舉例應(yīng)用舉例 實例1:已知單片機的晶振頻率為fosc=12MHz,應(yīng)用定時/計數(shù)器,在單片機引腳P1_3產(chǎn)生周期為2ms的方波信號。 解解 周期為2ms的方波,即高低電平各為1ms,用定時/計數(shù)器定時1ms,每次時間一到讓P1_3取反一次,就可以在該引腳上獲得所要波形。 因為fosc=12MHz,機器周期=12/12MHz=1s,而定時/計數(shù)器在定時模式時就是對fosc的12分頻即機器周期進行計數(shù),因此要定時1ms需要計數(shù)次數(shù)為1000次。 所以初值X=MN=65536-1000;1.1.3 單片機的定時器原理下面分別采用中斷方式和查詢兩種方
17、式編程: a、用定時/計數(shù)器0的方式1編程,采用查詢方式。#include void main(void)TMOD=0 x01; /設(shè)置定時器0,采用方式1TR0=1;/啟動定時器T/C0while(1)TH0=(65536-1000)/256; /裝載計數(shù)初值TL0=(65536-1000)%256;dowhile(!TF0); /查詢等待TF0溢出標(biāo)志P1_3=!P1_3;/P1_3取反TF0=0; /軟件清零TF0 1.1.3 單片機的定時器原理下面分別采用中斷方式和查詢兩種方式編程: b、用定時/計數(shù)器0的方式1編程,采用中斷方式。#include void timer0(void)
18、interrupt 1 sing 1P1_3=!P1_3;/P1_3取反TH0=(65536-1000)/256; /重裝計數(shù)初值TL0=(65536-1000)%256;void main(void)TMOD=0 x01; /設(shè)置定時器0,采用方式1TH0=(65536-1000)/256; /裝載計數(shù)初值TL0=(65536-1000)%256;EA=1;ET0=1;TR0=1;/啟動定時器T/Cdowhile(1); /等待定時器溢出中斷湖南創(chuàng)博龍智信息科技有限公司圖10 2ms仿真截圖 (3)電路仿真波形 以上程序代碼在Protues軟件中仿真得到如下仿真截圖,虛擬示波器上顯示標(biāo)準(zhǔn)的2
19、毫秒方波,發(fā)光二極管以2毫秒的時間間隔亮、滅。1.1.4 軟件延時 1、軟件定時 軟件定時常常是用一個循環(huán)程序,通過正確選擇指令和安排循環(huán)次數(shù)來實現(xiàn)所需要的定時。例2:簡單的循環(huán)定時(軟件延時)函數(shù)功能:延時約150ms*/void delay(void)unsigned char m,n; for(m=0;m200;m+) for(n=0;n250;n+); 湖南創(chuàng)博龍智信息科技有限公司1.1.5 參考程序流程圖圖11 程序流程圖湖南創(chuàng)博龍智信息科技有限公司#include#define uint unsigned int#define uchar unsigned charsbit zuo
20、1=P00;sbit zuo2=P01;sbit you1=P02;sbit you2=P03;void delay(uint x) uchar i;while(x-)for(i=0;i123;i+);1.1.6 程序代碼湖南創(chuàng)博龍智信息科技有限公司void qian()zuo1=0;zuo2=1;/左邊往前you1=0;you2=1;/右邊往前void hou()zuo1=1;zuo2=0;/左邊往后you1=1;you2=0;/右邊往后1.1.6 程序代碼湖南創(chuàng)博龍智信息科技有限公司void zuo()zuo1=1;zuo2=0;/左邊往后you1=0;you2=1;/右邊往前void you()zuo1=0;zuo2=1;/左邊往前you1=1;you2=0;/右邊往后1.1.6 程序代碼湖南創(chuàng)博龍智信息科技有限公司void ting() zuo1=1;zuo2=1;you1=1;you2=1;main() while(1) qian();delay(922*5);hou();delay(922*4);ting();delay(922*3);1.1.6 程序代碼湖南創(chuàng)博龍智信息科技有限公司2.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 21033-2025飼料中免疫球蛋白IgG的測定高效液相色譜法
- 四川省內(nèi)江市隆昌市知行中學(xué)2025-2026學(xué)年度第一學(xué)期第二次月考初中八年級數(shù)學(xué)試題(學(xué)生版+答案版)
- 廣東省汕頭市潮南區(qū)陳店公辦八校2024-2025學(xué)年七年級上學(xué)期12月月考歷史試題(含答案)
- 養(yǎng)老院入住老人休閑娛樂設(shè)施管理制度
- 企業(yè)內(nèi)部保密工作培訓(xùn)制度
- 2026年中考道德與法治一輪復(fù)習(xí):易混易錯122 題含答案
- 粗鎢酸鈉溶液制備工沖突解決模擬考核試卷含答案
- 我國上市公司管理層收購的公司治理效應(yīng)剖析:理論、實證與案例洞察
- 鑿巖工崗前潛力考核試卷含答案
- 我國上市公司投資者關(guān)系管理的多維審視與優(yōu)化路徑
- 安全生產(chǎn)目標(biāo)及考核制度
- (2026版)患者十大安全目標(biāo)(2篇)
- 大數(shù)據(jù)安全技術(shù)與管理
- 2026青島海發(fā)國有資本投資運營集團有限公司招聘計劃筆試備考試題及答案解析
- 2026年北大拉丁語標(biāo)準(zhǔn)考試試題
- 鼻飼技術(shù)操作課件
- 臨床護理操作流程禮儀規(guī)范
- 2025年酒店總經(jīng)理年度工作總結(jié)暨戰(zhàn)略規(guī)劃
- 空氣栓塞課件教學(xué)
- 置景服務(wù)合同范本
- 隧道掛防水板及架設(shè)鋼筋臺車施工方案
評論
0/150
提交評論