蓝桥杯单片机学习(五):共阳数码管的动态显示

文章详细介绍了如何使用HC573和特定段码在P0口的单片机上实现动态显示数字,包括定义段码、选择HC573、按位显示和延时函数的运用,以及在主函数中控制月份变化时的延时策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


在这里插入图片描述

1、基础知识

在这里插入图片描述

左上:共用一个P0口,想要显示2024没有办法
左下:可以显示2024但是占用了太多的IO资源
右边:动态显示
在这里插入图片描述

每次只点亮一个,但是看起来像是一直都亮着
一开始 com1=1 com2=0 com3=0 com4=0 P0都显示2
然后1ms后 com1=0 com2=1 com3=0 com4=0 P0都显示0
2虽然熄灭了但是还有亮的感觉

2、代码实现

(1)定义段码

unsigned char code SMG_duanma[18]={
   0xc0,0xf9,0xa4,0xb0,0x99,0x82,0xf8,0x80,0x90,0x88,0x80,0xc6,0xc0,0x86,0x8e,0xbf,0x7f};

(2)HC573选择

void SelectHC573(unsigned char channel)
{
   
            switch(channel)
    {
   
        case 4:
            P2 = (P2 & 0x1f)|0x80;
            break;
        case 5:
            P2 = (P2 & 0x1f)|0xa0;
            break;
        case 6:
            P2 = (P2 & 0x1f)|0xc0;
            break;
        case 7:
            P2 = (P2 & 0x1f)|0xe0;
            break;  
       }
}

(3)动态显示

本质是按位显示,熄灭时间短,处在循环当中

按位显示
void DisplaySMG_Bit(unsigned char value,unsigned char pos)
{
   
        SelectHC573(6
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值