1
芯片引脚图
74hc164是高速硅门CMOS电路,管脚与低功耗肖特基TTL(LSTTL)系列兼容。74hc164是8位的串入并出、边沿触发的移位寄存器,串入数据由DSA、DSB输入,在每个时钟CP的上升沿数据向右移一位,数据由DSA和DSB相与而成,且在上升沿到来之前已满足了建立时间。低电平有效的复位信号将直接把寄存器清零而输出为低。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。
时钟(CP)每次由低变高时,数据右移一位,输入到Q0,Q0是两个数据输入端(DSA和DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。
主复位(MR)输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。
门控串行数据输入。
异步中央复位。
符合JEDEC标准no.7A。
静电放电(ESD)保护:
HBMEIA/JESD22-A114-B超过2000V。
MMEIA/JESD22-A115-A超过200V。
多种封装形式。
额定从-40°C至+85°C和-40°C至+125°C。
74hc164工作原理即等同于移位寄存器
F0、F1、F2、F3是四个边沿触发的D触发器,每个触发器的输出端Q接到右边一个触发器的输入端D。因为从时钟信号CP的上升沿加到触发器上开始到输出端新状态稳定地建立起来有一段延迟时间,所以当时钟信号同时加到四个触发器上时,每个触发器接收的都是左边一个触发器中原来的数据(F0接收的输入数据D1)。寄存器中的数据依次右移一位。
H=HIGH(高)电平
h=先于低-至-高时钟跃变一个建立时间(set-upTIme)的HIGH(高)电平
L=LOW(低)电平
l=先于低-至-高时钟跃变一个建立时间(set-upTIme)的LOW(低)电平
q=小写字母代表先于低-至-高时钟跃变一个建立时间的参考输入(referencedinput)的状态
↑=低-至-高时钟跃变
直流电压VDD:l-0.5V——7V
输入钳位电流:-20MA—20MA
输出钳位电流:-20MA—20MA
连续输出电流:-25MA—25MA
通过VCC或GND的电流:-50MA—50MA
引脚焊接温度:+265度
通过74HC164的输出可实现LED的驱动控制,有关LED的结构原理段码表已在前面节中详细介绍,图4中由8个74HC164输出控制LED显示器为静态显示,LM317提供了LED2V的恒定电压省去了74HC164输出的限流电阻LM317输出电压,Vout由R1R2通过下式算出VouT=1.25(1+R2/R1)。
74HC164驱动的LED显示电路(共阴)电路图
R为clear端, C1/-》为clock端,&为A端(1脚)和B端(二角),3~13脚分表为QA~QH,
源程序:
/***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);
}
全部0条评论
快来发表一下你的评论吧 !