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

与单片机相连接的三个脚分别为: HC_DAT,HC_RCK,HC_CLK。两片595采用级联方式,即U2的第9脚接到U3的第14引脚。

74HC595是8位的移位寄存器,串入并出,并具有锁存功能,被广泛的用于数码管、点阵的驱动电路中。其管脚介绍如下:

15: 数据输出A-接数码管数据A段;

l: 数据输出B-接数码管数据B段;

2: 数据输出C-接数码管数据C段;

3: 数据输出D-接数码管数据D段;

4: 数据输出E-接数码管数据E段;

5: 数据输出F-接数码管数据F段;

6: 数据输出G-接数码管数据G段;

7: 数据输出H-接数码管数据H段;

16: 电源正脚-接电源正;

8: 电源负脚=接电源负;

14: 数据输入脚-接单片机管脚;

12: 数据锁存时钟-接单片机管脚;

11: 数据输入时钟-接单片机管脚;

13: 使能输出脚-低电平有效,接低电平;

10 :数据清零-不清零,接高电平;

9:数据级联输出-接下一片595的数据输入脚

74hc595时序图

通过时序可以看出:

SCK是上升沿的时候要把数据写入;

RCK是上升沿的时候数据才能锁存显示;

有数据操作的过程中RESET必须是高电平;

EN必须是低电平,595才能工作;

知道了以上4点就可以写程序了。其中3、4条是硬件连接上的事情(也可以用单片机的IO口来连接,这样的话可以随时控制74HC595的工作与否情况)。写程序主要靠1、2条。下面具体操作。

74hc595驱动4位数码管电路连接图

74hc595驱动4位数码管程序解析

//MCU:AT89S52

//晶振:11.0592M.

//采用4位共阳极数码管

#include 《regx51.h》

//#include 《INTRINS.H》

#define uint unsigned int

#define uchar unsigned char

#define nop() _nop_();_nop_();

sbit CLK=P2^0;

sbit DAT=P2^1;

sbit RCLK=P2^2;

sbit CS1=P2^3;

sbit CS2=P2^4;

sbit CS3=P2^5;

sbit CS4=P2^6;

uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff,0};//0-9,-,全灭,全亮——共阳极数码管

void write595(unsigned char word)

{

uchar num,c;

num=tab[word];

for(c=0;c《8;c++)

{

CLK=0;

DAT=num&0x80;

num=num《《1;

CLK=1;

}

RCLK=0;

// nop();

// nop();

RCLK=1;

}

void select1(void)

{

CS1=0;

CS2=1;

CS3=1;

CS4=1;

}

void select2(void)

{

CS1=1;

CS2=0;

CS3=1;

CS4=1;

}

void select3(void)

{

CS1=1;

CS2=1;

CS3=0;

CS4=1;

}

void select4(void)

{

CS1=1;

CS2=1;

CS3=1;

CS4=0;

}

int main(void)

{

//unsigned char i;

while(1)

{

write595(12);

select1();

//for(i=0;i《10;i++) _nop_();

write595(2);

select2();

//for(i=0;i《10;i++) _nop_();

write595(3);

select3();

//for(i=0;i《10;i++) _nop_();

write595(4);

select4();

//for(i=0;i《10;i++) _nop_();

}

}

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

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

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

  2. 基于51单片机定时器计数+74HC595移位寄存器+8位数码管时钟

    基于51单片机+74HC595移位寄存器+8位数码管时钟 Proteus仿真 实例代码 #include "at89x52.h" sbit SHCP =P0^1; // 移位寄存器 ...

  3. arduino二位数码管_用arduino和2个74HC595级联控制8位数码管显示

    初学者打出来的代码,可能不"美观",希望大家点评,多多留下意见,话不多说上代码-- 下面为8位数码管全部显示 #include "Arduino.h" void ...

  4. protues用一片74hc595控制两位数码管

    前面的博文中我们介绍了一个arduino中用一片595来控制一位数码管,这里我们介绍一个595来控制两位数码管.两位数码管是应用最广泛的,如交通灯倒计时,计数器等都将用到两位数码管. 两位数码管的动态 ...

  5. c语言数码管显示小数点,8位数码管显示正整数和小数及解决鬼影问题

    写的不知道好不好,有什么不对的地方还请指出,谢了. 正整数显示无异常,小数显示有点异常(小数会有精度问题,后面在处理,先给大家贴出来代码). 本次,使用了数组用来存放要显示的数值. 用单独的数码管显示 ...

  6. 基于51单片机之数码管设计#扩展三位数码管电路,完成0-999递增或递减计数功能,递减间隔200ms左右

    这次给大家分享一个三位数码管实现0-999倒计时器 所需元器件如下: AT89C51芯片 *1 12MHz晶振 *1 33pF电容 *2 10uF电解电容 *1 10K电阻 *1 200Ω电阻 *21 ...

  7. 手把手教学51单片机 | 第四节 动态数码管,用6位数码管做一个时钟

    1.利用定时器做一个流水灯的程序 //流水灯从上到下一次点亮,然后让全部灯闪烁两次,依次循环 #include<reg52.h> #include<intrins.h> #de ...

  8. arduino控制一位数码管、控制二位数码管动态显示(用不到中断程序)

    目的: 1.利用arduino控制一位共阳极数码管显示 2.利用arduino控制二位共阳极数码管显示 前言: 前段时间,在网上看到了一个视频,是关于二位数码管动态显示的视频,感觉很新奇,就想把它做出 ...

  9. arduino利用三种方法产生pwm波使用l298n驱动12v小车电机(附电路连接图和pwm详解)

    前段时间参加硕士复试,有一道题是pwm是什么,如何产生pwm,录取成功后接下来在这里写一下吧! 1.脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法,由于计算机不能输出模拟电压,只能输出0 ...

最新文章

  1. Dubbo的核心玩法三
  2. 解决maven cannot change version of project facet dynamic web module to 3.0
  3. 大数据读书笔记(1)
  4. 最全面详细讲解Oracle入门
  5. debian9 配置ssh 允许 root直接远程登录
  6. 懂集合吗?对,是dart中的集合
  7. html表格以pdf格式导出到本地
  8. php cdi_CDI和lambda的策略模式
  9. 从一条select语句看Oracle数据库查询工作原理
  10. tp auth 转载保存
  11. ES Filebeat 使用 Pipeline 处理日志中的 @timestamp
  12. 简记MobileNet系列
  13. 电路板上的这些标志你都知道是什么含义吗?——详解电子产品认证类型
  14. 查询硬盘序列号(serialNumber),系统安装日期等
  15. python random模块随机抽样专题
  16. 2020年8月8日美团笔试题
  17. CorelDRAW2022中文正式版特色功能介绍
  18. URLDownloadToFile缓存问题
  19. 常见的head内标签
  20. 基于matlab的傅里叶变换

热门文章

  1. 普歌--前端 vue-element-admin 实现第三方(无账号密码)登录
  2. 宁乡首届春耕节开幕,在寓教于乐中弘扬传统文化
  3. win32 009 masm32
  4. PDF标签文件用哪款条码标签打印软件制作?
  5. 2022-2028全球与中国应急服务5G技术市场现状及未来发展趋势
  6. 问卷生成选项,选项排序,设定答案
  7. 李宏毅老师《机器学习》课程笔记-4.1 Self-attention
  8. 手机故障手机通讯录被删除了怎么恢复
  9. 图灵计算机与网络论文,论文导读 | 阿兰·图灵《计算机器与智能》
  10. SaaS 软件开发为企业数字化转型赋能