1.原理图
共阴极和共阳极:
简单来说,如果是共阴极的话,我们想要驱动某一个led灯,就应该给另一端加高电平,共阳极的话就加低电平
数码管显示分两种:静态显示和动态显示;
静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动。
动态显示:动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示。在实际应用中我们都是采用动态显示方式,不管你要显示几位,我们都只需要8+1+1 = 10个引脚。
(动态显示的原理:余辉效应。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。只是可能亮度没有静态显示那么亮,但是影响不大)
74HC573芯片
74HC573是八进制 3 态非反转-----“透明”锁存器
用于锁存引脚数据,实现引脚复用,这样的话,我们的P0端口就可以用于先后提供数码管段选和位选的数值。
我们结合数码管原理图以及上面两个图可以得出,当LE引脚(即单片机的P2^6,P2^7两个引脚)为高电平时,输出引脚Q是输入端D的值,当LE引脚为低电平时,75HC573芯片会将数据锁存(可看成在输出引脚上保存上一次的输入数据),
所以如果我们要写数据,可通过P2^6、P2^7两个引脚来选择芯片,通过置高电平后再置低电平的方式,实现P0端口的复用。
好了,知识讲到这里就够了,我们直接上代码
/*****************************************
*本代码实现的是,重复从左往右依次显示0-7
*即第一位显示0,然后第一位暗,接着第二位显示1
*****************************************/
#include sbit l1 = P1^0; sbit duan = P2^6; sbit wei = P2^7; /********************************************** *这个是随便写的延时函数,需要精确到几ms的话,可以参照 *网上的延时函数写法,这里只是起到简单延时的作用 **********************************************/ void delay(int n) { n = n *10000; while(n--) ; } void main() { /*********************** *段选是共阴极 *位选是共阳极 ***********************/ int j ; int a[8] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07};//数字0-7的段选编码 int b; while(1) { b = 0xfe; //选中第一位显示 for(j = 0;j < 8;++j) { P0 = a[j]; //段选 duan = 1; duan = 0; P0 = b; //位选 wei = 1; wei = 0; delay(10); b = (b<<1)|0x01; //每次往右移动一位显示 } } } 本人所写的有关51单片机的前面部分理论是从观看“亚博科技”的资料所整理的
上一篇:51单片机之数码管静态显示
下一篇:C51单片机学习笔记(五)——数码管的静态显示和动态显示
推荐阅读最新更新时间:2024-11-10 18:43
设计资源 培训 开发板 精华推荐
- 使用 Analog Devices 的 LTC7851EUHH-1 的参考设计
- 基于VPS2535H的24V智能电源开关扩展板,用于STM32 Nucleo
- 用于便携式计算机应用的、基于L6563H和L6599A的、带PFC的19V-90W适配器
- 【物联网】鸿蒙智能WIFI开关+4233031A
- ADR395A 5V 输出微功率、低噪声精密电压基准的典型应用
- LT1171HVCT、-12/2.5A 正负降压-升压转换器的典型应用
- 大作业1810300534张家玮
- LD29150PT50R 1.5A超低压降稳压器典型应用电路
- 使用 ROHM Semiconductor 的 BD49E60G-TR 的参考设计
- zuixiaoxitong