51单片机驱动数码管显示

  • 1. 数码管介绍.
  • 2.数码管的段选
  • 3.多个数码管并联
  • 4.如何驱动四位数码管显示数字。

1. 数码管介绍.

数码管可以看成是一个个LED,大家学的第一个关于单片机的第一个例程,应该就是点亮一个LED,而这个数码管就是有顺序的点亮某几个LED.

2.数码管的段选

从上面图片可以看到有共阴极和共阳极两种数码管,所以当我们让其中几个数码管显示的时候,只需要让a、b、c、d、e、f、g、dp(这几段称为段选端)这8段中的其中几段点亮就ok了。

3.多个数码管并联

一般来说,使用数码管不会单单一个,当使用多个数码管一起使用的时候,这时候几个数码管的段选端会并联在一起。每一个的共阳或者共阴极不在直接和电源的正或者负极相连,而是成为位选端,当需要其点亮时让其接通
(下图中a~g、dp为段选端,1 ~4 为位选端)

4.如何驱动四位数码管显示数字。

①四位数码管有8个段选端,4个位选端,让单独一个数码管显示的时候只需要在段选端输入段码,并且接通该数码管的位选端;
②如果需要显示四位数字时,就需要动态显示了,因为人类的视觉暂留效应(自行百度)在很短时间内依次显示数字,因为时间很短,看起来就像是同时亮着。

亚龙某实验台上的四位数码管显示。

