4-1 静态数码管显示(SDCC + Notepad++ + STC-ISP/普中ISP)

8段数码管

数码管, 又称LED数码管, 是由八段发光 二极管(LED)封装在一起组成"8"字型的器件,外加一个小数点,引脚遵循就近原则连接。

以3,8接低电平的共阴极数码管,且数码管显示6举例,就是让B和DP为0,其他位都是1。

DP G F E D C B A 数值
0 1 1 1 1 1 0 1 6

4位8段数码管

12、9、8、6用于处理某个数码管亮,其余引脚用于控制显示什么数值。比如只让8所属的DIG3亮,其他的熄灭,显示数字6。如果这时让9所属的DIG2亮,那么他也只能显示6。如果修改数字,其余亮的数码管也会是一样的数字。

如果想显示多个数字,比如DIG2显示5,DIG3显示6,那就只让DIG2显示5其余都灭,然后很快的切换DIG3显示6其余都灭。靠人眼的视觉残留,就能显示5和6了。这就是多位数码管的动态扫描显示。

2个4位8段数码管

开发板用的就是这种数码管。其中P22-P24这3个引脚控制8个数码管的亮灭,P00-P07这8个引脚控制单个数码管的显示。

138译码器

通过控制P22-P24,来控制Y0-Y7也就是LED1到LED8的某位显示低电平,则该位置的数码管显示。

注意:理论上,如果不用 138 译码器,直接用 IO 口控制位选,确实可以让两个数码管同时亮,并且显示相同的数字。但74HC138/74LS138 是低电平有效输出,正常工作状态下同一时刻只能有一个输出为 低电平 0,其余全部为 高电平 1。

P24 (C) P23 (B) P22 (A) 对应输出
0 0 0 Y0(LED1)
0 0 1 Y1(LED2)
0 1 0 Y2(LED3)
0 1 1 Y3(LED4)
1 0 0 Y4(LED5)
1 0 1 Y5(LED6)
1 1 0 Y6(LED7)
1 1 1 Y7(LED8)

让第三个数码管显示6

sdcc -mmcs51 --model-small --iram-size 256 --xram-size 0 --code-size 8192 .\41_static_digital_tube.c

c 复制代码
#include <mcs51/8051.h>

void main(void)
{
    P2_4 = 1;
    P2_3 = 0;
    P2_2 = 1;
    
    P0 = 0x7D;    // 0111 1101 
    
    while(1) {
        
    }
}

效果展示

相关推荐
ccbw162 天前
从一颗录音豆说起:AI会议转写的端侧方案与选型
人工智能·接口隔离原则·码率·采集
星核0penstarry7 天前
企业 API 向后兼容实战:版本控制、废弃字段通知与灰度发布策略
人工智能·后端·api·接口隔离原则·版本控制·架构设计·后端架构
OCR_133716212759 天前
户外强光下护照OCR为什么崩?从ISP到边缘AI,拆一下ER阅读器的抗眩光架构
人工智能·ocr·接口隔离原则
ccbw169 天前
CH634 四端口 USB3.0 HUB 控制器方案拆解与国产替代选型
接口隔离原则·摄像头
xunyan623412 天前
4-2 动态数码管显示(SDCC + Notepad++ + STC-ISP/普中ISP)
接口隔离原则
xunyan623421 天前
3-1 独立按键控制LED亮灭(SDCC + Notepad++ + STC-ISP/普中ISP)
单片机·嵌入式硬件·接口隔离原则
kyle~22 天前
实时系统通信抖动(Jitter)
计算机视觉·机器人·接口隔离原则·传感器
xunyan623422 天前
3-1 独立按键控制LED状态(SDCC + Notepad++ + STC-ISP/普中ISP)
notepad++·接口隔离原则
xunyan623422 天前
3-3 独立按键控制LED显示二进制(SDCC + Notepad++ + STC-ISP/普中ISP)
接口隔离原则