基于ARM紅外感應(yīng)自動窗簾控制器設(shè)計- 西安科技大學(xué)_第1頁
基于ARM紅外感應(yīng)自動窗簾控制器設(shè)計- 西安科技大學(xué)_第2頁
基于ARM紅外感應(yīng)自動窗簾控制器設(shè)計- 西安科技大學(xué)_第3頁
基于ARM紅外感應(yīng)自動窗簾控制器設(shè)計- 西安科技大學(xué)_第4頁
基于ARM紅外感應(yīng)自動窗簾控制器設(shè)計- 西安科技大學(xué)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、II西安科技大學(xué)電控學(xué)院課程設(shè)計 電控學(xué)院課程設(shè)計(論文) 課程名稱: ARM嵌入式系統(tǒng) 題 目:紅外感應(yīng)自動窗簾控制器設(shè)計 院 (系): 電 控 學(xué) 院 專業(yè)班級: 自動化1105班 姓 名: 夏轉(zhuǎn)轉(zhuǎn) 何瑢 蔡馳 劉阿敏 學(xué) 號: 1106050502 1106050503 1106050505 1106050507 指導(dǎo)教師: 李紅巖 楊學(xué)存 2015年 1 月 20日I西安科技大學(xué)電控學(xué)院課程設(shè)計目 錄一、 ARM嵌入式系統(tǒng)及課題背景11.1嵌入式系統(tǒng)11.1.1嵌入式系統(tǒng)的特點:11.2紅外感應(yīng)自動窗簾課題背景2二、步進電機原理簡介22.1步進電機22.1.1步進電機原理:32.1.2

2、步進電機的一些基本參數(shù):3三、控制系統(tǒng)的總體設(shè)計33.1總體設(shè)計思路33.2系統(tǒng)硬件設(shè)計43.2.1 EasyARM2131開發(fā)板功能:43.2.2 ULN003A驅(qū)動芯片:53.2.4 電機驅(qū)動模塊:63.2.5顯示模塊:73.2.6紅外感應(yīng)模塊:83.3總設(shè)計電路圖(見報告最后)83.4軟件設(shè)計83.4.1 程序流程:(如右圖)8結(jié)論9五、附錄95.1參考文獻95.2實習(xí)心得95.3設(shè)計程序:11第 16 頁西安科技大學(xué)電控學(xué)院課程設(shè)計一、 ARM嵌入式系統(tǒng)及課題背景1.1嵌入式系統(tǒng) 嵌入式計算機系統(tǒng)的出現(xiàn),是現(xiàn)代計算機發(fā)展史上的里程碑。嵌入式系統(tǒng)誕生于微型計算機時代,與通用計算機的發(fā)展道

3、路完全不同,形成了獨立的單芯片的技術(shù)發(fā)展道路。由于嵌入式系統(tǒng)的誕生,現(xiàn)代計算機領(lǐng)域出現(xiàn)了通用計算機與嵌入式計算機兩大分支。1.1.1嵌入式系統(tǒng)的特點: (1) 由于嵌入式系統(tǒng)一般是應(yīng)用于小型電子裝置,系統(tǒng)資源相對有限,所以內(nèi)核較之傳統(tǒng)的操作系統(tǒng)要小得多。 (2) 嵌入式系統(tǒng)的個性化很強,其中的軟件系統(tǒng)和硬件的結(jié)合非常緊密,一般要針對硬件進行系統(tǒng)的移植,即使在同一品牌、同一系列的產(chǎn)品中也需要根據(jù)系統(tǒng)硬件的變化和增減不斷進行修改。(3) 嵌入式系統(tǒng)一般沒有系統(tǒng)軟件和應(yīng)用軟件的明顯區(qū)分,不要求其功能的 設(shè)計及實現(xiàn)過于復(fù)雜,這樣一方面利于控制系統(tǒng)成本,同時也利于實現(xiàn)系統(tǒng)安全。 (4) 高實時性的操作系

