




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)一 直流、步進(jìn)電機(jī)綜合控制系統(tǒng)設(shè)計一、 實(shí)驗(yàn)?zāi)康?. 初步熟悉實(shí)驗(yàn)GPIO口的初始化設(shè)置,并熟悉實(shí)驗(yàn)箱各個模塊的功能2. 掌握步進(jìn)機(jī)的控制原理及利用延時脈沖來改變步進(jìn)電機(jī)速度3. 掌握直流電機(jī)的控制原理及利用pwm占空比控制來改變速度4. 學(xué)習(xí)IIC總線讀取和寫數(shù)據(jù)原理,并掌握對CAT1025 E2PROOM操作方法5. 學(xué)會控制數(shù)碼管的顯示UART串口函數(shù),并初步掌握中斷處理函數(shù)的寫法二、 實(shí)驗(yàn)要求以MagicARM2410為實(shí)驗(yàn)平臺,設(shè)計一個通過串口通信交互控制的綜合型控制系統(tǒng)。具體來說,可在啟動時,自動列出一些選項(xiàng),通過鍵盤選擇某個選項(xiàng)而實(shí)現(xiàn)其功能;考慮到實(shí)時性,再按某個控制鍵能立刻
2、停止當(dāng)前功能而回到初始的待選狀態(tài)。具體功能要求如下:1. 實(shí)現(xiàn)四個LED燈按照十六進(jìn)制的規(guī)則依次亮滅;2. 在超級終端上輸入兩個兩位數(shù),實(shí)現(xiàn)兩位數(shù)的加減乘除并顯示運(yùn)算結(jié)果;3. 顯示當(dāng)前的年月日、星期、時分秒;4. 實(shí)現(xiàn)步進(jìn)電機(jī)的調(diào)速和正反轉(zhuǎn);可用旋轉(zhuǎn)按鈕W1或按鍵控制調(diào)速,在超級終端和數(shù)碼管上同步顯示其正反轉(zhuǎn)和轉(zhuǎn)速信息;三、 實(shí)驗(yàn)基本原理1. S3C 2410A具有117個通用I/O口,分為AH等8個端口,由于每個I/O口都有第2功能,甚至第3功能,所以需要通過設(shè)置GPxCON寄存器來選擇GPx口I/O口功能,其中x可以為A、B、C、D、E、F、G表示相應(yīng)的I/O端口。當(dāng)I/O口設(shè)置為GPI
3、O輸出模式(Output模式)時,可以通過寫GPxDAT控制相應(yīng)I/O口輸出高電平或低電平,GPxDAT為1的位對應(yīng)I/O輸出高電平,為0的位對應(yīng)輸出低電平。2. 工程模板中包含有串口軟件包UART.C,用戶可以調(diào)用相應(yīng)的接口函數(shù)】進(jìn)行串口數(shù)據(jù)發(fā)送和接收,串口的波特率需要在config.h文件中進(jìn)行設(shè)置,本實(shí)驗(yàn)使用默認(rèn)的115200波特率。對串口進(jìn)行初始化時,首先要設(shè)置相應(yīng)I/O口為TXD0,TRD0功能引腳,然后通過ULCON0來設(shè)置通訊波特率。3. S3C2410A具有實(shí)時時鐘(RTC)功能,能夠提供時、分、秒,年、月、日的計時功能,還具有定時報警功能。RTC單元采用獨(dú)立的后備電池供電,獨(dú)
4、立是時鐘源(采用32.768KHz晶振),即使系統(tǒng)關(guān)閉電源,RTC還可以正常工作。要初始化RTC的時間值,首先要給RTCON寄存器寫為0x01,使能RTC接口(即允許寫RTC操作),然后對年寄存器BCDYEAR、月寄存器BCDMON、日寄存器BCDDATE、時寄存器BCDHOUR、分寄存器BCDMIN、秒寄存器BCDSEC、星期寄存器BCDDAY進(jìn)行初始化,時間值為BCD格式。初始化完成,將RTCCON寄存器寫為0x00,禁能RTC接口(即禁止寫RTC操作),接下來就可以直接讀取RTC時間寄存器的值來使用了。4. 步進(jìn)電機(jī)是一種將電脈轉(zhuǎn)化為角位移的數(shù)據(jù)控制電機(jī),即給它一個脈沖信號,它就按設(shè)定的
5、方向轉(zhuǎn)動一個固定的角度。用戶可以通過設(shè)置脈沖的個數(shù)來控制角位移量,從而實(shí)現(xiàn)準(zhǔn)確的定位操作;另外,通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動速度和加速度,從而實(shí)現(xiàn)調(diào)速的目的。當(dāng)然,對于步進(jìn)電機(jī)各組繞組(即內(nèi)部線圈)的控制脈沖要有一定的順序,否則電機(jī)無法正常旋轉(zhuǎn)。MagicARM2410試驗(yàn)箱上的步進(jìn)電機(jī)為四項(xiàng)步進(jìn)電機(jī),電機(jī)驅(qū)動為18°。S3C2410A的GPIO驅(qū)動能力有限,必須通過ULCN2003達(dá)林頓集成驅(qū)動芯片驅(qū)動步進(jìn)電機(jī),在步進(jìn)電機(jī)和驅(qū)動電路之間連接了電阻,防止控制紊亂造成電機(jī)的損壞。四、 主要儀器設(shè)備及耗材 硬件:PC機(jī)一臺, MagicARM2410教學(xué)實(shí)驗(yàn)開發(fā)平臺 一套 軟件:Win
6、dows98/XP/2000系統(tǒng),ADS 1.2集成開發(fā)環(huán)境,超級終端程序,JTAG仿真器五、 實(shí)驗(yàn)步驟1. 安裝Wiggler JTAG仿真器并打開;2. 運(yùn)行超級終端,新建一個連接;3. 啟動ADS 1.2,建立工程,在src組中的main.c中編寫主程序代碼;4. 選用DebugRel生成目標(biāo),編譯鏈接工程,選擇【Debug】,進(jìn)行JTAG仿真;5. 按照超級終端上的提示信息操作;6. 根據(jù)實(shí)驗(yàn)箱及超級終端上的反饋結(jié)果調(diào)試程序。7. 主要參考程序如下int main(void)uint8 g_getch ;int i = 0;UART_Select(0); /選擇UART0UART_In
7、it(); /UART0初始化LED_init(); /LED相關(guān)初始化EINT_init(); /外部中斷初始化while(1)fun_test();switch(g_getch = UART_GetKey()case '1':UART_SendByte(g_getch);UART_SendStr("n");for(i = 0; i < 16 ; i+)LED_DispNum(i); /以二進(jìn)制形式顯示十六進(jìn)制DelayNS(5);if(i = 15)i =0; if(UART_GetFlag() = 0x1B) /檢測是否按下'Esc
8、9;鍵break;UART_SendStr("nTest LED_DispNum test is Over!n");break;case '2':UART_SendByte(g_getch);UART_SendStr("n"); Addsubmuldiv(); /加減乘除測試模塊 UART_SendStr("nTest Addsubmuldiv_Test is Over!n");break;case '3':UART_SendByte(g_getch);UART_SendStr("n"
9、;); DateWeekTime_Test();UART_SendStr("nTest DateWeekTime_Test is Over!n"); break;case '4':UART_SendByte(g_getch);UART_SendStr("n");StepMOTO_Test();UART_SendStr("nTest StepMOTO_Test is Over!n");break;default: break;六、 實(shí)驗(yàn)數(shù)據(jù)及處理結(jié)果1、 選擇Debug進(jìn)行JTAG仿真后進(jìn)入選擇操作情況界面選擇1,可看到
10、實(shí)驗(yàn)箱上4個LED燈按16進(jìn)制數(shù)閃亮,最左邊的燈為最低位,最右邊的燈為最高位。按esc鍵返回。2、 輸入2,可觀察到能實(shí)現(xiàn)兩位數(shù)的加減乘除,按esc鍵返回。其超級終端顯示如下圖:加法減法,結(jié)果為正值減法,結(jié)果為負(fù)值除法乘法3、 輸入3,按提示信息,按任意鍵輸出當(dāng)前時間,超級終端顯示如下圖:4、 輸入4,觀察步進(jìn)電機(jī)的轉(zhuǎn)動情況,可通過旋轉(zhuǎn)W1調(diào)節(jié)電機(jī)的正反轉(zhuǎn)方向和轉(zhuǎn)速情況。按esc鍵返回。超級終端顯示如下圖:轉(zhuǎn)速可調(diào)七、 實(shí)驗(yàn)心結(jié) 由于這是第一次自己設(shè)計程序做實(shí)驗(yàn),剛開始總不知道如何下手。之后,我們冷靜分析,先用基礎(chǔ)實(shí)驗(yàn)中的簡單實(shí)驗(yàn)實(shí)現(xiàn)了超級終端的正確顯示。之后,又用基礎(chǔ)實(shí)驗(yàn)中相關(guān)的程序,先實(shí)現(xiàn)
11、了16進(jìn)制的顯示。加減乘除就按照C語言編寫,然后步進(jìn)機(jī)通過延遲控制轉(zhuǎn)速。其實(shí),最難的是把上面實(shí)現(xiàn)的各個功能輸入到超級終端,通過超級終端顯示。我們通過向其他同學(xué)請教,并且自己上網(wǎng)查到了相關(guān)的實(shí)現(xiàn)程序,之后經(jīng)過多次修改最終得出正確顯示。 通過這第一個自己設(shè)計的實(shí)驗(yàn),學(xué)到了程序的編寫,跟MagicARM2410實(shí)驗(yàn)箱硬件的實(shí)現(xiàn),受益匪淺,為以后的實(shí)驗(yàn)打下了基礎(chǔ)。八、參考資料S3C2410實(shí)驗(yàn)實(shí)驗(yàn)手冊嵌入式系統(tǒng)開發(fā)與實(shí)驗(yàn)教程附錄:#include "config.h"#include "main.h"/功能測試選擇數(shù)組char select_test50 =&q
12、uot;nn Please input 14 to select test:n","1 LED_DispNumen","2 Addsubmuldiv_Testn","3 Dateweektime_Displayn","4 StepMOTO_Testn","Please input a num you want to test:",;void DelayNS(uint32 dly) uint32 i;for(; dly>0; dly-) for(i=0; i<50000; i
13、+);/ 串口接收字符臨時變量void fun_test(void)int i = 0;for(i = 0; i < 14; i+)UART_SendStr(select_testi);int main(void)uint8 g_getch ;int i = 0;UART_Select(0); /選擇UART0UART_Init(); /UART0初始化LED_init(); /LED相關(guān)初始化EINT_init(); /外部中斷初始化while(1)fun_test();switch(g_getch = UART_GetKey()case '1':UART_SendBy
14、te(g_getch);UART_SendStr("n");for(i = 0; i < 16 ; i+)LED_DispNum(i); /以二進(jìn)制形式顯示十六進(jìn)制DelayNS(5);if(i = 15)i =0; if(UART_GetFlag() = 0x1B) /檢測是否按下'Esc'鍵break;UART_SendStr("nTest LED_DispNum test is Over!n");break;case '2':UART_SendByte(g_getch);UART_SendStr("n"); Addsubmuldiv(); /加減乘除測試模塊 UART_SendStr("nTest Addsubmuldiv_Test is Over!n");break;case '3':UART_SendByte(g_getch);UART_SendStr("n"); DateWeekTime_Test();UART_S
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 花茶創(chuàng)意美術(shù)課件
- 部門經(jīng)理培訓(xùn)
- 電梯房樓頂施工方案
- 新疆交通職業(yè)技術(shù)學(xué)院《光電成像系統(tǒng)設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東商業(yè)職業(yè)技術(shù)學(xué)院《油畫半身像》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧體育運(yùn)動職業(yè)技術(shù)學(xué)院《小型商住空間設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西應(yīng)用技術(shù)職業(yè)學(xué)院《工程管理與預(yù)算》2023-2024學(xué)年第二學(xué)期期末試卷
- 許昌陶瓷職業(yè)學(xué)院《商務(wù)英語閱讀III》2023-2024學(xué)年第一學(xué)期期末試卷
- 山東藥品食品職業(yè)學(xué)院《金融監(jiān)管學(xué)(雙語)》2023-2024學(xué)年第二學(xué)期期末試卷
- 皖西學(xué)院《微視頻制作》2023-2024學(xué)年第一學(xué)期期末試卷
- 房屋征拆合同協(xié)議
- 湖北省武漢市2025屆高中畢業(yè)生四月調(diào)研考試數(shù)學(xué)試卷及答案(武漢四調(diào))
- Unit 1 Growing up (Period 1)(教學(xué)設(shè)計)-2024-2025學(xué)年滬教牛津版(深圳用)英語六年級上冊
- 2025-2030中國實(shí)驗(yàn)動物行業(yè)市場深度調(diào)研及市場前瞻與投資戰(zhàn)略研究報告
- 湖南湘潭高新集團(tuán)有限公司招聘考試真題2024
- 2025春季學(xué)期國開電大本科《政府經(jīng)濟(jì)學(xué)》一平臺在線形考(形考任務(wù)1至4)試題及答案
- 2025年蘭州糧油集團(tuán)有限公司招聘筆試參考題庫含答案解析
- GB 21258-2024燃煤發(fā)電機(jī)組單位產(chǎn)品能源消耗限額
- DB34∕T 4010-2021 水利工程外觀質(zhì)量評定規(guī)程
- 2024年湖南省長沙市中考地理試卷真題(含答案解析)
- 鄭州工業(yè)應(yīng)用技術(shù)學(xué)院單招《職測》參考試題庫(含答案)
評論
0/150
提交評論