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();
 }
}
相关推荐
梁下轻语的秋缘6 小时前
每日c/c++题 备战蓝桥杯(P1049 [NOIP 2001 普及组] 装箱问题)
c语言·c++·学习·蓝桥杯
加点油。。。。7 小时前
C语言高频面试题——指针函数和函数指针的区别
c语言·面试
wuqingshun3141597 小时前
蓝桥杯 5. 交换瓶子
数据结构·c++·算法·职场和发展·蓝桥杯
Demons_kirit7 小时前
Leetcode 2845 题解
算法·leetcode·职场和发展
却道天凉_好个秋7 小时前
系统架构设计(二):基于架构的软件设计方法ABSD
架构·系统架构
lkbhua莱克瓦248 小时前
用C语言实现——一个中缀表达式的计算器。支持用户输入和动画演示过程。
c语言·开发语言·数据结构·链表·学习方法·交友·计算器
技术干货贩卖机9 小时前
0基础 | 51单片机 | Proteus仿真
51单片机·proteus·仿真·电路仿真·0基础
lwewan9 小时前
26考研——存储系统(3)
c语言·笔记·考研
宝耶10 小时前
面试常问问题:Java基础篇
java·面试·职场和发展
triticale11 小时前
【蓝桥杯】画展布置
蓝桥杯