目录

一,数码管介绍

二,数码管引脚定义

我们首先对单个引脚进行说明:

其次,我们对多个引脚管进行说明:

最后我们来详细说说如何进行位选还有段选

接着是段选

三,数码管段码表

四,数码管驱动方式

五,代码演示


一,数码管介绍

LED数码管:数码管是一种简单、廉价的显示器,是由多个发光二极管封装在一起组成“8”字型的器件

二,数码管引脚定义

我们首先对单个引脚进行说明:

数码管分为共阳极连接和共阴极连接两种:

1,共阴极连接就是说3,8这一头连得是负极,所以在下面的那头给上高电平(即置1)就可以使二极管发光

2,共阳极连接就是说3,8这一头连得是正极,所以在下面的那头给上低电平(即置0)就可以使二极管发光

注意:在实际编写代码的时候这一点一定要搞清楚,或者进行实验后发现亮光的二极管的位置和预想的不对,那么对赋值的I/O口使用取反符号~也行

其次,我们对多个引脚管进行说明:

在这里的显示方式我们简单的归纳为这么几步:位选 段选 清零 位选 段选 清零

首先说明什么是扫描数码管,我们发现,数码管在构造时为了节省端口(单片机就40个引脚,不能全用来显示数码管吧,嘿嘿)把一排的数码管端口都共用了,所以为了同时显示四个数字,我们是不是得这样:

1,先在DIG1,DIG2,DIG3,DIG4,选一个

2,在端口用二进制代码或者十六进制代码显示我们想要显示的字符

3,最后将端口清零,就是全灭,因为端口是共用的,所以这样可以避免扫描过快时,第二个位置也显示相同的字符;

最后利用定时器以很快地速度重复这三个步骤,就可以实现数码管的扫描操作了

然后我们之前解释的显示方式就一一对应了即1就表示位选,2就表示段选,3,就表示清零。

最后我们来详细说说如何进行位选还有段选

首先还是由于节省I/O口的原因,所以在这里我们在位选的时候要用到这个74HC138译码器:

他的所用很简单,看图就可以知道,他是将p22,p23,p24三个引脚转换为LED1到LED8,这8个接口,刚刚好来控制我们板子上从左到右的8位数码管

接着是段选

就比较方便:可以看到下面的原理图上每个“8”字型的数码管上都有a,b,c,d,e,f,g,dp接口,分别对应的是P0_0到P0_7的8个接口。这里根据调试发现数码管是共阴极。所以置P0_0到P0_7为1即可 

三,数码管段码表

鉴于数码管的特殊构造,所以只能显示一部分字母

四,数码管驱动方式

在本节我们所说的数码管的驱动实际上是由软件(代码)来驱动的,但是一但有比数码管更加高的优先级的硬件时,我们就需要“外挂”即自带驱动扫描芯片的数码管显示器

五,代码演示

在8,7,6位置分别连续显示1,2,3

