医疗电子技术网|技术阅读
登录|注册

您现在的位置是:医疗电子技术网 > 技术阅读 > 51单片机:数码管的静态显示和动态显示

51单片机:数码管的静态显示和动态显示

文章转自:http://blog.csdn.net/yunfeiyang62/article/details/48225697

作者:云飞扬_

数码管(Segment Displays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。

数码管原理图:

数码管共阴极接法:

数码管共阳极接法:


数码管中有位选和段选,位选就是选择哪个数码管,段选就是被选择的数码管要显示什么数字!

根据数码管的段选,可以总结出数码管的显示数据表:

符号

不显示

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

.

编码

0x00

0x3F

0x06

0x5B

0x4F

0x66

0x6D

0x7D

0x07

0x7F

0x6F

0x77

0x7C

0x39

0x5E

0x79

0x71

0x80



数码管的静态显示:

  • /*======================================================*/  

  • /*  时间:2015年8月3日 21:19:03                       */  

  • /*  功能:数码管的静态显示                             */  

  • /*  目的:51单片机学习                                  */  

  • /*      ^_^……!                                          */  

  • /*======================================================*/  

  •   

  • #include <reg52.h>  

  • #include "commLib.h"  

  •   

  • sbit WLE  = P2^7;       // 位选  

  • sbit DLE  = P2^6;       // 段选  

  •   

  • #define DIGITAL_ARR_NUM     18  

  • unsigned char code digital[DIGITAL_ARR_NUM] = {             // 数码管显示数据表  

  • /*   0,    1,    2,    3,    4,     5,   6,    7,    8,     */  

  •     0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F,   

  • /*   9,    A,    B,    C,    D,    E,    F,    .,   不显示     */  

  •     0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71, 0x80, 0x00  

  • };  

  •   

  • int main(void)  

  • {  

  •     unsigned int i;  

  •       

  •     // 位选  

  •     WLE = 1;        // 位选端锁存器置高,送数据  

  •     P0 = 0xC0;      // 送数据  

  •     WLE = 0;        // 位选端锁存器置低,保存数据  

  •       

  •     while(1)  

  •     {  

  •         for (i = 0; i < DIGITAL_ARR_NUM; i++)  

  •         {  

  •             // 段选  

  •             DLE = 1;            // 段选端锁存器置高,送数据  

  •             P0 = digital[i];    // 送数据  

  •             DLE = 0;            // 位选端锁存器置低,保存数据  

  •               

  •             delay(500);         // 延时500ms  

  •         }  

  •     }  

  •   

  •     return 0;  

  • }</reg52.h>  


  • 效果截图:



    数码管的动态显示:

  • /*======================================================*/  

  • /*  时间:2015年8月6日 20:45:09                       */  

  • /*  功能:数码管的动态显示                             */  

  • /*  目的:51单片机学习                                  */  

  • /*      ^_^……!                                          */  

  • /*======================================================*/  

  •   

  • #include <reg52.h>  

  • #include "commLib.h"  

  •   

  • sbit WLE  = P2^7;       // 位选  

  • sbit DLE  = P2^6;       // 段选  

  •   

  • #define DIGITAL_ARR_NUM     18  

  • unsigned char code digital[DIGITAL_ARR_NUM] = {             // 数码管显示数据表  

  • /*   0,    1,    2,    3,    4,     5,   6,    7,    8,     */  

  •     0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F,   

  • /*   9,    A,    B,    C,    D,    E,    F,    .,   不显示     */  

  •     0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71, 0x80, 0x00  

  • };  

  •   

  • int main(void)  

  • {  

  •     unsigned int i;  

  •       

  •     while (1)  

  •     {  

  •         for (i = 0; i < 6; i++)  

  •         {  

  •             P0 = 0xFF;              // 消影(必须有)  

  •             WLE = 1;                // 位选端锁存器置高,送数据  

  •             P0 = ccCrol(0xFE, i);   // 送数据  

  •             WLE = 0;                // 位选端锁存器置低,保存数据  

  •               

  •             DLE = 1;                // 段选端锁存器置高,送数据  

  •             P0 = digital[i];        // 送数据  

  •             DLE = 0;                // 位选端锁存器置低,保存数据  

  •               

  •             delay(1);  

  •         }  

  •     }  

  •       

  •     return 0;  

  • }</reg52.h>  


  • 效果截图:



    本文转自网络,版权归原作者,如果您觉得不好,请联系我们删除!

    广告

    关于立创商城

    立创商城(WWW.SZLCSC.COM)成立于2011年,致力于为客户提供一站式电子元器件线上采购服务,成交量全国领先。拥有10000多平方米现代化元器件仓库,现货库存超100000种,集团电子全产业链自营服务涵盖:在线EDA(LCEDA)+行业领先的PCB打样/中小批量+元器件商城+钢网制造+SMT贴片+电子设计教育及方案。作为一家品种齐全、自营库存、质量有保障的电子元器件垂直商城,立创商城所有元器件均从原厂或代理商正规渠道采购,保证原装正品,为您提供专业的一站式元器件采购服务。