74hc164驱动数码管c语言程序,74hc164应用电路图_74hc164驱动源程序
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驱动源程序相关推荐
- 74hc164驱动数码管c语言程序,74hc164驱动数码管程序
#define uint unsigned int #define uchar unsigned char sbit DAT=P1^1; //模拟串口数据发送端 sbit CLK=P1^2;//模拟时 ...
- 74hc164驱动数码管c语言程序,基于51单片机的74HC164驱动数码管显示程序与仿真
基于51单片机的74HC164驱动数码管显示程序与仿真 基于51单片机的74HC164驱动一位数码管显示程序与仿真 #include #include #define uchar unsigned c ...
- 定时器驱动数码管c语言程序,74hc595驱动数码管时间程序
74hc595驱动数码管时间程序 这里是电路图: 下面是51单片机驱动74hc595芯片的程序: #include //包含51单片机的头文件 # ...
- 定时器驱动数码管c语言程序,用c语言编写,实用定时器实现数码管15倒计时
#include#define uchar unsigned char uchar miao,t0,flat,shiwei,gewei,; sbit dula = p2^6; sbit wela = ...
- 单片机按键控制数码管c语言程序,基于单片机的按键控制LED数码管共阴极动态显示电路设计报告(毕业论文).doc...
基于单片机的按键控制LED数码管共阴极动态显示电路设计报告(毕业论文) 物理与电子工程学院2014级课程设计 PAGE IV 物理与电子工程学院 <单片机原理与接口技术> 课程设计报告书 ...
- 数码管c语言程序如何控制,跪求,8255控制数码管,单片机c语言程序;
跪求,8255控制数码管,单片机c语言程序: 答案:3 信息版本:手机版 解决时间 2021-04-29 04:56 已解决 2021-04-28 12:39 8255 PA口--数码管的段选,82 ...
- 单片机交通灯数码管c语言程序,51单片机C语言实现交通灯(红绿灯)源程序.doc
51单片机用C语言实现交通灯(红绿灯)源程序 2009-10-29 23:00 交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改. 源程序如下: /*1.程序目的:使用定 ...
- 定时器驱动数码管c语言,第五章 定时器和数码管
1.1基本数字逻辑门电路 不管是数字电路,还是C语言,我们都会经常遇到逻辑运算和逻辑电路,在这里我介绍一下,大家先简单了解一下,知道有这么回事,回头遇到了,再详细研究. 首先,在"逻辑&qu ...
- 共阳极数码时钟c语言程序,基于51单片机C语言数字钟程序.doc
基于51单片机C语言数字钟程序 基于51单片机C语言数字钟程序 数字电子钟的设计 一. 绪论 (一)引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地 ...
最新文章
- 【Netty】NIO 网络通信 SelectionKey 常用 API 简介
- 良好的代码编写风格(二十五条)
- HBase数据备份及恢复(导入导出)的常用方法
- IIS7 配置 PHP
- deepin安装tomcat
- 滴滴顺风车回归倒计时!
- 如何在自己开发的android应用中添加广告
- 如何选择合适的数据可视化BI工具
- 当内存512遇上Access数据库600M,IO磁盘受伤了
- eclipse设置保护眼睛的背景色与字体
- c语言程序 随机抽取试卷,试题自动提取系统的设计与实现
- 解决File Cache Conflict
- 常用图片格式JPG\PNG\SVG该如何选择?
- java计算机毕业设计重庆旅游景点源码+数据库+系统+lw文档
- platform模型
- python爬取12306列车信息自动抢票并自动识别验证码(一)列车数据获取篇
- 02-特征逆推图像实验
- 圣诞节计算机老师贺卡祝福语,关于圣诞节的贺卡祝福语送给老师(最新)
- otrs软件_开源ITIL管理工具OTRS简单介绍
- MOELLER NZM3/4-XV4塑壳断路器
热门文章
- 720phi10p 和 720p有什么区别_红米note9和红米9哪个好_红米note9和红米9的区别
- 抖音Vlog怎么去拍摄,Vlog拍摄赚线吗?
- Randy Pausch_卡内基梅隆大学演讲--真正实现你的梦想
- 无法启动此程序,因为计算机中丢失pthreadVC2.dll
- 如何使用 K8s 实现跨集群管理,这篇文章告诉你了!赶紧收藏
- 大家都在做直播,陌陌做的这个有什么不同?
- 直播间实时在线人数方案
- matlab如何采集两路语音信号,基于MATLAB的语音信号采集与处理
- Android记录5--关于Android云测试的小思考
- Netty里面的Boss和Worker【Server篇】