4、統(tǒng)軟件是嵌入式軟件的基本要求。而且軟件要求固化存儲,以提高速度。軟件代碼要求高質(zhì)量和高可靠性。 (5) 嵌入式軟件開發(fā)要想走向標準化,就必須使用多任務(wù)的操作系統(tǒng)。嵌入式系統(tǒng)的應(yīng)用程序可以沒有操作系統(tǒng)而直接在芯片上運行;(6) 嵌入式系統(tǒng)開發(fā)需要專門的開發(fā)工具和環(huán)境。由于嵌入式系統(tǒng)本身不具備自主開發(fā)能力,即使設(shè)計完成以后,用戶通常也不能對其中的程序功能進行修改,因此必須有一套開發(fā)工具和環(huán)境才能進行開發(fā),這些工具和環(huán)境一般是基于通用計算機上的軟硬件設(shè)備以及各種邏輯分析儀、混合信號示波器等。1.2紅外感應(yīng)自動窗簾課題背景智能家居控制系統(tǒng)可以定義為一個過程或者一個系統(tǒng),利用先進的計算機技術(shù)、網(wǎng)絡(luò)通訊技

5、術(shù)、技術(shù),將與家居生活有關(guān)的各種子系統(tǒng),有機的結(jié)合在一起,通過統(tǒng)籌管理,讓家居生活更加舒適、安全、高效。在現(xiàn)代社會,對室內(nèi)設(shè)計而言,窗簾不僅具有遮光作用,更有美化功能,它不僅可以協(xié)調(diào)局是色彩搭配,而且能夠柔化空間造型的線條,營造溫馨愜意的環(huán)境。隨著高新技術(shù)及電子器件的發(fā)展,光控、溫控及遙控窗簾應(yīng)運而生,給人們的生活帶來很多方便。自動窗簾控制系統(tǒng),既能解決用手拉開和關(guān)上窗簾的不便,又顯示出生活的檔次,同時還可以根據(jù)光線的明暗來自動控制窗簾的開關(guān),以調(diào)節(jié)室內(nèi)的光線,進一步滿足人們的享受要求。自動窗簾主要有以下功能:(1)、手動控制:該功能自動窗簾具有手動正轉(zhuǎn),手動反轉(zhuǎn)和手動停止功能。(2)、半自動

6、手動控制:半自動手動控制是指在需要關(guān)閉和打開窗簾的時候,只需要人工按一下“正轉(zhuǎn)”或“反轉(zhuǎn)”按鍵后,窗簾到位自動停止。(3)、紅外智能控制:窗簾的關(guān)閉和開啟通過紅外感應(yīng)環(huán)境自動完成窗簾的開啟或關(guān)閉操作控制,具有智能管理功能。二、步進電機原理簡介2.1步進電機 在電氣時代的今天,電動機一直在現(xiàn)代化的生產(chǎn)和生活中起著十分重要的作用。無論是在工農(nóng)業(yè)生產(chǎn)還是在日常生活中的家用電器,都大量地使用著各種各樣的電動機。因此對電動機的控制變得越來越重要了。下圖1為所用到的五線式四相步進電機。圖1五線式四相步進電機2.1.1步進電機原理: 步進電機是機電控制中一種常用的執(zhí)行機構(gòu),其原理是通過對它每相線圈中的電流和

7、順序切換來使電機作步進式旋轉(zhuǎn)。驅(qū)動電路由脈沖信號來控制,所以調(diào)節(jié)脈沖信號的頻率便可改變步進電機的轉(zhuǎn)速。通俗地說:當(dāng)步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度(及步進角)。通過控制脈沖個數(shù)即可以控制角位移量,從而達到準確定位的目的。同時通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的,現(xiàn)在比較常用的步進電機包括反應(yīng)式步進電機(VR)、永磁式步進電機(PM),混合式步進電機(HB)和單相式步進電機等。2.1.2步進電機的一些基本參數(shù): 電機固有步距角:它表示控制系統(tǒng)每發(fā)一個步進脈沖信號,電機所轉(zhuǎn)動的角度。電機出廠時給出了一個步距角的值,如86BYG

