单片机-----数码管-----2

//***************************************************************************
// SMG_Ser.h
//***************************************************************************
#ifndef SMG_Ser //如果其他文件已经做了这个记号,那么不执行#define.
#define SMG_Ser //如果其他文件没有这个标记,那么就需要新做一个记号(唯一的)

extern void SMG_Display_Ser(); // 数码管显示服务
extern u8 data SMG_Write_Buffer[8]; //数码管显示的内容,直接向里面赋值即可用数码管显示。0-7,依次从第一位到第八位数码管显示

#endif

//***************************************************************************
// SMG_Ser.c
//***************************************************************************
#include <all.h>
u8 data SMG_Write_Buffer[8]; //数码管显示的内容,需要输入的内容字节写入即可
u8 code SMG_SEG[16]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90, 0x88,0x83,0xC6,0xA1,0x86,0x8E};//显示的内容为0-9-ABCDEF 16个数字
u8 code SMG_GRID[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //0-7数码管,位选,选择操作哪一个数码管显示
//***************************************************************************
// 数码管显示
//***************************************************************************
void SMG_Display_Ser()
{
static u8 count=0;
switch(count) //判断数码管的值。
{
case 0: //如果是0显示第1位数码管
case 1: ///如果是1显示第2位数码管
case 2: //如果是2显示第3位数码管
case 3: //如果是3显示第4位数码管
case 4: //如果是4显示第5位数码管
case 5: //如果是5显示第6位数码管
case 6: //如果是6显示第7位数码管
case 7: //如果是7显示第8位数码管

        HC595_Write_Buffer[0]=SMG_SEG[SMG_Write_Buffer[count]]; // 根据count顺序,从SMG_Write_Buffer中轮流提取数据,再找到该数据的模型
        HC595_Write_Buffer[1]=SMG_GRID[count]; //根据count的顺序,找到对应的位码。0-7数码管,决定操作哪一个数码管显示
        HC595_Write_Data_Drive();   //缓存数据传入到595芯片中
        break; 
}
count++;
count=count%8;      //总共8个数码管0--7

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_49327613

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值