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

stm32单个数码显示

[复制链接]
STMCU小助手 发布时间:2022-10-27 15:16
stm32单个数码显示
5 C# g( o4 g& }; ^大家在使用是注意引脚接线,之前把引脚对错了搞了好久才把想要的效果显示出来
7 m. S, E8 |- @2 R7 ?7 S  X V%[)BOL[ZHI1]2ZR5O]SX{A.png
' a# _# ]; n+ N: r$ Q9 _! I, l' S5 S+ Q
一.数码管分类
/ d8 b* g. i+ }
/ X& ?8 K) V* y" ]. U数码管也称LED数码管,不同行业人士对数码管的称呼不一样,其实都是同样的产品。
" t: j9 X% T4 Q+ z: c4 ~按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮, {0 U' O! Y' ^  g6 I

8 x! [* ?3 f4 B; @; _9 f3 ]1.共阴数码管- T0 K: I+ o! V- y
对于共阴极数码管来说,当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极数码管的阳极连接在一起,公共阳极接+5V,当某个发光二极管的阴极接低电平时,该发光二极管被点亮,相应的段被显示
; y. c; T; d4 `- G- Z  u
/ F# D( c5 ^9 L2.共阳数码管# C& c; j) X! T
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮* J' h9 C7 C6 `/ B. |, u2 ^

( O7 ^5 N. ?+ a9 u数码管引脚图
* G" ~( b4 H, v/ _0 n' z& \7 e8 }' _& g" M& U* d) ^
20210628102817443.png ) G. _- \9 Z. M- ~5 @- Q7 o# i
*j引脚接线 | PA0 - A | PA1 - B | PA2 - C | PA3 - D | PA4 - E | PA5 - F |PA6 - G |PA7 - DP |
, Z. \/ }4 Z9 X7 s. A: E& c
( Q* ]5 L6 a( f4 p! m- Y, c: a7 ^. }- c二.代码部分
9 `; {1 U" z8 v! L- b' b2 W
( k9 g2 W+ R* a% v
  1. #ifndef _SMG2_H_
    ( u0 b, w% Z9 ]5 T
  2. #define _SMG2_H_
    , k7 n7 C% a. |% s# O0 m
  3. #include "stm32f10x.h"
    7 O! Y0 `  G, Z; x4 f3 ]

  4. ' ]0 X1 |9 Z9 b% D! i9 V* k8 u& |
  5. //unsigned char code smgduan1[] ={ 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8,0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e};//共阳数码管, m8 N" ]. c3 n$ S
  6. //unsigned char code smgduan2[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//共阴数码管& y0 a( F1 K& G/ R
  7. void SMG_GPIO_Config(void);2 h% ]! b; J5 d# |
  8. void SMG_Display(void);
    , X4 ~# y6 `' T% p7 L1 f
  9. #endif
复制代码
  1. , Q, u/ }1 \/ Q
  2. //这里我是已共阴数码管为例: T- P+ H, ~% H2 H8 G
  3. ) X2 f  [9 D0 M
  4. * @" c' L7 [: C- ^/ [
  5. #include "smg2.h"9 [7 a1 @% u3 i
  6. #include "stm32f10x.h"0 x9 r1 E/ ]1 s+ d$ a1 h$ R
  7. #include "delay.h"" l# G$ W- W3 P, v4 C4 H- K

  8. # Q- Y' U/ u9 o: p& j2 ^% a
  9. u8 const  smg_data[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//共阴数码管
    : @) K& ^4 G/ m1 [& P
  10. void SMG_GPIO_Config(void)
    # o# b( G  ]3 V3 d- X
  11. {
    / A2 A/ C. H5 }, x; u# n3 x
  12.         GPIO_InitTypeDef GPIO_InitStructure;
    % \5 b8 V8 Y1 C" g
  13.         RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE);
    + m- b5 i, \4 g9 F. B2 g

  14. 0 {) p$ T$ e. _* o
  15.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;        
    % i( O8 P. i, t: ~( O. X0 v2 V; O
  16.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;      
    / ]; K  E# g3 f( u
  17.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
      z4 v$ O( ^8 z
  18.         GPIO_Init(GPIOA, &GPIO_InitStructure);
    6 g! I" k0 x1 A1 G! _" y; k
  19. . p, d8 a; H$ t: m
  20.         GPIO_SetBits(GPIOA, GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7);         // turn off all led
    0 W; R  c& Y/ z5 V: T# N* T6 C: \
  21. }1 i3 Z; A# f" Z: \5 N

  22. " C! T8 ^& x0 w5 r; F- W

  23. 4 z, f$ r% _- i1 [+ N; R  q
  24. void SMG_Display(void)
      ~$ e8 F% i5 D' s0 }
  25. {
    + U5 R- }4 r  g" f; G" i8 q
  26.         u8 i;
    1 E' l: s6 y# E. a7 h9 v9 _! S
  27.         for(i=0;i<16;i++)
    $ D' `. j4 f) F! ~) }6 v' r
  28.     {. u0 n& s# k+ }$ H5 v2 L& H5 U! m
  29.                         GPIO_Write(GPIOA,smg_data<i>);( ^+ f* B& w8 ~- j; ]
  30.       delay_ms(1000);                    
      _5 O$ r' U3 ?8 U% R% d2 a6 V6 c0 o
  31.     }
    + h' p8 G2 c9 p  r
  32. }</i>
复制代码
  1. #include<stdio.h>% H" e) u" W4 H4 _
  2. #include "stm32f10x.h"
    + ]- e3 }; r: Q, _
  3. #include"delay.h"
    , m4 z& h% i% C8 E0 K
  4. #include "smg2.h": K) I; a" S$ k1 A: Q( W/ |
  5. int  main(void)* @7 Q9 u9 L  l5 I7 w& L( q/ l$ z
  6. {/ P4 v$ N5 ]8 @; n: i- J/ v
  7.         SMG_GPIO_Config();4 g' R- \3 k7 v' W
  8.         while(1)5 Y9 T; w, ]2 u7 ^. @
  9.         {        
    1 W, }0 P  U( {1 P: c* x) {
  10.                 SMG_Display();        
    # Q( }3 z- P, L) M7 A' _
  11.         }        
      E8 P5 {1 e  q/ P
  12. }
复制代码
% m4 Y9 G+ ^$ l+ T
————————————————# x! f, f; T' E9 }1 T: K
版权声明:@slow-walker* \! h# P" S. {9 }. r# p
0 L/ t( C5 p/ g# Y/ a5 L- s

! }2 t7 C5 D) p2 l
赞 收藏 评论0 发布时间:2022-10-27 15:16

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版