数码管的静态显示

数码管是一种用于显示数字和信息的电子设备,分为共阳极和共阴极两种类型。在CT107D中使用的是共阳极数码管。显示数码管需要结合译码器和锁存器,通过微控制器如STC15F2K60S2控制译码器选择要显示的位,然后用锁存器使能并选择相应的段来输出数值。文中提供了一个简单的数码管静态显示的代码示例,展示了如何用定时器更新显示内容。
摘要由CSDN通过智能技术生成

数码管概括

        数码管,也称作辉光管,是一种可以显示数字和其他信息的电子设备。玻璃管中包括一个金属丝网制成的阳极和多个阴极。大部分数码管阴极的形状为数字。管中充以低压气体,通常大部分为加上一些和/或。给某一个阴极充电,数码管就会发出颜色光,视乎管内的气体而定,一般都是橙色或绿色。

数码管的分类

        按发光二极管单元连接方式可分为共阳极数码管共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。

        在CT107D中,我们所用到的数码管就是共阳极数码管

数码管的相关原理图

锁存器

 

138译码器

通过原理图我们可以看出来 我们还需要调用译码器和锁存器来实现数码管的显示,通过控制译码器A口的值来让Y6口输出,进而让我们的锁存器U8使能,再通过段选出哪一位或多位显示,再通过U7进行位选输出相应数值。

下面就是一段简单的数码管静态显示

#include <STC15F2K60S2.H>
unsigned char code LedChar[] = {
 0x90,0x80,0xf8,0x82,0x92,0x99,0xB0,0xA4,0xF9,0xC0
 
};//数码管的真值表

void main()
{
 unsigned char cnt = 0; //记录T0中断次数
 unsigned char sec = 0; //记录秒数
 P2 = 0xD0; //及P27=1;P26=1;P25=0;选中Y6输出
 P0 = 0x01; //使当前数码管不显示
 TMOD = 0x01; //设置定时器T0工作模式为1
 TH0 = 0xB8; //给T0赋值为0xb800,即定时20ms
 TL0 = 0x00;
 TR0 = 1; //启动T0

 while(1)
 {
   if(TF0 == 1) //判断T0的值是否溢出
   { 
    
    P2 = 0xE0; //切换数码管的选中位置
    TF0 = 0; //溢出清0处理
   TH0 = 0xB8; //重新赋初值
   TL0 = 0x00;
   cnt++; //计数+1
   if(cnt >= 25) //判断溢出是否达到25次,即0.5s
   {
    cnt = 0;//达到25s后清零
    P0 = LedChar[sec];//显示当前秒数
    sec++;//秒数自加
    if(sec >= 10)
    {
     sec = 0;
    }
   }
   }
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值