欢迎来到天天文库
浏览记录
ID:20250375
大小:113.50 KB
页数:3页
时间:2018-10-09
《74hc164驱动和应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、74HC164的驱动和应用74HC164的几点说明:1.74HC164是串行输入,并行输出的;2.它的并行输出其实是有延时的,只是延时时间小,可以认为是并行输出;74hc164封装和真值表:真值表中文解释说明:H-高电平L-低电平X-任意电平↑-低到高电平跳变(上升沿有效)QA0,QB0,QH0-规定的稳态条件建立前的电平QAn,QGn-时钟最近的↑前的电平看真值表的第三条和第五条:就可以知道,在保持clear为Hclock为↑状态下,AB都为H时,移位寄存器移入H,而当移位寄存器移入L时,必须令B为L,而A不受约束。
2、所以可以把AB断相连再接入单片机数据端口。还有一种是A脚直接接高电平,B脚连入单片机数据端(P2_7)电路仿真图:R为clear端,C1/->为clock端,&为A端(1脚)和B端(二角),3~13脚分表为QA~QH,源程序:/***74hc164是上升沿有效***/#include#include#defineucharunsignedchar#defineuintunsignedintucharch;sbitDAT=P2^7;//A,B端接一块后接入DATsbitCLK=P
3、2^6;charcodeseg[16]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0xff};/*0~9和全灭状态*//*数经过移位寄存器后低位数为高位数,高位数为低位数如:00000011移位以后为11000000*//*延时一毫秒函数*/voiddelay(uintms){uchari;for(;ms!=0;ms--)for(i=0;i<250;i++){_nop_();_nop_();_nop_();_nop_();}}/***把代码发送到移位寄存器**
4、*/voidsendchar(ch){uchari;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*/}}voidmain(void){uintm=0;while(1)
5、{sendchar(seg[m]);if(++m==11)m=0;delay(200);}}
此文档下载收益归作者所有