




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
ARMCortex-M3嵌入式控制技術
——基于STM32F103RCT6
STM32F103硬件系統與KEILMDK工程第三章
STM32F103學習平臺1STM32F103核心電路2電源電路與按鍵電路3
LED與蜂鳴器驅動電路4串口通信電路5FLASH與EEPROM電路6溫濕度傳感器電路7LCD屏接口電路8JTAG與復位電路9聲碼器電路3.1STM32F103核心電路本書使用的計算機配置為IntelCoreI9-13900K處理器、32GB內存、1TB硬盤、32寸液晶顯示屏和Windows11操作系統,現有流行的計算機配置均可實現本書的學習與實驗工作。STM32F103學習實驗平臺:STM32F103RCT6學習實驗板實現了以下功能:5集成電源指示LED燈;具有復位按鍵;具有1個串口,可與計算機串口相連;支持SWD串行仿真調試;具有2個GPIO口直接相連的用戶按鍵輸入;具有3個GPIO口驅動的LED燈和1個蜂鳴器;具有ZLG7289B芯片驅動的8個LED燈、16個按鍵和1個四合一七段數碼管(帶時間顯示);具有1個DS18B20溫度傳感器;具有1個240×320點陣彩色TFT型LCD屏,帶有電阻式觸摸屏;支持1個ADC輸入口;具有1個128KB的EEPROM存儲器AT24C128;具有1個64Mb的Flash存儲器W25Q64;具有SYN6288聲碼器;+5V單電源供電。STM32F103RCT6核心電路63.2電源電路與按鍵電路3.3LED與蜂鳴器驅動電路JTAG電路和復位電路可視為STM32F103RCT6微控制器的最小系統,即STM32F103RCT6微控制器的最小系統應包括電源電路、用戶按鍵電路、LED燈指示電路、復位電路(可內部復位)、晶體振蕩器電路(可省略)和相應的STM32F103RCT6芯片核心電路。3.4串口通信TM32F103RCT6芯片的PA2和PA3通過網標TXD232和RXD232與芯片ST3232的T2IN和R2OUT相連接。ST3232電平轉換芯片支持2路串口,圖中僅使用了一路,J1為DB9接頭,通過串口線與計算機的串口相連實現異步串行通信。3.5FLASH與EEPROM電路EEPROM芯片AT24C128電路FLASH芯片W25Q64電路3.6溫度傳感器電路溫度傳感器DS18B20接口電路3.7復位電路、JTAG和ADC電路SWD串行調試只需要占用數據和時鐘兩個端口JTAG接口J5通過網標SWDIO和SWCLK與STM32F103RCT6芯片的SWDIO(PA13)和SWCLK(PA14)管腳相連接。3.8ZLG7289B電路TM32F103RCT6學習板上集成了一片ZLG7289B芯片,通過ZLG7289B可以驅動多個用戶按鍵和LED燈。一片ZLG7289B最多可同時驅動64個按鍵和64個LED燈,在STM32F103RCT6學習板上,使用ZLG7289B驅動了16個按鍵、8個LED燈和1個四合一七段數碼管。ZLG7289B電路-I3.8ZLG7289B電路ZLG7289B電路-IIZLG7289B電路-III3.8ZLG7289B電路ZLG7289B電路-IVZLG7289B電路-VZLG7289B模塊與STM32F103RCT6間有5個連接,即圖3-2中的網標7289INT、7289CLK、7289CS、7289DIO和USER_D3D4,占用了STM32F103RCT6的5個GPIO口,這里依次使用了PA12、PA11、PA8、PA13和PB103.9LCD屏接口電路STM32F103RCT6學習板上集成了一塊240×320像素分辨率TFT型LCD屏和一塊電阻式觸摸屏,其與STM32F103RCT6的電路連接如圖所示。3.10聲碼器電路STM32F103RCT6學習板集成了一塊SYN6288聲碼器,通過串口向其發送文本信息,聲碼器實現TTS(TexttoSpeech:文本轉化為語音)變換,其電路原理如圖所示。3.11參考電路板使用AltiumDesigner繪制了PCB圖,并制作了STM32F103RCT6學習板,選取了一塊沒有焊裝器件的電路板在繪圖所示電路板時,請注意:19電源線、地線的寬度應在20mil以上;信號線寬度在6mil以上,且長度不應超過7cm;過孔的外徑應大于24mil,內徑應大于12mil,內外徑差值不少于12mil;接插件應根據實際器件的針腳粗細設計內徑,一般接插件的內徑應為0.9mm;在PCB布局、布線完成后,應覆銅,且應使模擬地和數字地的銅皮在一點相連接;電阻和電容建議選用0805貼片封裝(除少數電解電容外);電路板上的標號應按從左向右或從下向上的方向擺放。thankyou第四章
LED燈控制與KEILMDK工程框架目錄STM32F103通用目的輸入輸出口STM32F103庫函數用法KeilMDK工程框架LED燈閃爍實例本章小結本章將介紹STM32F103RCT6微控制器的通用目的輸入/輸出口(GPIO)及其相關的寄存器,闡述STM32F103庫函數訪問GPIO口的方法,講述KeilMDK集成開發環境的應用技巧和工程框架設計,最后借助LED燈的閃爍實例詳細說明GPIO口的具體操作方法。而庫函數類型程序設計方法本質上也是采用了寄存器類型程序設計方法,但是STM32芯片開發商(意法半導體)設計了訪問各種寄存器的庫函數,使得應用STM32F103RCT6微控制器的程序開發人員通過調用庫函數實現相應的外設控制功能,而無需關心片上外設相關的寄存器及其地址。2STM32F103RCT6微控制器有兩種程序設計方法,即寄存器類型程序設計方法和庫函數類型程序設計方法。寄存器類型程序設計方法類似于傳統的單片機程序設計方法,借助于芯片的寄存器地址訪問寄存器,通過訪問寄存器實現相應的控制功能。4.1STM32F103通用目的輸入輸出口34STM32F103RCT6微控制器具有3個16位的GPIO口,記為Px(x=A,B,C),以及1個3位的GPIO口,記為PD,共占用了51個引腳,每根GPIO端口引腳的內部結構如下圖所示。STM32F103通用目的輸入輸出口5由上圖中的3個“開關”和“輸出控制”可知,GPIO端口具有以下工作模式:(1)輸入懸空(開關1和開關2均打開);(2)輸入上拉有效(開關1閉合、開關2打開);(3)輸入上拉和下拉均有效模式(開關1和開關2均閉合);(4)模擬輸入(開關1和開關2均打開、開關3關閉);(5)輸出開漏方式(當輸出高電平時,“輸出控制”關閉P-MOS管和N-MOS管;當輸出低電平時,“輸入控制”關閉P-MOS管并打開N-MOS管);STM32F103通用目的輸入輸出口6(6)輸出推挽方式(當輸出高電平時,“輸出控制”打開P-MOS管并關閉N-MOS管;當輸出低電平時,“輸出控制”關閉P-MOS管并打開N-MOS管);(7)替換功能輸入(開關1、開關2和開關3均關閉);(8)替換功能推挽輸出(當輸出高電平時,“輸出控制”打開P-MOS管并關閉N-MOS管;當輸出低電平時,“輸出控制”關閉P-MOS管并打開N-MOS管)。(9)替換功能開漏輸出(當輸出高電平時,“輸出控制”關閉P-MOS管和N-MOS管;當輸出低電平時,“輸出控制”關閉P-MOS管并打開N-MOS管)STM32F103通用目的輸入輸出口7每個GPIO口具有7個寄存器,即2個32位的配置寄存器(GPIOx_CRL和GPIOx_CRH)、2個32位的數據寄存器(GPIOx_IDR和GPIOx_ODR),1個32位的置位/清零寄存器(GPIOx_BSRR)、1個16位的清零寄存器(GPIOx_BRR)和1個32位的配置鎖定寄存器(GPIOx_LCKR),這里x=A,B,C,D。端口配置寄存器GPIOx_CRL和GPIOx_CRH,分別如下面兩張圖所示:GPIO寄存器832位的端口置位/清零寄存器GPIOx_RSRR(偏移地址0x10,復位值為0x0),可以單獨置位或清零某個GPIO管腳。GPIOx_RSRR高16位的每位記為BRy(y=0,1,...,15),低16位的每位記為BSz(z=0,1,...,15),如下圖所示。GPIO寄存器9配置鎖定寄存器GPIOx_LCKR(偏移地址0x18,復位值為0x0),用于鎖定配置寄存器GPIOx_CRL和GPIOx_CRH的值,如下圖所示。GPIO寄存器10APB2外設復位寄存器RCC_APB2RSTR(復位值為0x0)和APB2外設時鐘有效寄存器RCC_APB2ENR(復位值為0x0)分別如下面兩張圖所示。GPIO寄存器11AFIO寄存器的基地址為0x40010000,STM32F103RCT6共包括7個AFIO寄存器(復位值均為0x0),即事件控制寄存器AFIO_EVCR(偏移地址0x0)、替換功能重映射寄存器AFIO_MAPR(偏移地址0x04)、外部中斷配置寄存器AFIO_EXTICR1(偏移地址0x08)、外部中斷配置寄存器AFIO_EXTICR2(偏移地址0x0C)、外部中斷配置寄存器AFIO_EXTICR3(偏移地址0x10)、外部中斷配置寄存器AFIO_EXTICR4(偏移地址0x14)和替換功能重映射寄存器AFIO_MAPR2(偏移地址0x1C)。下面依次詳細介紹這些寄存器各位的含義。AFIO寄存器12事件控制寄存器AFIO_EVCR,如下表所示。AFIO寄存器13替換功能重映射寄存器AFIO_MAPR如下表所示。AFIO寄存器14外部中斷配置寄存器AFIO_EXTICR1、AFIO_EXTICR2、AFIO_EXTICR3和AFIO_EXTICR4的含義如下表所示。AFIO寄存器4.2STM32F103庫函數用法1516了解了STM32F103RCT6的GPIO寄存器,就可以操作GPIO口了。例如,令PB5(即GPIOB的第5腳)輸出高電平,可以使用語句“GPIOB->ODR|=(1uL<<5);”或“GPIOB->BSRR=(1uL<<5);”實現。這里的GPIOB是定義在文件stm32f10x.h中的結構體指針,如右面的程序段所示。STM32F103庫函數用法17事實上,文件stm32f10x.h中宏定義了STM32F103RCT6微控制器的各種片內外設的寄存器結構體指針,可以直接使用。文件stm32f10x.h是由KeilMDK自動產生的。如果不使用stm32f10x.h文件中的寄存器結構體指針,則需要自行定義各個寄存器,例如,對于地址為0x40010C0C的寄存器GPIOB_ODR,如下面的程序段所示。STM32F103庫函數用法18除了寄存器類型程序外,STM32F103還支持一種抽象的程序類型,稱為借助庫函數的工程程序,簡稱庫函數類型程序。庫函數相關的文件如下表所示。STM32F103庫函數用法19庫函數全部的文件都是開源的C語言代碼,常量定義和函數聲明位于.h文件中,函數體位于.c文件中。例如,在stm32f10x_gpio.h中有以下宏定義語句和函數聲明:STM32F103庫函數用法而在相應的stm32f10x_gpio.c文件中有以下函數:4.3KeilMDK工程框架2021本書使用了KeilMDKv5.39集成開發環境(官網),是截止本書收官時的最新版本,本書中的全部工程都可以使用于KeilMDKv5.39及其后續版本。KeilMDK工程框架22KeilMDK工程框架23KeilMDK工程框架24KeilMDK工程框架25KeilMDK工程框架4.4LED燈閃爍實例2627在STM32F103RCT6學習板上集成了3個LED燈,下如圖所示。由圖可知,LED燈D9由PB2控制,LED燈D10由PD2控制,LED燈D11由PB7控制。下面介紹LED燈閃爍控制的工程設計實例。LED燈閃爍實例28對于STM32F103RCT6學習板而言,將下面的程序段中的函數替換系統文件system_stm32f10x.c中的同名函數SetSysClockTo72,將芯片的工作時鐘調整到64MHz。LED燈閃爍實例29LED燈閃爍實例“工程管理器”中的分組名與子文件夾的名稱是相同的,但是二者沒有聯系,分組名可以使用各種符號和漢字。30下面依次介紹工程PRJ01中的各個文件。LED燈閃爍實例31LED燈閃爍實例32LED燈閃爍實例33LED燈閃爍實例由下圖所示,工程PRJ01上電復位后,首先執行位于文件system_stm32f10x.c中的SystemInit函數,用于將STM32F103RCT6的時鐘由8MHz調整到64MHz;然后轉到main函數執行;進入到main函數后,首先調用LEDInit函數初始化LED燈的控制;接著進入無限循環體,依次循環執行“LED燈D9亮、D10滅、D11亮——延時約1秒——LED燈D9滅、D10亮、D11滅——延時約1秒”。其中,各個LED燈的亮和滅是由main函數調用led.c文件中的LED函數實現的,延時函數Delay位于主文件main.c中,由for循環實現
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鐵路旅客運輸服務鐵路旅客運輸服務質量規范72課件
- 雙語客運值班員車站的管理組織課件
- 鐵路工程安全技術石家莊鐵路33課件
- 外墻測量方案模板范本
- 市場營銷咨詢顧問合同范本
- 房屋修繕工程合同協議
- 宿州市重點中學2025屆初三下學期第二次考試英語試題試卷含答案
- 暫定場地租賃合同書
- 南寧理工學院《人工神經網絡》2023-2024學年第二學期期末試卷
- 山東省濟南市歷下區達標名校2025年初三化學試題第二次統測試卷含解析
- 2025年小學英語畢業模擬試卷:英語短劇表演腳本創意構思與舞臺排練試題
- 食堂節約管理制度規范
- 預留印鑒變更管理制度
- 2025年浙江省金華市九年級中考一模語文試題(含答案)
- 2024年江蘇事業單位真題下載
- 2024-2025學年江蘇省南京市竹山中學七年級下學期3月月考英語試題及答案
- (省統測)貴州省2025年4月高三年級適應性考試語文試卷(含答案解析)
- ISO27001:2022信息安全管理體系全套文件+表單
- 系統本地部署協議合同
- 2024年國家糧食和物資儲備局垂直管理系統事業單位招聘筆試真題
- 寶鋼熱鍍鋅鋼板產品手冊
評論
0/150
提交評論