74HC164串入并出8位移位寄存器.docx
- 文档编号:4817553
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:12
- 大小:363.26KB
74HC164串入并出8位移位寄存器.docx
《74HC164串入并出8位移位寄存器.docx》由会员分享,可在线阅读,更多相关《74HC164串入并出8位移位寄存器.docx(12页珍藏版)》请在冰点文库上搜索。
74HC164串入并出8位移位寄存器
74HC164-串入、并出8-位移位寄存器
8位串入、并出移位寄存器
1.概述
74HC164、74HCT164是高速硅门CMOS器件,与低功耗肖特基型TTL(LSTTL)器件的引脚兼容。
74HC164、74HCT164是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。
数据通过两个输入端(DSA或DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。
两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。
时钟(CP)每次由低变高时,数据右移一位,输入到Q0,Q0是两个数据输入端(DSA和DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。
主复位(MR)输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。
2.特性
∙门控串行数据输入
∙异步中央复位
∙符合JEDEC标准no.7A
∙静电放电(ESD)保护:
·HBMEIA/JESD22-A114-B超过2000V
·MMEIA/JESD22-A115-A超过200V。
∙多种封装形式
∙额定从-40°C至+85°C和-40°C至+125°C。
3.功能图
H=高电平(稳定态)L=低电平(稳定态)×=不定↑=从低电平转换到高电平
QA0…QH0=在稳定态输入条件建立前QA…QH的相应电平
QAn…QHn=在最近的时钟输入条件(↑)建立前QA…QH的相应电平,表示移位一位
74HC164典型工作时序图
我之前写的164扩展程序,参考一下吧!
应该可以解决你问题。
其实你只要用到一片164就够了,作动态扫描,下面程序是两个数码管动态扫描,164并行输出口再接一片功率驱动芯片,如TD62083。
程序如下:
/**************************************/
/*74LS164数码管动态显示*/
/**************************************/
//-------------------------------------库函数声明,管脚定义------------
#include
#defineucharunsignedchar
sbitsimuseri_CLK=P1^1;//用P1^1模拟串口时钟
sbitsimuseri_DATA=P1^0;//用P1^0模拟串口数据
sbita0=ACC^0;
unsignedcharcodedis_code[11]={0x28,0x7E,0xa2,0x62,//查表显示0,1、、9
0x74,0x61,0x21,0x7A,0x20,0x60,0x01};
ucharnumer,temp;
ucharge,shi;
//----------------------------------------------------------------------------
//函数名称:
out_simuseri
//输入参数:
data_buf
//输出参数:
无
//功能说明:
8位同步移位寄存器,将data_buf的数据逐位输出到simuseri_DATA
//----------------------------------------------------------------------------
voidout_simuseri(uchardata_buf)
{
uchari;
i=8;
ACC=data_buf;
do
{
simuseri_CLK=0;
simuseri_DATA=a0;
simuseri_CLK=1;
ACC=ACC>>1;
}
while(--i!
=0);
}
/************************************/
voiddelay(ucharms)//延时程序
{
uchari;
while(ms--)
{
for(i=0;i<125;i++);
}}
/***********************************/
voidmain()
{
ucharm;
while
(1)
{
for(temp=0;temp<99;temp++)
{
ge=temp/10;
shi=temp%10;
for(m=0;m<20;m++)//显示频率200ms加1次
{
P2_0=0;//位段码
numer=dis_code[ge];
out_simuseri(numer);//个位移位显示
delay(5);
P2_0=1;
P2_1=0;
numer=dis_code[shi];//十位移位
out_simuseri(numer);
delay(5);
P2_1=1;
}
m=0;
}
}
}
/****************************************/
………………………………………………………………………………………………
************************************************************************
74hc164可以用作LED数码管的驱动的c程序
74HC164是个移位寄存器,以下程序是我用过的,绝对没问题:
其中ShowData为164数据脚,ShowClck为164时钟脚;
voidShow_164(unsignedchar_ShowValue)
{
unsignedcharCount0;
for(Count0=0;Count0<=7;Count0++)
{
if((_ShowValue&0x80)==0x80)
ShowData=1;
else
ShowData=0;
_ShowValue<<=1;
ShowClck=0;
_nop_();
_nop_();
ShowClck=1;
}
}
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
另一个C程序;
74HC164是个移位寄存器,以下程序是我用过的,绝对没问题:
其中ShowData为164数据脚,ShowClck为164时钟脚;
voidShow_164(unsignedchar_ShowValue)
{
unsignedcharCount0;
for(Count0=0;Count0<=7;Count0++)
{
if((_ShowValue&0x80)==0x80)
ShowData=1;
else
ShowData=0;
_ShowValue<<=1;
ShowClck=0;
_nop_();
_nop_();
ShowClck=1;
}
}
Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 74 HC164 移位寄存器