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();
 }
}
相关推荐
NeDon几秒前
[OJ]数据结构:移除链表元素
c语言·数据结构·算法·链表
刃神太酷啦1 分钟前
C++ list 容器全解析:从构造到模拟实现的深度探索----《Hello C++ Wrold!》(16)--(C/C++)
java·c语言·c++·qt·算法·leetcode·list
Herbert_hwt1 分钟前
C语言结构体详解:从定义到实战应用
c语言
承渊政道2 分钟前
一文彻底搞清楚链表算法实战大揭秘和双向链表实现
c语言·数据结构·算法·leetcode·链表·visual studio
松涛和鸣8 分钟前
32、Linux线程编程
linux·运维·服务器·c语言·开发语言·windows
Tadas-Gao1 小时前
存储技术革命:SSD、PCIe与NVMe的创新架构设计与性能优化
java·性能优化·架构·系统架构·存储
粟悟饭&龟波功1 小时前
【软考系统架构设计师】七、系统架构设计基础
系统架构·软件工程
patrickpdx2 小时前
leetcode:相等的有理数
算法·leetcode·职场和发展
hn小菜鸡2 小时前
LeetCode 1971.寻找图中是否存在路径
算法·leetcode·职场和发展
良木生香3 小时前
【数据结构-初阶】详解栈和队列(1)---栈
c语言·数据结构·算法·蓝桥杯