8、250A型電機給出的值為0。90/1。80(表示半步工作時為0。90、整步工作時為1。80),這個步距角可以稱之為“電機固有步距角”,它不一定是電機實際工作時的真正步距角,真正的步距角和驅(qū)動器有關(guān)。 步進電機的相數(shù):是指電機內(nèi)部的線圈組數(shù),目前常用的有二相、三相、四相、五相步進電機。電機相數(shù)不同,其步距角也不同,一般二相電機的步距角為0。90/1。80、三相的為0。750/1。50、五相的為0。360/0。720。在沒有細分驅(qū)動器時,用戶主要靠選擇不同相數(shù)的步進電機來滿足自己步距角的要求。如果使用細分動器,則“相數(shù)”將變得沒有意義,用戶只需在驅(qū)動器上改變細分數(shù),就可以改變步距角。三、控制系統(tǒng)的

9、總體設(shè)計3.1總體設(shè)計思路 本次設(shè)計采用EasyARM2131 ARM芯片為主控制芯片,由ULN2003A為驅(qū)動芯片控制步進電機轉(zhuǎn)動;并通過MG12864點陣圖形液晶圖形模塊顯示步進電機轉(zhuǎn)動模式。設(shè)計原理:當(dāng)光敏器件受到光照300Lux以下時,步進電機正轉(zhuǎn),使窗簾上升,當(dāng)受到1500到3000Lux之間的光照時,步進電機反轉(zhuǎn),使窗簾下降。按鍵控制,分為三個按鍵,分別為上升鍵K1,下降鍵K2和自動鍵。當(dāng)按下K1鍵時,電機正轉(zhuǎn),窗簾上升,按下K2鍵時,電機反轉(zhuǎn),窗簾下降,當(dāng)按下自動鍵時,光敏器件作用,系統(tǒng)自動運行。系統(tǒng)硬件總體設(shè)計框圖如圖2所示。3.2系統(tǒng)硬件設(shè)計 本設(shè)計共用到的功能器件有:Eas

10、yARM2131開發(fā)板、ULN2003A驅(qū)動芯片、MG12864液晶顯示屏、四相五線式步進電機、按鍵開關(guān)等器件。3.2.1 EasyARM2131開發(fā)板功能: EasyARM2131開發(fā)板是廣州周立功公司設(shè)計的EasyARM系列開發(fā)套件之一,采用了PHILIPS公司基于ARM7TDMI-S 核、單電源供電、LQFP64封裝的LPC2131,具有JTAG仿真調(diào)試、ISP編程等功能。 如下圖3所示為2131功能框圖。圖3 EasyARM2131開發(fā)板功能框圖可進行GPIO的控制實驗,如LED閃爍控制、鍵盤輸入、蜂鳴器控制、模擬SPI等; 可進行外部中斷實驗,學(xué)習(xí)向量中斷控制器(VIC); 定時器控

11、制實驗,如定時控制LED、按鍵捕獲輸入、匹配比較輸出等;使用RS232轉(zhuǎn)換電路,完成UART通訊實驗等。3.2.2 ULN003A驅(qū)動芯片: ULN是集成達林管IC,內(nèi)部還集成了一個消線圈反電動勢的二極管,可用來驅(qū)動繼電器。它是雙列16腳封裝,NPN晶體管矩陣,最大驅(qū)動電壓為50V,電流為500MA,輸入電壓為,適用于TTL COMS,由達林頓管組成驅(qū)動電路。下圖4為ULN2003A的管腳功能圖。圖4 ULN2003A管腳圖 ULN2003 高壓大電流達林頓晶體管陣列芯片,吸收電流可達500mA,輸出耐壓50V,具有很強的驅(qū)動能力。內(nèi)部具有7組達林頓管電路,可以驅(qū)動7路負載。IN 為

