开关及数码管实验

简介: 开关及数码管实验

题目一:在P0口接一个共阴极的7段数码管,编程实现1位数码管0-9的循环显示。

C语言代码:

#include<reg51.h>
char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay()
{
  unsigned int i =500,j=0;
  for(;i>0;i--)
    for(j=0;j<125;j++);
}
int main()
{
  char i = 0;
  while (1)
  {
    for (i = 0; i < 10; i++)
    {
      P0 = led_mod[i];
      delay();
    }
  }
  return 0;
}

题目二:)在P0和P2口分别接两个7段数码管,编程实现0-99循环显示。

C语言代码:

#include<reg51.h>
char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay()
{
  unsigned int i =500,j=0;
  for(;i>0;i--)
    for(j=0;j<125;j++);
}
int main()
{
  while(1)
  {
    char i = 0;
    P0=0x00;
    P1=0x00;
    for(i = 0;i<100;i++)
    {
      P0=led_mod[i/10];
      P2=led_mod[i%10];
      delay();
    }
  }
  return 0;
}

题目三:在P0口和P2口分别接两个7段数码管,并在P3.7引脚接一个开关,通过统计按键次数,并在数码管上显示,如果按键次数大于100,从0开始重新统计。

C语言代码:

#include<reg51.h>
sbit p3_7=P3^7;
char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char count;
void delay()
{
  unsigned int i =10,j=0;
  for(;i>0;i--)
    for(j=0;j<125;j++);
}
int main()
{
  count=0;
  P0=led_mod[count/10];
  P2=led_mod[count%10];
  while(1)
  {
    if(p3_7==0)
    {
      delay();
      if(p3_7==0)
      {
        count++;
        if(count==100){count = 0;}
        P0=led_mod[count/10];
        P2=led_mod[count%10];
        while(p3_7==0);
      }
    }
  }
  return 0;
}

🍀小结🍀

种一棵树的最好时间是十年前,其次是现在! 把握好当下,合理利用时间努力奋斗,相信大家一定会实现自己的目标!加油!创作不易,辛苦各位小伙伴们动动小手,三连一波💕💕~~~,本文中也有不足之处,欢迎各位随时私信点评指正!

相关文章
【单片机】按键声光报警实验(蜂鸣器)
【单片机】按键声光报警实验(蜂鸣器)
591 0
|
3月前
|
机器人 Linux 异构计算
实例1:控制树莓派板载LED灯闪烁
本文是一个关于如何使用Python编程控制树莓派板载LED灯闪烁的实验教程,涵盖了树莓派的基本概念、LED控制文件的读写操作、Python `open()` 和 `sleep()` 函数的使用方法,以及具体的实验步骤和代码实现,目的是让读者通过实践熟悉树莓派操作和Linux文件读写。
77 1
实例1:控制树莓派板载LED灯闪烁
单片机实验:外部中断系统实验 如何1357,2468灯交替亮
单片机实验:外部中断系统实验 如何1357,2468灯交替亮
436 0
|
存储 编译器
单片机原理及其应用——单片机外部中断实验(八段数码管通过按键依次显示0~9数字)
单片机原理及其应用——单片机外部中断实验(八段数码管通过按键依次显示0~9数字)
单片机原理及其应用——单片机外部中断实验(八段数码管通过按键依次显示0~9数字)
实验:MSP430F249 按键控制四个灯,并消抖
实验:MSP430F249 按键控制四个灯,并消抖
120 0
|
存储
51单片机--动态数码管显示
51单片机--动态数码管显示
257 0
单片机数码管显示热敏电阻实测温度,
单片机数码管显示热敏电阻实测温度,
104 0
LabVIEW控制Arduino LED灯闪烁(基础篇—2)
利用LIAT中的数字I/O函数库,通过LabVIEW控制Arduino Uno控制板上D13管脚上LED灯,实现等间隔闪烁。
OpenMV输出PWM,实现对舵机控制
OpenMV输出PWM,实现对舵机控制
1703 0