你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32F103C8T6的点灯设计

[复制链接]
STMCU小助手 发布时间:2021-8-10 13:28
学习目的:本设计是基于STM32F103C8T6单片机完成入门点灯设计。
- o) x. L* }+ P. H4 ^1 C% J; d2 t
- M9 l/ R( a. c/ k) k5 F8 d

' Q& R) f# D4 S根据STM32F103C8T6的原理图,可知LED2与CPU的PC13相连,当PC13=1(高电平)时,LED2呈熄灭状态;当PC13=0(低电平)时,LED2呈点亮状态。6 ?4 I8 v2 P& e9 J4 U' m" n
1.png $ N( m1 ^. t- L& g$ K* A7 y
' G  t" s- z0 i6 t! \, c

4 x& k1 x7 P7 g2 v/ r参考代码如下:1 M6 V- d5 [$ I
  1. <font face="微软雅黑" size="3">//main.c
    7 s* Z6 d: K4 ~- Q* X+ |) o

  2. : P% P8 \( J3 c0 {
  3. #include "stm32f10x.h"
    9 C) X: C) R% M! W' I' A/ f$ B
  4. 8 i) P  B5 J9 p. i
  5. #include "led.h"
    9 ^# p" @0 v! K
  6. ; F* d0 Q. A. i8 t
  7. #include "delay.h". G# g; n& x) [6 e8 s! T7 [1 W

  8. 1 j: t+ h& j- \
  9. int main(void)
    $ o# W9 p* a% R4 ?0 o' z
  10. * t0 G0 r* s5 S; ~# c6 W
  11. {4 f) x8 J: T8 I' _; o- e

  12. ( X. h$ K) k' @6 w1 c3 i4 U0 K
  13.         LED_Init();1 w! ]8 \. U0 o: h6 P/ L, b$ v, X. Y
  14. + m0 K* X* f$ J! ^" b) l- I
  15.         while(1)
    ; k- `+ f; p, z+ L/ j
  16. / g5 [0 o% l; ?; {  o
  17.         {  A5 {% w: o2 n; g$ G" f' ?
  18. % r$ c7 R: A3 c! K
  19.                 GPIO_ResetBits(GPIOC,GPIO_Pin_13);5 ^2 A5 u0 b( s: A( Q  y
  20. 5 P$ n' Q: a: p. m; ?' ?$ x! N
  21.                 delay(200);; }$ I6 X6 [; M6 w8 ^1 I' R- Q) c0 T
  22. 6 Y/ n2 h7 n/ Z* m
  23.                 GPIO_SetBits(GPIOC,GPIO_Pin_13);4 _8 e5 R8 ?! a" ?  Y: ^0 ?
  24. * W( `9 l8 R: b9 T8 v
  25.                 delay(200);
    5 R9 {' U. J2 A! [: V  e, e- T

  26. ! s+ g$ L  B9 ?" }# y% o8 A  `- S! N
  27.         }% b/ E* q1 B1 m; M9 L
  28. * X, d. X+ d' M
  29. }</font>