12、輸入端可由單片機引腳直接控制,當(dāng)輸入端為高電平時,輸出端OUT輸出低電平。3.2.3 TH12864-15液晶顯示: TH12864-15是128(列)×64(行)點陣的液晶顯示模塊。當(dāng)15腳為低且16腳為高時選中TH12864-15的左區(qū)(左邊的64×64),當(dāng)15腳為高且16腳為低時選中MG12864的右區(qū)(右邊的64×64)。19腳和20腳是為了在光線暗的環(huán)境下看到液晶顯示器的顯示內(nèi)容而加的背光,即在液晶顯示器的背面加一光源??刂凭€RW、CSI、CS2、RS必須在使能線E為低的時候改變。當(dāng)使能線E為高時控制線RW、CSI、CS2、RS不能改變;使能線E為高時

13、TH12864-15從數(shù)據(jù)線DB0DB7輸出數(shù)據(jù)。下圖5為12864-15的管腳說明。引腳號 符號 功能引腳號 符號 功能1GND 模塊的電源地714 DB0DB7 并行數(shù)據(jù)072VDD 模塊的電源正端15PSB 并/串行接口選擇3 V0 LCD驅(qū)動電壓輸入端16NC空腳4 RS 并行的指令/數(shù)據(jù)選擇信號;串行的片選信號17RET復(fù)位,低電平有效18 NC 空腳5 R/W 并行的讀/寫選擇信號;串行的數(shù)據(jù)口19 BLA 背光源正極(LED+5V)6 E 并行的使能信號;串行的同步時鐘19BLK 背光源負極(LED-0V)圖5TH12864-15管腳說明3.2.4 電機驅(qū)動模塊: 設(shè)計使用ULN

14、2003A驅(qū)動芯片來驅(qū)動步進電機,用發(fā)光二極管來顯示程序的運行狀態(tài)。驅(qū)動電路如下圖6示。圖6 驅(qū)動模塊電路3.2.5顯示模塊: 設(shè)計采用TH12864-15點陣式液晶顯示屏,使用串行接法,電路模塊圖如下圖7所示。圖7 2864液晶顯示模塊3.2.6紅外感應(yīng)模塊:3.3總設(shè)計電路圖(見報告最后)3.4軟件設(shè)計3.4.1 程序流程:(如右圖)結(jié)論 本次課程設(shè)計中主體功能采用步進電機實現(xiàn),顯示功能采用液晶12864實現(xiàn),對于步進電機的驅(qū)動采用uln2003芯片,使用方便,簡化電路。對于液晶12864的操作采用串行通信,串行通信操作簡單,連線方便。檢測感應(yīng)模塊主要通過檢測人體運動產(chǎn)生電平跳變即有人走近

15、窗簾或者離開窗簾,然后將信號發(fā)送給lpc2131來控制電機正反轉(zhuǎn)。對于主程序的設(shè)計,先定義一個標志變量flag,當(dāng)檢測到電平上升沿時,控制電機正轉(zhuǎn),變量flag=1;當(dāng)檢測到下降沿,同時flag=1時即人離開窗簾,控制電機反轉(zhuǎn),關(guān)閉窗簾。定義兩個變量用來計數(shù),在開關(guān)窗簾過程中,每當(dāng)電機轉(zhuǎn)動一圈時,相應(yīng)變量自動加一,當(dāng)變量達到設(shè)定上限值時,電機停止轉(zhuǎn)動,即窗簾已經(jīng)完全打開或者完全關(guān)閉。五、附錄5.1參考文獻1馬忠梅,馬廣云.ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ)M.北京:北京航空航天大學(xué)出版社.2002.2黃智偉.ARM嵌入式系統(tǒng)應(yīng)用設(shè)計與實踐M.北京:北京航空航天大學(xué)出版社.2011.3沈建華.譯.

