74hc164是高速硅门 CMOS 器件,与低功耗肖特基型 TTL (LSTTL) 器件的引脚兼容。74hc164是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。

时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0, Q0 是两个数据输入端(DSA 和 DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。

主复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。

74hc164原理图

74hc164应用电路

下图是74HC164显示驱动电路图,图中所示的电路是轻触开关、数码管和LED组成的混合显示电路,其中16个按键,2个数码管,8个LED,是一个典型的538扫描电路.74HC164芯片的8个引脚Q0~Q7输出列扫描信号,单片机直接提供5路行扫描信号。单片机为74HC164提供时钟输入和数据输入信号,控制显示内容。该电路共需单片机的8个引脚,比常规扫描电路节约6个引脚资源,具有一定的成本优势。

二极管D2-D23起隔离作用,防止74HC164芯片引脚电位的互相干扰。例如:当选中一通道时,74HC164164输出引脚Q0~Q6为高电平,Q7为低电平。此时,如果同时按下SW1和SW2,引脚Q7和引脚Q6处于短路状态,将会损坏芯片。

时钟输入脚和数据输入脚需要接瓷片电容,用来抗高频干扰,但是电容量不能太大,以免引起输入波形的过度失真,使得电路不能正常工作,推荐使用100~1000pF.

74hc164驱动电路图和源程序

源程序:

/***74hc164是上升沿有效***/

#include《regx51.h》

#include《intrins.h》

#define uchar unsigned char

#define uint unsigned int uchar ch;

sbit DAT=P2^7;//A,B端接一块后接入DAT

sbit CLK=P2^6;

char code

seg[16]=

{

0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0xff

};

/*0~9和全灭状态*/

/*数经过移位寄存器后低位数为高位数,高位数为低位数 如:0000 0011移位以后为1100 0000*/

/*延时一毫秒函数*/

void delay(uint ms)

{

uchar i;

for(;ms!=0;ms--)

for(i=0;i《250;i++)

{

_nop_();

_nop_();

_nop_();

_nop_();

}

}

/***把代码发送到移位寄存器***/

void sendchar(ch)

{

uchar i;

for(i=0;i《8;i++)//8位数据传输完毕后才给数码管显示

{

DAT=ch&0x01;//P2_7=0000000x

/*DAT一直保持该状态,等时钟脉冲触发传递数值*/

CLK=0;

//下面两句制造一个上升沿 CLK=1;

/*一个seg[]刚好八位,164是串行输入的,分成八位输入*/ ch》》=1;

/*DAT=ch&0x01和ch》》=1的功能是一次取出八位二进制ch的每一位赋值给74hc164*/ }

}

void main(void)

{

uint m=0;

while(1)

{

sendchar(seg[m]);

if(++m==11) m=0; delay(200);

}

}

标签:

5

end

74hc164驱动数码管c语言程序,74hc164应用电路图_74hc164驱动源程序相关推荐

  1. 74hc164驱动数码管c语言程序,74hc164驱动数码管程序

    #define uint unsigned int #define uchar unsigned char sbit DAT=P1^1; //模拟串口数据发送端 sbit CLK=P1^2;//模拟时 ...

  2. 74hc164驱动数码管c语言程序,基于51单片机的74HC164驱动数码管显示程序与仿真

    基于51单片机的74HC164驱动数码管显示程序与仿真 基于51单片机的74HC164驱动一位数码管显示程序与仿真 #include #include #define uchar unsigned c ...

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

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

  4. 定时器驱动数码管c语言程序,用c语言编写,实用定时器实现数码管15倒计时

    #include#define uchar unsigned char uchar miao,t0,flat,shiwei,gewei,; sbit dula = p2^6; sbit wela = ...

  5. 单片机按键控制数码管c语言程序,基于单片机的按键控制LED数码管共阴极动态显示电路设计报告(毕业论文).doc...

    基于单片机的按键控制LED数码管共阴极动态显示电路设计报告(毕业论文) 物理与电子工程学院2014级课程设计 PAGE IV 物理与电子工程学院 <单片机原理与接口技术> 课程设计报告书 ...

  6. 数码管c语言程序如何控制,跪求,8255控制数码管,单片机c语言程序;

    跪求,8255控制数码管,单片机c语言程序: 答案:3  信息版本:手机版 解决时间 2021-04-29 04:56 已解决 2021-04-28 12:39 8255 PA口--数码管的段选,82 ...

  7. 单片机交通灯数码管c语言程序,51单片机C语言实现交通灯(红绿灯)源程序.doc

    51单片机用C语言实现交通灯(红绿灯)源程序 2009-10-29 23:00 交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改. 源程序如下: /*1.程序目的:使用定 ...

  8. 定时器驱动数码管c语言,第五章 定时器和数码管

    1.1基本数字逻辑门电路 不管是数字电路,还是C语言,我们都会经常遇到逻辑运算和逻辑电路,在这里我介绍一下,大家先简单了解一下,知道有这么回事,回头遇到了,再详细研究. 首先,在"逻辑&qu ...

  9. 共阳极数码时钟c语言程序,基于51单片机C语言数字钟程序.doc

    基于51单片机C语言数字钟程序 基于51单片机C语言数字钟程序 数字电子钟的设计 一. 绪论 (一)引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地 ...

最新文章

  1. 【Netty】NIO 网络通信 SelectionKey 常用 API 简介
  2. 良好的代码编写风格(二十五条)
  3. HBase数据备份及恢复(导入导出)的常用方法
  4. IIS7 配置 PHP
  5. deepin安装tomcat
  6. 滴滴顺风车回归倒计时!
  7. 如何在自己开发的android应用中添加广告
  8. 如何选择合适的数据可视化BI工具
  9. 当内存512遇上Access数据库600M,IO磁盘受伤了
  10. eclipse设置保护眼睛的背景色与字体
  11. c语言程序 随机抽取试卷,试题自动提取系统的设计与实现
  12. 解决File Cache Conflict
  13. 常用图片格式JPG\PNG\SVG该如何选择?
  14. java计算机毕业设计重庆旅游景点源码+数据库+系统+lw文档
  15. platform模型
  16. python爬取12306列车信息自动抢票并自动识别验证码(一)列车数据获取篇
  17. 02-特征逆推图像实验
  18. 圣诞节计算机老师贺卡祝福语,关于圣诞节的贺卡祝福语送给老师(最新)
  19. otrs软件_开源ITIL管理工具OTRS简单介绍
  20. MOELLER NZM3/4-XV4塑壳断路器

热门文章

  1. 720phi10p 和 720p有什么区别_红米note9和红米9哪个好_红米note9和红米9的区别
  2. 抖音Vlog怎么去拍摄,Vlog拍摄赚线吗?
  3. Randy Pausch_卡内基梅隆大学演讲--真正实现你的梦想
  4. 无法启动此程序,因为计算机中丢失pthreadVC2.dll
  5. 如何使用 K8s 实现跨集群管理,这篇文章告诉你了!赶紧收藏
  6. 大家都在做直播,陌陌做的这个有什么不同?
  7. 直播间实时在线人数方案
  8. matlab如何采集两路语音信号,基于MATLAB的语音信号采集与处理
  9. Android记录5--关于Android云测试的小思考
  10. Netty里面的Boss和Worker【Server篇】