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

基于STM32F103C8T6的点灯设计

[复制链接]
STMCU小助手 发布时间:2021-8-10 13:28
学习目的:本设计是基于STM32F103C8T6单片机完成入门点灯设计。" Z- W, a. ~3 B# q* S" D- y+ t

; Z) C' N8 m# d' E
' Z4 s" L6 m; d% o+ Z
根据STM32F103C8T6的原理图,可知LED2与CPU的PC13相连,当PC13=1(高电平)时,LED2呈熄灭状态;当PC13=0(低电平)时,LED2呈点亮状态。( J4 v1 Y$ L' U$ q, i- G: P2 T, R' m
1.png 7 F0 t8 k+ {& s  E# W3 K( s, V" e
  \2 J2 w% e7 \7 i

  u# v9 v) ?3 t参考代码如下:
/ K3 j# k2 V% L) z4 `
  1. <font face="微软雅黑" size="3">//main.c
    3 W7 o, {) I) j' X

  2. * y+ s+ D! I9 f' k3 F5 Y
  3. #include "stm32f10x.h"
    " P) I$ w3 P/ J3 I8 U$ }" J

  4. 5 A9 g& K# z4 I
  5. #include "led.h"
    + U9 V+ k. I  J: Q
  6. , P' ?# Z4 N4 N& U/ K
  7. #include "delay.h"
    9 C$ c& q* f9 v& |" {8 N, P
  8. ' V: w# p! \3 s( o' f% @4 f
  9. int main(void)
    % c$ R" W) I8 `5 P9 X/ c

  10. 6 |$ U" I  g5 k  {+ E; v) X
  11. {
    ( l! D2 c& R6 P6 I, p8 J

  12. $ }& @1 e8 k6 ?  B4 ~- ?+ d
  13.         LED_Init();  P7 F# y6 z' A
  14. 3 x, I! L  I$ m  x
  15.         while(1)
    + H& X) a6 N" v9 Y7 M; |( I

  16. ) N$ V5 T0 b) i/ A
  17.         {9 e, F8 g# r7 z# y4 |

  18. # [2 F$ |/ [- ?) N3 _2 {2 f; _
  19.                 GPIO_ResetBits(GPIOC,GPIO_Pin_13);+ g4 Q. P/ Y6 D  D* B3 Q
  20. - h  D+ d$ p, X0 X! A
  21.                 delay(200);* ~% O  B  ~; t0 B
  22. 9 l; t8 b" D3 K$ f9 r
  23.                 GPIO_SetBits(GPIOC,GPIO_Pin_13);
    " Z  I& l4 ^' m6 G+ a' m
  24. 7 u; @' u4 G7 w. a
  25.                 delay(200);
    1 N/ m  w% K1 n; i
  26. / M; h1 H; [7 [# A- l( q1 S; h  J
  27.         }
    . v& k5 x* ?- q6 I

  28. 9 Y$ Z6 T7 w- @) n; e
  29. }</font>
复制代码

* d  r+ n$ Z  d! u1 u2 A/ N/ m3 q+ j

