单片机中的数码管显示原理及其实现

本文参考郭天祥的51学习教材,个人理解总结

  1. 数码管的原理
    数码管分为四位二进制数码管,七段十引脚数码管。四位二进制数码管输入四位二进制数,直接转换为十六位数,即将0000——1111转换为0——F。七段十引脚数码管,引脚为abcdefg、dp、c、gnd,七段数码管通过给某个引脚置高电平,即可实现该段的二极管点亮,从而显示0–9及A—F。
    数码管可分为单体数码管或者多体数码管,多体数码管是由众多数码管连接而成的,因此就有共阳极接法与共阴极接法之分。单体数码管的共阴极接法即将所有二极管的阴极接到一起,通过控制阳极来使不同的二极管段亮,共阳极类似。
    共阴极共阳极接法可由万用表测量得到。再此基础上,得到静态显示或者动态显示之分。静态显示,即将所有数码管的abcdefg接到单片机的同一个I/O口,此时所有数码管显示的数字一样。动态显示,即需要对多体数码管的数码管进行选择,在不同的数码管上显示不同的数字或者,此时需要结合数电中的片选信号线、数据线以及锁存器,这样才能使数码管实现动态显示。
  2. 实现方式
    以下列电路图为例说明多体数码管动态显示的基本原理。
    在这里插入图片描述
    图中数码管为七段十引脚共阴极数码管,所谓的片选或者位选,即是使得要选择的数码管的阴极为低电平,即数码管内部构成一个回路,共阳极数码管类似。段选即是对所选择的数码管的七个二极管进行操作,呈现所需要的数字。
    共阳极或者共阴极的编码可自行百度。参考二进制与十六进制的转换,但需要注意dp高位,a低位。
  3. 仿真结果

静态显示仿真结果

在这里插入图片描述

动态显示仿真结果

在这里插入图片描述

 dula=1;
   P0=table[1];
   dula=0;
    P0=0xff;
    wela=1;
    P0=0xfe;
    wela=0;
   delayms(500);

动态显示与延时时长有关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值