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();
 }
}
相关推荐
superman超哥17 小时前
仓颉语言导入语句使用深度解析
c语言·开发语言·c++·python·仓颉
Q_219327645518 小时前
基于单片机的RFID门禁系统设计
单片机·嵌入式硬件·51单片机
黎雁·泠崖18 小时前
C 语言字符串高阶:strstr/strtok/strerror 精讲(含 strstr 模拟实现)
c语言·开发语言
2501_9369603618 小时前
c语言期末速成8——文件
c语言·开发语言
qq_4017004118 小时前
数组指针:连续内存的操控
c语言
就是蠢啊18 小时前
51单片机——LCD1602液晶显示
单片机·嵌入式硬件·51单片机
晨晖218 小时前
直接插入排序
c语言·数据结构·c++·算法
小立爱学习18 小时前
ARM64 指令 --- CCMP/CSEL
linux·c语言
HUST18 小时前
C 语言 第七讲:数组和函数实践:扫雷游戏
c语言·开发语言·数据结构·vscode·算法·游戏·c#
玖剹18 小时前
字符串相关题目
c语言·c++·算法·leetcode