51_蓝桥杯_数码管静态显示

一 电路

二 数码管静态显示工作原理

三 代码

代码1 实现第一个数码管显示数字6的功能

复制代码
#include "reg52.h"

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

void Delay(unsignde int t)
{
  while(t--);
  while(t--);
}//实现延时功能的函数
 
void InitHC138(unsigned char n)
{
 switch (n)
 { 
   case 4;
      HC138_C = 1;
      HC138_B = 0;
      HC138_A = 0;//输出Y4
   break;
   case 5;
      HC138_C = 1;
      HC138_B = 0;
      HC138_A = 1;//输出Y5
   break;
case 4;
      HC138_C = 1;
      HC138_B = 1;
      HC138_A = 0;//输出Y6
   break;
   case 5;
      HC138_C = 1;
      HC138_B = 1;
      HC138_A = 1;//输出Y7
   break;
 }
}

void shumaguan()
{
  InitHC138(6);
  P0 = 0x01;
  InitHC138(7);
  P0 = 0x82;
}//实现第一个数码管,显示数字6的函数功能

void main()
{
  shumaguan();
  while(1)
 {

 }
}

代码2:实现数码管由数字0显示到数字9,并逐个进行。然后,数码管的内容,由0到f循环显示的功能。

复制代码
#include "reg52.h"

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

void Delay(unsignde int t)
{
  while(t--);
  while(t--);
}//实现延时功能的函数
 
void InitHC138(unsigned char n)
{
 switch (n)
 { 
   case 4;
      HC138_C = 1;
      HC138_B = 0;
      HC138_A = 0;//输出Y4
   break;
   case 5;
      HC138_C = 1;
      HC138_B = 0;
      HC138_A = 1;//输出Y5
   break;
case 4;
      HC138_C = 1;
      HC138_B = 1;
      HC138_A = 0;//输出Y6
   break;
   case 5;
      HC138_C = 1;
      HC138_B = 1;
      HC138_A = 1;//输出Y7
   break;
 }
}

void shumaguan_bit(unsigned char dat, unsigned pos)
{
  InitHC138(6);
  P0 = 0x01<<pos;//数码管的位置
  InitHC138(7);
  P0 = dat;//数码管的内容
}

void shumaguan()
{
  unsigned char i;
  for(i = 0 ; i < 8; i++)
  {
    for(j = 0; j < 10 ; j++)
    {
     shumaguan_bit(SMG_Duanma[j],i);
     Delay(60000);
    }
  }//实现了数码管由数字0显示到数字9,并逐个进行的功能
 for(j = 0; j < 16 ; j++)
 {
  InitHC138(6);
  P0 = 0xff;//数码管全选
  InitHC138(7);
  P0 = SMG_Duanma[j];//数码管的内容,由0到f循环显示
 }
}

void main()
{
  while(1)
 {
   shumaguan();
 }
}
相关推荐
学顶教育15 小时前
学顶教育:公务员面试常见问题!
面试·职场和发展
知识分享小能手15 小时前
C学习教程,从入门到精通,C语言文件 — 完整知识点详解(14)
c语言·网络·学习
羊羊一洋16 小时前
ROM&RAM
c语言·stm32·学习
高旭的旭16 小时前
图解 Android 系统架构:从 App、Framework、HAL 到 Linux 驱动
android·linux·系统架构
创界工坊工作室16 小时前
41-基于STC89C52的避障循迹小车
stm32·单片机·嵌入式硬件·51单片机·proteus
库玛西17 小时前
外部排序全解析:败者树、置换-选择排序与最佳归并树
c语言·数据结构·c++·笔记·考研·算法
solihawk17 小时前
架构系列之软件架构设计基本概念
系统架构
人才风控观察周刊19 小时前
教育机构人员背调方案的方案能力证据、版本与复审周期是否透明可
职场和发展
ABB自动化19 小时前
ABB 500CIM06 (1MRB150077R0111) | REB500 通信接口
大数据·分布式·系统架构·系统安全·模块测试·plc 控制器
youandyouyou19 小时前
局域网视频会议系统架构拆解与私有化部署实践
系统架构·音视频·网络通信