51单片机(V51)————静态数码管和动态数码管

本文详细介绍了51单片机中的静态和动态数码管显示技术。从基本知识如锁存、段选和位选电路图,到共阳极和共阴极数码管的工作原理。接着,探讨了静态数码管的IO口占用及优缺点,以及动态数码管的刷新机制和节省资源的优势。最后,讨论了在动态显示中如何使用延迟函数或避免使用延迟函数的方法。
摘要由CSDN通过智能技术生成

一、基本知识

(1)锁存

在这里插入图片描述

锁存芯片的作用:保存上一状态值先给他赋值1,【使能端为高】,让我们要显示的数值通过,再给他赋值0,【使能端为低】,就可以锁住数值

(2)电路图看段选和位选

在BSTV51单片机中 P2^6 这个串口是段选,控制那一个数字的具体显示,可根据字形表对应输出 P2^7 是位选,选择控制要哪一位亮灯
在这里插入图片描述

(3)共阳极数码管与共阴极数码管

  • 共阴极–输出低电平0,点亮
  • 共阳极–输出高电平点亮
  • 共有十个引脚,2个接地GND
    在这里插入图片描述

二、静态数码管

  • 静态显示的连接方式、静态显示的优缺点(优点:不需要动态刷新;缺点:占用IO口线多)
  • 动态显示的连接方式(所有位数码管的段选线并联在一起,由 位选线控制是哪一位数码管有效)、动态显示的优缺点(缺点:需要动态刷新;优点:占用IO口线少)

在这里插入图片描述

#include<reg52.h>

sbit DUAN = P2^6;
sbit WEI  = P2^7;



void main()
{
   
	P0 = 0x7d; // 1111 1110
	DUAN = 1;
	DUAN = 0;

	P0 = 0x00; 
	WEI = 1;
	WEI = 0;

/*	P0 = 0x7c; // 1111 1110
	DUAN = 1;
	DUAN = 0;

	P0 = 0xfd; 
	WEI = 1;
	WEI = 0;	  */
	 
}

三、动态数码管

在这里插入图片描述
在这里插入图片描述
用延迟函数

#include<reg52.h>
sbit DUAN = P2^6;
sbit WEI  = P2^7;

void delay(unsigned int xms)
{
   
	unsigned int i,j;
	for(i=xms;i>0;i--)
		for(j=112;j>0;j--);
}

unsigned code sz[17] = {
    0x3f,0x06,0x5b,0x4f,0x66,0x6d,
  						 0x7d,0x07,0x7f,0x6f,0x77,0x7c,
						 0x39,0x5e,0x79,0x71,0x00
};
void main()
{
   
	while(1)
	{
   
		P0 = sz[1];		// 数字1
		DUAN = 1;		
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值