TM1616数码管显示

本文档详细介绍了TM1616四位共阴数码管的驱动函数,包括初始化、显示空闲状态、数据显示以及设置数据的函数,以及相关的枚举类型和位操作。
摘要由CSDN通过智能技术生成
#ifndef _TM1616_H_
#define _TM1616_H_

// Function:
//  用于共阴数码管数据显示

#include "STC8G.h"

#define MaxSMG 4        // 数码管数目

#define DIGIT4_SEGMENT7      0x00   // 四位七段
#define AUTO_ADD_INCREASE    0x40   // 地址自动增模式
#define FIXED_ADD            0x44   // 地址固定模式

#define DISPLAY_OFF      0x80   // 显示关

#define DIG1 0xC0           // 第一个数码管
#define DIG2 0xC2           // 第二个数码管
#define DIG3 0xC4           // 第三个数码管
#define DIG4 0xC6           // 第四个数码管

// 数码管亮度
typedef enum
{
    SMG_Light1 = 0x88, // 脉冲宽度 1/16
    SMG_Light2,        // 脉冲宽度 2/16
    SMG_Light3,        // 脉冲宽度 4/16
    SMG_Light4,        // 脉冲宽度 10/16
    SMG_Light5,        // 脉冲宽度 11/16
    SMG_Light6,        // 脉冲宽度 12/16
    SMG_Light7,        // 脉冲宽度 13/16
    SMG_Light8         // 脉冲宽度 14/16
} SMG_Light;

// 8段数码管 实际为7段 小数点无法控制 最高位固定为0
union SevenSegment
{   
    u8 ZYLED;     // 整体显示 用于显示数字和设定的字母

    // 位域 单独控制数码管的段
    struct
    {
        u8 G:1;
        u8 A:1;
        u8 F:1;
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值