数码管的驱动分静态扫描和动态扫描两种,使用最多的是动态扫描,优点是使用较少的MCU的IO口就能驱动较多位数的数码管。数码管动态扫描驱动电路很多,其中最常见的是74HC164驱动数码管,这种电路一般用三极管作位选信号,用74HC164作段选信号,占用的MCU的IO口线随位数增加而增加,一般驱动四位以下数码管。如果要驱动四位以上数码管,用74HC595驱动最经典,只需4根IO口线就能驱动8位数码管,而且不存在消影问题,显示功能也很强大,是很实用的数码管驱动电路之一。

电路设计

在WSF-51DB开发板上,用两片74HC595驱动8位共阴极数码管(由两个4位共阴极数码管组成),一片作位选信号,另一片作段选信号。需要注意的是段选芯片与数码管的连接要使用100-200欧姆电阻作限流,不能太大也不能太小,更不能直接连接。

程序设计

/**************************************************************************

*程序名称:74HC595驱动数码管

*程序功能:数码管显示字符

*开发工具:WSF-51DB开发板

* MCU型号:AT89S52-24PU

*时钟频率:12MHZ

*程序作者:吴师傅

**************************************************************************/

#i nclude

unsigned char code segmcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,

0x77,0x7C,0x39,0x5E,0x79,0x71};//共阴极数码管段码0-f

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

//8位共阴极数码管位码

sbit ser=P2^0; //74HC595串行数据输入

sbit oe=P2^1; //74HC595使能,为0时输出数据,为1时呈高阻态

sbit rclk=P2^2; //74HC595数据锁存

sbit srclk=P2^3;// 74HC595串行时钟

//延时毫秒函数:

void Delayms(unsigned int t)

{

unsigned int x,y;

for(x=t;x>0;x--)

for(y=120;y>0;y--);//延时大约1毫秒

}

//任意位数码管显示一个字符函数:

void DTDisplayChar(unsigned char segmd,unsigned char bitd )//数码管段码和数码管位码

