




已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
天津工業(yè)大學(xué) 嵌入式系統(tǒng)課程設(shè)計(jì)報(bào)告 十字路口交通燈控制系統(tǒng) 學(xué) 院: 電子與信息工程學(xué)院 專業(yè)班級(jí): 電子 1102 班 姓 名: 劉楠楠 學(xué) 號(hào): 時(shí) 間: 2014 年 11 月 30 號(hào) 指導(dǎo)教師: 高華老師 摘要摘要 隨著移動(dòng)設(shè)備的流行和發(fā)展,嵌入式系統(tǒng)已經(jīng)成為一個(gè)熱點(diǎn)。它并不是最 近出現(xiàn)的新技術(shù),只是隨著微電子技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展,微控制芯片功能 越來越大,而嵌入微控制芯片的設(shè)備和系統(tǒng)越來越多,從而使得這種技術(shù)越來 越引人注目。它對(duì)軟硬件的體積大小、成本、功耗和可靠性都提出了嚴(yán)格的要 求。嵌入式系統(tǒng)的功能越來越強(qiáng)大,實(shí)現(xiàn)也越來越復(fù)雜,隨之出現(xiàn)的就是可靠 性大大降低。最近的一種趨勢(shì)是一個(gè)功能強(qiáng)大的嵌入式系統(tǒng)通常需要一種操作 系統(tǒng)來給予支持,這種操作系統(tǒng)是已經(jīng)成熟并且穩(wěn)定的,可以是嵌入式的 Linux,WINCE 等等。本文所要研究的就是基于 ARM 嵌入式系統(tǒng)的交通燈系 統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。本設(shè)計(jì)采用了 ARM32 位的 Cortex-M3 CPU 的內(nèi)核的 STM32 作為核心處理器。 關(guān)鍵詞:嵌入式 交通燈 STM32f103 ARM AbstractAbstract With the popularity and development of mobile devices, embedded system has become a hotspot. It is not a new technique appeared recently, only with the development of microelectronics and computer technology, micro chip control functions more and more, more and more equipment and systems and embedded micro control chip, making the technology more attract sb.s attention. Hardware and software of its size, cost, power consumption and reliability have made stringent requirements. The function of embedded system is more and more powerful, and more and more complicated, the reliability appears is greatly reduced. A recent trend is a powerful embedded systems usually require an operating system to support, the operating system is already mature and stable, can be embedded Linux, WINCE and so on. This paper is to study the design and Realization of the traffic light system based on ARM embedded system. This design uses the ARM32 bit Cortex-M3 CPU kernel STM32 as the core processor. Keywords: embedded STM32f103 traffic lights ARM 目目 錄錄 一一 引言引言.1 二二 相關(guān)內(nèi)容和原理相關(guān)內(nèi)容和原理.1 三三 作品設(shè)計(jì)要求作品設(shè)計(jì)要求.1 四四 作品方案設(shè)計(jì)作品方案設(shè)計(jì).2 4.1設(shè)計(jì)思路 .2 4.2總體設(shè)計(jì)框圖 .3 4.3總體方案設(shè)計(jì)參數(shù)計(jì)算 .4 五五 系統(tǒng)硬件電路設(shè)計(jì)及分析系統(tǒng)硬件電路設(shè)計(jì)及分析.4 5.1STM32f103 芯片介紹及選用 .4 5.2單片機(jī)電路原理圖及分析 .4 5.3電源電路模塊原理圖及分析 .5 5.4晶振與復(fù)位電路模塊原理圖 .5 5.5LED 交通燈電路原理圖及分析 .6 六六 系統(tǒng)軟件設(shè)計(jì)及其分析系統(tǒng)軟件設(shè)計(jì)及其分析.7 6.1軟件設(shè)計(jì)流程圖 .8 6.2ARM 交通燈控制軟件設(shè)計(jì) .8 七七 系統(tǒng)系統(tǒng)軟件代碼軟件代碼.9 7.1 軟件設(shè)計(jì)流程圖 9 7.2 部分程序代碼10 八八 KeilKeil 軟件的運(yùn)用與調(diào)試軟件的運(yùn)用與調(diào)試 16 九九 實(shí)物演示照片實(shí)物演示照片17 十十 作品電路的作品電路的PCBPCB 圖圖 19 十一十一 設(shè)計(jì)心得及體會(huì)設(shè)計(jì)心得及體會(huì)20 十二十二 參考文獻(xiàn)參考文獻(xiàn) 21 1 1 引言引言 交通信號(hào)燈指揮著人和各種車輛的安全運(yùn)行,實(shí)現(xiàn)紅、黃、綠燈的自動(dòng)指 揮是城鄉(xiāng)交通管理現(xiàn)代化的重要課題。在城鄉(xiāng)街道的十字交叉路口,為了保證 交通秩序和行人安全,一般在每條道路上各有一組紅、黃、綠交通信號(hào)燈,其 中紅燈亮,表示該條道路禁止通行; 黃燈亮,表示該條道路上未過停車線的車 輛停止通行,已過停車線的車輛繼續(xù)通行;綠燈亮,表示該條道路允許通行。 交通燈控制電路自動(dòng)控制十字路口兩組紅、黃、綠交通燈的狀態(tài)轉(zhuǎn)換,指揮各 種車輛和行人安全通行,實(shí)現(xiàn)十字路口城鄉(xiāng)交通管理自動(dòng)化。 本文為了實(shí)現(xiàn)交通道路的管理,力求交通管理先進(jìn)性、科學(xué)化。 分析應(yīng)用 了單片機(jī)實(shí)現(xiàn)智能交通燈管制的控制系統(tǒng),以及該系統(tǒng)軟、硬件設(shè)計(jì)方法,實(shí) 驗(yàn)證明該系統(tǒng)實(shí)現(xiàn)簡(jiǎn)單、經(jīng)濟(jì),能夠有效地疏導(dǎo)交通,提高交通路口的通行能 力。 2 相關(guān)內(nèi)容及原理相關(guān)內(nèi)容及原理 通過設(shè)計(jì),培養(yǎng)自己綜合運(yùn)用所學(xué)知識(shí)、獨(dú)立分析和解決實(shí)際問題的能力, 培養(yǎng)創(chuàng)新意識(shí)和創(chuàng)新能力,并獲得科學(xué)研究的基礎(chǔ)訓(xùn)練,加深對(duì) ARM 芯片的 了解;熟悉 ARM 芯片各個(gè)引腳的功能,工作方式,計(jì)數(shù)/定時(shí),I/O 口,中斷 等相關(guān)原理,鞏固學(xué)習(xí)嵌入式的相關(guān)內(nèi)容知識(shí)。 利用 ARM 芯片模擬實(shí)現(xiàn)交通燈控制,自行選擇所需 ARM 芯片,查閱相關(guān) 文獻(xiàn)資料,熟悉所選 ARM 芯片,了解所選 ARM 芯片各個(gè)引腳功能,工作方式, 計(jì)數(shù)/定時(shí),I/O 口,中斷等相關(guān)原理,通過軟硬件設(shè)計(jì)實(shí)現(xiàn)利用 ARM 芯片完 成交通燈的模擬控制。 3 作品設(shè)計(jì)要求作品設(shè)計(jì)要求 要求基于 Cortex 系列單片機(jī)設(shè)計(jì)一具有模擬道路路口交通燈相應(yīng)功能的交 通燈模擬系統(tǒng)。具體要求如下: 2 (1)具有三種顏色顯示:紅色、綠色和黃色,分別代表路口交通燈的三種 顏色。 (2)所設(shè)計(jì)的系統(tǒng)應(yīng)至少能夠模擬兩個(gè)路口的功能,具有直行和左轉(zhuǎn)的功 能。 (3)如果能力和時(shí)間允許,可以加入操作系統(tǒng)。 (4)適當(dāng)加入一些其他元素,使其更加具有人性化設(shè)計(jì)。 4 作品作品方案設(shè)計(jì)方案設(shè)計(jì) 4.1 設(shè)計(jì)思路設(shè)計(jì)思路 利用 STM32F103 芯片實(shí)現(xiàn)單路交通燈的控制: a 實(shí)現(xiàn)紅、綠、黃燈 的循環(huán)控制。使用紅、黃、綠三種不同顏色的 LED 燈實(shí)現(xiàn)此功能,主干道正前 方方向的 LED 燈,編號(hào)分別為 1、2、3,分別接在單片機(jī)的 PB8、PB6、PB9 的 引腳上;主干道右方的 LED 燈,編號(hào)分別為 4、5、6,分別接在單片機(jī)的 PA14、PA10、PA8 的引腳上;主干道后側(cè)的 LED 燈,編號(hào)分別為 7、8、9,分別 接在單片機(jī)的 PD10、PD12、PD14 引腳上。主干道左方的 LED 燈,編號(hào)分別為 10、11、12,分別接在單片機(jī)的 PE7、PE11、PE15 引腳上。以此實(shí)現(xiàn)四個(gè)路口 的交通燈模擬系統(tǒng)。用軟件控制燈的亮與滅來控制車輛和行人的通行。 交通路口示意圖如圖 4.1 車輛遇到紅燈停綠燈行的行走情況,紅綠燈時(shí) 間均為 2000ms,切換時(shí)間為 2000ms,最后 2000ms 為黃燈閃爍。 道 路 道 路 3 圖 4.1 交通路口示意圖 4.2 總體設(shè)計(jì)框圖總體設(shè)計(jì)框圖 用 ARM 系列芯片 STM32F103 作為系統(tǒng)的主控芯片,控制交通燈的循環(huán)點(diǎn)亮 并顯示燈亮?xí)r間(采用倒計(jì)時(shí)顯示),當(dāng)定時(shí)時(shí)間到的時(shí)候通過燈的狀態(tài)來提 醒人們注意紅綠燈的狀態(tài)。 交 通 燈 循 環(huán) 態(tài) 狀 換 切 STM32F103 倒 計(jì) 時(shí) 顯 示圖 4.2 交通燈總體設(shè)計(jì)框圖 5 硬件電路模塊設(shè)計(jì)硬件電路模塊設(shè)計(jì)及其分析及其分析 根據(jù)設(shè)計(jì)任務(wù)要求,自行選擇電子元件,畫出電氣原理圖,并調(diào)試。一個(gè) 完整的系統(tǒng)除了主控芯片以外,還需配上電源系統(tǒng)、時(shí)鐘電路、復(fù)位電路等。 獨(dú)立的芯片是不能工作的。 5.1 STM32F103 芯片介紹芯片介紹 STM32F103 是基于一個(gè)支持實(shí)時(shí)仿真和嵌入式跟蹤的 32 位 CPU 的微控制 器,STM32F1 系列屬于中低端的 32 位 ARM 微控制器,該系列芯片是意法半導(dǎo)體 (ST)公司出品,其內(nèi)核是 Cortex-M3。該系列芯片按片內(nèi) Flash 的大小可分 為三大類:小容量(16K 和 32K)、中容量(64K 和 128K)、大容量 (256K、384K 和 512K)。芯片集成定時(shí)器, CAN,ADC,SPI,I2C,USB,UART,等多種功能。 具有以下一些特性: ARM 32 位的 Cortex-M3 4 最高 72MHz 工作頻率,在存儲(chǔ)器的 0 等待周期訪問時(shí)可達(dá) 1.25DMips/MHZ(DhrystONe2.1),從 32K 到 512K 字節(jié)的閃存程序存儲(chǔ)器, 最大 64K 字節(jié) SRAM 2.0-3.6V 供電和 I/O 引腳 上電/斷電復(fù)位(POR/PDR)、可編程電壓監(jiān)測(cè)器(PVD) 4-16MHZ 晶振振蕩器 內(nèi)嵌經(jīng)出廠調(diào)教的 8MHz 的 RC 振蕩器 2 個(gè) 12 位模數(shù)轉(zhuǎn)換器,1us 轉(zhuǎn)換時(shí)間(多達(dá) 16 個(gè)輸入通道),轉(zhuǎn)換范 圍:0 至 3.6V,雙采樣和保持功能 2 個(gè) DMA 控制器,共 12 個(gè) DMA 通道:DMA1 有 7 個(gè)通道,DMA2 有 5 個(gè)通 道 片內(nèi)晶振頻率范圍:130 MHz。 通過片內(nèi) PLL 可實(shí)現(xiàn)最大為 60MHz 的 CPU 操作頻率,PLL 的穩(wěn)定時(shí)間 為 100us 支持的外設(shè):定時(shí)器、ADC、SPI、USB、IIC 和 UART 多達(dá) 112 個(gè)快速 I/O 端口(僅 Z 系列有超過 100 個(gè)引腳) 3 個(gè) 16 位定時(shí)器,每個(gè)定時(shí)器有多達(dá) 4 個(gè)用于輸入捕獲/輸出比較/PWM 或脈沖計(jì)數(shù)的通道和增量編碼器輸入 1 個(gè) 16 位帶死區(qū)控制和緊急剎車,用于電機(jī)控制的 PWM 高級(jí)控制定時(shí) 器 ECOPACK 封裝 5.2 STM32F103 主電路原理圖主電路原理圖 圖 5.1 為 STM32F103 芯片的原理圖,多達(dá) 100 個(gè)引腳,采用 3.3V 或者 5V 電源供電,設(shè)計(jì)所需外接器件的網(wǎng)絡(luò)名已經(jīng)標(biāo)出。 5 圖 5.1 STM32F103 芯片的原理圖 5.3 系統(tǒng)電源電路設(shè)計(jì)系統(tǒng)電源電路設(shè)計(jì) 本電源運(yùn)用 5V 的直流電源(圖 5.2 所示)。通過 LM78 系列芯片將 5V 電壓 轉(zhuǎn)換為電壓,為 STM32F103 芯片供電,STM32F103 芯片所能承受的電壓范圍 是 2V3.6V。 圖 5.2 直流電源電路設(shè)計(jì) 6 5.4 晶振與復(fù)位電路晶振與復(fù)位電路模塊模塊 系統(tǒng)的晶振電路如圖 5.4 所示 STM32f103 芯片采用 8MHz 的晶振作為振蕩時(shí) 鐘源,外部是倍頻 72MHz 晶振。通過對(duì)芯片的進(jìn)行軟件設(shè)計(jì)可以將晶體振蕩器 的頻率分頻為所需的頻率;系統(tǒng)的復(fù)位電路如圖 5.5 所示,STM32F103 芯片的 14 號(hào)引腳連接到主控芯片的復(fù)位引腳(nRST)上,按下復(fù)位鍵 S2 時(shí),系統(tǒng)將 會(huì)復(fù)位到初始的狀態(tài)。 圖 5.4 系統(tǒng)的晶振電路圖 圖 5.5 系統(tǒng)的復(fù)位電路圖 5.5 LED 循環(huán)顯示設(shè)計(jì)循環(huán)顯示設(shè)計(jì) 由南向北和由北向南車道各用一組紅、綠、黃三色的指示燈,左右兩側(cè)也 是各三個(gè)燈,指揮車輛通行。綠燈是通行信號(hào),面對(duì)綠燈的車輛可以直行,紅 燈是禁止通行信號(hào),面對(duì)紅燈的車輛必須在路口的停車線后停車。黃燈是警告 信號(hào),面對(duì)黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全 停車時(shí)可以繼續(xù)行進(jìn)。具體紅綠燈時(shí)間分配時(shí)間如表 5.1 所示。 表 51:紅綠燈時(shí)間分配時(shí)間如表 1000ms1000ms1000ms1000ms1000ms1000ms 主干通道綠燈亮黃燈閃紅燈亮黃燈閃紅燈亮黃燈閃 左右道路紅燈亮紅燈亮綠燈亮綠燈亮紅燈亮紅燈亮 上表說明主干通道綠燈亮、黃燈閃時(shí)人行道都是紅燈亮,只有車道 紅燈亮(車輛完全停下來)時(shí)人行道綠燈才亮,這樣保證了過馬路的行人人身 7 安全,避免了不必要的交通事故。硬件電路連接圖如圖 5.6 所示 D1 D2 D3 D4 D5 D6 D7 D8 VDD3.3 100R1470 100R2470 100R3470 100R5470 100R4470 100R6470 100R7470 100R8470 P1.18 P1.19 P1.20 P1.21 P1.22 P1.23 P1.24 P1.25 LED1 LED2 LED3 LED4 LED5 LED6 LED7 LED8 圖 5.6 硬件電路連接圖 交通燈 LED 的發(fā)光和熄滅的控制,是通過控制 GPIO 寄存器組來完成的,須 先將引腳 PA、PB、PD、PE 等通過引腳功能選擇寄存器 PINSEL1,設(shè)置為 GPIO 方式;再設(shè)置 GPIO 方向寄存器 1(IO1DIR),對(duì)應(yīng)的引腳設(shè)置為輸出方向。要 點(diǎn)亮 LED1LED12 需要使用 GPIO 清零寄存器 1(IO1CLR)的對(duì)應(yīng)位設(shè)置為 1, 即在引腳 PA、PB、PD、PE 上加邏輯低電平,即可點(diǎn)亮這些燈。與之相反,要熄 滅這些燈,則要用 GPIO 輸出置位寄存器 1(IO1SET)將對(duì)應(yīng)的位置位即可。 6 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)及其分析及其分析 6.1 軟件設(shè)計(jì)流程圖軟件設(shè)計(jì)流程圖 圖 6.1 為 ARM 模擬交通燈控制程序流程圖,主程序主要完成倒計(jì)時(shí)顯示及 控制蜂鳴器,中斷服務(wù)程序主要控制那些燈亮以及亮的時(shí)間。 8 開始 定時(shí)器 0 初始化 初始化中斷,開 中斷 倒計(jì) 時(shí)顯示 中斷服務(wù)程序流程圖 系統(tǒng)保護(hù)現(xiàn)場(chǎng) 車道紅燈計(jì) 數(shù)變量-1 車道綠燈閃 爍計(jì)數(shù)-1 車道紅燈閃 爍計(jì)數(shù)-1 黃燈閃爍計(jì) 數(shù)-1 車道閃爍黃 燈計(jì)數(shù)-1 車道綠燈計(jì) 數(shù)-1 0=Flag 50 115=flag 120 110=flag 115 60=flag 110 50=flag 55 中斷返回 55flag6 0 flag=1 20 flag=0,清零計(jì) 數(shù)變量 N Y N N N N N Y Y Y Y Y N flag=5 5or115 交換狀態(tài) N Y 主程序流程圖 圖 6.1 ARM 模擬交通燈控制程序流程圖 6.2 ARM 交通燈模擬控制程序設(shè)計(jì)交通燈模擬控制程序設(shè)計(jì) 定時(shí)器控制原理:定時(shí)器對(duì)外設(shè)時(shí)鐘 Fpclk 周期進(jìn)行計(jì)數(shù),根據(jù) 4 個(gè)匹配 寄存器的設(shè)定可設(shè)置為匹配(即達(dá)到匹配寄存器指定的定時(shí)值)時(shí)產(chǎn)生中斷或 執(zhí)行其他操作。 設(shè)置 P0、P1 口為 GPIO 輸出狀態(tài),初始化定時(shí)器,選定定時(shí)器 0 中斷為向 9 量 IRQ,對(duì) VICIntEnable、VICIntSelect、VICvectCntl 進(jìn)行設(shè)置,初始化 SPI 接口,根據(jù)設(shè)計(jì)要求編寫軟件程序。根據(jù)事先畫好的程序流程圖,用 C 語言編 寫程序,在主程序中對(duì)需要用到的 I/O 口進(jìn)行定義,并設(shè)置相應(yīng)的 I/O 口,比 如要求 P1。18P1。25 引腳為 GPIO 功能,則通過對(duì)引腳功能選擇 寄存器 PINSEL1 將對(duì)應(yīng)的引腳設(shè)置為 GPIO 方式并設(shè)置 GPIO 方向,在 GPIO 方向寄存器 IO1DIR 里設(shè)置,之后對(duì)定時(shí)器 0 進(jìn)行初始化,并開相應(yīng)的中斷。然后進(jìn)入大循 環(huán)進(jìn)行倒計(jì)時(shí)顯示、控制蜂鳴器的蜂鳴與否并判斷 flag 是否加到設(shè)定值,對(duì) flag 加到設(shè)定值后進(jìn)行清零,讓 flag 重新計(jì)數(shù)。中斷服務(wù)程序的設(shè)計(jì),每隔 一秒鐘定時(shí)器中斷一次,每中斷一次 flag 加 1 根據(jù) LED 點(diǎn)亮的先后順序以及點(diǎn) 亮的時(shí)間,分別編寫相應(yīng)的程序。 7 系統(tǒng)軟件代碼系統(tǒng)軟件代碼 7.1 軟件設(shè)計(jì)流程圖軟件設(shè)計(jì)流程圖 10 開始 直行燈亮 結(jié)束? 否 黃燈閃爍 是 結(jié)束? 否 右行燈亮 是 結(jié)束? 否 黃燈閃爍 是 結(jié)束? 否 是 左行燈亮 圖 7.1 軟件設(shè)計(jì)流程圖 7.2 系統(tǒng)軟件代碼系統(tǒng)軟件代碼 主程序部分:主程序部分: #include stm32f10 x.h #include led.h #includetimer.h u32 time=0;/Ms 級(jí)延時(shí)變量 int i; int main(void) 11 LED_GPIO_Configuration(); TIM2_Config1(); TIM2_NVIC_Config1(); TIM_Cmd(TIM2,ENABLE);/開啟 TIM2 while(1) i=0; Delay_MS(2000); LED2(ON);LED4(ON);LED7(ON);LED10(ON);/直行燈亮 Delay_MS(2000);/延時(shí) LED2(OFF);/直行燈滅 while(i10)/黃燈閃爍 LED3(ON); Delay_MS(100); LED3(OFF); Delay_MS(100); i+; LED2(OFF);LED4(OFF);LED7(OFF);LED10(OFF);/直行燈結(jié)束 LED1(ON);LED7(ON);LED10(ON);LED5(ON);/右行燈亮 Delay_MS(3000); LED5(OFF);/右行燈滅 i=0; while(i10) LED6(ON); Delay_MS(100); LED6(OFF); Delay_MS(100); i+; 12 LED5(OFF);LED1(OFF);LED7(OFF);LED10(OFF);/右行燈結(jié)束 LED1(ON);LED7(ON);LED4(ON);LED11(ON);/左行燈亮 Delay_MS(3000); LED11(OFF);/左行燈滅 i=0; while(i10) LED12(ON); Delay_MS(100); LED12(OFF); Delay_MS(100); i+; LED11(OFF);LED1(OFF);LED7(OFF);LED4(OFF);/左行燈結(jié)束 LED1(ON);LED4(ON);LED10(ON);LED8(ON);/后行燈 Delay_MS(3000); LED1(OFF);LED4(OFF);LED10(OFF);LED8(OFF);/后行燈滅 底層寄存器配置部分:底層寄存器配置部分: void LED_GPIO_Configuration(void) GPIO_InitTypeDef GPIO_InitStructure; /*開啟 GPIOC /* Configure PB.04, PB.06 and PB.08*/ 13 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_6 | GPIO_Pin_8 ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;/輸出上拉 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, /* Configure PA.08, PA.10 and PA.12 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_10 | GPIO_Pin_12 ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;/輸出上拉 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, /* Configure PD.10, PD.12 and PD.08 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_12 | GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;/輸出上拉 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOD, /* Configure PE.07, PE.11 and PE.15 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_11 | GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;/輸出上拉 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOE, LED1(OFF);LED2(OFF);LED3(OFF);LED4(OFF);LED5(OFF);LED6(OFF);LED7(OFF);L ED8(OFF);LED9(OFF);LED10(OFF);LED11(OFF);LED12(OFF); 14 內(nèi)聯(lián)函數(shù)定義內(nèi)聯(lián)函數(shù)定義 LEDLED 函數(shù)部分:函數(shù)部分: #ifndef _LED_H #define _LED_H #includestm32f10 x.h #defineON 0 #define OFF 1 /*內(nèi)聯(lián)函數(shù)定義 LED 函數(shù)*/ #define LED1(a)if (a) GPIO_SetBits(GPIOB,GPIO_Pin_8); else GPIO_ResetBits(GPIOB,GPIO_Pin_8) #define LED4(a)if (a) GPIO_SetBits(GPIOA,GPIO_Pin_12); else GPIO_ResetBits(GPIOA,GPIO_Pin_12) #define LED7(a)if (a) GPIO_SetBits(GPIOD,GPIO_Pin_10); else GPIO_ResetBits(GPIOD,GPIO_Pin_10) #define LED10(a) if (a) GPIO_SetBits(GPIOE,GPIO_Pin_15); else GPIO_ResetBits(GPIOE,GPIO_Pin_15) #define LED2(a)if (a) GPIO_SetBits(GPIOB,GPIO_Pin_6); else GPIO_ResetBits(GPIOB,GPIO_Pin_6) #define LED5(a)if (a) GPIO_SetBits(GPIOA,GPIO_Pin_10); 15 else GPIO_ResetBits(GPIOA,GPIO_Pin_10) #define LED8(a)if (a) GPIO_SetBits(GPIOD,GPIO_Pin_12); else GPIO_ResetBits(GPIOD,GPIO_Pin_12) #define LED11(a) if (a) GPIO_SetBits(GPIOE,GPIO_Pin_11); else GPIO_ResetBits(GPIOE,GPIO_Pin_11) #define LED3(a)if (a) GPIO_SetBits(GPIOB,GPIO_Pin_9); else GPIO_ResetBits(GPIOB,GPIO_Pin_9) #define LED6(a)if (a) GPIO_SetBits(GPIOA,GPIO_Pin_8); else GPIO_ResetBits(GPIOA,GPIO_Pin_8) #define LED9(a)if (a) GPIO_SetBits(GPIOD,GPIO_Pin_15); else GPIO_ResetBits(GPIOD,GPIO_Pin_15) #define LED12(a) if (a) GPIO_SetBits(GPIOE,GPIO_Pin_7); else GPIO_ResetBits(GPIOE,GPIO_Pin_7) void LED_GPIO_Configuration(void); #endif 16 8 Keil 軟件的運(yùn)用與調(diào)試軟件的運(yùn)用與調(diào)試 根據(jù)事先畫好的程序流程圖,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通安全評(píng)價(jià)體系建立考核試卷
- 創(chuàng)新企業(yè)家精神與商業(yè)成功考核試卷
- 室內(nèi)外照明設(shè)計(jì)靈感考核試卷
- 預(yù)混燃燒過程分析考核試卷
- 情感化設(shè)計(jì)在冷凍飲品店中的應(yīng)用考核試卷
- 寒假安全教育講課
- 基層治理數(shù)字化轉(zhuǎn)型:實(shí)踐圖景、驅(qū)動(dòng)因素與推進(jìn)路徑
- 假期安全工作總結(jié)集合15篇
- 化州市文職輔警招聘考試真題
- 榴蓮引流活動(dòng)方案
- LY/T 2015-2012大熊貓飼養(yǎng)管理技術(shù)規(guī)程
- GB/T 19851.11-2005中小學(xué)體育器材和場(chǎng)地第11部分:合成材料面層運(yùn)動(dòng)場(chǎng)地
- 2022年小學(xué)六年級(jí)畢業(yè)監(jiān)測(cè)科學(xué)素養(yǎng)測(cè)試題試卷 (含答題卡)
- 礦山六類事故案例警示教育課件
- 吉利質(zhì)量改善3824步課件
- 化工工藝學(xué)理論知識(shí)考核題庫(kù)與答案
- AI技術(shù)支持的學(xué)情分析
- 《西游記》妖怪情況簡(jiǎn)表
- JGJ-130-2011建筑施工扣件式鋼管腳手架安全技術(shù)規(guī)范(新版)
- 打架斗毆等暴力事件處理流程圖
- 哈銅吉爾吉斯斯坦Bozymchak黃金選礦廠安裝工程施工組織設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論