版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 .PAGE32 / NUMPAGES36 .摘 要現(xiàn)代汽車中,中控門鎖越來(lái)越普與,給駕駛員帶來(lái)很大的方便。所謂中控鎖全稱是“中央控制車門鎖”,其作用是駕駛員控制駕駛側(cè)車門鎖開(kāi)關(guān)的同時(shí),全車的車門鎖受中控鎖控制,與駕駛側(cè)車門鎖同時(shí)開(kāi)啟和上鎖。僅駕駛座一側(cè)的門鎖開(kāi)關(guān)有中控鎖的功能,其它的門鎖在開(kāi)啟和鎖上的時(shí)候,不會(huì)影響的別的車門鎖。ARM處理器體積小,低功耗,成本低,性能高,能很好兼容8位,16位器件。大量使用寄存器,指令執(zhí)行速度更快,大多數(shù)數(shù)據(jù)操作都在寄存器中完成。尋址方式靈活簡(jiǎn)單,執(zhí)行效率高并且指令長(zhǎng)度固定。是今后主流的處理器。本設(shè)計(jì)是利用ARM架構(gòu)的LPC2103作為主控芯片以與數(shù)碼管來(lái)模
2、擬汽車中控門直流電機(jī)控制系統(tǒng)關(guān)鍵詞:中控鎖 直流電機(jī) ARM處理器 數(shù)碼管 uC/OS II操作系統(tǒng)目錄TOC o 1-3 h u HYPERLINK l _Toc3009 1.緒論 PAGEREF _Toc3009 1 HYPERLINK l _Toc9048 1.1課題名稱 PAGEREF _Toc9048 1 HYPERLINK l _Toc24014 1.2課題研究意義 PAGEREF _Toc24014 1 HYPERLINK l _Toc8814 1.3uC/OS II操作系統(tǒng)簡(jiǎn)介 PAGEREF _Toc8814 1 HYPERLINK l _Toc20857 2 .中控門鎖的工
3、作原理 PAGEREF _Toc20857 2 HYPERLINK l _Toc710 3 .ARM與主控芯片LPC2103的簡(jiǎn)介 PAGEREF _Toc710 3 HYPERLINK l _Toc21510 3.1 LPC2103特性 PAGEREF _Toc21510 3 HYPERLINK l _Toc3967 3.2 ARM管腳信息 PAGEREF _Toc3967 4 HYPERLINK l _Toc29530 3.3定時(shí)器1 PAGEREF _Toc29530 5 HYPERLINK l _Toc22819 3.3.1匹配輸出 PAGEREF _Toc22819 5 HYPERL
4、INK l _Toc14121 3.3.2PWM輸出 PAGEREF _Toc14121 7 HYPERLINK l _Toc25762 4.系統(tǒng)的硬件與軟件設(shè)技 PAGEREF _Toc25762 9 HYPERLINK l _Toc25735 4.1.器件表的生成 PAGEREF _Toc25735 9 HYPERLINK l _Toc28444 4.2按鍵電路設(shè)計(jì) PAGEREF _Toc28444 9 HYPERLINK l _Toc1796 4.3指示LED電路的設(shè)計(jì) PAGEREF _Toc1796 9 HYPERLINK l _Toc21765 4.4數(shù)碼管電路的設(shè)計(jì) PAGER
5、EF _Toc21765 10 HYPERLINK l _Toc13253 4.5軟件的概述 PAGEREF _Toc13253 10 HYPERLINK l _Toc24428 4.6電機(jī)數(shù)碼管與LED模塊 PAGEREF _Toc24428 11 HYPERLINK l _Toc24113 4.7按鍵輸入模塊 PAGEREF _Toc24113 11 HYPERLINK l _Toc4200 4.8控制模塊 PAGEREF _Toc4200 11 HYPERLINK l _Toc4901 4.9顯示模塊 PAGEREF _Toc4901 12 HYPERLINK l _Toc4085 4.
6、10定時(shí)模塊 PAGEREF _Toc4085 12 HYPERLINK l _Toc22237 4.11主函數(shù) PAGEREF _Toc22237 12 HYPERLINK l _Toc9424 5.硬件電路的焊接與調(diào)試 PAGEREF _Toc9424 13 HYPERLINK l _Toc740 5.1軟件的焊接 PAGEREF _Toc740 13 HYPERLINK l _Toc16655 5.2軟件的調(diào)試 PAGEREF _Toc16655 14 HYPERLINK l _Toc11469 6.未來(lái)拓展 PAGEREF _Toc11469 16 HYPERLINK l _Toc10
7、368 6.1利用電機(jī)正反轉(zhuǎn)控制電路 PAGEREF _Toc10368 16 HYPERLINK l _Toc10016 總結(jié) PAGEREF _Toc10016 17 HYPERLINK l _Toc16547 致 PAGEREF _Toc16547 18 HYPERLINK l _Toc16421 參考文獻(xiàn) PAGEREF _Toc16421 19 HYPERLINK l _Toc29546 附錄 PAGEREF _Toc29546 201.緒論1.1課題名稱帶操作系統(tǒng)的汽車中控門直流電機(jī)控制設(shè)計(jì)在這個(gè)項(xiàng)目中,我的主要任務(wù)是完成直流電機(jī)對(duì)中控鎖的控制設(shè)計(jì),設(shè)計(jì)一個(gè)模擬汽車中控門直流電機(jī)控
8、制系統(tǒng)設(shè)計(jì)的電路圖和使用器件表,包括1個(gè)汽車中控門直流電機(jī)1個(gè)數(shù)碼管,完成模擬汽車中控門直流電機(jī)控制設(shè)計(jì)。1.2課題研究意義中控門鎖控制裝置,早在上世紀(jì)70年代已經(jīng)裝配在轎車上,經(jīng)過(guò)二十余年時(shí)間,已經(jīng)應(yīng)用得比較普遍了,且功能也越來(lái)越強(qiáng)大。但是“中控門鎖”控制裝置在國(guó)商用車上的應(yīng)用卻發(fā)展較慢,直到上世紀(jì)90年代末才有少量幾款商用車開(kāi)始裝配中控門鎖系統(tǒng)。隨著國(guó)汽車行業(yè)的飛速發(fā)展,如今中控門鎖系統(tǒng)也在商用車上得到了廣泛的應(yīng)用和發(fā)展?,F(xiàn)代汽車多數(shù)都選擇安裝了中控門鎖,他可以使駕駛員更加方便,安全的使用汽車。1.3uC/OS II操作系統(tǒng)簡(jiǎn)介uC/OS II(Micro Control Operatio
9、n System Two)是一個(gè)可以基于ROM運(yùn)行的、可裁減的、搶占式、實(shí)時(shí)多任務(wù)核,具有高度可移植性,特別適合于微處理器和控制器,適合很多商業(yè)操作系統(tǒng)性能相當(dāng)?shù)膶?shí)時(shí)操作系統(tǒng)(RTOS)。為了提供最好的移植性能,uC/OS II最大程度上使用ANSI C語(yǔ)言進(jìn)行開(kāi)發(fā),并且已經(jīng)移植到近40多種處理器體系上,涵蓋了從8位到64位各種CPU(包括DSP)。 uC/OSII可以簡(jiǎn)單的視為一個(gè)多任務(wù)調(diào)度器,在這個(gè)任務(wù)調(diào)度器之上完善并添加了和多任務(wù)操作系統(tǒng)相關(guān)的系統(tǒng)服務(wù),如信號(hào)量、等。其主要特點(diǎn)有公開(kāi)源代碼,代碼結(jié)構(gòu)清晰、明了,注釋詳盡,組織有條理,可移植性好,可裁剪,可固化。核屬于搶占式,最多可以管理6
10、0個(gè)任務(wù)。從1992年開(kāi)始,由于高度可靠性、移植性和安全性,uC/OS II已經(jīng)廣泛使用在從照相機(jī)到航空電子產(chǎn)品的各種應(yīng)用中。2 .中控門鎖的工作原理(1)當(dāng)數(shù)碼管顯示數(shù)字1是直流電機(jī)電機(jī)開(kāi)始反轉(zhuǎn),意味著門鎖自動(dòng)打開(kāi)。(2)當(dāng)數(shù)碼管顯示數(shù)字6時(shí)電機(jī)直流電機(jī)停止轉(zhuǎn)動(dòng),意味著門鎖自動(dòng)落鎖。2-1接線原理圖3 .ARM與主控芯片LPC2103的簡(jiǎn)介ARM公司自1990年正式成立以來(lái), 在32位RISC (Reduced Instruction Set Computer CPU)開(kāi)發(fā)領(lǐng)域不斷取得突破,其結(jié)構(gòu)已經(jīng)從V3發(fā)展到V7。由于ARM公司自成立以來(lái),一直以IP(Intelligence Prope
11、rty)提供者的身份向各大半導(dǎo)體制造商出售知識(shí)產(chǎn)權(quán),而自己從不介入芯片的生產(chǎn)銷售,加上其設(shè)計(jì)的芯核具有功耗低、成本低等顯著優(yōu)點(diǎn),因此獲得眾多的半導(dǎo)體廠家和整機(jī)廠商的大力支持,在32位嵌入式應(yīng)用領(lǐng)域獲得了巨大的成功,已經(jīng)占有75%以上的32位RISC嵌入式產(chǎn)品市場(chǎng)。在低功耗、低成本的嵌入式應(yīng)用領(lǐng)域確立了市場(chǎng)領(lǐng)導(dǎo)地位。設(shè)計(jì)、生產(chǎn)ARM芯片的國(guó)際大公司已經(jīng)超過(guò)50多家,國(guó)中興通訊和華為通訊等公司也已經(jīng)購(gòu)買ARM公司的芯核用于通訊專用芯片的設(shè)計(jì)。LPC2103是一個(gè)基于支持實(shí)時(shí)仿真的16/32位ARM7 TDMI-S CPU的微控制器,并帶有32kB的嵌入高速Flash存儲(chǔ)器,128位寬度的存儲(chǔ)器接口
12、和獨(dú)特的加速結(jié)構(gòu)使32位代碼能夠在最大時(shí)鐘速率下運(yùn)行。 較小的封裝和極低的功耗使LPC2103適用于訪問(wèn)控制器和POS機(jī)等小型應(yīng)用系統(tǒng)中;由于置了寬圍的串行通信接口(2個(gè)UART、SPI、SSP和2個(gè)I2C)和8KB的片SRAM,LPC2103也適合用在通信網(wǎng)關(guān)和協(xié)議轉(zhuǎn)換器中。32/16位定時(shí)器、增強(qiáng)型10位ADC、定時(shí)器輸出匹配PWM特性、多達(dá)13個(gè)邊沿、電平觸發(fā)的外部中斷、32條高速GPIO,使得LPC2103微控制器特別適用于工業(yè)控制和醫(yī)療系統(tǒng)中。 3.1 LPC2103特性(1)16/32位ARM7 TDMI-S微控制器,超小LQFP48封裝; (2)8KB的片靜態(tài)RAM和32KB的片
13、Flash程序存儲(chǔ)器。128位寬度接口/加速器可實(shí)現(xiàn)高達(dá)70 MHz工作頻率; (3)通過(guò)片boot裝載程序?qū)崿F(xiàn)在系統(tǒng)/在應(yīng)用編程(ISP/IAP)。單個(gè)Flash扇區(qū)或整片擦除時(shí)間為100ms,256字節(jié)編程時(shí)間為1ms; (4)嵌入式ICE RT通過(guò)片RealMonitor軟件提供實(shí)時(shí)調(diào)試; (5)10位A/D轉(zhuǎn)換器提供8路模擬輸入(每個(gè)通道的轉(zhuǎn)換時(shí)間低至2.44us),以與特定的結(jié)果寄存器來(lái)最大限度地減少中斷開(kāi)銷; (6)2個(gè)32位定時(shí)器/外部事件計(jì)數(shù)器(帶7路捕獲和7路比較通道); (7)2個(gè)16位定時(shí)器/外部事件計(jì)數(shù)器(帶3路捕獲和7路比較通道); (8)低功耗實(shí)時(shí)時(shí)鐘(RTC)具有
14、獨(dú)立的電源和特定的32KHz時(shí)鐘輸入; (9)多個(gè)串行接口,包括2個(gè)UART(16C550協(xié)議標(biāo)準(zhǔn))、2個(gè)高速I2C總線(400 Kbit/s)、SPI和具有緩沖作用和數(shù)據(jù)長(zhǎng)度可變功能的SSP; (10)向量中斷控制器(VIC),可配置優(yōu)先級(jí)和向量地址; (11)多達(dá)32個(gè)通用I/O口(可承受5V電壓); (12)多達(dá)13個(gè)邊沿、電平觸發(fā)的外部中斷管腳; 3.2 ARM管腳信息圖3-1 ARM管腳圖3.3定時(shí)器13.3.1匹配輸出定時(shí)器1匹配輸出方波示例應(yīng)用如下所示,定時(shí)時(shí)間為0.2秒。用戶需要短接JP4的P0.19端口,控制LED閃爍。 #include config.h #define L
15、ED (1 19) /* * 函數(shù)名稱:Timer1Init * 函數(shù)功能:定時(shí)器1初始化 * 輸入?yún)?shù):無(wú) * 輸出參數(shù):無(wú) */ void Timer1Init(void) T1TCR = 0 x02; /* 定時(shí)器1復(fù)位 */ T1PR = 0; /* 不設(shè)時(shí)鐘分頻 */ T1MCR = 0 x02; /* 設(shè)置T1MR1匹配后復(fù)位T1TC */ T1EMR = 0 x03 8; /* 匹配翻轉(zhuǎn) */ T1MR0 = Fpclk / 5; /* 設(shè)置0.2秒匹配值 */ T1IR = 0 x01; /* 清除中斷標(biāo)志 */ T1TCR = 0 x01; /* 啟動(dòng)定時(shí)器1 */ /* *
16、 函數(shù)名稱:main * 函數(shù)功能:定時(shí)器1匹配輸出翻轉(zhuǎn)主程序 * 輸入?yún)?shù):無(wú) * 輸出參數(shù):無(wú) */ int main (void) PINSEL1 = PINSEL1 & (0 x03 6) ; /* 選擇MAT1.2輸出 */ PINSEL1 = PINSEL1 | (0 x02 6); /* 選擇MAT1.2輸出 */ Timer1Init(); /* 定時(shí)器1初始化 */ IRQEnable(); /* IRQ中斷使能 */ while(1); return 0; 圖3-2 匹配輸出波形3.3.2PWM輸出定時(shí)器0、1可匹配輸出PWM波形,波形的占空比自行設(shè)定。在本應(yīng)用示例中,P0
17、.19輸出的波形占空比為50,P0.20輸出的占空比為25。 定時(shí)器PWM輸出應(yīng)用,示例如程序清單2所示。產(chǎn)生波形如圖4.30所示。#include config.h /* * 函數(shù)名稱:Timer1Init * 函數(shù)功能:定時(shí)器1初始化 * 輸入?yún)?shù):無(wú) * 輸出參數(shù):無(wú) */ void Timer1Init(void) T1TCR = 0 x02; /* 定時(shí)器0復(fù)位 */ T1PR = 0; /* 不設(shè)時(shí)鐘分頻 */ PWM1CON= 0 x0C; /* 使能PWM輸出 */ T1MCR = 0 x02; /* 設(shè)置T0MR0匹配后復(fù)位T0TC */ T1MR0 = Fpclk / 20
18、00; /* 設(shè)置PWM輸出的周期 */ T1MR2 = (Fpclk / 2000) / 2; /* 設(shè)置PWM1.2輸出占空比為50 */ T1MR3 = (Fpclk / 2000) / 4) * 3; /* 設(shè)置PWM1.3輸出占空比為25 */ T1TCR = 0 x01; /* 啟動(dòng)定時(shí)器0 */ /* * 函數(shù)名稱:main * 函數(shù)功能:定時(shí)器1PWM輸出 * 輸入?yún)?shù):無(wú) * 輸出參數(shù):無(wú) */ int main (void) PINSEL1 = (PINSEL1 & (0 x03 6) | (0 x02 6); /* 選擇MAT1.2輸出 */ PINSEL1 = (PIN
19、SEL1 & (0 x03 8) | (0 x02 8); /* 選擇MAT1.3輸出 */ Timer1Init(); /* 定時(shí)器1初始化 */ while(1); return 0; 圖3-3 匹配輸出波形4.系統(tǒng)的硬件與軟件設(shè)技4.1.器件表的生成本設(shè)計(jì)要模擬汽車中控鎖,首先需要用到1個(gè)直流電機(jī),用這個(gè)電機(jī)代表司機(jī)旁邊的中控鎖。同時(shí)門邊用兩個(gè)LED,一個(gè)紅色,一個(gè)綠色,分別代表車門鎖的開(kāi)關(guān)以與電機(jī)的狀態(tài)。門旁還有一個(gè)按鍵作為門鎖的開(kāi)關(guān),司機(jī)還有一個(gè)打開(kāi)所有門的按鍵。為了指示電機(jī)動(dòng)作完成,我們通過(guò)數(shù)碼管顯示的數(shù)字可以直觀的看到顯示結(jié)果。據(jù)此,生成了一下器件表:表4-1 器件表器件數(shù)量器件
20、數(shù)量 LPC2013芯片1直流電機(jī)1紅色LED1數(shù)碼管1綠色LED1按鈕3焊接板1燒寫器14.2按鍵電路設(shè)計(jì)為了控制系統(tǒng),設(shè)計(jì)了幾個(gè)按鍵,這里直接把按鍵的一個(gè)引腳接在單片機(jī)的IO口上,另一個(gè)引腳接在地上。IO口設(shè)置為上拉輸入,在按鍵按下后,IO口電平就會(huì)被拉低,通過(guò)程序中檢測(cè)IO口電平狀態(tài)就能知到按鍵是否被按下4.3指示LED電路的設(shè)計(jì)由于使用的LED功率小,電流低,可以直接用IO口的電流來(lái)驅(qū)動(dòng),這里我直接把每個(gè)LED的正極接在一個(gè)IO口,負(fù)極接在地,配置IO口輸出,當(dāng)IO口輸出高時(shí),就能點(diǎn)亮LED。4.4數(shù)碼管電路的設(shè)計(jì)要顯示電機(jī)是在什么時(shí)間開(kāi)始轉(zhuǎn)動(dòng)以與什么時(shí)間停止,需要用到數(shù)碼管,課題中我
21、需要用到一個(gè)直流電機(jī),所以使用了一位數(shù)碼管,用來(lái)顯示電機(jī)動(dòng)作是的時(shí)間,為了節(jié)約IO,這里采用動(dòng)態(tài)掃描的方式,把位選接IO,所有用到的段選相應(yīng)的接在一起,再接在不同的IO口上。顯示原理是這樣的 數(shù)碼管首先從上到右,到下到左,到中間,最后到小數(shù)點(diǎn)分別標(biāo)記為a b c d e f g dp八段其中小數(shù)點(diǎn)位DP為最高位,a段為最低位,要想顯示什么字符只需要使對(duì)應(yīng)的段發(fā)光即可,一般的習(xí)慣是單片機(jī)的端口的最低位接a段,次低位接b段,.最高位(如p0.7)接dp,顯示碼從高往低表示為為 dp g f e d c b a如要顯示“1”,只需要將b、c段點(diǎn)亮即可,若是共陰極,片選是低電平選中,某一段輸出高電平點(diǎn)
22、亮,即顯示碼為00000110 即0 x06,其他的依照該方法類推圖4-2 數(shù)碼管腳圖4.5軟件的概述由于LPC2103的寄存器較多,編程起來(lái)比較復(fù)雜。官方寫了一套庫(kù)函數(shù),我就直接在官方的庫(kù)函數(shù)上進(jìn)行開(kāi)發(fā)。整個(gè)系統(tǒng)用到了單片機(jī)的GPIO模塊來(lái)控制按鍵,電機(jī)和LED。為了控制電機(jī)運(yùn)行的時(shí)間和數(shù)碼管顯示的時(shí)間,用到了定時(shí)中斷Tim模塊,首先把每個(gè)初始化模塊放在一起,在主函數(shù)最初調(diào)用。把控制模塊和顯示模塊分別寫成兩個(gè)函數(shù),在主函數(shù)里的大循環(huán)里調(diào)用。為了使整體程序結(jié)構(gòu)合理,代碼風(fēng)格好,穩(wěn)定性高,便于調(diào)試,我把這幾個(gè)模塊分成幾個(gè)文件來(lái)寫,每一個(gè)模塊寫一個(gè)C文件和一個(gè)H文件,只需要被調(diào)用的函數(shù)放入H文件中
23、,同時(shí)還要保證每個(gè)函數(shù)的高聚,低耦合的特性。4.6電機(jī)數(shù)碼管與LED模塊本設(shè)計(jì)里所用到的電機(jī)和LED都是利用IO口的輸出來(lái)實(shí)現(xiàn),所以我把他們放在一起。首先打開(kāi)這些模塊的系統(tǒng)時(shí)鐘,然后用結(jié)構(gòu)體GPIO_InitTypeDef來(lái)初始化這些IO口為推挽輸出,輸出速度為50MHZ,然后按照結(jié)構(gòu)體初始化IO口。對(duì)于控制LED的IO口,為了使用方便,直接用一個(gè)宏定義來(lái)控制。對(duì)于控制電機(jī)的部分,把他們封裝成電機(jī)正轉(zhuǎn),電機(jī)反轉(zhuǎn)和電機(jī)停止的函數(shù),程序里用一個(gè)標(biāo)志位來(lái)表示當(dāng)前鎖的狀態(tài)。數(shù)碼管部分作出顯示每個(gè)數(shù)字所對(duì)應(yīng)的IO口狀態(tài),然后據(jù)此編寫顯示一位的函數(shù),傳入?yún)?shù)為位數(shù)和數(shù)字。4.7按鍵輸入模塊本設(shè)計(jì)里用到的按
24、鍵和撥動(dòng)開(kāi)關(guān)都是直接連接IO口和地的,在軟件里,首先要初始化這些IO口,為了防干擾,這里初始化為上拉輸入。首先打開(kāi)相應(yīng)口的時(shí)鐘,然后利用結(jié)構(gòu)體GPIO_InitTypeDef初始化這些IO口為上拉輸入。對(duì)于模擬車速的撥動(dòng)開(kāi)關(guān),直接在控制函數(shù)里最初進(jìn)行檢測(cè)。4.8控制模塊整個(gè)系統(tǒng)的邏輯都在這個(gè)控制模塊里,我用一個(gè)全局變量來(lái)指示幾個(gè)個(gè)門鎖的開(kāi)與鎖,首先檢測(cè)速度撥動(dòng)開(kāi)關(guān)是否達(dá)到高速,如果為真,再檢測(cè)指示狀態(tài)的變量,看是否全部關(guān)閉,如果沒(méi)有全部關(guān)閉,就調(diào)用每個(gè)關(guān)閉函數(shù),把沒(méi)有關(guān)閉的門鎖關(guān)閉,電機(jī)轉(zhuǎn)動(dòng)一段時(shí)間,然后通過(guò)數(shù)碼管顯示的時(shí)間進(jìn)行提示。然后函數(shù)返回,這樣就禁用了按鍵。撥動(dòng)開(kāi)關(guān)沒(méi)有達(dá)到高速的時(shí)候,
25、才能用按鍵進(jìn)行控制,檢測(cè)到司機(jī)的門為開(kāi),并且按下按鍵時(shí),所有門鎖全部鎖上。有鎖住的門鎖,再檢測(cè)到全部打開(kāi)的按鍵按下后,就打開(kāi)所有的門鎖。其余的情況,檢測(cè)到按鍵按下后,就改變門鎖的狀態(tài),更新標(biāo)志位。4.9顯示模塊為了指示當(dāng)前門鎖的狀態(tài),所有門鎖用了一個(gè)綠色LED來(lái)指示是否鎖住。當(dāng)鎖住時(shí),綠色LED不亮,當(dāng)沒(méi)有鎖住時(shí),綠色LED點(diǎn)亮。所以在這里,只需要讀取每個(gè)變量的值,然后進(jìn)行邏輯判斷,在根據(jù)結(jié)果點(diǎn)亮或熄滅相應(yīng)的LED就行了。為了指示當(dāng)前電機(jī)工作運(yùn)行的時(shí)間,用到了一位數(shù)碼管,傳入時(shí)間和電機(jī)信號(hào),就能在相應(yīng)的數(shù)碼管上顯示相應(yīng)的數(shù)字。當(dāng)某一數(shù)值顯示的時(shí)候電機(jī)就會(huì)轉(zhuǎn)動(dòng),同理,另一數(shù)字顯示的時(shí)候電機(jī)會(huì)停止
26、。4.10定時(shí)模塊為了精確控制電機(jī)的運(yùn)行時(shí)間,這里用到了單片機(jī)的定時(shí)器1,首先初始化一組定時(shí)器,設(shè)定定時(shí)中斷,并設(shè)置相應(yīng)的參數(shù),封裝成函數(shù),并在主函數(shù)里調(diào)用,同時(shí)還要編寫定時(shí)中斷函數(shù),在中斷里對(duì)一些標(biāo)志變量和一些時(shí)間變量進(jìn)行控制。4.11主函數(shù)由于其他模塊都已經(jīng)封裝好,所以主函數(shù)里就直接調(diào)用那些函數(shù)就行,這樣顯得簡(jiǎn)單,整齊。首先,先把三個(gè)標(biāo)志位清0,然后調(diào)用IO初始化,然后初始化數(shù)碼管不顯示數(shù)字,再初始化按鍵。這樣就初始化了所有配置,然后來(lái)一個(gè)大循環(huán),循環(huán)體放控制函數(shù)和顯示函數(shù)。這樣就能不斷檢測(cè)按鍵,進(jìn)行控制和刷新顯示。5.硬件電路的焊接與調(diào)試5.1軟件的焊接5-1 硬件結(jié)果顯示圖5-2硬件顯
27、示圖5.2軟件的調(diào)試要完成整個(gè)設(shè)計(jì),硬件的調(diào)試必不可少,非常的重要,首先我要通過(guò)CodeWorrior for ARM Developer Suite檢測(cè)程序并燒寫到LPC2103芯片當(dāng)中圖5-3 程序檢測(cè)圖5-4 添加J-LINK5-5 配置J-LINK6.未來(lái)拓展6.1利用電機(jī)正反轉(zhuǎn)控制電路 五線馬達(dá)是主鎖,除了有馬達(dá)以外還多了一個(gè)三線的狀態(tài)開(kāi)關(guān),并且是和鎖馬達(dá)聯(lián)動(dòng)的,其中一根開(kāi)鎖的時(shí)候和第二根導(dǎo)通,閉鎖的時(shí)候和第三根導(dǎo)通,門鎖控制器就從它的狀態(tài)得知門鎖是開(kāi)還是關(guān),保證四個(gè)門同步開(kāi)閉。圖6-1 直流電機(jī)接線原理圖總結(jié)本設(shè)計(jì)設(shè)利用ARM芯片模擬汽車中控門直流電機(jī),通過(guò)GPIO的輸出控制指示L
28、ED。通過(guò)GPIO的上拉輸入來(lái)檢測(cè)按鍵和撥動(dòng)開(kāi)關(guān)。通過(guò)定時(shí)器TIM模塊定時(shí)中斷來(lái)確定時(shí)間。軟硬件的有機(jī)結(jié)合,使得整個(gè)系統(tǒng)能夠正常工作。設(shè)計(jì)時(shí),首先選擇元器件,然后看元器件的數(shù)據(jù)手冊(cè),設(shè)計(jì)硬件電路,用C語(yǔ)言編寫程序,調(diào)試程序直到成功實(shí)現(xiàn)功能。采用C語(yǔ)言的編程方式,C語(yǔ)言是一種結(jié)構(gòu)化的高級(jí)語(yǔ)言,可讀性好,移植容易,更容易模塊化,并且有嚴(yán)格的句法檢查,出錯(cuò)少,便于調(diào)試。而且即使在該設(shè)計(jì)完成投入使用后,需要升級(jí)增加功能,也只需要重新燒寫程序就能夠完成,極大的方便了用戶和設(shè)計(jì)者。通過(guò)這次的努力,終于徹底做完了畢業(yè)設(shè)計(jì)當(dāng)中老師分配給我的各項(xiàng)任務(wù)。在老師的指導(dǎo)下,我能夠運(yùn)用已經(jīng)學(xué)過(guò)的知識(shí)解決所需要的問(wèn)題,最
29、終完成本課題的需求,實(shí)現(xiàn)控制如下:當(dāng)數(shù)碼管顯示1到5時(shí),電機(jī)反轉(zhuǎn),當(dāng)數(shù)碼管顯示6到0時(shí),電機(jī)停止轉(zhuǎn)動(dòng)。在這次設(shè)計(jì)中,我查閱了很多資料,也掌握了一些查閱資料的方法,同時(shí)還豐富了我的知識(shí)儲(chǔ)備,提高了我的專業(yè)涵養(yǎng),使我整個(gè)能力得到不少的提高。這次的設(shè)計(jì)的硬件焊接以與軟件調(diào)試都使我受益匪淺。在硬件設(shè)計(jì)時(shí),要考慮很多東西,需要用到哪些原件,以與整個(gè)布局都要提前想好。在設(shè)計(jì)中,我還發(fā)現(xiàn),以前在書本上學(xué)到的東西還是和實(shí)際有一點(diǎn)出入的,對(duì)待問(wèn)題要更深入的研究,就會(huì)收獲更多知識(shí),對(duì)問(wèn)題的認(rèn)識(shí)程度也會(huì)更上一層樓??傮w來(lái)說(shuō),硬件設(shè)計(jì)還是相對(duì)簡(jiǎn)單的,最重要的是軟件的設(shè)計(jì)。做軟件時(shí),一定要先有一個(gè)整體的架構(gòu),要了解我的
30、整個(gè)設(shè)計(jì)總體都需要哪些模塊,整個(gè)程序的架構(gòu)要提前想好,然后還要有良好的代碼風(fēng)格,這樣不僅寫起來(lái)有條理邏輯不會(huì)亂,而且對(duì)于后期的維護(hù)以與讓他人閱讀都有很大的幫助。對(duì)于這次的設(shè)計(jì),由于本人的經(jīng)歷和時(shí)間有限,考慮問(wèn)題也不夠全面,所掌握的知識(shí)也不是很多,或多或少會(huì)存在著一些缺點(diǎn),設(shè)計(jì)難免存在一些不足之處。我的這些不足,在今后學(xué)習(xí)和工作中會(huì)不斷改善。最重要的是,這次的設(shè)計(jì)使我懂得了學(xué)習(xí)的重要性,在今后,我會(huì)一直學(xué)習(xí)下去,我會(huì)一直堅(jiān)持和努力。致經(jīng)過(guò)了小半年的時(shí)間,終于完成了我的畢業(yè)設(shè)計(jì),心里還是有點(diǎn)小激動(dòng)的,十分的渴望能在大學(xué)的最后交出一份滿意的答卷,希望這份答卷獲得一個(gè)正面的評(píng)價(jià),能為我的大學(xué)畫上一個(gè)完
31、美的句號(hào)。在不知不覺(jué)學(xué)四年就過(guò)去了,這四年我成長(zhǎng)了,都說(shuō)大學(xué)是通往社會(huì)的一個(gè)門檻,我真的學(xué)習(xí)到了許多,還記得大一剛剛?cè)雽W(xué)時(shí)的懵懵懂懂,還記得大學(xué)的每一個(gè)清晨,終于在大學(xué)的最后交出了一份滿意的答卷。首先還是應(yīng)該感我的導(dǎo)師老師,老師給我了很多的幫助,沒(méi)有老師的幫助,這個(gè)畢設(shè)題目也沒(méi)辦法完成的這么順利,這么快。沒(méi)有老師的細(xì)心教導(dǎo),我也不可能在學(xué)到這么多,這么全的專業(yè)課程知識(shí)。同時(shí)我也需要也需要感一起做畢業(yè)設(shè)計(jì)的所有同學(xué),感陪伴我走過(guò)了大學(xué)的最后六個(gè)月的時(shí)光,同學(xué)間的友情十分珍貴。希望這份友情能夠天長(zhǎng)地久,永遠(yuǎn)長(zhǎng)存。我還需要感覺(jué)和我朝夕相伴四年的室友們,四年的情誼,四年的照顧彌足珍貴。愿同學(xué)們友誼長(zhǎng)存
32、。在未來(lái)的道路上,我還會(huì)繼續(xù)努力,在科研的道路上獲得新的成就。參考文獻(xiàn)1 大欽.電子技術(shù)基礎(chǔ)實(shí)驗(yàn)(第二版):機(jī)械工業(yè)。2 胡學(xué)海.單片機(jī)原理與應(yīng)用系統(tǒng)設(shè)計(jì):京電子工業(yè)。3 廣弟.單片機(jī)基礎(chǔ):北航。4 周立功.單片機(jī)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)書:周立功單片機(jī)發(fā)展。5 吳黎明.單片機(jī)原理與應(yīng)用技術(shù):科學(xué)。6 光東.單片微型計(jì)算機(jī)原理與其C語(yǔ)言程序設(shè)計(jì):華中理工大學(xué)。7 袁志勇 嵌入式系統(tǒng)原理與應(yīng)用 航天航空大學(xué)。8 彥文 嵌入式系統(tǒng)原理與接口技術(shù) 清華大學(xué)。9 宥謀 嵌入式系統(tǒng)開(kāi)發(fā) 清華大學(xué)。10 周立功公司 嵌入式系統(tǒng)原理教程。11 波文 嵌入式實(shí)時(shí)操作系統(tǒng)uC/OS-II經(jīng)典實(shí)例 航天航空大學(xué)。12 肖廣兵
33、 ARM嵌入式開(kāi)發(fā)實(shí)例基于stm32的系統(tǒng)設(shè)計(jì) 電子工業(yè) 。13 敦放 使用ARM定時(shí)器對(duì)十字路口交通燈控制的探討 科技學(xué)院學(xué)報(bào)。附錄/*Copyright (c)* * * *File Info* File name:main.c* Last modified Date: 2013-10-31* Last Version:1.0* Descriptions:The main() function example template* Created by:Chenmingji* Created date:2004-09-16* Version:1.0* Descriptions:The ori
34、ginal version* Modified by:* Modified date:* Version:* Descriptions:*/#include main.h#include config.h#define LED1 (1 0)#define LED2 (1 1)#define LED3 (1 2)#define LED4 (1 3)#define LED5 (1 4)#define LED6 (1 5)#define LED7 (1 6)#define LED8 (1 7)#define LED9 (1 8)#define LED10 (1 0; uiDly-)for(i = 0
35、; i 50000; i+);void Timer1Init(void)T1TCR = 0 x02; /* 定時(shí)器0復(fù)位 */T1PR = 0; /* 不設(shè)時(shí)鐘分頻 */PWM1CON= 0 x0C; /* 使能PWM輸出 */T1MCR = 0 x02; /* 設(shè)置T0MR0匹配后復(fù)位T0TC */T1MR0 = Fpclk / 2000; /* 設(shè)置PWM輸出的周期 */T1MR2 = (Fpclk / 2000) / 2; /* 設(shè)置PWM1.2輸出占空比為50 */T1MR3 = (Fpclk / 2000) / 4) * 3; /* 設(shè)置PWM1.3輸出占空比為25 */T1TCR
36、= 0 x01; /* 啟動(dòng)定時(shí)器0 */int main (void)/PINSEL0 = PINSEL0 & (0 x03f 0); /* 將P0.0-2設(shè)置為GPIO */PINSEL1 = (PINSEL1 & (0 x03 8) | (0 x02 8); /* 選擇MAT1.3輸出 */PINSEL0 = PINSEL0 & 0 xFFF00000; /* 選擇P0.0-9為的GPIO功能 */ IO0DIR = LED1|LED2|LED3|LED4|LED5|LED6|LED7|LED8|LED9|LED10; /* 設(shè)置輸出高電平 */ IO0SET = LED1|LED2|L
37、ED3|LED4|LED5|LED6|LED7|LED8|LED9|LED10; /* 設(shè)置輸出高電平 */ /Timer1Init(); /* 定時(shí)器1初始化 */IRQEnable(); /* IRQ中斷使能 */ OSInit(); OSTaskCreateExt(TASK0, (void *)0, &TASK0_STACKTASK0_STACK_SIZE-1, TASK0_PRIO, TASK0_ID, &TASK0_STACK0, TASK0_STACK_SIZE, (void *)0, OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR); OSSt
38、art(); return 0; /* Function name: TASK0* Descriptions: None* input parameters: None* output parameters: None*/void TASK0 (void *pdata) TargetInit(); BUZZER_Set(); OSTimeDly(OS_TICKS_PER_SEC / 10); BUZZER_Clr(); OSTimeDly(OS_TICKS_PER_SEC / 10); BUZZER_Set(); OSTimeDly(OS_TICKS_PER_SEC / 10); BUZZER
39、_Clr(); OSTimeDly(OS_TICKS_PER_SEC / 10); / Timer1Init(); /* 定時(shí)器1初始化 */IRQEnable(); /* IRQ中斷使能 */pdata = pdata; OSTaskCreateExt(TASK1, (void *)0, &TASK1_STACKTASK1_STACK_SIZE-1, TASK1_PRIO, TASK1_ID, &TASK1_STACK0, TASK1_STACK_SIZE, (void *)0, OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR); OSTaskCreate
40、Ext(TASK2, (void *)0, &TASK2_STACKTASK2_STACK_SIZE-1, TASK2_PRIO, TASK2_ID, &TASK2_STACK0, TASK2_STACK_SIZE, (void *)0, OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR); OSTaskCreateExt(TASK3, (void *)0, &TASK3_STACKTASK3_STACK_SIZE-1, TASK3_PRIO, TASK3_ID, &TASK3_STACK0, TASK3_STACK_SIZE, (void *)0, OS_T
41、ASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR); while(1) OSTimeDly(OS_TICKS_PER_SEC); count+; if (count%8) = 1) IO0SET = LED1|LED2|LED3|LED4|LED5|LED6|LED7; IO0CLR = LED2|LED3; DelayNS(100); /* 點(diǎn)亮發(fā)光二極管 */ if (count%8) = 2) IO0SET = LED1|LED2|LED3|LED4|LED5|LED6|LED7; IO0CLR = LED1|LED2|LED4|LED5|LED7; Delay
42、NS(150); if (count%8) = 3) IO0SET = LED1|LED2|LED3|LED4|LED5|LED6|LED7; IO0CLR = LED1|LED2|LED3|LED4|LED7; if (count%8) = 4) IO0SET = LED1|LED2|LED3|LED4|LED5|LED6|LED7; IO0CLR = LED2|LED3|LED6|LED7; if (count%8) = 5) IO0SET = LED1|LED2|LED3|LED4|LED5|LED6|LED7; IO0CLR = LED1|LED3|LED4|LED6|LED7; /* 點(diǎn)亮發(fā)光二極管 */ if (count%8) = 6) IO0SET = LED1|LED2|LED3|LED4|LED5|LED6|LED7; IO0C
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024防水材料購(gòu)買合同
- 蘇州科技大學(xué)天平學(xué)院《混凝土結(jié)構(gòu)設(shè)計(jì)原理建工》2022-2023學(xué)年第一學(xué)期期末試卷
- 摩托車的駕駛員認(rèn)知與反應(yīng)時(shí)間考核試卷
- 2024汽車簡(jiǎn)單租賃合同范本
- 工程項(xiàng)目安全監(jiān)理培訓(xùn)講義考核試卷
- 化學(xué)礦資源整合與利用模式考核試卷
- 數(shù)字創(chuàng)意設(shè)計(jì)與建筑視覺(jué)化的聯(lián)合創(chuàng)作考核試卷
- 腦梗合并動(dòng)脈瘤的治療
- 小班冬至搓湯圓主題活動(dòng)方案范文(3篇)
- 中國(guó)二十四節(jié)氣《春分》課件模板(三套)
- 詢盤分析及回復(fù)
- 氯化工藝安全培訓(xùn)課件
- 指導(dǎo)巡察工作精細(xì)科學(xué)
- 企業(yè)法律知識(shí)培訓(xùn)消費(fèi)者權(quán)益保護(hù)實(shí)務(wù)
- 快樂(lè)讀書吧-讀后分享課:《十萬(wàn)個(gè)為什么》教學(xué)案列
- 2024年 貴州茅臺(tái)酒股份有限公司招聘筆試參考題庫(kù)含答案解析
- 河上建壩糾紛可行性方案
- 第五單元學(xué)雷鋒在行動(dòng)(教案)全國(guó)通用五年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)
- 2024年華融實(shí)業(yè)投資管理有限公司招聘筆試參考題庫(kù)含答案解析
- 2024年1月普通高等學(xué)校招生全國(guó)統(tǒng)一考試適應(yīng)性測(cè)試(九省聯(lián)考)歷史試題(適用地區(qū):貴州)含解析
- 兒童心理健康問(wèn)題的評(píng)估與干預(yù)方案
評(píng)論
0/150
提交評(píng)論