谈静态数码管

这里首先要说明一下138译码器,这是一个我成为3输入8输出的芯片

 

A B C端为输入端,那么 当A B

#include<reg52.h>
typedef unsigned int  u16;
typedef unsigned char u8;

sbit LSA = P2^0;
sbit LSB = P2^1;
sbit LSC = P2^2; //位定义

u8 code smgduan [] = {0x3f, 0x06, 0x5b ,0x4f, 0x66, 0x6d, 0x7d, 0x07,
                                 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71};    //0-9十六进制表示

void main()
{
   LSA = 0;
   LSB = 0;
   LSC = 0;    //A、B、C输出低电平,LED1输出低电平
   P0 = smgduan[0];

 

C都输入0(低电平)时,Y0输出低电平,所以数码管上的第一个灯就会被点亮。

此时将控制数码管段的十六进制表示数用一个数组表示出来。 例如0x3f表示“0”,那么程序设计完成后数码管上第一个灯就会显示0.

 

posted @ 2016-12-14 21:32  AK、  阅读(424)  评论(0编辑  收藏  举报