共阴极数码管的显示刷新

2019-08-15来源: eefocus关键字:共阴极数码管  显示刷新

共阳极数码管是指八段数码管的八段发光二极管的阳极(正极)都连在一起,而阴极对应的各段可分别控制,如图(B)所示:


共阴极数码管是指八段数码管的八段发光二极管的阴极(负极)都连在一起,而阳极对应的各段分别控制,如图(C)所示:


共阴级输入高电平有效,共阳级输入低电平有效。




驱动程序如下:


/*seg.c*/


#include "./delay/delay.h"

#define SEGPORT  P0

sbit bit_select = P2^0;    //定义位码位为P2^0口

sbit seg_select = P2^1;    //定义断码位为P2^1口

 

/*共阴极数码管的0~F的显示*/

unsigned char seg_data[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

unsigned char bit_data[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

 

void main()

{

    unsigned char i;

    SEGPORT = 0;

    /*消除数码管刷新时的重影*/ 

    while(1)

   {

        for(i = 0; i < 8; i++)

{

    SEGPORT = 0x0;

    seg_select = 1;

    seg_select = 0;

    

    SEGPORT = 0xff;

    bit_select = 1;

    bit_select = 0;

 

    SEGPORT = seg_data[i];

    seg_select = 1;

    seg_select = 0;

   

    SEGPORT = bit_data[i];

    bit_select = 1;

    bit_select = 0;

    

    delay_ms(2);

}

}

/*延时函数*/

/*delay.c*/

void delay_us(unsigned char t)

{

    while(--t);

}

 

void delay_ms(unsigned char t)

{

    while(t--)

    {

delay_us(245);

delay_us(245);

     }

}

 

void delay_s(unsigned char t)

{

    while(t--)

    {

        delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

delay_ms(200);

    }

}


/*delay.h*/

#ifndef _DELAY_H_

#define _DELAY_H_

 

extern void delay_us(unsigned char t);

extern void delay_ms(unsigned char t);

extern void delay_s(unsigned char t);

 

#endif


关键字:共阴极数码管  显示刷新

编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic471237.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:利用单片机的数码管模拟时钟的显示时间
下一篇:利用中断实现的4*4矩阵键盘扫描

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

C语言实现共阴极数码管操作

     共阴极或者共阳极数码管,因为其需要电流大,而一般51输出电流低,需要锁存器。买的开发板使用的共阴极数码管。     至于其构造,找个相关方面的书看看,这里主要是对做好的电路板进行编程。     刚开始的时候,感觉在数码管上显示数字很厉害。但是等到自己写这篇日志的时候,才发现了了。。     在对数码管编程前,需要对锁存器有所了解。买的开发板上用的是74HC573贴片式的。     74HC573真值表   
发表于 2018-05-07
C语言实现共阴极数码管操作

【C51】源码 2 -- 8 位共阴极数码管的基本显示

自学单片机,买了一套开发板,进入学习的第 3 阶段:8 位共阴极数码管。刚刚接触了锁存器的用法,写在这儿用于备份…… 程序就是利用锁存器,动态显示数字,使 8 位数码管看起来同时显示不同的字样……   附上源码:(初出茅庐,难免有写的不好的地方,仅作备份之用,欢迎指点,喷子退散……) #include <reg52.h> #define DATA P1          // 定义 P1 为数据输
发表于 2016-09-28

proteus仿真8位共阴极数码管显示

代码: #include <reg52.h> #define uint  unsigned int   #define uchar unsigned char //sbit A=P2^0; //sbit B=P2^1; //sbit C=P2^2; void delay(uchar); uchar code table[]=  {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; //共阴级数码管字形代码表 void main
发表于 2016-08-02
proteus仿真8位共阴极数码管显示

51单片机直接驱动共阴极数码管

单片机驱动Led数码管(或n个Led)应该算是单片机经典试验之一了。 数码管种类:   少量的数码管实际可以直接用单片机驱动(如4个数码管)。数码管数码管有两种:共阴极和共阳极数码管。虽然只是一个极性的不同,实际应用时大有不同(根据网上资料小结如下):   数码管类型 上拉电阻 限流电阻 对单片机电流的影响 三极管驱动 工业IC 共阳极 不需 200~470Ω (非排阻) 位码高电平, 段码低电平
发表于 2015-11-16

三星发布CRG5显示器,支持以40Hz的刷新率与G-Sync配对

大家对于三星的显示器都并不陌生,无论是手机屏幕、电视屏幕还是电脑屏幕,三星都是其中的佼佼者。现在,三星发布CRG5显示器,这款27英寸的显示器支持G-Sync技术,当你使用GeForce GPU时,该面板就会以40Hz的刷新率与G-Sync配对,为用户提供4ms的像素响应时间。 在这里小编为大家科普一下G-Sync,这是2013年10月18日NVIDIA在加拿大蒙特利尔正式发布了全新的针对画面连贯性的新技术。作为垂直同步技术的替代以及自适应垂直同步技术的延伸,G-SYNC技术不仅解决了画面撕裂问题,同时从根本上解决了困扰垂直同步技术许久的画面视觉卡顿问题。不论画面更新率有多快,它都可以让屏幕与GPU完全同步。通
发表于 2019-06-12
三星发布CRG5显示器,支持以40Hz的刷新率与G-Sync配对

惠普推新款电竞显示器:240Hz刷新率、1mm边框、价格3000!

有外媒报道称,惠普即将推出2款新的电竞显示器,分别为Omen X25和Omen X25f。两款显示器均搭载了一块24.5的1080P屏幕,并且均支持高达240Hz的刷新率。显示器屏幕材质为TN,其中Omen X25搭载了NVIDIA G-Sync专用模块,支持G-Sync防撕裂技术,而Omen X25f则只支持自适应同步。       外观设计方面,两款显示器都在底部边框搭载了一个小型LED灯,并且可以照亮底座Logo图标,其他特性还有三面窄边框,边框窄至1mm;显示器支架高度100mm可调节。接口方面,Omen X25搭载了1个DP1.2、1个HDMI1.4、2个USB3.0
发表于 2019-05-15

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved