欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 11510|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

STM32單片機(jī)LED閃爍試驗(yàn) 源碼 原理圖 教程等

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
實(shí)驗(yàn) 1  LED 閃爍實(shí)驗(yàn)

STM32 最簡(jiǎn)單的外設(shè)莫過于 IO 口的高低電平控制了,本章將通過一個(gè)經(jīng)典
的 LED 閃爍程序,帶大家開啟 STM32 之旅, 通過本章的學(xué)習(xí), 你將了解到
STM32 的 IO 口作為輸出使用的方法。在本章中我們將通過代碼控制普中科技
STM32 開發(fā)板上的 8個(gè) LED,實(shí)現(xiàn)閃爍燈的效果。 本章分為以下學(xué)習(xí)目標(biāo):
1、 了解 STM32用有幾種 GPIO模式。
2、 怎么學(xué)會(huì)設(shè)置 STM32的GPIO輸出控制 LED燈。

1.1  硬件設(shè)計(jì)
首先我們來看一下我們開發(fā)板上面 LED的接線圖:



LED 燈接線圖
從上面的圖,我們可以看到 LED 燈是接到單片機(jī)的 PC 口的 PC0 到 PC7。而
點(diǎn) 亮一盞LED的原理就是把相應(yīng)LED接到單片機(jī)的相應(yīng)的IO口輸出低電平,  IO
口 輸出為高電平就能夠熄滅 LED,所以要實(shí)現(xiàn) LED閃爍也就是將單片機(jī) PC管腳
每間隔一段時(shí)間不輸出一個(gè)高低電平脈沖即可。
1.2: STM32 的IO 口簡(jiǎn)介
本章將要實(shí)現(xiàn)的是控制普中科技 STM32開發(fā)板上的8個(gè) LED 實(shí)現(xiàn)LED燈閃
爍的效果,  該實(shí)驗(yàn)的關(guān)鍵在于如何控制 STM32 的 IO 口輸出。了解了 STM32 的
IO 口如何輸出的,就可以實(shí)現(xiàn)閃爍燈了。通過這一章的學(xué)習(xí), 你將初步掌握
STM32 基本 IO 口的使用,而這是邁向 STM32 的第一步。這一章節(jié)因?yàn)槭堑谝?br /> 個(gè)實(shí)驗(yàn)章節(jié),所以我們?cè)谶@一章將講解一些知識(shí)為后面的實(shí)驗(yàn)做鋪墊。在講解
STM32 的 GPIO之前,首先打開我們光盤的第一個(gè)實(shí)驗(yàn)工程 LED 閃爍實(shí)驗(yàn),可以
看到我們的實(shí)驗(yàn)工程目錄:

接下來我們逐一講解一下我們的工程目錄下面的組以及重要文件。
① StdPeriph_Driver 下面存放的是 ST 官方提供的固件庫(kù)函數(shù),里面的函數(shù)我
們可以根據(jù)需要添加和刪除,這里面的文件內(nèi)容用戶不需要修改。
② Startup 下面存放的是固件庫(kù)必須的啟動(dòng)文件。這里面的文件用戶不需要修
改。
③ cmsis 下面存放的是固件庫(kù)必須的核心文件。這里面的文件用戶不需要修改。  
④  APP 下面存放的是每個(gè)實(shí)驗(yàn)的外設(shè)驅(qū)動(dòng)代碼,他的實(shí)現(xiàn)是通過調(diào)用
StdPeriph_Driver 內(nèi) 的 固 件 庫(kù) 文 件 實(shí) 現(xiàn) 的 , 比 如   led.c  里 面 調(diào) 用
stm32f10x_gpio.c 里面的函數(shù)對(duì) led 進(jìn)行初始化,這里面的函數(shù)是講解的重
點(diǎn)。 后面的實(shí)驗(yàn)中可以看到會(huì)引入多個(gè)源文件。
⑤  user 下面存放的主要是用戶代碼。 stm32f10x_it.c 里面存放的是中斷服
務(wù)函數(shù),public存放的是公用函數(shù),Main.c 函數(shù)主要存放的是主函數(shù)了,這個(gè)
大家應(yīng)該很清楚。
準(zhǔn)備內(nèi)容我們就講解到這里,接下來我們就要進(jìn)入我們 LED 閃爍實(shí)驗(yàn)的講解
部分了。 這里需要說明一下,我們?cè)谥v解固件庫(kù)之前會(huì)首先對(duì)重要寄存器進(jìn)行
一個(gè)講解,這樣是為了大家對(duì)寄存器有個(gè)初步的了解。大家學(xué)習(xí)固件庫(kù),并不需
要記住每個(gè)寄存器的作用,而只是通過了解寄存器來對(duì)外設(shè)一些功能有個(gè)大致的
了解,這樣對(duì)以后的學(xué)習(xí)也很有幫助。
    首先要提一下,在固件庫(kù)中,GPIO 端口操作對(duì)應(yīng)的庫(kù)函數(shù)函數(shù)以及相關(guān)定
義在文件 stm32f10x_gpio.h 和 stm32f10x_gpio.c 中。STM32 的 IO 口相比
51 而言要復(fù)雜得多,所以使用起來也困難很多。 首先 STM32 的 IO 口可以由
軟件配置成如下 8 種模式:



余下內(nèi)容請(qǐng)下載附件

源碼:
  1. *                             
  2. --------------------------------------------------------------------------------
  3. * 實(shí) 驗(yàn) 名         : LED燈閃爍實(shí)驗(yàn)
  4. * 實(shí)驗(yàn)說明       : 通過delay延時(shí)實(shí)現(xiàn)LED燈閃爍效果
  5. * 連接方式       :
  6. * 注    意         :     延時(shí)函數(shù)及顯示函數(shù)在led.c文件內(nèi)
  7. *******************************************************************************/

  8. #include "public.h"      //公共函數(shù)頭文件
  9. /****************************************************************************
  10. * Function Name  : main
  11. * Description    : Main program.
  12. * Input          : None
  13. * Output         : None
  14. * Return         : None
  15. ****************************************************************************/
  16. int main()
  17. {   
  18.     LED_Init();        //LED端口及時(shí)鐘初始化  
  19.     while(1)
  20.     {
  21.         led_display(); //led顯示            
  22.     }   
  23. }
復(fù)制代碼




余下內(nèi)容請(qǐng)下載附件:
32單片機(jī)LED閃爍.zip (2.08 MB, 下載次數(shù): 52)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂1 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:303034 發(fā)表于 2018-4-7 10:28 | 只看該作者
很好, 學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

板凳
ID:303034 發(fā)表于 2018-4-7 10:29 | 只看該作者
這個(gè)資料很好
回復(fù)

使用道具 舉報(bào)

地板
ID:337931 發(fā)表于 2018-5-28 11:43 | 只看該作者
很好, 學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

5#
ID:382878 發(fā)表于 2018-8-5 10:55 | 只看該作者
學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表