16、ARM嵌入式系統(tǒng)開發(fā)、軟件設(shè)計與優(yōu)化M.北京:北京航空航天大學(xué)出版社.2005.4周立功.編著.ARM微控制器基礎(chǔ)與實踐M.北京:北京航空航天大學(xué)出版社.20055.2實習(xí)心得夏轉(zhuǎn)轉(zhuǎn)實習(xí)心得:為期兩周的實習(xí)接近尾聲,我們這一期的實習(xí)題目是紅外線感應(yīng)窗簾,在組長的領(lǐng)導(dǎo)下,我們發(fā)揮團隊協(xié)作精神,積極配合組長,基本完成了老師要求的任務(wù),基本實現(xiàn)了根據(jù)光線變化自主開閉窗簾。我主要負責(zé)軟件的調(diào)試,剛開始的時候在圖書館查閱資料寫的程序運行一直有錯誤,經(jīng)過反復(fù)調(diào)試和詢問老師,最終實現(xiàn)了基本的功能。然后又添加新的功能,經(jīng)過調(diào)試實現(xiàn)了一部分功能,但不能完全實現(xiàn)。以后一定會繼續(xù)努力。很辛苦的兩周讓我受益良多,不知

17、不覺時間就過去了。兩周內(nèi),在老師的幫助下,組長的帶領(lǐng)下,我們能順利地完成老師布置的任務(wù),最終實現(xiàn)了預(yù)期的目標,無論多艱苦的情況,都可以很耐心的學(xué)習(xí),遇到自己不會的問題,一定積極解決,詢問,反復(fù)練習(xí)。今后一定要繼續(xù)努力,爭取做得更好。謝謝組員以及老師的幫助。何瑢實習(xí)心得:很快,我們的實習(xí)就接近了尾聲,我們這一期的實習(xí)題目是紅外線感應(yīng)窗簾,在組長的領(lǐng)導(dǎo)下,我們發(fā)揮團隊協(xié)作精神,積極配合組長,基本完成了老師要求的任務(wù),起初,程序老是出現(xiàn)問題,我們經(jīng)過多次的調(diào)試,修改,使得它得以正確運行,窗簾也基本實現(xiàn)了在光線變化的條件下自主升降。我們也各自完成了自己的任務(wù)。兩周內(nèi),在老師指導(dǎo)下,我們順利的完成了實現(xiàn)

18、了所有功能,最終實現(xiàn)了預(yù)期的目標,使自己這學(xué)期所學(xué)到的知識得到了應(yīng)用,通過這兩周的實習(xí),我認識到了自己的很多不足,學(xué)到了很多課本上學(xué)不到的東西,使我認識到自己的不足,所以我以后要努力學(xué)習(xí),把知識用到實際中去,以便將來更好的報效國家。蔡馳實習(xí)心得:為期兩周的課程設(shè)計結(jié)束了,在沒有實際操作以前,我覺得ARM課程設(shè)計會比較麻煩,為此我們參考了別人的設(shè)計,初步了解總體思路后開始動手實踐。由于有C語言編程經(jīng)驗和51單片機課設(shè)的經(jīng)驗,再結(jié)合ARM課程的學(xué)習(xí),真正設(shè)計的過程中并沒有想象的那么困難。只要ARM中的各個寄存器的名稱和功能,以及一些常用的指令語句記得清楚,那么同樣的用C語言編程是沒有什么困難的。對

19、于這種實踐性比較強的課程,一般情況下是少說多動手才有益于我們對這門課程的學(xué)習(xí)。對于程序設(shè)計來說,各個子程序的設(shè)計比較簡單,只需按照各個芯片的操作時序編程就可以。劉阿敏實習(xí)心得:本次A R M課程設(shè)計,我這一組選的是紅外感應(yīng)自動窗簾控制器,總共實習(xí)了兩周,實習(xí)過程中,完成了對硬件的焊接,雖然焊接過程中,出現(xiàn)了失誤和一些困難,但經(jīng)過自己的檢查和通過請教別人,一些小的難題都解決了,但比較困難的是功能的擴展。軟件實現(xiàn)的過程中,比較困難,大部分是通過去圖書館和上網(wǎng)解決,最終還是完成了課程設(shè)計。通過這次課設(shè),使我對ARM的知識更了解,尤其是在實際應(yīng)用中,知道了怎樣去編譯程序,怎么去調(diào)試,知道怎么和團隊一起