复制代码
4 H4 A* G" Z3 [" f. ~$ V+ @
$ g5 ~$ s* h, s5 X+ E6 @1 b
  1. <font face="微软雅黑" size="3">//led.c
    7 Y7 [8 x$ s0 a: B* I% \* M+ n$ L
  2. + g% H' Y8 Q+ v( K# o( m) @
  3. #include "stm32f10x_rcc.h"" I& y* _  u: [
  4. 8 _) m4 D9 g$ C1 j& Q$ Z3 X/ W0 |
  5. #include "stm32f10x_gpio.h"* G4 i; C& B& z6 P- h* K4 h

  6. , J6 w- r- s+ k+ X. F( M( M
  7. void LED_Init(void): `) ^$ Z2 M7 t. W! V# Q
  8. 0 z6 v9 ^9 h, `' h0 u- f
  9. {/ u. h6 y* M9 ]) {! s4 e: L8 z* P4 P2 _
  10. ; x: M7 K9 c' w- q6 Y5 D3 }
  11.         GPIO_InitTypeDef GPIO_InitStruct;( d. B+ D/ x/ N* ?: J( ?  Z
  12. ! D$ F* I4 D5 y% I. P: t! g- G
  13.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);8 l$ a# m1 i: q  J9 @

  14. ! v4 F+ i2 ?% d
  15.         GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;: H8 y2 k: v& N3 G5 ?
  16. ( r, v  |7 D. Z9 z
  17.         GPIO_InitStruct.GPIO_Pin=GPIO_Pin_13;
    ' W% M5 u% E5 q- A( Y5 f( v

  18. ) j% h8 V  Q7 U% Z; R. j
  19.         GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
    2 F5 _# E, [# O# R9 `- W
  20. / M$ M; V: b+ `9 R, G
  21.         GPIO_Init(GPIOC,&GPIO_InitStruct);
    : @9 b$ D! q0 r+ p$ R) w
  22.   }9 ?0 m5 X5 h9 Z) d$ U
  23.         GPIO_SetBits(GPIOC,GPIO_Pin_13);
    / c" d. @1 E& l" Z3 j
  24. * s/ ?* }9 c, ?: y  {8 @
  25. }</font>
复制代码

. L# U4 U% e0 D4 _% @3 H/ s! w! ~

, G+ D8 Y+ G1 a6 p
  1. <font face="微软雅黑" size="3">//led.h3 ^2 d6 ]. r$ `3 {

  2. 5 y+ p8 v: G- P- h# N# e7 q& _+ K% p
  3. #ifndef _LED_H
    - }  p, D8 x& Z: H+ G
  4. 9 U  \: }$ z* x2 C3 _6 M1 g
  5. #define _LED_H* f3 g/ y; G& A* G. d2 i* W4 F

  6. 6 b, Q/ C3 h; E9 }. V
  7. void LED_Init(void);
    . r" z; t" Y& z7 N' c- l9 w. u
  8. ) r$ j4 M* i4 a( [
  9. #endif</font>
复制代码
4 h4 O2 |! h& g) v% o. n5 X

% F$ n: G; e/ L+ S8 W! L& \
  1. <font face="微软雅黑" size="3">//delay.c
    - Z2 J% v+ f# U# U$ a' `
  2. ( z7 v- U& {2 \/ b1 W
  3. #include "stdint.h") X$ N& h& H$ l. c3 ^2 c! s: m
  4. 2 z7 P- O/ j$ d8 t" [# H  Y0 }
  5. void delay(uint16_t timers)
    7 W  V0 J; b3 D8 ]
  6. , M5 R0 O& i  s: y& Z
  7. {
    # X6 {; X# ~2 ?7 ~; M
  8. # @+ w# y6 H4 c+ ]! c
  9.         uint16_t i,j;
    1 c3 \8 P. @' x6 A0 m
  10. . I8 a# m9 {9 j3 g! i- B- E
  11.         for(i=0;i<timers ;i++)
    + [. b& K$ r, z! @  ]3 Z+ R8 F

  12. ( ~0 q3 H2 b3 O' _  s# M* h. `8 `7 C
  13.         {
    + p& r! |1 P+ j* Y) q# `
  14. ) v! z6 n) L: w  N
  15.                 for(j=0;j<0xffff;j++)" C/ w( v1 X" ^# \) Z- Z, O

  16. 1 o1 k- P6 q- q  K7 r
  17.                 {}
    ; c8 v/ B1 |% B  y
  18. : E4 B7 L3 _! Y' }! A1 _" n
  19.         }# Z% L" @& t6 O' X1 g. Q& b4 L
  20. - }2 L/ j* h) a; `; \6 w0 O# v
  21. }</font>
复制代码

7 j* n2 f+ [( F( s
4 Z- Z7 O, A' K% }
  1. <font face="微软雅黑" size="3">//delay.h( e  c% x, s) t  U0 Y! f$ k

  2. - N' w# j+ C8 T4 c$ F( g/ T7 N  t
  3. #ifndef _DELAY_H
    ( D9 G1 E3 T: g- ^* z- p

  4. " Z3 l" |/ `  {/ x6 N9 ]4 p( v
  5. #define _DELAY_H
    9 O) z# h2 H+ u

  6. . f1 a- k! p  z9 x& D
  7. #include "stdint.h"" f9 [8 h1 `: N# ?, E
  8. 3 D4 ]9 h. E; s$ j: G
  9. void delay(uint16_t timers);
    ( N/ G; ?3 t  V9 r0 t/ \/ ?6 }
  10. 0 s3 m* M! P; G- x$ A5 a
  11. #endif</font>
复制代码

* p: S8 {0 E( n8 }! m
" D* g+ G- J7 \; |- n* K" w  o
收藏 评论0 发布时间:2021-8-10 13:28

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版