




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1)團(tuán)隊(duì)有個(gè)大致分工即團(tuán)隊(duì)成員有個(gè)大致的負(fù)責(zé)側(cè)重點(diǎn),但是要明白與硬件是分不開的,注意彼此相互學(xué)校。2)熟悉控制(今年是S12XS128 系列的)9S12XS128 這類看起來挺復(fù)雜,確實(shí)也挺復(fù)雜,不過用到的模塊卻不多,所以不要擔(dān)心,你完全可以把它當(dāng)成普通的 51 來學(xué),你要用到哪里你就搞明白哪里,一個(gè)模塊一個(gè)模塊的做實(shí)驗(yàn)、調(diào)試。掌握的模塊有:.ECTADCMDCPLLSCI因?yàn)橐鲆粋€(gè)智能車系統(tǒng)注意完成以下幾個(gè)方面:單片機(jī)初始化模塊,實(shí)時(shí)路徑檢測模塊,舵機(jī)控制模塊,驅(qū)動電機(jī)控制模塊,中斷速度采集模塊。(1)單片機(jī)的初始化模塊包括:I/O 模塊、模塊初始化。模塊、AD 模塊、計(jì)時(shí)器模塊、定時(shí)中斷
2、2)實(shí)時(shí)路徑檢測模塊:光電傳感器檢測黑線,將返回信號輸入單片機(jī)的輸入端口,經(jīng)單片機(jī)AD 轉(zhuǎn)換,進(jìn)行分析,得出合適的信號控制舵機(jī)轉(zhuǎn)向。3)舵機(jī)控制模塊,驅(qū)動電機(jī)控制模塊:通過直接輸出信號控制。舵機(jī)的控制采用開環(huán)控制,驅(qū)動電機(jī)采用算法控制。所以讓小車跑起來不難,接下來我下我調(diào)試各模塊一些方法與經(jīng)驗(yàn)IO 口模塊程序示例Void PORTB_Init(void)DDRB=0 xff;/PB 口作輸出使用,1 為輸出,0 為輸入PORTB=0 x00;/PB 口數(shù)據(jù)寄存器值注意:IO 口要注意以下幾點(diǎn):(1)每個(gè) IO 口的數(shù)據(jù)寄存器名可能不同(2)AN 口只能作輸入用(3)J(高兩位,低兩位),PP
3、可用輸入中斷功能使用(4)IO 口作輸入與輸出時(shí)有不同的寄存器對應(yīng)(5)IO 口作復(fù)用時(shí)不能作 IO 口用,相反也IO 口可用作:調(diào)試接口(接數(shù)碼管、液晶、撥碼開關(guān)等等)所以必須掌握使用撥碼開關(guān)要注意這樣用;DDRB=0XFF;/輸出PORTB=0XFF;DDRB=0X00;/輸入AD 模塊程序示例Void ATD_Init(void)ATD0CTL1 = 0 x00;/8 位精度,不放電ATD0CTL2 = 0 x42;/快速清除標(biāo)志位,外部觸發(fā),使能中斷ATD0CTL3=0 x8a;/右對齊,每序列 4 次轉(zhuǎn)換,不用 FIFO,進(jìn)入 FreezeMode 完成當(dāng)前轉(zhuǎn)換ATD0CTL4 =
4、0 x03;/采樣用 4 個(gè) ATD 周期,F(xiàn)(ATD)=1MHzbus clock 為 8MHzATD0CTL5 = 0 x29;/SCAN 模式,單通道,通道 9ATD0DIEN = 0 x00;/數(shù)據(jù)輸入Void main(void)ATD_Init();#pragma CODE_SEG NON_BEDvoiderrupt 22_AD0(void) Disableerrupts;AD_wData = ATD0DR0L; /讀 ATD 轉(zhuǎn)換的寄存器值(低八位)ATD0S0_SCF=0;/(當(dāng)AFFC 為 1 時(shí),寫 0 清零;為 1 時(shí)寫 1 清零)Enableerrupts;注意:ATD
5、 模塊要著重注意:(1)標(biāo)志位清零(比較復(fù)雜)(2)多通道轉(zhuǎn)換后的(3)精度的選擇和轉(zhuǎn)換速度(4)單個(gè)通道與多通道轉(zhuǎn)換的區(qū)別順序定時(shí)器模塊程序示例Void Timer_Init(void)TSCR1=0X90;/使能定時(shí)器并設(shè)置為自動清除標(biāo)志T1TSCR2=0X03;/設(shè)置分頻系數(shù)為 8,及 23TIE=0X01;/定時(shí)器通道 0 中斷使能TIOS_IOS0=1;/PT0 口為輸出比較T;/設(shè)定初值 /定的時(shí)間就是從 0 加到 1677 要的時(shí)間Enableerrupts;Void main(void)Timer_Init();.#pragma CODE_SEGNON_BEDvoiderrup
6、t 8 Timer(void) Disableerrupts;T;/設(shè)定比較器下次中斷時(shí)間TSCR1=0 x00;/關(guān)定時(shí)器(一般情況定沒必要用這個(gè))Enableerrupts;注意:定時(shí)器模塊要關(guān)重注意以下幾點(diǎn):(1)初值的設(shè)定,每次中斷都要置初值(2)標(biāo)志位的清零方式(3)PT 口作為輸入捕捉時(shí)的設(shè)置區(qū)別脈沖累加模塊示例Void PT7_Init(void)PACTL=0X40;/脈沖累加系統(tǒng)使能,下降沒觸發(fā),使用預(yù)分頻因子定義的時(shí)鐘T=0X0000;/設(shè)定脈沖累加計(jì)數(shù)寄存器初值注意:脈沖累加模塊注意以下幾點(diǎn):(1)PACTL 中的各位配合使用表,可以在自備次料上查脈寬調(diào)制模塊示例Void
7、_Init(void)E=0X02;/使能1 口,及 PP1 口CTL=0X10;/級連PP0 和 PP1PRCLK=0X07;/預(yù)分頻A 系數(shù)為 128CLK_PCLK1=0;/級連通道 01 選擇時(shí)鐘APOL=0X02;/級連通道 01 極性們?yōu)橄容敵鯟AE=0X00;/級連通道 01 為左邊對齊輸出DTY01=1000;/占空比寄存器值PER01=1500;/周期寄存器值注意:聯(lián)合應(yīng)用模塊要注意以下幾點(diǎn):(1)級聯(lián)時(shí)寄存器名稱區(qū)別(2)預(yù)分頻與分頻的串行口SCI 程序示例Void SCI_Init(void)SCI0BDL=(byte)(8000000/9600/16);/設(shè)置總線為 8
8、M 時(shí) SCI 波特率為 9600HzSCI0CR1=0 x00;/數(shù)據(jù)格式為 8 位(沒有奇偶校驗(yàn)位)SCI0CR2=0 x2c;/接收中斷使能,發(fā)送使能,使能Void main(void)SCI_Init();#pragma CODE_SEG NON_BEDerrupt 20 void SCI_RX_IRS(void)byte RxData,RX;Disableerrupts;RX=SCI0SR1;/讀狀態(tài)寄存器,為清零作準(zhǔn)備RxData=(byte)SCI0DRL; /讀接收寄存器的值Enableerrupts;注意:串行口 SCI 要注意以下幾點(diǎn):(1)波特率的設(shè)置注意總線頻率是否有變
9、(2)SCI 數(shù)據(jù)格式(2)接收中斷標(biāo)志清零是先讀狀態(tài)寄存器再讀數(shù)據(jù)寄存器(4)發(fā)送時(shí)不能用中斷,只能輪詢標(biāo)志位(易錯(cuò))!瑣相環(huán)模塊程序示例Void SetBusCLK_32M(void)CLKSEL=0 x00;/不使用鎖相環(huán)PLLCTL_PLLON=1;/鎖相環(huán)電路允許SYNR=0 xc0|0 x03;/SYNDIV=3REFDV=0 xc0|0 x01;/REFDIV=1TDIV=0 x00;/分頻系數(shù)為 20=1_asm(nop);/等待鎖相環(huán)穩(wěn)定_asm(nop);_asm(nop);_asm(nop);_asm(nop);_asm(nop);_asm(nop);while(!(CR
10、G_LOCK=1);CLKSEL_PLLSEL=1;/使用鎖相環(huán)(只能寫最后)注意:鎖相環(huán)要注意以下幾點(diǎn)(1)鎖相環(huán)使用后改變了總線頻率,所以相它與總線頻率相關(guān)的各模塊寄存器也要相應(yīng)改變,以免出現(xiàn)低級錯(cuò)誤(易錯(cuò))?。?)鎖相環(huán)設(shè)置順序(3)超率出范圍(4)公式中的FOSC 為晶振頻率而非時(shí)鐘頻率,別搞錯(cuò)了!SPI 通信模塊程序示例void SPI_Init(void)/SPI 初始化SPI0CR1=0 xde;/SPI 中斷使能,SPI 系統(tǒng)使能,SPI 為主機(jī)模式,SPI 時(shí)鐘極性為低時(shí)鐘有效,SPI 傳送期間從機(jī)SS 腳可保持低電平SPI0CR2=0 x12;樣/模式錯(cuò)誤使能,等待模式下停
11、止SPI 時(shí)鐘SPI0BR=0 x07;/分頻系數(shù)為 256SPI0SR_SPIF=0;/接收中斷標(biāo)志初始化為 0void Send_Data(unsigned char data)/SPI 發(fā)送數(shù)據(jù)while(!SPI0SR_SPTEF);/等待發(fā)送寄存器為空SPI0DRL=data;while(!(SPI0SR_SPIF);/等待接收標(biāo)志置 1,接收到的是返回值aa=SPI0DRL;unsigned char Read_Data()/SPI 讀數(shù)據(jù)unsigned char data;while(!SPI0SR_SPTEF);/等待發(fā)送寄存器空(因?yàn)镾PI 中收、發(fā)都用一個(gè)寄存器)SPI0
12、DRL=0 xff;while(!SPI0SR_SPIF);/等待接收標(biāo)志置位data=SPI0DRL;/讀出數(shù)據(jù)return data;/返回?cái)?shù)據(jù)注意:SPI 要注意以下幾點(diǎn):(1)HCS12 中SPI 數(shù)據(jù)寄存器雖然有十六位,但有用的只有八位(用到的)PC9S12XS128MAL 中斷向量表#define VectorNumber_Vporth 25PORTH 中斷號#define VectorNumber_Vportj 24PORTJ 中斷號#define VectorNumber_Vatd0 22A/D 轉(zhuǎn)換中斷號#define VectorNumber_Vsci1 21串行口 1 中
13、斷號#define VectorNumber_Vsci0 20串行口 0 中斷號#define VectorNumber_Vtimch0 8定時(shí)器中斷書籍與:大學(xué)生電子設(shè)計(jì):智能車制作:ht/index.電子設(shè)計(jì)吧:ht/index.html書籍:學(xué)做智能車等網(wǎng)上有的算法:算法:一般步驟:1負(fù)反饋?zhàn)詣涌刂评碚撘脖环Q為負(fù)反饋控制理論。首先檢查系統(tǒng)接線,確定系統(tǒng)的反饋為負(fù)反饋。例如電機(jī)調(diào)速系統(tǒng),輸入信號為正,要求電機(jī)正轉(zhuǎn)時(shí),反饋信號也為正(輸入-反饋),同時(shí)電機(jī)轉(zhuǎn)速越高,反饋信號越大。其余系統(tǒng)同此方法。算法時(shí),誤差=2調(diào)試一般原則 a.在輸出不振蕩時(shí),增大比例增益 P。 b.在輸出不振蕩時(shí),減小積
14、分時(shí)間常數(shù)Ti。 c.在輸出不振蕩時(shí),增大微分時(shí)間常數(shù) Td。3一般步驟 a.確定比例增益 P 確定比例增益 P 時(shí),首先去掉的積分項(xiàng)和微分項(xiàng),一般是令 Ti=0、Td=0(具體見的參數(shù)設(shè)定說明),使為純比例調(diào)節(jié)。輸入設(shè)定為系統(tǒng)允許的最大值的 60%70%,由 0 逐漸加大比例增益P,直至系統(tǒng)出現(xiàn)振蕩;再反過來,從此時(shí)的比例增益 P 逐漸減小,直至系統(tǒng)振蕩,此時(shí)的比例增益 P,設(shè)定的比例增益 P 為當(dāng)前值的 60%70%。比例增益 P 調(diào)試完成。 b.確定積分時(shí)間常數(shù)Ti 比例增益P 確定后,設(shè)定一個(gè)較大的積分時(shí)間常數(shù) Ti 的初值,然后逐漸減小 Ti,直至系統(tǒng)出現(xiàn)振蕩,之后在反過來,逐漸加大 Ti,直至系統(tǒng)振蕩。此時(shí)的 Ti,設(shè)定的積分時(shí)間常數(shù) Ti 為當(dāng)前值的 150%180%。積分時(shí)間常數(shù)Ti 調(diào)試完成。 c.確定積分時(shí)間常數(shù)Td 積分時(shí)間常數(shù) Td 一般不用設(shè)定,為 0 即可。若要設(shè)定,與確定 P 和Ti 的方法相同,取不振蕩時(shí)的 30%。 d.系統(tǒng)空載、帶載聯(lián)調(diào),再
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZZB 3633-2024 原液著色滌綸牽伸絲
- T-ZSM 0074-2024 餐飲業(yè)油煙排放在線監(jiān)測儀
- 二零二五年度旅游行業(yè)客服業(yè)務(wù)員雇傭服務(wù)協(xié)議
- 二零二五年度總經(jīng)理社會責(zé)任與公益慈善聘用協(xié)議
- 2025年度模特時(shí)尚活動贊助商權(quán)益合作協(xié)議
- 二零二五年度荒山承包轉(zhuǎn)讓及林業(yè)資源開發(fā)利用合同
- 二零二五年度學(xué)校事業(yè)單位校車司機(jī)勞動合同
- 二零二五年度私人土地買賣合同案:森林資源開發(fā)合作合同樣本
- 二零二五年度學(xué)生校園交通安全管理協(xié)議范本匯編
- 二零二五年度合作社職業(yè)經(jīng)理人鄉(xiāng)村振興聘用協(xié)議
- 棗莊學(xué)院《電力拖動與自動控制系統(tǒng)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫
- 綠化遷移專項(xiàng)施工方案
- 2025屆高三化學(xué)一輪復(fù)習(xí) 原電池 化學(xué)電源(第一課時(shí))課件
- 全院護(hù)理查房(食管裂孔疝)
- 2024-2025學(xué)年統(tǒng)編版語文九年級下冊第7課《溜索》任務(wù)驅(qū)動型教學(xué)設(shè)計(jì)
- 2023-2024學(xué)年五年級科學(xué)下冊(冀人版)第4課露和霜(教學(xué)設(shè)計(jì))
- 《管理學(xué)》第一章-管理導(dǎo)論
- 2024年國考公務(wù)員行測真題及參考答案
- 二手車交易定金合同范本5篇
- NB∕T 10391-2020 水工隧洞設(shè)計(jì)規(guī)范
評論
0/150
提交評論