20、合作,一起解決問題,真的收益真大,相信這對以后的工作也會有幫助,其中也有老師的幫忙,謝謝李老師,和楊老師的指導(dǎo)!5.3設(shè)計程序:#include "config.h"#include "stdio.h"#define KEY1 1<<16 / P0.16#define KEY2 1<<20 / P0.20 #define BEEPCON 1<<7 / P0.7#define KEY3 1<<21 / P0.21#define KEY4 1<<17 / P0.17#define MOTO1 1&l

21、t;<9 / P0.9 #define MOTO2 1<<10/ P0.10#define MOTO3 1<<12/ P0.12#define MOTO41<<13/ P0.13#define MOTOCON0x3c003600 / MOTO控制字#define GPIOSET(PIN) IO0SET = PIN / 方便修改置位端口#define GPIOCLR(PIN)IO0CLR = PIN / 方便修改清位端口#define LCD_CON 0x000c0080 /液晶顯示控制字#define E_CLK (1<<18) ; /cl

22、ock input 同步時鐘輸入端 const uint32 RW_SID= (1<<19) ; /data input/output 串行數(shù)據(jù)輸入、輸出端 const uint32 CS = (1<<7); /P0.7unsigned char XX = "西安科技大學(xué)"unsigned char TM = "紅外智能窗簾"unsigned char XS = "劉 何 夏 蔡"unsigned char BJ = "自動化1105班"unsigned char ZZ = "開窗

23、簾:正轉(zhuǎn)"unsigned char ZZ1 = "每步走1.8"unsigned char FZ = "關(guān)窗簾:反轉(zhuǎn)"unsigned char TZ = "停止"unsigned char KD= "開度:"uint32 zhen;uint32 fan,temp=0,ADC_Data;uint8 tin;uint8 flag;void DelayNS(uint32 dly);void MOTO_Mode1(uint8 i); / AB-BC-CD-DA 正轉(zhuǎn)void MOTO_Mode2(uint8

24、i); / AD-DC-CB-BA 反轉(zhuǎn)void MOTO_Mode3(uint8 i); /電機停止void MOTO_A(uint8 i);void MOTO_B(uint8 i);/*/ /*以下是顯示器的子程序*/void delay(uint32 dly)uint32 i;for ( ; dly>0; dly-)for (i=0; i<10; i+); /串行發(fā)送一字節(jié)數(shù)據(jù) void SendByte(uint8 dat) uint8 i; IO0SET=CS; for(i=0;i<8;i+) IO0CLR=E_CLK ;delay(5);if(dat&0x

25、80)IO0SET=RW_SID;delay(5);else IO0CLR=RW_SID; IO0SET=E_CLK;delay(5); dat=dat<<1; IO0CLR=CS; /串行接收一字節(jié)數(shù)據(jù) unsigned char ReceieveByte(void) uint8 i,d1,d2; for(i=0;i<8;i+) IO0CLR=E_CLK;delay(5); IO0SET=E_CLK;delay(5); if(RW_SID)d1+; d1=d1<<1; for(i=0;i<8;i+) IO0CLR=E_CLK;delay(5); IO0SE

26、T=E_CLK;delay(5); if(RW_SID)d2+; d2=d2<<1; return (d1&0xF0+d2&0x0F); /寫控制命令 void SendCMD(uint8 dat) SendByte(0xF8); SendByte(dat&0xF0); SendByte(dat&0x0F)<<4); /寫顯示數(shù)據(jù)或單字節(jié)字符 void SendDat(uint8 dat) SendByte(0xFA); SendByte(dat&0xF0); SendByte(dat&0x0F)<<4); v

