久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10816|回復: 4
收起左側

STM32單片機LED閃爍試驗 源碼 原理圖 教程等

[復制鏈接]
ID:197189 發表于 2017-5-6 09:28 | 顯示全部樓層 |閱讀模式
實驗 1  LED 閃爍實驗

STM32 最簡單的外設莫過于 IO 口的高低電平控制了,本章將通過一個經典
的 LED 閃爍程序,帶大家開啟 STM32 之旅, 通過本章的學習, 你將了解到
STM32 的 IO 口作為輸出使用的方法。在本章中我們將通過代碼控制普中科技
STM32 開發板上的 8個 LED,實現閃爍燈的效果。 本章分為以下學習目標:
1、 了解 STM32用有幾種 GPIO模式。
2、 怎么學會設置 STM32的GPIO輸出控制 LED燈。

1.1  硬件設計
首先我們來看一下我們開發板上面 LED的接線圖:
0.png
0.png

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

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

余下內容請下載附件

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

  8. #include "public.h"      //公共函數頭文件
  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端口及時鐘初始化  
  19.     while(1)
  20.     {
  21.         led_display(); //led顯示            
  22.     }   
  23. }
復制代碼



0.png
余下內容請下載附件:
32單片機LED閃爍.zip (2.08 MB, 下載次數: 52)
回復

使用道具 舉報

ID:303034 發表于 2018-4-7 10:28 | 顯示全部樓層
很好, 學習了
回復

使用道具 舉報

ID:303034 發表于 2018-4-7 10:29 | 顯示全部樓層
這個資料很好
回復

使用道具 舉報

ID:337931 發表于 2018-5-28 11:43 | 顯示全部樓層
很好, 學習了
回復

使用道具 舉報

ID:382878 發表于 2018-8-5 10:55 | 顯示全部樓層
學習了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一区二区三区久久精品 | 久精品久久 | 91国内精精品久久久久久婷婷 | 午夜亚洲| 国产一区二区电影 | 一级二级三级黄色 | 超碰在线人人干 | 一道本在线| 亚洲精品视 | 亚洲综合无码一区二区 | 国产一二三区精品视频 | 国产欧美二区 | 国产精品久久久久久亚洲调教 | 国产欧美日韩精品一区二区三区 | 日韩午夜影院 | 欧美精品一区二区蜜桃 | www日本在线播放 | 福利视频网| 国产精品久久久久久网站 | 亚洲欧美在线观看 | 欧美一区二区视频 | 国产精品亚洲视频 | 99re6在线视频 | 精品91久久 | 特级生活片 | 日韩一区精品 | jdav视频在线观看免费 | 一区二区三区网站 | 亚洲国产欧美国产综合一区 | 噜噜噜色网 | 欧美日韩亚洲一区 | 高清一区二区三区 | 成人综合在线视频 | 日日干天天操 | 天天天操 | 久久久性 | 欧美一级高潮片免费的 | 就操在线 | 久久久久国产精品午夜一区 | www.日韩 | 一区二区免费在线观看 |