#include <REGX52.H>
void xianshi(unsigned char location,number);
void Delay1ms(unsigned int xms) ;
void main()
{while(1){xianshi(8,1);xianshi(7,2);xianshi(6,3);}}void xianshi(unsigned char location,number){switch(location){case 1: P2_4=0;P2_3=0;P2_2=0; break;case 2: P2_4=0;P2_3=0;P2_2=1; break;case 3: P2_4=0;P2_3=1;P2_2=0; break;case 4: P2_4=0;P2_3=1;P2_2=1; break;case 5: P2_4=1;P2_3=0;P2_2=0; break;case 6: P2_4=1;P2_3=0;P2_2=1; break;case 7: P2_4=1;P2_3=1;P2_2=0; break;case 8: P2_4=1;P2_3=1;P2_2=1; break;}switch (number){case 0: P0=0x3F   ; break;//0011 1111case 1: P0=0x06   ; break;//0000 0110case 2: P0=0x5B   ; break;//0101 1011case 3: P0=0x4F   ; break;//0100 1111case 4: P0=0x66   ; break;//0110 0110case 5: P0=0x6D   ; break;//0110 1101case 6: P0=0x7D   ; break;//0111 1101case 7: P0=0x07   ; break;//0000 0111case 8: P0=0x7F   ; break;//0111 1111case 9: P0=0x6F   ; break;//0110 1111}Delay1ms(1);P0=0x00;
}void Delay1ms(unsigned int xms)        //@12.000MHz
{unsigned char i, j;
while(xms){i = 12;j = 169;do{while (--j);} while (--i);xms--;}
}

STC89C52单片机数码管介绍以及代码示例相关推荐

  1. STC89C52单片机AD/DA介绍与代码演示

    目录 AD/DA介绍 硬件电路模型 硬件电路图 运算放大器 运放电路 AD原理 DA原理 AD/DA性能指标 XPT2046的使用介绍与配置 XPT2046的时序 代码解释 AD/DA介绍 AD(An ...

  2. STC89C52单片机LCD1602显示屏介绍与代码演示

    目录 LCD1602显示屏介绍 引脚介绍 内部结构框图 存储器 DDRAM储存器地址 CGRAM与 CGROM的地址 时序介绍 LCD1602快捷指令 LCD1602指令操作流程: 字符.字符串的显示 ...

  3. python简单代码画曲线图教程-Python绘制折线图和散点图的详细方法介绍(代码示例)...

    本篇文章给大家带来的内容是关于Python绘制折线图和散点图的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.绘制折线图和散点图要用到matplotlib ...

  4. python画折线图代码-Python绘制折线图和散点图的详细方法介绍(代码示例)

    本篇文章给大家带来的内容是关于Python绘制折线图和散点图的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.绘制折线图和散点图要用到matplotlib ...

  5. STC89C52单片机矩阵LED灯介绍以及代码示例

    目录 一,LED点阵屏介绍 二,显示原理 三,74HC595以及LED点阵屏 74HC595寄存器的介绍: 74HC595寄存器的使用方法: 74HC595以及LED点阵屏原理图: 四,开发板引脚对应 ...

  6. STC89C52单片机DS1302介绍以及代码示例

    目录 DS1302介绍 引脚定义与应用电路 内部结构框架图 寄存器定义 时序定义 BCD码 时间设置上的一些问题 代码示例: DS1302介绍 DS1302是由美国DALLAS公司推出的具有涓细电流充 ...

  7. STC89C52单片机红外遥控中断以及代码显示

    目录 红外遥控简介 硬件电路 基本发送与接收 NEC通信协议 简单的叙述一下代码思路: 遥控建码 51单片机的外部中断 STC89C52的外部中断有两种触发方式: 下降沿触发和低电平触发 外部中断寄存 ...

  8. java原子变量的作用_AtomicInteger原子类的作用介绍(代码示例)

    本篇文章给大家带来的内容是关于AtomicInteger原子类的作用介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. AtomicInteger 原子类的作用 多线程操 ...

  9. php中使用mysql的视图_MYSQL中视图的用法介绍(代码示例)

    本篇文章给大家带来的内容是关于MYSQL中视图的用法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.什么是视图 执行一条SQL,将结果集保存在一张虚拟表中 (相关 ...

最新文章

  1. 面试官:什么是QoS?如何原理是怎么样的?
  2. DL for Vision:A Tutorial with Caffe 报告笔记
  3. GDKOI2015 Day2
  4. 微信分享到朋友圈onMenuShareTimeline成功后的回调函数在某系ios手机下不执行的问题...
  5. pandas 散布矩阵
  6. 批发零售进销存 批发零售管理软件 批发零售店铺管理软件
  7. 理光2014ad扫描服务器响应,理光mp2014ad扫描驱动和打印驱动
  8. 结构体数组和二维数组初始化和拷贝
  9. python滤波器处理数据的优点_使用Python对原始信号应用合适的butterworth滤波器
  10. 黑鲨创建nt6引导出错_黑苹果神器,一键生成OpenCore EFI 文件
  11. 马王堆汉墓帛书本《道德经》解读
  12. 解决mac更新系统后git无法使用
  13. 2017北邮计算机考研经验总结,北邮计算机专考研经验总结.docx
  14. 黑马头条登录到个人中心页面
  15. postman接口测试中文汉化教程
  16. 使用WLW 写博客的测试
  17. window创建l2tp
  18. 计算机毕业设计Java大学生兼职平台(源码+系统+mysql数据库+lw文档
  19. 部署并安装Discuz论坛(首先搭建LAMP环境Apache+MySQL+PHP)
  20. 【无人机】【2012.09】将无人驾驶飞机系统融入城市环境中的现代警务研究

热门文章

  1. C语言魔塔视频百度云,原创 C语言版魔塔
  2. Java毕业设计-商城管理系统
  3. Ubuntu20.04 使用Python实现全过程离线语音识别(包含语音唤醒,语音转文字,指令识别,文字转语音)
  4. 同人逼死官方系列!基于sddc 协议的SDK框架 sddc_sdk_lib 解析
  5. 微信红包的随机算法是怎样实现的?
  6. 安装JDK8(jdk-8u181-windows-x64)
  7. 【关于c++中或逻辑运算法||执行顺序问题】
  8. 医学论文查找文献的方法
  9. 学习PLC编程的2个简单方法
  10. 祝贺李万瑶教授连任蜂疗学会会长