




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
[19]。定時(shí)器如果工作在PWM模式下,計(jì)數(shù)值不斷與捕獲比較值和自動(dòng)重裝載值進(jìn)行比較。例如在計(jì)數(shù)遞增情況下,當(dāng)cnt<ccr時(shí)輸出低電平;當(dāng)arr>cnt≥ccr時(shí)輸出高電平;當(dāng)cnt=aar時(shí)輸出低電平同時(shí)計(jì)數(shù)值歸零,重新開(kāi)始計(jì)數(shù)。不斷循環(huán)產(chǎn)生PWM波形,通過(guò)改變CCRx和AAR的值來(lái)控制波形的寬度和頻率。PWM波形產(chǎn)生的示意圖和實(shí)際波形圖如圖11、圖12所示:圖11PWM波形產(chǎn)生示意圖圖12PWM實(shí)際波形圖需要注意的是電平是否有效,取決于選擇的PWM模式。如表1所示表1PWM1和PWM2的區(qū)別模式計(jì)數(shù)方式說(shuō)明PWM1遞增遞減CNT<CCR,通道CH為有效,否則為無(wú)效
CNT>CCR,通道CH為無(wú)效,否則為有效PWM2遞增CNT<CCR,通道CH為無(wú)效,否則為有效
CNT>CCR,通道CH為有效,否則為無(wú)效遞減PWM函數(shù)流程圖如圖13所示:圖13PWM函數(shù)流程圖3.1.3外部按鍵中斷函數(shù)外部按鍵中斷是當(dāng)外部有按鍵按下時(shí),CPU首先處理中斷處理調(diào)用中斷服務(wù)函數(shù)執(zhí)行相應(yīng)程序,完成以后回到斷點(diǎn)繼續(xù)執(zhí)行原來(lái)的程序。本文使用了兩個(gè)按鍵,分別與GPIOB12、GPIOB14相連接,與之對(duì)應(yīng)的中斷線就映射到了EXTI12和EXTI14上。當(dāng)按下按鍵1時(shí),中斷線EXTI12響應(yīng)調(diào)用中斷函數(shù)執(zhí)行模式二;當(dāng)按下按鍵2時(shí),中斷線EXTI14響應(yīng)調(diào)用中斷函數(shù)執(zhí)行模式三。外部中斷函數(shù)需要進(jìn)行中斷優(yōu)先級(jí)配置、外部中斷配置、按鍵輸入配置。(1)初始化GPIO口并開(kāi)啟復(fù)用時(shí)鐘。(2)配置按鍵輸入。(3)初始化中斷。(4)NVIC初始化。選擇中斷分組、配置中斷通道、響應(yīng)優(yōu)先級(jí)、搶占優(yōu)先級(jí),并使能。(5)編寫(xiě)中斷服務(wù)函數(shù)。根據(jù)按鍵1或按鍵2哪個(gè)按下,選擇閃爍模式。(6)清除中斷標(biāo)志位。中斷流程圖如圖14所示:圖14中斷流程圖3.1.4按鍵掃描函數(shù)按鍵輸入配置步驟:(1)使能與按鍵相對(duì)應(yīng)的GPIO時(shí)鐘。(2)初始化GPIO口模式。指定對(duì)應(yīng)IO口、設(shè)置上拉/下拉模式,初始化IO口。(3)掃描IO口電平。這里需要用到掃描函數(shù)。按鍵掃描函數(shù)有兩種:支持連按方式和不支持連按方式。決定是否采用哪種掃描方式是由Mode來(lái)設(shè)置的,將其設(shè)定為零時(shí)模式為不支持連按,在按下按鍵時(shí)必須要釋放,否則掃描按鍵時(shí)不會(huì)二次掃描也不會(huì)執(zhí)行相應(yīng)的子程序;把其設(shè)定為1時(shí)模式為支持連按,在按下按鍵沒(méi)有松開(kāi)時(shí),掃描時(shí)會(huì)一直響應(yīng)返回鍵值執(zhí)行相應(yīng)的子程序。掃描按鍵一般會(huì)經(jīng)過(guò)以下幾個(gè)過(guò)程:判斷按鍵是否按下、按鍵去抖、掃描按鍵、確定按鍵位置并計(jì)算按鍵值,返回鍵值。具體掃描流程圖如圖15所示:圖15按鍵掃描流程圖3.1.5萬(wàn)年歷顯示函數(shù)如果想要實(shí)現(xiàn)顯示萬(wàn)年歷的功能,需要一個(gè)LCD顯示屏和一個(gè)是時(shí)鐘芯片。而TFT9341顯示屏則需要ILI9341芯片驅(qū)動(dòng),芯片提供了兩種接口方式可以選擇,8位或16位的8080并行接口或者3/4線的SPI串行接口。本文采用四線的SPI模式,四線由片選引腳(CS)、時(shí)鐘引腳(SCK)、數(shù)據(jù)命令選擇引腳(DC)數(shù)據(jù)輸入引腳(SDI)構(gòu)成,連接電路如圖16所示:圖16SPI連接線路如果想要進(jìn)行顯示操作,一般需要畫(huà)點(diǎn)、讀點(diǎn)、填充和清屏等三步這里就不讀介紹。這里主要介紹從DS1302時(shí)鐘芯片讀取正確的時(shí)間過(guò)程和程序配置,首先我們要把1302芯片與單片機(jī)連接的兩根線(SCLK、CE)進(jìn)行端口初始化(使能IO口、設(shè)置速度、輸出輸入模式),將雙向IO口分別配置輸出狀態(tài)(推挽輸出)和輸入狀態(tài)(浮空輸入);然后對(duì)DS1302芯片進(jìn)行讀寫(xiě)操作,不論進(jìn)行哪種操作都需要先將SCLK置零使其不具備寫(xiě)保護(hù)能力;最后將讀取到的年、月、日、小時(shí)、分鐘、秒等數(shù)據(jù)拆分傳輸?shù)揭壕э@示屏上。具體過(guò)程如圖17所示:圖17DS1302讀寫(xiě)流程圖3.2軟件開(kāi)發(fā)工具KeiluVision5MDK版是ARM旗下德國(guó)Keil公司在2013年使用uVision5IDE開(kāi)發(fā)環(huán)境下推出針對(duì)ARM控制器的一款軟件。在軟件中有多個(gè)廠家不同的芯片,是為滿足嵌入式工程師的要求專門設(shè)計(jì)的集成開(kāi)發(fā)工具,與KeilC51不同MDK5是擴(kuò)展版,主要服務(wù)對(duì)象不再是8051這種簡(jiǎn)單的CPU而是ARM9、Cortex-M4/M3/M1等32位微控制器內(nèi)核,是主流的ARM開(kāi)發(fā)軟件。其提供了ANSIC編譯器、宏匯編、工程庫(kù)管理、鏈接器、仿真器等五部分,為工程師如期完成任務(wù)提供了方便。此款軟件并未發(fā)行國(guó)內(nèi)版本,是由國(guó)內(nèi)三家公司共同提供Keil的銷售和售后技術(shù)支持。使用軟件Keil5MDK時(shí)我們首先需要新建一個(gè)文件夾來(lái)保存工程,再點(diǎn)開(kāi)軟件新建工程,接著在彈出的窗口選擇自己所使用的的芯片STM32F103C8然后點(diǎn)擊“OK”就行,建好工程后添加工程項(xiàng)目在彈出的窗口編輯代碼。我們還需要點(diǎn)擊魔術(shù)棒進(jìn)行項(xiàng)目管理和將添加對(duì)應(yīng)的頭文件加入到我們的工程當(dāng)中,具體過(guò)程步驟過(guò)多這里不多介紹。在第一次使用時(shí)我們需要設(shè)置軟件使其編譯完成以后產(chǎn)生對(duì)應(yīng)的.hex文件,否則無(wú)法將程序燒入到單片機(jī)當(dāng)中。當(dāng)我們完成程序的編寫(xiě)和編譯通過(guò)以后,就要將程序下載到處理器里邊,本文采用JLINK引出四根杜邦線與C8T6核心板上3.3V引腳、GND引腳、CLK引腳、SWDIO引腳等一一對(duì)應(yīng)相連接,這樣就可以把程序燒入到處理器內(nèi)部,然后就可以進(jìn)行調(diào)試。第4章制作與調(diào)試4.1電路板腐蝕與焊接在經(jīng)過(guò)理論基礎(chǔ)學(xué)習(xí)和硬件及軟件設(shè)計(jì)以后,我們需要將其真正制作出來(lái)。制作步驟主要分為兩部分:電路板腐蝕和電路板器件的焊接。4.1.1電路板腐蝕電路板腐蝕一般分為以下七個(gè)步驟:(1)使用軟件AD16畫(huà)出芯片原理圖、電阻、LED、時(shí)鐘芯片等器件,并放到合適的位置進(jìn)行連線。(2)將電路原理圖轉(zhuǎn)換為PCB圖,將主要元器件放在中間然后將LED燈放在器件的周圍并使LED燈呈現(xiàn)出心形的形狀然最后進(jìn)行器件之間的走線,切記不要漏掉,否則會(huì)影響成品的成敗。(3)使用打印機(jī)把PCB圖打印出來(lái),并將熱轉(zhuǎn)印紙裁剪。(4)轉(zhuǎn)印電路板。首先根據(jù)熱轉(zhuǎn)印紙裁剪板子,在用砂紙將板子打磨,最后使用機(jī)器轉(zhuǎn)印。(5)可能會(huì)存在轉(zhuǎn)印不好的地方,使用馬克筆涂一下。(6)腐蝕電路板。配置腐蝕液(40%的FeCl3和60%的溫水),將PCB電路板放進(jìn)腐蝕液中完成以后應(yīng)立即取出防止腐蝕電路,然后用水沖洗、擦干,最后用砂紙擦拭干凈。(7)為了保存時(shí)間長(zhǎng)一點(diǎn),一般使用松香液涂抹一下打磨好的PCB電路板。注意:腐蝕電路板會(huì)存在一定的危險(xiǎn)性,在腐蝕過(guò)程中我們應(yīng)該遠(yuǎn)離腐蝕液,因?yàn)楦g液揮發(fā)帶有一定的毒性;避免接觸到腐蝕液,當(dāng)我們接觸到腐蝕液后應(yīng)該立即用水沖洗十五分鐘,眼睛接觸時(shí)應(yīng)馬上提起眼瞼用水或生理鹽水沖洗。4.2.2電路板器件焊接(1)在我們完成PCB電路板腐蝕以后,需要將電路元器件按照電路板連線時(shí)確定的位置擺放。注意有的器件需要區(qū)分正負(fù)極不能裝反(電容引腳長(zhǎng)度不同,長(zhǎng)的引腳對(duì)應(yīng)正極),擺放時(shí)應(yīng)擺列整齊,同一器件不能兩邊高度不一。(2)準(zhǔn)備焊接。準(zhǔn)備好焊鐵和焊錫及助焊劑(松香或焊膏),清理烙鐵頭保證烙鐵可以正常吃錫。(3)加熱焊接。將焊鐵移動(dòng)到焊點(diǎn)進(jìn)行加熱同時(shí)加入焊錫,幾秒鐘之后拿走焊錫和電焊鐵。拿開(kāi)焊鐵時(shí)要保證元器件與焊錫已經(jīng)牢固,避免造成焊的不結(jié)實(shí)或虛焊。(4)清理焊接點(diǎn)。焊接的時(shí)候可能會(huì)因?yàn)楹附訒r(shí)間過(guò)長(zhǎng)造成焊接點(diǎn)焊錫太多,我們需要將焊鐵頭上邊過(guò)多的焊錫清理掉(注意不要碰到皮膚或清理到PCB板上邊),然后用焊鐵將焊錫沾掉一些。(5)檢查和修剪焊點(diǎn)。檢查焊點(diǎn)是否美觀、牢固,避免與其他的元器件連到一起,連焊會(huì)造成器件的損壞。同時(shí)把過(guò)長(zhǎng)的元器件引腳剪掉使整體更加簡(jiǎn)潔整齊。在焊接過(guò)程中難以避免會(huì)發(fā)生焊錯(cuò)元器件,這時(shí)我們需要把器件拆掉。面對(duì)像電容電阻這類引腳數(shù)少的器件只需將焊點(diǎn)融化,然后用鑷子夾掉元器件。但是面對(duì)多焊點(diǎn)器件時(shí)我們首先要用吸錫器把各個(gè)引腳的焊點(diǎn)清理干凈以后才能使用鑷子取出器件。注意:在不使用電烙鐵時(shí)不要將電烙鐵隨意放在某個(gè)地方,需要將其放進(jìn)烙鐵架里邊,因?yàn)槔予F溫度太高會(huì)燒壞皮膚或損壞導(dǎo)線造成危險(xiǎn);烙鐵旁不能放置易燃易爆物品以免發(fā)生火災(zāi)或爆炸。同時(shí)需及時(shí)關(guān)閉電源,以加長(zhǎng)烙鐵的使用時(shí)間。4.2系統(tǒng)調(diào)試在經(jīng)過(guò)電路板腐蝕和元器件焊接過(guò)程以后,因?yàn)殡娮釉骷男阅軈?shù)具有離散性,類型不同的電子器件組合在一塊所呈現(xiàn)出的效果和運(yùn)行狀態(tài)可能會(huì)與預(yù)想的有所差異,所以我們就需要進(jìn)行系統(tǒng)調(diào)試。調(diào)試一般會(huì)花費(fèi)項(xiàng)目的很多時(shí)間,系統(tǒng)調(diào)試過(guò)程主要分為以下兩個(gè)部分:硬件調(diào)試和軟件調(diào)試。但在實(shí)際調(diào)試過(guò)程中硬件和軟件一般都需要聯(lián)合起來(lái)一塊調(diào)試,在焊接一部分硬件電路后可以先進(jìn)行軟件調(diào)試這樣可以避免重復(fù)拆卸,沒(méi)有問(wèn)題以后在進(jìn)行另外一部電路的制作。4.2.1硬件調(diào)試在電路板腐蝕或焊接完成以后,我們不要立即插入主要器件,最好在給電路板提供電源之前根據(jù)電路原理圖檢查電路板線路連接是否正確和是否出現(xiàn)開(kāi)路、錯(cuò)線等工藝性錯(cuò)誤。在給電路板供電以后,使用萬(wàn)能表或類似的檢查工具測(cè)試器件的各個(gè)引腳的電壓是否符合數(shù)值和正負(fù)極要求,避免線路之間的短路燒壞電子器件。在檢查元器件時(shí)首先核對(duì)器件的型號(hào)和規(guī)格是否符合,然后一個(gè)一個(gè)插入,分別通電這樣容易檢測(cè)出器件是否損壞,注意的是有些器件是有極性的,需要按照正確的方向放置和焊接。在全部電子器件焊接完畢后,為電路板供電,判斷各個(gè)器件之間的邏輯關(guān)系,檢查所呈現(xiàn)出的效果是否與自己的預(yù)想的相同。如果與實(shí)現(xiàn)的功能有所不同,我們就需要檢查并分析硬件電路,判斷是否更改電路。但是我們之前提過(guò)通過(guò)軟件如果能實(shí)現(xiàn)功能就不要更改硬件,用時(shí)間來(lái)交換空間,因?yàn)橛布娐返脑黾硬粌H會(huì)提高制作成本還會(huì)增加電路的故障率。4.2.2軟件調(diào)試系統(tǒng)軟件分為多個(gè)程序模塊,在軟件調(diào)試過(guò)程中先將每個(gè)模塊單獨(dú)進(jìn)行調(diào)試,再把模塊組合起來(lái)進(jìn)行總體調(diào)試。實(shí)現(xiàn)的功能可能較為復(fù)雜,我們可以從簡(jiǎn)單的入手一步一步的進(jìn)行細(xì)化最后完成自己的需求。本文需要用多路PWM控制多個(gè)LED燈的明暗,我們就從簡(jiǎn)單的開(kāi)始,首先使用一個(gè)定時(shí)器產(chǎn)生兩路PWM使其能夠控制兩個(gè)LED燈的明滅,在調(diào)試符合要求以后對(duì)程序進(jìn)行修改,就可以實(shí)現(xiàn)自己的需求。在此基礎(chǔ)上,根據(jù)功能增加按鍵中斷功能和萬(wàn)年歷顯示功能,具體過(guò)程就不多介紹。軟件調(diào)試需要將程序燒入硬件系統(tǒng)中,這里需要注意在我們程序編寫(xiě)完畢之后進(jìn)行編譯,編譯通過(guò)以后會(huì)生成一個(gè).hex文件。有些同學(xué)第一次使用時(shí)可能并未進(jìn)行設(shè)置編譯以后沒(méi)有生成文件,在軟件界面上會(huì)有一個(gè)魔術(shù)棒,點(diǎn)擊OutPut勾選CreateHEXFile,這樣就可以將程序下載到硬件系統(tǒng)中。具體調(diào)試過(guò)程中我們可以使用模擬調(diào)試功能,在程序當(dāng)中設(shè)置斷點(diǎn)和單步執(zhí)行,也可以跳過(guò)語(yǔ)句或直接運(yùn)行到光標(biāo)處,我們可以在監(jiān)視窗口查看變量和寄存器的值。第5章總結(jié)與展望5.1總結(jié)為了實(shí)現(xiàn)呼吸燈和萬(wàn)年歷的功能,有關(guān)它設(shè)計(jì)的所有內(nèi)容已經(jīng)全部介紹完畢。因?yàn)椴⑽唇佑|過(guò)STM32,本次設(shè)計(jì)一切從零開(kāi)始,從簡(jiǎn)單的基礎(chǔ)知識(shí)開(kāi)始學(xué)習(xí)和查閱資料了解各個(gè)器件的功能,再進(jìn)行方案的設(shè)計(jì)、程序的編寫(xiě)。本文主要介紹了國(guó)內(nèi)外對(duì)此的研究和以后的發(fā)展趨勢(shì)、前期所需要學(xué)習(xí)的理論知識(shí)、系統(tǒng)硬件和軟件的設(shè)計(jì)、制作與調(diào)試。設(shè)計(jì)所呈現(xiàn)出來(lái)的功能完備、運(yùn)行穩(wěn)定,呼吸燈變換方式多樣,萬(wàn)年歷讀取方便、顯示直觀。5.2展望在整個(gè)設(shè)計(jì)過(guò)程中,由于時(shí)間和自己能力的原因,本次系統(tǒng)設(shè)計(jì)還是比較簡(jiǎn)單只能實(shí)現(xiàn)基本的功能還存在很多的不足需要改進(jìn)。例如:(1)燈變換的模式較少和變換樣式簡(jiǎn)單,需要優(yōu)化程序增加多樣性。(2)液晶顯示屏只能顯示萬(wàn)年歷,顯示單一,可以加入一個(gè)溫度感應(yīng)模塊或聲音檢測(cè)裝置加以顯示,增加趣味性。(3)燈的變換需要電路板按鍵控制才能改變,可以增加無(wú)線傳輸模塊實(shí)現(xiàn)短距離控制。(4)可以實(shí)現(xiàn)使用手機(jī)APP控制,提高可玩性和可操作性。參考文獻(xiàn)馬永杰.單片機(jī)原理及應(yīng)用[M].北京:清華大學(xué)出版社,2013:1-2.張毅剛,彭宇,趙光權(quán).單片機(jī)原理及接口技術(shù)[M].北京:人民郵電出版社,2011:15-15.邙蕓浩.51和STM32單片機(jī)區(qū)別[J].電子報(bào),2019.09.29(007).廉佐政,王海珍.基于STM32的PWM輸出實(shí)驗(yàn)[J].實(shí)驗(yàn)技術(shù)管理,2017,34(8)137-140程文龍,徐瑾,孫智勇.基于STM32呼吸燈的實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2018,14(07):198-199周志敏,紀(jì)愛(ài)華.白光LED驅(qū)動(dòng)電路設(shè)計(jì)與應(yīng)用實(shí)例[M].北京:人民郵電出版社,2009:3-7.劉木淸,周徳成,梅毅.LED與傳統(tǒng)光源比較分析[J].照明工程學(xué)報(bào),2006,17:4劉增基,周洋溢等.光纖通信[M].西安:西安電子科技大學(xué)出版社,2009:57-59薛士然.STM32F0滿足不了設(shè)計(jì)要求?試試STM32G0![J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2019,19(01):90.王志鵬,周博昊,王素芹.LED可見(jiàn)光通信系統(tǒng)設(shè)計(jì)[J].中外企業(yè)家,2020(21):139.劉磊.基于STM32的電子萬(wàn)年歷系統(tǒng)設(shè)計(jì)[J].科技資訊,2015,13(01):20.田德永.基于STM32定時(shí)器的PWM實(shí)驗(yàn)教學(xué)[J].電子技術(shù)與軟件工程,2019(20):102-103.王
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 書(shū)出版社合同樣本
- 個(gè)人車輛借款合同樣本
- 保險(xiǎn)購(gòu)銷合同樣本
- app項(xiàng)目轉(zhuǎn)讓合同標(biāo)準(zhǔn)文本
- 入伙投資協(xié)議合同樣本
- 供暖安裝合同樣本
- 一手房屋合同樣本
- 五金下游合同樣本
- 入股開(kāi)廠合同標(biāo)準(zhǔn)文本
- 東莞商鋪轉(zhuǎn)讓合同樣本
- 無(wú)人機(jī)應(yīng)用技術(shù)概論-第-1-章-緒論
- 工程造價(jià)咨詢服務(wù)投標(biāo)方案(技術(shù)方案)
- HG∕T 2366-2015 二甲基硅油 標(biāo)準(zhǔn)
- 2024年風(fēng)力發(fā)電運(yùn)維值班員(技師)技能鑒定考試題庫(kù)-上(選擇題)
- 檳榔園出租合同范本
- 煤炭開(kāi)采特種機(jī)器人的設(shè)計(jì)與制造
- 小米公司財(cái)務(wù)績(jī)效分析
- 室內(nèi)裝修施工組織設(shè)計(jì)
- G -B- 39800.6-2023 個(gè)體防護(hù)裝備配備規(guī)范 第6部分:電力(正式版)
- 《水泵及水泵站》配套習(xí)題資料
- 干部人事檔案轉(zhuǎn)遞單(帶存根回執(zhí))
評(píng)論
0/150
提交評(píng)論