单片机 -- -- 数码管

1.定义

数码管,也称作辉光管,是一种可以显示数字和其他信息的电子设备。

2.原理图

单片机 -- -- 数码管_第1张图片(1)亮时为0,灭时为1(从右往左记二进制)
(2)段选与位选:
a.位选:假设我们要控制8个数码管,依次是1、2…… 8。我们要选择控制哪个数码管(比如控制第1个),这就是位选,位选有选择位置的意思。
b.段选:然后我们要让第1个数码管显示“1”。我们就要控制第一个数码管“b=0、c=0,a=1、d=1、e=1、f=1、g=1(或者b=1、c=1,a=0、d=0、e=0、f=0、g=0),这就是段选,即选择数码管的哪一段。

3.结构图

此处采用共阳极数码管
单片机 -- -- 数码管_第2张图片(1)高电平和低电平:
a.高电平:高电平指与低电平相对的高电压,是电工程上的一种说法。在逻辑电平中,保证逻辑门的输入为高电平时所允许的最小输入高电平,当输入电平高于输入高电压(Vih)时,则认为输入电平为高电平。
b.低电平:低电平(Vil)指的是保证逻辑门的输入为低电平时所允许的最大输入低电平,当输入电平低于Vil时,则认为输入电平为低电平。是与高电平相对的低电压,是电子工程上的一种说法。
(2)共阳极和共阴极:
a.共阳极数码管是指八段数码管的八段发光二极管的阳极(正极)都连在一起,而阴极对应的各段可分别控制。
b.共阴极数码管是指八段数码管的八段发光二极管的阴极(负极)都连在一起,而阳极对应的各段分别控制。

4.真值表

                       数字                真值表
                        0                  0xC0
                        1                  0xF9
                        2                  0xA4
                        3                  0xB0
                        4                  0x99
                        5                  0x92
                        6                  0x82
                        7                  0xF8
                        8                  0x80
                        9                  0x90
       Tips: 二进制:(前缀:0b/0B)(后缀:b/B)
             八进制:(前缀:0)(后缀:o/O)
             十进制:(前缀:无,可加+/-)(后缀d/D)
             十六进制:(前缀:0x/0X)(后缀:h/H)

5.特殊功能寄存器

特殊功能寄存器是80C51单片机中各功能部件对应的寄存器,用于存放相应功能部件的控制命令,状态或数据。

(1)sbit是定义特殊功能寄存器的位变量

ex: sbit led1 = P1^0
将发光二极管 led1 接 P1口 0 位端,用以控制 led1 的亮灭

***在C语言里,如果直接写P1.0,C编译器并不能识别,而且P1.0也不是一个合法的C语言变量名,所以得给它另起一个名字,这里起的名为P1_0,sbit的用法有三种:
a:sbit 位变量名=地址值
b:sbit 位变量名=SFR名称^变量位地址值
c:sbit 位变量名=SFR地址值^变量位地址值

(2)sfr特殊功能寄存器:
sfr也是一种扩充数据类型,点用一个内存单元,值域为0~255。利用它可以访问51单片机内部的所有特殊功能寄存器。如用sfr P1 = 0x90这一句定P1为P1端口在片内的寄存器,在后面的语句中我们用以用P1 = 255(对P1端口的所有引脚置高电平)之类的语句来操作特殊功能寄存器。 sfr P1 = 0x90; //定义P1 I/O 口,其地址90H sfr 关键定后面是一个要定义的名字,可任意选取,但要符合标识符的命名规则,名字最好有一定的含义如P1 口可以用P1 为名,这样程序会变的好读好多。等号后面必须是常数,不允许有带运算符的表达式,而且该常数必须在特殊功能寄存器的地址范围之内(80H-FFH)。sfr 是定义8 位的特殊功能寄存器,而sfr16 则是用来定义16 位特殊功能寄存器,如8052 的T2 定时器,可以定义为: sfr16 T2 = 0xCC; //这里定义8052 定时器2,地址为T2L=CCH,T2H=CDH

你可能感兴趣的:(单片机 -- -- 数码管)