基于STM32的溫度測(cè)量系統(tǒng)畢業(yè)設(shè)計(jì)論文_第1頁(yè)
基于STM32的溫度測(cè)量系統(tǒng)畢業(yè)設(shè)計(jì)論文_第2頁(yè)
基于STM32的溫度測(cè)量系統(tǒng)畢業(yè)設(shè)計(jì)論文_第3頁(yè)
基于STM32的溫度測(cè)量系統(tǒng)畢業(yè)設(shè)計(jì)論文_第4頁(yè)
基于STM32的溫度測(cè)量系統(tǒng)畢業(yè)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGE10PAGE10德州學(xué)院 物理與電子信息學(xué)院 2016屆 物聯(lián)網(wǎng)方向 畢業(yè)設(shè)計(jì)基于STM32的溫度測(cè)量系統(tǒng)梁棟(德州學(xué)院物理與電子信息學(xué)院,山東德州253023)顯得很有意義了。面對(duì)電子信息技術(shù)的進(jìn)步,生成了各種形式的溫度測(cè)量系統(tǒng)。本文設(shè)計(jì)了一個(gè)基于以STM32為核心的溫度測(cè)量與無(wú)線傳送的系統(tǒng),溫度信息采集使用數(shù)字化溫度傳感器DS18B20,無(wú)線傳輸使用ATK-HC05藍(lán)牙模塊的智能測(cè)溫系統(tǒng)。關(guān)鍵詞STM32;DS18B20;TFTLCD;智能測(cè)溫系統(tǒng)1緒論在現(xiàn)代社會(huì)的生產(chǎn)生活中,人們對(duì)于產(chǎn)品的精度要求越來(lái)越高,而溫度是人們?cè)谏a(chǎn)生活中十分關(guān)注的參數(shù),因此,對(duì)溫度的測(cè)量以及監(jiān)控就顯得十分重要。在某些行業(yè)中對(duì)溫度的要求較高,由于工作環(huán)境溫度的偏差進(jìn)而引發(fā)事故。如化工業(yè)中做酶的發(fā)酵,必須時(shí)刻了解所發(fā)酵酶的溫度才可以得到所需酶;文物的保護(hù)同樣也離不開(kāi)溫度的采集,不僅在考古文物的出土?xí)r間上,還是在檔案館和紀(jì)念館中,溫度的控制也是藏品保存關(guān)鍵,所以溫度的檢測(cè)對(duì)其也是具有重要意義的;另外大型機(jī)房的溫度的采集,超出此范圍會(huì)影響服務(wù)器或系統(tǒng)的正常工作等等。傳統(tǒng)方式監(jiān)控溫度往往很耗費(fèi)人力,而且實(shí)時(shí)性差。本文就設(shè)計(jì)了一個(gè)基于STM32的溫度測(cè)量系統(tǒng),在測(cè)量溫度的同時(shí)能實(shí)現(xiàn)無(wú)線傳輸與控制。STM32RBT6同時(shí)在編程方面STM3251STM32所有的初始化和一些STM32的發(fā)展STM32目前是剛剛被作為主流開(kāi)發(fā)的單片機(jī),所以其前景是無(wú)可估量的,這次畢業(yè)設(shè)計(jì)也是看好了其優(yōu)越的發(fā)展趨勢(shì)來(lái)選擇的。10米的半徑范圍內(nèi)實(shí)現(xiàn)單點(diǎn)對(duì)多點(diǎn)的無(wú)線數(shù)據(jù)傳輸,其數(shù)據(jù)傳輸帶寬可達(dá)1MbpsAltiumDesigner原理圖設(shè)計(jì)、信號(hào)完整性設(shè)計(jì)、分析等諸多功能,使用起來(lái)很方便。通過(guò)原理圖的繪制,德州學(xué)院 物理與電子信息學(xué)院 2016屆 物聯(lián)網(wǎng)方向 畢業(yè)設(shè)計(jì)對(duì)整體的結(jié)構(gòu)有了更深一步的了解。借助RealViewMDK完成軟件部分的設(shè)計(jì),它包括RealView編譯器、KeilμVision3開(kāi)發(fā)環(huán)境,可以使用Cortex-M3核處理器,代碼實(shí)現(xiàn)自動(dòng)配置、自動(dòng)啟動(dòng),配有Flash燒寫(xiě)模塊設(shè)備模擬功能極其強(qiáng)大,可以針對(duì)軟件實(shí)現(xiàn)仿真在仿真過(guò)程中能夠?qū)陀布嘘P(guān)的寄存器進(jìn)行查看通過(guò)觀察這些寄存器Jlink最后的成品較好的完成了預(yù)定的設(shè)計(jì)要求,能準(zhǔn)確的顯示溫度數(shù)據(jù),能與移動(dòng)終端實(shí)現(xiàn)異步雙工通信,達(dá)到傳輸溫度和遠(yuǎn)程控制的目的。通過(guò)本次設(shè)計(jì),更加深入的理解了stm32的相關(guān)寄存器,并掌握其工作原理。更加深A(yù)ltiumDesigner、RealView電、模電、單片機(jī)原理、c語(yǔ)言、通信原理等,有效的培養(yǎng)分析和解決實(shí)際問(wèn)題的綜合能力,得到更加全面的培養(yǎng)和鍛煉,是對(duì)大學(xué)期間所學(xué)知識(shí)的一次綜合性應(yīng)用。2系統(tǒng)分析STM32微控制器所設(shè)計(jì)的溫度測(cè)量系統(tǒng),通過(guò)溫度芯片傳感器DS18B20發(fā)送至手機(jī)終端,同時(shí)接收終端反饋的控制信息。DS18B20MCUSTM32主芯片的最小板,上面有芯片工作需要的最少資源:時(shí)鐘控制電路、JTAG接口、復(fù)位電路以及與外圍電路相連的接口。DS18B20和液晶分別是溫度測(cè)量、控制顯示部分。而藍(lán)牙模塊負(fù)責(zé)完成與移動(dòng)終端的異步雙工通信。2.1 STM32ARMCortex-M3內(nèi)核,STM32系列是以嵌入式應(yīng)用為設(shè)計(jì)基礎(chǔ),具有功耗分為“基本型”兩個(gè)主要的系列。前者使用頻率為72MHz德州學(xué)院 物理與電子信息學(xué)院 2016屆 物聯(lián)網(wǎng)方向 畢業(yè)設(shè)計(jì)該產(chǎn)品具有最高的性能;后者使用頻率為36MHz的時(shí)鐘,其價(jià)格與16位的產(chǎn)品相近,而其性能要比16位產(chǎn)品高的多,如果用戶(hù)選擇16位產(chǎn)品,此款產(chǎn)品是不二之選。在兩個(gè)系列中配備的閃存大小由只是在外設(shè)結(jié)構(gòu)SRAM最大容量方面存在不同的組合對(duì)于頻率為72MHz的時(shí)鐘,代碼均在閃存中執(zhí)行,市場(chǎng)上32位的產(chǎn)品系列中,STM32具有最低的功耗,低至36mA,即0.5mA/MHz。STM32Cortex-M31.25DMips/MHz;其外設(shè)也是非121us)兆位/秒)、較快的I/O翻轉(zhuǎn)速度兆位/秒);72MHz36mA2uA。位的工作頻率最高可達(dá)72MHz1.25DMIPS/MHz,支持硬件除法、單周期乘法。Flash32-512KB,SRAM6-64KB。電源、復(fù)位、時(shí)鐘管理:電源、接口驅(qū)動(dòng)電壓范圍由2.0-3.6V;可編程PVD(測(cè)器)、PDR、POR4-16MHzRC8MHzRC40KHz;PLL(CPU所用的時(shí)鐘);RTC32kHz,帶校準(zhǔn)功能。用于備用寄存器、RTC電源需要。調(diào)試模式:JTAG接口、串行調(diào)試(SWD)。DMA:DMA12、DAC、ADC、、定時(shí)器等諸216A/Dus120-3.6具有保持、雙采樣的功能,同時(shí)還配置了溫度傳感器(1個(gè))。STM32F103xC/D/E2A/D12I/O端口的112個(gè),按照不同的型號(hào),I/O26、37、51、80、112幾種,165V11164個(gè),一個(gè)定時(shí)器擁有的脈沖計(jì)數(shù)器、PWM/OC/IC4個(gè);6216位,用于PWM62個(gè),分別是窗口、獨(dú)立型;Systick24DAC216位。德州學(xué)院 物理與電子信息學(xué)院 2016屆 物聯(lián)網(wǎng)方向 畢業(yè)設(shè)計(jì)13個(gè),IICPMBus、SMBus;USART5個(gè),分別是調(diào)試控制、IrDA兼容、ISO7816接口、LIN;SPI3個(gè),18IISCANSDIOUSB2.0STM32F103xx系列微控制器所使用的封裝形式是ECOPACK封裝。ARMCortex-M3內(nèi)核集成了SRAMFlash8/16ARMCortex-M3RISC32位的,處理代碼的效率更高。STM32F103xxARMARM工具、軟件都可以實(shí)現(xiàn)兼容。Flash63KBCPU的時(shí)鐘速度。STM32F103xC/D/EFSMC4NAND、PSRAM、NOR、RAM、FlashOR后,3FSMCNVIC相連。它不具有FIFOPCCARD是在內(nèi)部執(zhí)行,其余代碼的執(zhí)行都是依靠外部存儲(chǔ)器,Boot72MHz36MHz。配備矢量中斷控制器除Cortex-M31643以自動(dòng)恢復(fù)中斷入口,而無(wú)需任何指令。它的外部中斷//事件請(qǐng)求,19條。對(duì)于每一條線,可以對(duì)其實(shí)施單獨(dú)屏蔽,在下降沿、上升沿等觸發(fā)事件的選APB2所對(duì)應(yīng)的時(shí)鐘周期,如果外部線上的脈沖周期更長(zhǎng),那么這種情況可以通過(guò)EXTI進(jìn)行探測(cè),GPIO112個(gè),和外部中斷線(16個(gè))相連。CPU8MHz4-16MHzPLLAPBAPB1、PB2AHB頻率進(jìn)行配置時(shí)可以借助多個(gè)預(yù)比較器,前36MHz72MHz。德州學(xué)院 物理與電子信息學(xué)院 2016屆 物聯(lián)網(wǎng)方向 畢業(yè)設(shè)計(jì)啟動(dòng)時(shí)可以借助Boot引腳選擇3種Boot選項(xiàng)中的任意一種,可以通過(guò)系統(tǒng)存儲(chǔ)器、SRAM、用戶(hù)Flash實(shí)現(xiàn)導(dǎo)入。Boot將相應(yīng)的程序?qū)氲较到y(tǒng)的存儲(chǔ)器內(nèi),借助USART1,重新編程Flash存儲(chǔ)器。VDDVDD引腳為其提供相應(yīng)的外部電源,主要用IO接口。對(duì)應(yīng)的VDDAVSSA2.0-3.6VPLL、RCADCADC2.4V,VDDA、VSSAVDDVDD、VSS相連接。VBAT具有的電壓范圍是1.8-3.6VVDD32KHz晶振供電。POR、PDR,此電路時(shí)鐘有效,2V的情況下可以正常啟動(dòng),在電壓降至2V時(shí)進(jìn)行相應(yīng)的操作。如果VDD比下VPOR/PDRVDDVPVDVDD高或者低,MCUPVD主要使軟件處于使能狀態(tài)。它配有低功耗(LPR)、主(MR)、掉電三種模式的調(diào)壓器,傳統(tǒng)調(diào)節(jié)模式使用MR,而停止模式使用LPR、待機(jī)模式使用掉電,掉電模式下,調(diào)壓器高阻輸出,核心電路發(fā)生掉電,在保證SRAM、寄存器內(nèi)容未丟失的前提下消耗為零。STM32F103xx3種模式的低功耗,非常好的平衡了喚醒源、短啟動(dòng)時(shí)間、低功耗的問(wèn)題。CPU處于停止?fàn)顟B(tài),外設(shè)正常運(yùn)行,此模式即休眠模式,在發(fā)生中斷/事件時(shí)CPU被喚醒;在寄存器、SRAM內(nèi)容保持的過(guò)程中,使用最小功耗,即停止模式,停止1.8V區(qū)域內(nèi)的時(shí)鐘,同時(shí)禁用HSERCPLLTRC警告,實(shí)現(xiàn)PVD1.8V區(qū)域的HSERC、HSI、PLL。如果處于待機(jī)模式,寄存器、SRAM、待機(jī)電路、IWDGWKUPTRC警告、出現(xiàn)上升沿,那么設(shè)備便由待機(jī)模式退出,當(dāng)處在待機(jī)或者停止模式時(shí),并不會(huì)停IWDG、TRC、時(shí)鐘源。選型片的原則是:看功耗,本次設(shè)計(jì)的溫度系統(tǒng)需要在外場(chǎng)長(zhǎng)時(shí)間工作,必須保證較低的功耗;如果性能滿(mǎn)足要求,那么必須保證較低的成本。德州學(xué)院 物理與電子信息學(xué)院 2016屆 物聯(lián)網(wǎng)方向 畢業(yè)設(shè)計(jì)32位市場(chǎng)上,STM320.5mA/MHz36MHz16位產(chǎn)品的價(jià)格,所得到的產(chǎn)品性能要比16mcuSTM32RBT6。2.2DS18B20DALLAS9-123-5.5VEEPROM中存儲(chǔ)用戶(hù)預(yù)先設(shè)定的報(bào)警溫度、分辨率,即使出現(xiàn)掉電,依然保存相關(guān)內(nèi)容。針對(duì)外設(shè)、單片機(jī),在傳輸數(shù)據(jù)時(shí),主要利用SCI、SPI、I2C等串行總線,在通信時(shí),I2C總線使用的是同步串行二線模式,具有數(shù)據(jù)線、時(shí)鐘線各一條;SPI總線使用的是同步串行三線模式,輸出線、輸入線、時(shí)鐘線各一條;SCI總線使用的是異步模式,數(shù)據(jù)輸入、輸出線各一條。就DS18B20配有的單總線而言,它的信號(hào)線是單條的,可以對(duì)時(shí)鐘、數(shù)據(jù)進(jìn)行傳輸,可以實(shí)現(xiàn)雙向的數(shù)據(jù)傳輸,同時(shí)擁有簡(jiǎn)單的線路、較少的硬件開(kāi)銷(xiāo)、廉價(jià)的成本,易于維護(hù)和擴(kuò)展的總線。ROM64DS18B20DS18B206464ROM按照以下方式進(jìn)行排列,產(chǎn)品家84856位的循環(huán)冗余校驗(yàn)碼8CRC=X8+X5+X4+1DS18B20如此便可以將多個(gè)掛接在一根總線上。DS18B20具有較寬的電壓范圍,即3.0~5.5V線完成,無(wú)需使用外圍元件即可使用,在集成電路中集成了轉(zhuǎn)換電路、傳感元件。通過(guò)編9-120.06250.1250.250.5度。TFTLCD薄膜晶體管液晶顯示器,即TFT-LCD,液晶成功解決了發(fā)光的問(wèn)題,可以分解發(fā)光顯德州學(xué)院 物理與電子信息學(xué)院 2016屆 物聯(lián)網(wǎng)方向 畢業(yè)設(shè)計(jì)示器,主要是光源及其控制。液晶作為光源獲得較大發(fā)展,在壽命、全彩色、發(fā)光效率方面取得了較大的進(jìn)步,而且還處在不斷提高的過(guò)程中。自發(fā)明LCD后,背光源進(jìn)步明顯以往是單色、較厚、側(cè)置熒光燈式的,而現(xiàn)在發(fā)展為彩色、較薄、平板熒光燈式的,發(fā)光光源發(fā)展較為迅速,新成果不斷出現(xiàn)由此獲得了較多的新背光源,光源科技不斷發(fā)展,LCD會(huì)使用更好、更新的光源。在控制光源時(shí),移植了半導(dǎo)體大規(guī)模集成電路領(lǐng)域的相關(guān)工藝、技術(shù),并且成功研制出薄膜晶體管(TFT)的工藝,控制液晶光閥所對(duì)應(yīng)的矩陣尋址,使液晶顯示器更好的配合使用控制器、光閥,充分體現(xiàn)出了液晶顯示的優(yōu)勢(shì)。TN-LCD、STN-LCD、TFT-LCD具有不同的矩陣,針對(duì)液晶顯示屏上的所有點(diǎn),都專(zhuān)門(mén)設(shè)置了相應(yīng)的薄膜晶體管(TFT),做到一對(duì)一,解決了在非選通狀態(tài)時(shí)存在的串TFT-LCD即真彩液晶顯示器。TFTTFTLCD使用了背光90度扭曲,而下層的光通過(guò)。ATK-HC05作為藍(lán)牙串口模塊,ATK-HC05模塊是主從一體的,而且性能較高,可以與PDA、手機(jī)、電腦等具有藍(lán)牙功能的設(shè)備實(shí)現(xiàn)配對(duì),該模塊所支持的波特率范圍非常大,為4800~1382400,而且該模塊和3.3V或5V的單片機(jī)系統(tǒng)相兼容,極其方便、靈活。在建立微微網(wǎng)前,一切設(shè)備都是就緒狀態(tài),在此狀態(tài)中,每1.28s未連接的設(shè)備便會(huì)對(duì)一次消息進(jìn)行監(jiān)聽(tīng),喚醒設(shè)備后,在監(jiān)聽(tīng)信息時(shí)可以預(yù)設(shè)32個(gè)調(diào)頻頻率,主設(shè)備初始化后實(shí)現(xiàn)連接進(jìn)程。倘若已知設(shè)備的地址,通過(guò)頁(yè)信息實(shí)現(xiàn)連接;倘若地址是未知的,那么通過(guò)頁(yè)信息的查詢(xún)信息實(shí)現(xiàn)連接。微微網(wǎng)中,如果設(shè)備未進(jìn)行數(shù)據(jù)傳輸,那么它便進(jìn)入節(jié)能狀態(tài)。主設(shè)備設(shè)置從設(shè)備為保持方式,此過(guò)程中處于工作狀態(tài)的只有內(nèi)部定時(shí)器;從設(shè)備亦可以進(jìn)入到保持方式。設(shè)備一旦轉(zhuǎn)出保持方式便可以開(kāi)始數(shù)據(jù)傳輸。在和幾個(gè)微微德州學(xué)院物理與電子信息學(xué)院2016屆物聯(lián)網(wǎng)方向畢業(yè)設(shè)計(jì)網(wǎng)相連,或者對(duì)低功耗器件進(jìn)行管理時(shí),常用保持方式。低功耗的另外兩種工作方式是休眠、監(jiān)聽(tīng)方式。鑒于藍(lán)牙基帶技術(shù),其支持面向連接方式、無(wú)連接方式,前者傳輸語(yǔ)音,后者傳輸分組數(shù)據(jù),溫度數(shù)據(jù)就通過(guò)無(wú)連接方式傳輸。藍(lán)牙采用的是跳頻和時(shí)分多址技術(shù)。為了使頻譜擴(kuò)展,需要利用偽隨機(jī)碼序列實(shí)現(xiàn)頻移鍵控,此載波頻率發(fā)生跳變,即為跳頻。傳統(tǒng)通信系統(tǒng)中使用定頻方式,在發(fā)射機(jī)中,主振蕩器具有固定的振蕩頻率,為了實(shí)現(xiàn)載波頻率的跳變,得到跳頻信號(hào),按照控制指令改變主振蕩器的頻率。能夠得到跳頻信號(hào)的裝置被稱(chēng)作跳頻器,它主要包括跳頻指令發(fā)生器、頻率合成器。如果將跳頻器等同于主振蕩器,那么和傳統(tǒng)的發(fā)信機(jī)沒(méi)有任何不同??梢詫?duì)模擬、數(shù)字形式的信號(hào)進(jìn)行傳送,之后利用調(diào)制器實(shí)現(xiàn)調(diào)制,進(jìn)而得到固定頻率的已調(diào)波信號(hào),接著和頻率合成器的主載波頻率信號(hào)實(shí)現(xiàn)混頻,此時(shí)輸出載波頻率符合射頻通帶要求的已調(diào)波信號(hào),在經(jīng)過(guò)高通濾波器反饋后,利用天線將信號(hào)發(fā)射出去,此過(guò)程即為發(fā)送定頻信號(hào)的過(guò)程。時(shí)分多址是分割時(shí)間為不重疊的幀,再分割幀為不重疊的信道,和用戶(hù)一一對(duì)應(yīng),主要利用信道對(duì)地質(zhì)不同的信號(hào)進(jìn)行區(qū)分,實(shí)現(xiàn)多址連接。硬件設(shè)計(jì)MCUMCUSTM32RBT6,64引腳。、P1、P3IOP2PORTC口,按照相應(yīng)的順序排列、。P2DS18B20PA0P2P3連接起來(lái)就可以使用了。這里不直接連在一起的原因有二:1DS18B20IO口作為其他功能使用的時(shí)候的影響;2,DS18B20和紅外傳感器還可以用來(lái)給其他板子提供輸入。P4PL2303STM321相對(duì)應(yīng),使用時(shí)通過(guò)跳線帽P(pán)A9PA10的影響。P5IOPORTC和PORTDIO口從這里引出。JTAG作為國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議,JTAGJTAGTMS、TCK、TDI、TDO。德州學(xué)院 物理與電子信息學(xué)院 2016屆 物聯(lián)網(wǎng)方向 畢業(yè)設(shè)計(jì)TFTLCDTFTLCD34LCD_RSPC8;LCD_WRPC7;LCD_RDPC6;LCD_D[17:1];對(duì)應(yīng)PB[15:0]。軟件設(shè)計(jì)軟件設(shè)計(jì)部分,包括兩大部分:初始化和功能性設(shè)計(jì)。時(shí)鐘的初始化MCUSTM32HSIHSE振蕩器時(shí)鐘、PLLRC8MHz,產(chǎn)生HSI2PLL,HSE用戶(hù)外部時(shí)鐘、HSE外部陶瓷/HSEPLLPLL2HSE、HSI/2時(shí)鐘進(jìn)行倍頻,之后將其輸出。利用可配置的分頻器,HSEPLL2、PLL3PLL進(jìn)行使能,只有輸入時(shí)鐘源達(dá)到穩(wěn)定后方能使用。PLL如果將PLL(RCC_CFGR)的PLLSRCPLL在就緒時(shí)時(shí)鐘中斷寄存器(RCC_CIR)會(huì)產(chǎn)生中斷,代碼如下://系統(tǒng)時(shí)鐘初始化函數(shù)//pll:2voidStm32_Clock_Init(u8PLL){unsignedchartemp=0;MYRCC_DeInit();//RCC->CR|=0x00010000;//外部高速時(shí)鐘使能HSEONwhile(!(RCC->CR>>17));//等待外部時(shí)鐘就緒RCC->CFGR=0X00000400;//APB1/2=DIV2;AHB=DIV1;PLL-=2;//抵消2個(gè)單位RCC->CFGR|=PLL<<18;//PLLRCC->CFGR|=1<<16;//PLLSRCON德州學(xué)院 物理與電子信息學(xué)院 2016屆 物聯(lián)網(wǎng)方向 畢業(yè)設(shè)計(jì)FLASH->ACR|=0x32;//FLASH2RCC->CR|=0x01000000;//PLLONwhile(!(RCC->CR>>25));//等待PLL鎖定RCC->CFGR|=0x00000002;//PLL作為系統(tǒng)時(shí)鐘while(temp!=0x02)//PLL{temp=RCC->CFGR>>2;temp&=0x03;}}Stm32_Clock_Init函數(shù)中的變量只有一個(gè),即PLL,主要用于時(shí)鐘倍頻數(shù)的配置,使用8MHz的晶振,將PLL值設(shè)定成9,此時(shí)STM32便以72M的速度運(yùn)行。PLL8Mhz,PLL9,72MSysTick240,通過(guò)RELOAD寄存器對(duì)定時(shí)初值進(jìn)行自動(dòng)重裝,只要不清除狀態(tài)寄存器的使能位、SysTickSysTick實(shí)現(xiàn)延時(shí),不占用中斷、系統(tǒng)定時(shí)器。I/OGPI/O32GPIOx_ODR、GPIOx_IDR數(shù)據(jù)寄存器,GPIOx_CRHGPIOx_CRLGPIOx_LCKRGPIOx_BSRR置位/GPIOx_BRR復(fù)位寄存器。GPIO端口配置為開(kāi)漏和推挽式復(fù)用功能、模擬輸入、輸入上拉/下I/O端進(jìn)行自由編程,不能利用字節(jié)、或半字節(jié)方式訪I/032GPIOx_BRR、GPIOx_BSRR寄存器可以獨(dú)立訪問(wèn)GPIO寄存器的讀/更改;如此一來(lái),在讀和更改訪問(wèn)期間生成的IRQI/O端口位的基本結(jié)構(gòu)。#defineBITBAND(addr,bitnum)((addr&0xF0000000)+0x2000000+((addr&0xFFFFF)<<5)+(bitnum<<2))#defineMEM_ADDR(addr)*((volatileunsignedlong*)(addr))#defineBIT_ADDR(addrbitnum)MEM_ADDR(BITBAND(addrbitnum))//IO口地址映射德州學(xué)院 物理與電子信息學(xué)院 2016屆 物聯(lián)網(wǎng)方向 畢業(yè)設(shè)計(jì)#defineGPIOA_ODR_Addr(GPIOA_BASE+12)//0x4001080C#defineGPIOB_ODR_Addr(GPIOB_BASE+12)//0x40010C0CCRHCRLCRL8CRH控制的是高8位輸出口。RCC->APB2ENR|=1<<2; //使能PORTA時(shí)RCC->APB2ENR|=1<<5; //使能PORT時(shí)鐘GPIOA->CRH&=0XFFFFFFF0;GPIOA->CRH|=0X00000003;//PA8推挽輸GPIOA->ODR|=1<<8; //PA8輸出高GPIOD->CRL&=0XFFFFF0FF;GPIOD->CRL|=0X00000300;//PD2推挽輸出GPIOD->ODR|=1<<2; //PD2 輸出高PA2PD2LED0LED1I/O設(shè)置,key0key1PA13RCC->APB2ENR|=1<<2;//PORTAGPIOA->CRH&=0X000FFFFF;GPIOA->CRH|=0X80800000;//PA13,15GPIOA->ODR=1<<13;//PA13GPIOA->ODR=1<<15;//PA15串口初始化STM32STM32IO使能串口時(shí)鐘。串口是STM32的外設(shè),通過(guò)外設(shè)時(shí)鐘使能寄存器控制其時(shí)鐘,APB2ENR寄存器第14位對(duì)應(yīng)串口1,其余串口時(shí)鐘的使能位均位于APB1ENR寄存器。之后對(duì)該外設(shè)進(jìn)行重新設(shè)置,使其正常工作。所有的系統(tǒng)都是在對(duì)外設(shè)進(jìn)行復(fù)位操作之后才對(duì)外設(shè)進(jìn)行配置,APB2ENR141設(shè)置串口的波特率。每個(gè)串口都有波特率寄存器USART_BRR,彼此獨(dú)立,在對(duì)該寄存德州學(xué)院 物理與電子信息學(xué)院 2016屆 物聯(lián)網(wǎng)方向 畢業(yè)設(shè)計(jì)器進(jìn)行配置后便可以得到各種波特率。STM32USART_CR1~33的很多功能進(jìn)行設(shè)置。RXNE(讀數(shù)據(jù)寄存器非空),1,表示接收到了數(shù)據(jù),并且可以將其讀取出來(lái)。此時(shí)需要對(duì)USART_DR0,現(xiàn)直接清除。TC(發(fā)送完成),USART_DR1)USART_SR;2)0,代碼見(jiàn)下:voiduart_init(u32pclk2,u32bound){floattemp;u16mantissa;u16fraction;temp=(float)(pclk2*1000000)/(bound*16);//得到USARTDIVmantissa=temp; //得到整數(shù)部分fraction=(temp-mantissa)*16;//得到小數(shù)部分mantissa<<=4;mantissa+=fraction;RCC->APB2ENR|=1<<2; //PORTARCC->APB2ENR|=1<<14;//使能串口時(shí)鐘GPIOA->CRH&=0XFFFFF00F;//IOGPIOA->CRH|=0X000008B0;RCC->APB2RSTR|=1<<14; //1RCC->APB2RSTR&=~(1<<14);//停止復(fù)位//波特率設(shè)置USART1->BRR=mantissa;//波特率設(shè)置德州學(xué)院 物理與電子信息學(xué)院 2016屆 物聯(lián)網(wǎng)方向 畢業(yè)設(shè)計(jì)USART1->CR1|=0X200C;位停止,無(wú)校驗(yàn)#ifEN_USART1_RX //使能接收中斷USART1->CR1|=1<<8; 中斷使能USART1->CR1|=1<<5; 接收緩沖區(qū)非空中斷使能MY_NVIC_Init(3,3,USART1_IRQChannel,2);//2,最低優(yōu)先級(jí)#endif}DMA要使用DMA通道,需配置以下信息:DMA_CPARx么數(shù)據(jù)傳輸?shù)哪繕?biāo)或者源即為該地址。DMA_CMARx過(guò)該地址讀出傳輸?shù)臄?shù)據(jù),或者將傳輸數(shù)據(jù)寫(xiě)入此地址。DMA_CNDTRxDMA_CCRxPL[1:0]位對(duì)通道的優(yōu)先級(jí)進(jìn)行設(shè)置。DMA_CNDTRx的增量模式和數(shù)據(jù)寬度等進(jìn)行設(shè)置。DMA_CCRxENABLE2,DMA7,那么相應(yīng)的外設(shè)寄存器的地址也就是&USART2->DRUSART2_TX_BUFDMA_CMARxstrlen由于僅需在循環(huán)0,DMA8DMA德州學(xué)院 物理與電子信息學(xué)院 2016屆 物聯(lián)網(wǎng)方向 畢業(yè)設(shè)計(jì)中斷初始化傳輸數(shù)據(jù)到串口通過(guò)DMA方式,利用中斷方式檢測(cè)串口所接收的數(shù)據(jù)。CM325616240256STM32CM3個(gè),內(nèi)核、可屏蔽中斷分別為16601620x0000_00D8。模塊功能設(shè)計(jì)DS18B201,0;750us480~960us;接著再將數(shù)據(jù)線拉高,繼續(xù)延時(shí)等待,如果成功實(shí)現(xiàn)初始化,15~60msDS18B20CPUTFTLCD8080CS、RD、WR,CSTFTLCDRETFTLCDRSRSTD[15:0],RS是命令/1TFTLCD168080/寫(xiě)過(guò)程如下:按照將要讀取/DCSSD1306RD/WRRD(D[7:0])上,最后數(shù)據(jù)在WRSSD1306。ATK-HC05ATK-HC05ATAT2德州學(xué)院物理與電子信息學(xué)院2016屆物聯(lián)網(wǎng)方向畢業(yè)設(shè)計(jì)1.上電同時(shí)或上電之前將KEYAT2.塊KEYVCC,AT結(jié)論給stm32上電后,溫度正常顯示。參考文獻(xiàn)STMicroelectronics Corporation.RM0008 Reference manual[S].2011.STMicroelectronics Corporation.STM32F103XX Datasheet[J].2007.李寧.基于MDK的STM32[M劉軍.例說(shuō)STM32[M劉鵬程.基于ARM[J2008(18).77-78.[MTemperatur

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論