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

基于STM32F103C8T6的点灯设计

[复制链接]
STMCU小助手 发布时间:2021-8-10 13:28
学习目的:本设计是基于STM32F103C8T6单片机完成入门点灯设计。
  j$ O* B! m2 R4 d6 I- A- i1 E9 a+ M0 H8 }7 t
8 K/ R4 F9 R/ g& S  T
根据STM32F103C8T6的原理图,可知LED2与CPU的PC13相连,当PC13=1(高电平)时,LED2呈熄灭状态;当PC13=0(低电平)时,LED2呈点亮状态。
( Q1 @, y! a" i# l. D4 j6 B 1.png
- S& B9 O2 O8 X
7 i/ Q/ V4 M( F. m( p2 {1 G0 p& Y8 F

# I  W+ S; N& E$ ^, P参考代码如下:
7 N/ b" m& x0 F* j, k4 L5 D* v9 ~
  1. <font face="微软雅黑" size="3">//main.c: y9 _$ T$ N/ E

  2. ; m4 T) \: T, _, ?6 N+ a) [
  3. #include "stm32f10x.h"+ v4 {! A/ [- a: l

  4.   D4 L4 V) a' I6 k% t3 {
  5. #include "led.h"# f' u0 m/ d* E2 I# U6 s

  6. ( n- Z: d! e, R9 z
  7. #include "delay.h"0 U: c1 C4 F# y  o" G  h
  8. ! E: s) M1 R7 [4 M; k* S$ a
  9. int main(void)9 \- R# q. o1 V  }# S

  10. 8 D- j4 h" P( O$ j+ y
  11. {
    8 `  u2 o: p7 l& G8 W  j0 T, x6 ^9 M: M
  12. ! n9 F. U& b7 t( Y1 j
  13.         LED_Init();
    : [+ a9 [4 B5 H# u4 ]' g7 s& s/ ^

  14. # X8 e- V. `  r* }% a9 H  Q
  15.         while(1)
    9 [; W3 O9 c! z1 P
  16. , g6 L, A& X1 ]- I. ^
  17.         {" |9 |3 e9 E" p) U

  18. + q) v6 w6 P- k- f6 P$ i1 e0 ~& j+ S
  19.                 GPIO_ResetBits(GPIOC,GPIO_Pin_13);
    4 Q+ j/ r3 {; d! q) h) R8 \

  20. 7 i# X- }7 b3 X9 ~; @1 r) ~! D0 m
  21.                 delay(200);1 f- x- ^5 F& j5 g/ c0 ]
  22. 9 V0 G8 z# l6 L! x* V, X
  23.                 GPIO_SetBits(GPIOC,GPIO_Pin_13);
    ( N) d& x% e# M% v' i1 C" l, y
  24. & a  U8 ^" X1 o3 _5 n5 `0 c! a: j9 {
  25.                 delay(200);
    - o5 |: r5 k1 r/ Y" j: |) ^8 E4 ]
  26. 9 d7 m( ]9 y# T2 ~" y  u
  27.         }% t# U% r5 b8 {* q3 G7 F# Y/ u
  28. - R7 D9 b% a! K" o
  29. }</font>
复制代码

0 m3 R6 s+ T' b4 {* ^
+ z% G8 V1 u. [$ E! f4 d, b
  1. <font face="微软雅黑" size="3">//led.c
    9 o- N9 J  J( u
  2. 2 e$ e/ x& I; _" V. a. `1 [
  3. #include "stm32f10x_rcc.h"8 f. b6 V) ~; `  R, w# |
  4. 1 @' n; l) K5 B% o, H
  5. #include "stm32f10x_gpio.h": V: y+ q( Q3 |% }

  6. 1 B& a; ?! |2 t" O& u
  7. void LED_Init(void); M3 E/ d, F/ R' F0 R% Z1 O0 t

  8. , I( p. g1 S/ b
  9. {
    * _. i7 @* G0 H1 {: b

  10. - m3 W9 E# G1 ?7 C
  11.         GPIO_InitTypeDef GPIO_InitStruct;
    % d6 T0 ]9 ~/ E: M5 D/ {  @' W
  12. 5 N0 g/ T5 r  i) B* u, u6 ?
  13.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
    . l7 Y, L" I* J4 p5 |& i4 [, J

  14. ( _( p+ X5 o0 G) U) A
  15.         GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
    - p9 C/ w, W4 _+ o0 y" X/ r
  16. 6 N) p& E% \  x! I& O( P
  17.         GPIO_InitStruct.GPIO_Pin=GPIO_Pin_13;  k2 b/ w2 @6 M5 q4 I9 A$ N

  18. 6 c1 h  L6 M2 y) S: s0 i
  19.         GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;% g# U* N) s/ b* o! c- }

  20. 4 h4 K. H3 b7 q) L. r8 u# w- u
  21.         GPIO_Init(GPIOC,&GPIO_InitStruct);% h2 x8 G/ @$ {1 x5 |; F0 S$ L
  22. 1 y3 }  n7 W. u2 u3 _4 d+ T- E
  23.         GPIO_SetBits(GPIOC,GPIO_Pin_13);2 V7 K3 M6 l7 h, M& k5 K

  24. # R; a, e$ f" T) L1 ?
  25. }</font>
复制代码

) q. }  `1 A5 I( `. f* K
$ W; k' m" v2 N4 T
  1. <font face="微软雅黑" size="3">//led.h  ^9 ]8 Z- [; b! b! U# d" _/ M
  2. ( h1 O4 d( S( K1 s2 Y
  3. #ifndef _LED_H
    $ x- g4 A  [/ ]9 `/ u

  4. & ?0 Q, U) k' _, \- x+ W7 T4 T! w
  5. #define _LED_H
    3 c" H5 e6 G- g! a! ^5 Y
  6.   [( m; {: k6 ^; m0 Q
  7. void LED_Init(void);+ K# T0 A2 Z. z4 `; N+ d2 x; N

  8. 6 P$ |" I2 ^1 \$ J: R3 m
  9. #endif</font>
复制代码
) u0 v- Q# i2 ]7 @+ |9 J
: e' ?9 {( p- e" E' Y
  1. <font face="微软雅黑" size="3">//delay.c- O3 `6 O; d& ~, Z* o7 L0 b
  2. " w' u. B0 p* |1 W
  3. #include "stdint.h"1 x4 X) Q: D: E0 w; g! x
  4. * e/ G2 O  I, ]& J! y8 q% v
  5. void delay(uint16_t timers)
    5 T' o( e, \3 z+ P7 S% d

  6. & r9 c" F7 h& l5 H' I5 p' C: c
  7. {+ X/ }, R( Q" k8 t% V  ~$ Z. b9 D. s1 E$ i

  8. 5 ^) ]' t3 k- R* T& I( g
  9.         uint16_t i,j;
    ) A$ u/ V. u& U& f6 L; c

  10. . i. J5 q0 G& m/ I! W
  11.         for(i=0;i<timers ;i++)
    , l' C8 D, u5 M  |! ~2 f

  12. * L* x9 z9 B9 {4 H7 ?, w" v
  13.         {3 y3 |# y- K! J' v( r; l8 |

  14. : q# m, Z. O# T' R' z
  15.                 for(j=0;j<0xffff;j++)) G0 _6 G% m& _  j, d
  16. ( z. [& ]# y# u$ g3 b- F
  17.                 {}
    % U9 j" [  N8 r) d# g
  18. " Q+ ^1 r# ^. `3 S  \
  19.         }
    + e! g) @/ e8 e1 ]6 A) ?5 A
  20. : ]: A; f# q0 Y* L  j5 O
  21. }</font>
复制代码

: C# E6 m, F9 m/ j7 S/ m

4 k( p) E( g' p- [
  1. <font face="微软雅黑" size="3">//delay.h% W0 H+ d7 g6 J

  2. 1 j/ r0 M/ L7 n- o2 R' n8 P
  3. #ifndef _DELAY_H
    $ n2 X5 C0 l2 f( Y# L7 Y

  4. 9 p5 \6 v1 s  s
  5. #define _DELAY_H
    ( u. |, i& l- @3 j  ~9 Y9 _
  6. - R! \5 R) O: j8 ~2 c
  7. #include "stdint.h"
    5 P& w% A* N4 P1 H  d
  8. # d; j' v; T  M
  9. void delay(uint16_t timers);
    9 x. f2 ^5 p- P  D

  10. 9 c' ?4 b. p# L; x  D
  11. #endif</font>
复制代码

$ T& }, f4 X' Q7 l$ n+ c, \# A3 a' [& `& ~) @7 t7 N, v7 ]
收藏 评论0 发布时间:2021-8-10 13:28

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版