#include "reg52.h"              //此文件中定义了单片机的一些特殊功能寄存器
typedef unsigned int u16;        //对数据类型进行声明定义
typedef unsigned char u8;
//数码管位选
sbit seg1= P2^0;//第一个数码管
sbit seg2=     P2^1;//第二个数码管
sbit seg3= P2^2;//第三个数码管
sbit seg4= P2^3;//第四个数码管
u8 DisplayData[8];
//u8 code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//自己开发板
u8 code smgduan[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//学校平台使用
void delay(u16 i)
{while(i--);
}/*******************************************************************************
* 函 数 名       : segdisplay()
* 函数功能       : 数码管显示
* 输    入       : 无
* 输    出         : 无
*******************************************************************************/
void segdisplay()
{int i;for(i=1;i<5;i++){switch(i){P0=0Xff;delay(5);  case 1:  seg1=0;seg2=1;seg3=1;seg4=1; break;case 2:  seg2=0;seg1=1;seg3=1;seg4=1; break;case 3:  seg3=0;seg1=1;seg2=1;seg4=1; break;case 4:  seg4=0;seg1=1;seg2=1;seg3=1; break;}P0=DisplayData[i];delay(100);P0=0XFF;delay(5);   }
}/*******************************************************************************
* 函 数 名       : main
* 函数功能       : 主函数
* 输    入       : 无
* 输    出         : 无
*******************************************************************************/
void main()
{while(1){//显示带两位小数的数字,提前把数字乘100,四舍五入或者取整DisplayData[1]=smgduan[temp /1000%10];//显示十位DisplayData[2]=smgduan[temp /100%10]&0x7f;//显示个位和小数点DisplayData[3]=smgduan[temp /10%10];//显示十分位DisplayData[4]=smgduan[temp /1%10];//显示百分位segdisplay();  }
}       

51单片机驱动数码管显示相关推荐

  1. 51单片机+DS18B20+数码管显示+串口通讯+Proteus仿真

    51单片机+DS18B20+数码管显示+串口通讯+Proteus仿真 本实验通过51单片机读取DS18B20温度传感器的温度,然后通过数码管显示,并通过串口,将读取到的温度数据发送出去. 本案例需要使 ...

  2. 51单片机实现数码管显示小数

    51单片机实现数码管显示小数 要求 1 Proteus 面向编程的模型搭建 2 代码实现 2.1. 实现数码管刷新 2.2 对小数进行分解的函数 3 测试用例 4 仿真结果 要求 要求1:根据整数部分 ...

  3. 51单片机七段数码管显示时钟无按键控制—①—74HC595版

    参考链接: 51单片机七段数码管显示时钟加按键控制-③-74HC595版 51单片机七段数码管显示时钟加按键控制-②-74HC595版 文章目录 一.实验内容: 二.实验分析: 三.仿真图: 四.源代 ...

  4. 基于51单片机的数码管显示方案

    这一次给大家带来的项目是课堂作业级别的51单片机数码管显示,本次的项目着重于讲解原理,让大家明白单片机的io对于外界设备的控制是如何进行的. 共阳极和共阴极数码管的差异 (1)驱动方法的差异.一个数码 ...

  5. 51单片机控制数码管显示

    前言 今天学习51单片机的数码管模块 我的学习板上面的数码管是4为一体由12个引脚控制的模块. 今天就编程控制它显示我们想要的输出. 数码管本质上是由8个LED拼接而成的,他们分别叫做a,b,c,d, ...

  6. 普中51单片机按键-数码管显示

    基于普中单片机按键-数码管显示 简介 1.硬件部分 普中单片机开发板 数码管 独立按键 2.软件部分 keil软件 硬件部分 普中单片机开发板 数码管 独立按键 (这些都是开发板的最基本的配置) 软件 ...

  7. 51单片机 静态数码管显示

    本章博客讲述使用51单片机编写程序静态数码管显示 1.新建工程,选择芯片型号,这里注意--为了防止出现在插入头文件reg时出现某些引脚不定义的情况 可尝试切换为AT89C52型号的芯片,插入头文件即为 ...

  8. 51单片机动态数码管显示自己学号

    实验题目:使用51单片机实现动态数码管显示自己8位学号,例如20220018 在此原理图又分两种连接方式: 第一种是8位数码管接38译码器来减少端口使用. 第二种是,没有端口要求接好就可以那就是,把位 ...

  9. 51单片机动态数码管显示时间+protues仿真

    项目场景: 纯小白 第一次写文章 写的不好请见谅 做51单片机数码管显示时间实验的时候protues 仿真出现了问题 问题描述 做51单片机数码管显示时间实验的时候protues 仿真出现了问题 仿真 ...

  10. 51单片机 动态数码管显示

    本章博客写的内容主要围绕动态数码管显示,动态数码管显示与静态数码管显示比较稍有变化,主要在添加延时函数这点上 1.首先将上一章节使用子函数方法的代码复制过来 将Nixie( , )移到下方while循 ...

最新文章

  1. java设计模式之为别人做嫁衣----代理模式
  2. Entity Framework Relationships and Navigation Properties
  3. 神经网络激活函数=生物转换器?
  4. EMD算法原理分解信号
  5. 刚写完的商城erp + 这个商城前台,新鲜出炉。自己1个人写, 包括php框架和前端html页面....
  6. java登录抓取网页_java模拟登录内部系统抓取网页内容
  7. centos压缩和解压缩命令之zip
  8. hplus java_Java HijrahDate plus(long, TemporalUnit)用法及代码示例
  9. 公众号开发入门:查询用户是否已经关注公众号?
  10. java项目账户充值提现_充值和提现的业务流程是怎样的?
  11. vb6.0中的Private Declare Function的含义
  12. 前端切图仔,常用的21个字符串方法
  13. Gradually Vanishing Bridge for Adversarial Domain Adaptation
  14. 使用TKMapper主键的坑
  15. 打卡学习——应对焦虑的一剂良方!
  16. 手机端扣扣浏览器图片居中_实现图片始终居中显示于浏览器窗口中心位置
  17. 如何利用企业微信促成交易?
  18. 区块链技术在食品质量追溯中的应用
  19. hp服务器如何ghost系统安装,专家亲授惠普(HP)笔记本安装不了GHOST系统该怎么办?(附解决方法)...
  20. matlab求曲线长度

热门文章

  1. 国内最强Web3D软件WebMax正式版发布
  2. 全国计算机三级网络技术题库南开,计算机三级网络技术机题库_及答案(南开100题).doc...
  3. 弹性地基梁板的计算理论_第八章 弹性地基梁的计算理论
  4. matlab实现卷积编码'适合小白理解学习'
  5. python抓取北京所有社区医院经纬度
  6. 【渝粤题库】广东开放大学 财务会计(1) 形成性考核
  7. 施乐j75服务器电源管理系统,富士施乐推出印刷系统 Color J75 Press
  8. Python读取并打印bin文件
  9. C# .NET弹出窗口大全
  10. PDF转CAD怎么弄?可以尝试一下这两种方法