{

unsigned char i;

unsigned int dat;

dat=bitd;

dat=dat位码段码合并为一个int型数据

for(i=0;i位数据从高位依次移入74HC595

{

ser=(dat&0x8000)?1:0; //判断最高位,为真取1,为假取0

srclk=1; //上升沿送数据

srclk=0;

dat左移取下一位

}

rclk=1; //74HC595锁存数据

rclk=0;

}

//主函数:

int main(void)

{

unsigned char j,k;

oe=0; rclk=0;srclk=0;

DTDisplayChar(0xff,0x00);//数码管全亮

Delayms(2000);//延时2秒,检查数码管是否有缺画

while(1)

{

for(j=0;j显示0-f 16个字符

{

DTDisplayChar(segmcode[j],bitcode[j%8]);//从数组取出段码和位码

//要显示小数点只需在断码上或上0x80即可

for(k=0;k每个字符/闪烁5次

{

oe=0;//打开显示

Delayms(200);//延时200毫秒

oe=1;//关闭显示

Delayms(200);

}

}

/* for(j=0;j字符同时显示

{

DTDisplayChar(segmcode[j],bitcode[j]);//从数组取出段码和位码

Delayms(1);

} */

}

return 0;

}

c语言595驱动数码管,74hc595驱动数码管程序相关推荐

  1. c语言595驱动数码管,74hc595驱动4位数码管电路连接图及程序解析 - 全文

    本设计使用了一个4位的数码管,为共阳型,为了节省单片机的IO口,使用了两片74HC595作为数码管的驱动芯片,共占用3个IO口.74HC595部分电路图如下: 与单片机相连接的三个脚分别为: HC_D ...

  2. c语言595驱动数码管,74hc595驱动4位数码管程序解析 - 74hc595驱动4位数码管电路连接图及程序解析...

    74hc595驱动4位数码管程序解析 //MCU:AT89S52 //晶振:11.0592M. //采用4位共阳极数码管 #include <regx51.h> //#include &l ...

  3. MicroPython-On-ESP8266——8x8LED点阵模块(2)使用74HC595驱动

    MicroPython-On-ESP8266--8x8LED点阵模块(2)使用74HC595驱动 1. 使用74HC595驱动的原理 1.1. 基础回顾 上篇我们学习了8x8LED点阵屏的电路基础知识 ...

  4. c语言595驱动数码管,使用74hc595驱动一位数码管

    本帖最后由 darknight 于 2018-7-20 22:42 编辑 74hc595是一种常用的I/O拓展芯片,今天我尝试用一个74hc595来驱动一个一位七段数码管,效果还行 功能:数码管循环显 ...

  5. 定时器驱动数码管c语言程序,74hc595驱动数码管时间程序

    74hc595驱动数码管时间程序 这里是电路图: 下面是51单片机驱动74hc595芯片的程序: #include                            //包含51单片机的头文件 # ...

  6. 74HC595驱动四位数码管

    74HC595驱动四位数码管 数码管编码 出处 硬件原理图 出处 驱动程序 出处 1.数码管编码介绍 它每一段是一个发光二极管,排成一个"日"字形.通过控制某几段发光二极管的发光来 ...

  7. 基于STC15W4K32S4单片机仿真《74HC595驱动数码管动态显示》

    1. 编 程 软 件:keil5版本. 2.仿 真 软 件:Proteus8.12 3.单片机选型:STC15W4K32S4 4.学 习 目 标:1.学习74HC595驱动数码管动态显示 5.程 序 ...

  8. 基于STC15W4K32S4单片机仿真《74HC595驱动数码管静态显示》

    1. 编 程 软 件:keil5版本. 2.仿 真 软 件:Proteus8.12 3.单片机选型:STC15W4K32S4 4.学 习 目 标:1.学习74HC595芯片工作方式           ...

  9. Arduino 74HC595驱动数码管0-9循环显示+Proteus仿真

    Arduino 74HC595驱动数码管0-9循环显示+Proteus仿真 Proteus仿真 实例代码(do{}while();实现方法) /*74HC595控制1位共阳数码管* * * * * * ...

  10. 74HC595驱动2位数码管代码实现和注意事项

    74HC595驱动2位数码管 驱动芯片:74HC595,74LS595, 单片机:AT89C52,或者STC89C52都可以 实例代码 #include <STC89C5xRC.H> // ...

最新文章

  1. linux存储--mmap与sendfile(十七)
  2. firefox如何载入json文件_如何去解决JS跨域问题 怎么能学好Web前端开发
  3. head.s 分析——Linux-0.11 学习笔记(三)
  4. java的rserve实现_Java 使用 Rserve 实现与 R 的通信
  5. 1. ThreadPoolExecutor的一个常用的构造方法
  6. Python语法教程-基础语法01
  7. 我34岁,曾月入10万,给前员工修汽车
  8. idea如何给oracle添加数据_intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作...
  9. WIndows10下 MySQL 5.7(社区版)卸载
  10. 数据交互之封装request请求(微信小程序篇)
  11. 【MSP是什么】最佳管理实践指南
  12. java 爬虫处理数据_Java语言实现爬虫实战
  13. Yaml读写--SnakeYaml
  14. (学习笔记)图像处理——Retinex增强
  15. MFC学习之路(五)让人菊花一紧的错误
  16. 康托尔、哥德尔、图灵——永恒的金色对角线(rev#2)
  17. 更新应用程序安卓apk时出现解析程序包时出现问题
  18. 两连杆机器鱼的简单建模以及MATLAB仿真
  19. 原理 + 代码 | Apriori 算法与基于关联规则的购物篮推荐
  20. 心蓝12306订票助手

热门文章

  1. 宏文件下载_技能 | WPS如何启用宏功能,VBA组件安装
  2. Ajax的三种写法(最原始的写法+最常用的写法+最简便的写法)
  3. k2p php服务器,网件R6800与斐讯K2P之间的mu-mimo测试
  4. 开放世界游戏中的大地图背后有哪些实现技术?
  5. tomcat插入oracle中文乱码_Java连接数据库oracle中文乱码解决方案
  6. JavaScript生成唯一uuid
  7. IP地址规划和设计方法
  8. ORACLE 11R2 RAC EM 安装日记
  9. 一个HTTP请求的完整过程
  10. PowerPC技术与市场杂谈