8 l4 x# C) e3 f+ U
  1. <font face="微软雅黑" size="3">//led.c3 B* S# x4 D2 F( G- |9 p  P

  2. : v) }! V4 F/ b3 F* @; M* E& R
  3. #include "stm32f10x_rcc.h"
    ! E. Q8 c' [2 s# D5 h+ _; X

  4. ( L5 T( G" K4 [8 d, S. B
  5. #include "stm32f10x_gpio.h"9 B0 x/ i2 d. n' H, g' R
  6. - d# L  ]3 ~( w+ L
  7. void LED_Init(void)
    & E* c4 u9 U. R( Z' a  C( J

  8. . X* Q& Q5 f$ ?' k% r
  9. {
    , q2 |. q$ C% y4 w" N: p/ ]( T
  10. / t6 L/ x6 ^0 T( i0 N
  11.         GPIO_InitTypeDef GPIO_InitStruct;
    - e  m* b3 E8 a
  12. 6 f0 u8 ~+ b$ Y- l4 b4 _
  13.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);5 q- p7 N2 H% h; p; K
  14. * N5 I4 k. u# _" h7 u7 G
  15.         GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;! v, T6 [& ^' Y2 k) X
  16. 1 ?4 j1 @6 C0 {7 g2 o
  17.         GPIO_InitStruct.GPIO_Pin=GPIO_Pin_13;
    3 C! ]; I1 L9 D& r* K
  18. * \+ X+ |8 T- z5 V: ^& k. R4 g
  19.         GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;3 n. i8 q' C& c& s8 l8 C
  20. 8 f; ?3 N2 e' r( z
  21.         GPIO_Init(GPIOC,&GPIO_InitStruct);6 b! |2 R/ u3 f) f1 k

  22. , I0 y  X  i  J
  23.         GPIO_SetBits(GPIOC,GPIO_Pin_13);2 s# w0 p$ M# X1 Y$ x% f5 }0 S

  24. $ [& c8 a* g, y; @2 K4 W) t
  25. }</font>
复制代码
3 y' x1 H+ z# S- f% @

1 o# u$ f& K0 C% i8 Y! T
  1. <font face="微软雅黑" size="3">//led.h
    9 ~  F; H& D. w2 K" a2 w9 x

  2. , I- v; K" |% ]8 b& K  B
  3. #ifndef _LED_H+ N* m6 H) L" r% \+ h# M

  4. # x* p+ x1 R+ l+ @+ ]9 {) ~3 D/ J
  5. #define _LED_H
    ; t2 n, y! O7 B3 q- O6 P$ C

  6. & @- E0 a% F# F
  7. void LED_Init(void);
    : J/ G& L% |5 `; Y; k; n- |) m

  8. & h7 Z3 b  T% e6 T" H
  9. #endif</font>
复制代码
6 l* O$ h2 A+ @1 r

, A  ?6 y$ X3 U0 ?, q, H+ o) M2 {
  1. <font face="微软雅黑" size="3">//delay.c" b8 [  j2 q& R3 h

  2. ) H, Q9 n" M4 i3 a# l% E7 I( h
  3. #include "stdint.h"
    4 }2 F$ Q7 _* R: g2 }& S7 `

  4. 8 K" s0 I3 L7 e2 D
  5. void delay(uint16_t timers)! ~3 \4 @! p' N" r8 i0 C

  6. # V. M+ g  _, O9 z4 x& @0 a/ h! j8 D
  7. {
    ; ~9 P3 ?4 z+ U+ I$ q1 W

  8. ' |: T9 E6 k* K
  9.         uint16_t i,j;
    5 H4 r$ f% X* Q8 l9 D. B+ F
  10. 9 A& P. W/ a" d. I& H: W
  11.         for(i=0;i<timers ;i++)
    $ \+ p8 Z; c6 b+ X

  12. . N* @8 S0 U6 l7 J7 s# L: w9 x9 i/ ~8 _
  13.         {
    . @) v5 q* ]4 ~) n, @

  14. , J- N6 q% ?* U+ t6 ~* Q% a! m* |2 K
  15.                 for(j=0;j<0xffff;j++)6 u( _: ?5 O: y! x

  16. : P) {4 H- e( h, p
  17.                 {}
    ! `# G2 ]9 K! [5 J5 U8 Y

  18. , _3 U, |! C1 V2 t, A
  19.         }
    , d# S- ?/ Y6 [3 y9 F
  20. 6 O6 k; _+ ~6 L* l' v- i
  21. }</font>
复制代码
0 k, U, P' ~! J! A8 V7 M, ~

' {- x/ O/ x2 W+ M$ K3 _$ J9 x
  1. <font face="微软雅黑" size="3">//delay.h' Z) S$ v- a& e, u: F. ?) }  ^% _

  2. # k0 U8 `6 p  l! g' m" i( G
  3. #ifndef _DELAY_H
    & h: `+ S) k  X: i) A; K

  4. ) S  ?" v' Q* x
  5. #define _DELAY_H
    ( x9 _/ a- D; ^' O$ S

  6. + S2 C  I( v1 x& n) o" R1 w
  7. #include "stdint.h"
    ! c2 u2 ]" g. f* g; d

  8. ( K: m4 W- q, Y$ `. [- s7 N  r  ]
  9. void delay(uint16_t timers);
    ) O4 n/ l% ^3 n$ G4 D) {
  10. $ }# _  ]! A; J; c
  11. #endif</font>
复制代码

+ |" U( j5 w, N& d
. _9 ~" W# |' p6 q! K6 X* z5 |
收藏 评论0 发布时间:2021-8-10 13:28

举报

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