单片机实验--单片机控制数码管

简介: 单片机实验--单片机控制数码管
  • 实验目的
  1. 学习单片机程序开发软件Keil uVision的使用方法
  2. 学习单片机控制数码管动态显示的方法
  3. 学习模块化程序设计的方法


  • 实验仪器

硬件:X86型兼容计算机,单片机开发板;软件:Keil uVision和烧录软件


实验内容

设计程序控制数码管动态显示需要的数值;

硬件方案:数码管为共阴极连接,段码端通过锁存器74HC245与IO口(自选)连接,位选端通过译码器74LS138与IO口(自选)连接;

软件原理:根据锁存器、译码器原理和数码管动态显示原理依次循环送段码和位选信号,通过调整延时时间来进行动态显示。

要求: 1)在单个数码管上循环显示0-9;

                     2)在左起4个数码管上滚动显示数字“2022”;


                     3)在右起4个数码管上稳定显示数字“HELP”。


5.png 循环显示0-9

#include<reg52.h>
#include <intrins.h>
unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
void delay(unsigned int t)
{
  unsigned int i;
  while(t--)
    for(i=0;i<125;i++);
}
void main()
{
  unsigned char i;
  for(i=0;i<5;i++)
  {
    P1=tab[i];
    delay(300);
  }
}

实现数字2022

#include <reg52.h>
void delay(unsigned int t)
{
  unsigned int i;
  while(t--)
    for(i=0;i<125;i++);
}
void display(unsigned char dat,unsigned char pos)
{
  unsigned char seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
    0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  unsigned char poscc[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};
  P1=seg[dat];
  P0=poscc[pos];
  delay(200);
}
void main()
{
  while(1)
  {
    display(2,0);
    display(0,1);
    display(2,2);
    display(2,3);
  }
}

实现help的显示就更简单了

我这里就提一下思路,就不放代码了。

在seg里面加入H,L,E,P的相应的段码段,显示的时候不要循环就可以了。

相关文章
|
4月前
【51单片机】独立按键,每个按键不同功能,数码管数值的加减,控制流水灯模式,包含按键消抖,数码显示,流水灯
【51单片机】独立按键,每个按键不同功能,数码管数值的加减,控制流水灯模式,包含按键消抖,数码显示,流水灯
362 1
|
7月前
|
存储
【期末不挂科-单片机考前速过系列P3】(第三章:13题MOV&MOVX&MOVC&数码管速过)经典例题盘点(带图解析)
【期末不挂科-单片机考前速过系列P3】(第三章:13题MOV&MOVX&MOVC&数码管速过)经典例题盘点(带图解析)
|
4月前
51单片机汇编语言点亮一位数码管,并计时(超详细分析汇编语言)
51单片机汇编语言点亮一位数码管,并计时(超详细分析汇编语言)
237 0
|
4月前
【51单片机】开发板上矩阵键盘键码在数码管上的显示,按下键盘在数码管上显示对应段码
【51单片机】开发板上矩阵键盘键码在数码管上的显示,按下键盘在数码管上显示对应段码
176 0
|
4月前
|
算法
51单片机不用定时器的数码管倒计时
51单片机不用定时器的数码管倒计时
|
7月前
5-1 51单片机数码管
5-1 51单片机数码管
32 1
【51单片机】自定义动态数码管显示(设计思路&原理&代码演示)
【51单片机】自定义动态数码管显示(设计思路&原理&代码演示)
【51单片机】自定义静态数码管显示(设计思路&代码演示)
【51单片机】自定义静态数码管显示(设计思路&代码演示)
【51单片机】静态数码管显示(设计思路&原理&代码演示)
【51单片机】静态数码管显示(设计思路&原理&代码演示)
|
7月前
|
芯片 数据格式
【51单片机】要实现动静态数码管,你首先需要知道这些【数码管项目前置知识】
【51单片机】要实现动静态数码管,你首先需要知道这些【数码管项目前置知识】