27、oid display(uint8 x_add, unsigned char * word) SendCMD(x_add); while(*word) SendDat(*(word+); /初始化 LCM void initlcm(void) delay(200); SendCMD(0x30);/功能設(shè)置,一次送8位數(shù)據(jù),基本指令集 SendCMD(0x0C);/0000,1100 整體顯示,游標off,游標位置off SendCMD(0x01);/0000,0001 清DDRAM SendCMD(0x02);/0000,0010 DDRAM地址歸位 SendCMD(0x80);/1000,0

28、000 設(shè)定DDRAM 7位地址000,0000到地址計數(shù)器AC /* 名 稱:main()* 功 能:根據(jù)表DISP_TAB來控制LED顯示。*/int main(void)PINSEL0&=0xFFFF3FFF;PINSEL1|=0x15400000;/PINSEL2&=0x00000000; /設(shè)置所有I/O口為GPIO口IO0DIR =MOTOCON|BEEPCON|LCD_CON;initlcm(); /12864初始化程序 display(0x80,XX); delay(100); display(0x90,TM); delay(100); display(0x88

29、,XS); delay(100); display(0x98,BJ); /DelayNS(1000); /IO0CLR=LCD_CON; /while(1); AD0CR = (1 << 1) |/ SEL = 1 ,選擇通道0 (Fpclk / 1000000 - 1) << 8) | / CLKDIV = Fpclk / 1000000 - 1 ,即轉(zhuǎn)換時鐘為1MHz (0 << 16) |/ BURST = 0 ,軟件控制轉(zhuǎn)換操作 (0 << 17) | / CLKS = 0 ,使用11clock轉(zhuǎn)換 (1 << 21) | /

30、 PDN = 1 , 正常工作模式(非掉電轉(zhuǎn)換模式) (0 << 22) | / TEST1:0 = 00 ,正常工作模式(非測試模式) (1 << 24) | / START = 1 ,直接啟動ADC轉(zhuǎn)換 (0 << 27);/ EDGE = 0 (CAP/MAT引腳下降沿觸發(fā)ADC轉(zhuǎn)換) DelayNS(10); ADC_Data = AD0DR;while(1)AD0CR = (AD0CR&0x00FFFF00)|0x08|(1 << 24);while (AD0DR & 0x80000000) = 0);/ 等待轉(zhuǎn)換結(jié)束A

31、D0CR |= 1 << 24;/ 再次啟動轉(zhuǎn)換while (AD0DR & 0x80000000) = 0);/ 等待轉(zhuǎn)換結(jié)束ADC_Data= AD0DR;ADC_Data = (ADC_Data >> 6) & 0x3ff;ADC_Data = ADC_Data * 3280;ADC_Data=ADC_Data/1024;if(KEY4&IO0PIN)=0)while(KEY4&IO0PIN)=0);temp+;delay(5);if(temp%2)=1)if (ADC_Data>2000)MOTO_B(6);if(fan=0

32、x587) initlcm(); display(0x80,TZ); delay(100);elseMOTO_A(6);if(fan=0x587) initlcm(); display(0x80,TZ); delay(100);if(KEY1&IO0PIN)=0)delay(5);if(KEY1&IO0PIN)!=0&&(flag=0)MOTO_Mode1(6);flag=1;/if(KEY1&IO0PIN)=0)/delay(5);if(KEY1&IO0PIN)!=0&&(flag!=0)MOTO_Mode2(6);fan=0x

33、00;flag=0;/else if(KEY2&IO0PIN)=0) MOTO_Mode2(6); /WaitKey3(); if (KEY3&IO0PIN)=0) MOTO_Mode3(6); return 0;/* 名 稱:DelayNS()* 功 能:長軟件延時* 入口參數(shù):dly延時參數(shù),值越大,延時越久* 出口參數(shù):無*/void DelayNS(uint32 dly) uint32 i; for(; dly>0; dly-) for(i=0; i<4000; i+); void MOTO_B(uint8 i)initlcm(); display(0x80

34、,FZ); delay(100); display(0x90,ZZ1); delay(100); if(zhen<=1400) display(0x88,KD);delay(100);SendCMD(0x8B);SendDat(zhen/14)/10+0x30); SendCMD(0x8C);SendDat(zhen/14)%10+0x30); /* AD*/ GPIOSET(MOTO1); GPIOSET(MOTO4); DelayNS(i); GPIOCLR(MOTO1); GPIOCLR(MOTO4); /* DC */ GPIOSET(MOTO4); GPIOSET(MOTO3); DelayNS(i); GPIOCLR(MOTO4); GPIOCLR(MOTO3); /* CB */ GPIOSET(MOTO3); GPIOSET(MOTO2); DelayNS(i); GPIOCLR

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論