I0口驱动74LS164数码管静态显示程序.docx
- 文档编号:12770677
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:14
- 大小:129.23KB
I0口驱动74LS164数码管静态显示程序.docx
《I0口驱动74LS164数码管静态显示程序.docx》由会员分享,可在线阅读,更多相关《I0口驱动74LS164数码管静态显示程序.docx(14页珍藏版)》请在冰点文库上搜索。
I0口驱动74LS164数码管静态显示程序
74LS164
1、器件功能作用
8位串入,并出移位寄存器
2.概述
74HC164、74HCT164是高速硅门CMOS器件,与低功耗肖特基型TTL(LSTTL)器件的引脚兼容。
74HC164、74HCT164是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。
数据通过两个输入端(DSA或DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。
两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。
时钟(CP)每次由低变高时,数据右移一位,输入到Q0,Q0是两个数据输入端(DSA和DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。
主复位(MR)输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。
3.特性
∙门控串行数据输入
∙异步中央复位
∙符合JEDEC标准no.7A
∙静电放电(ESD)保护:
·HBMEIA/JESD22-A114-B超过2000V
·MMEIA/JESD22-A115-A超过200V。
∙多种封装形式
∙额定从-40°C至+85°C和-40°C至+125°C。
4.功能图
图1.逻辑符号
图2.IEC逻辑符号
图3.逻辑图
图4.功能图
5.引脚信息
图5.DIP14、SO14、SSOP14和TSSOP14封装的引脚配置
引脚说明
符号
引脚
说明
DSA
1
数据输入
DSB
2
数据输入
Q0~Q3
3~6
输出
GND
7
地(0V)
CP
8
时钟输入(低电平到高电平边沿触发)
/M/R
9
中央复位输入(低电平有效)
Q4~Q7
10~13
输出
VCC
14
正电源罗亩的笔记
6.功能表(真值表)
工作模式
输入
输出
/M/R
CP
DSA
DSB
Q0
Q1至Q7
复位(清除)
L
L
X
X
L
L至L
移位
H
↑
l
l
L
q0至q6
H
↑
l
h
L
q0至q6
H
↑
h
l
L
q0至q6
H
↑
h
H
H
q0至q6
H=HIGH(高)电平
h=先于低-至-高时钟跃变一个建立时间(set-uptime)的HIGH(高)电平
L=LOW(低)电平
l=先于低-至-高时钟跃变一个建立时间(set-uptime)的LOW(低)电平
q=小写字母代表先于低-至-高时钟跃变一个建立时间的参考输入(referencedinput)的状态
↑=低-至-高时钟跃变
7.电器特性
符号
参数
测试条件
最小值
典型值
最大值
单位
VI
输入钳位电压
VCC=Min,II=-18mA
-
-
-1.5
V
VOH
输出高电平电压
VCC=Min,IOH=MaxVIL=Max,VIH=Min
2.7
3.4
-
V
VOL
输出低电平电压
VCC=Min,IOL=MaxVIL=Max,VIH=Min
-
0.35
0.5
V
IOL=4mA,VCC=Min
-
0.25
0.4
II
最大输入电压时输入电流
VCC=Max,VI=7V
-
-
0.1
mA
IIH
输入高电平电流
VCC=Max,VI=2.7V
-
-
20
μA
IIL
输入低电平电流
VCC=Max,VI=0.4V
-
-
-0.4
mA
IOS
输出短路电流
VCC=Max(Note4)
-20
-
-100
mA
ICC
电源电流
VCC=Max(Note5)
-
16
27
mA
动态特性(TA=25℃)
符号
参数
To(Output)
RL=2kΩ
单位
CL=15pF
CL=50pF
最小值
最大值
最小值
最大值
fMAX
最大时钟频率
-
25
-
-
-
MHz
tPLH
低到高电平输出传递延迟时间
时钟输出
-
27
-
30
ns
tPHL
高到低电平输出传递延迟时间
时钟输出
-
32
-
40
ns
tPHL
传递延迟时间
时钟输出
-
36
-
45
ns
8.推荐工作条件
符号
参数
最小值
典型值
最大值
单位
VCC
电源电压
4.75
5
5.25
V
VIH
输入高电平电压ViH
2
-
-
V
VIL
输入低电平电压ViL
-
-
0.8
V
IOH
输出高电平电流IOH
-
-
-0.4
mA
IOL
输出低电平电流IOL
-
-
8
mA
fCLK
时钟频率fCP
0
-
25
MHz
tW
脉冲宽度
时钟
20
-
-
ns
清除
20
-
-
tSU
数据设置时间
17
-
-
ns
tH
数据保持时间
5
-
-
ns
tREL
建立时间
30
-
-
ns
TA
工作温度
0
-
70
℃
[1]对于DIP14封装:
Ptot在超过70°C时以12mW/K的速度线性降低。
[2]对于SO14封装:
Ptot在超过70°C时以8mW/K的速度线性降低。
对于SSOP14和TSSOP14 封装:
Ptot在超过60°C时以5.5mW/K的速度线性降低。
对于DHVQFN14封装:
Ptot在超过60°C时以4.5mW/K的速度线性降低。
9、时序图
74ls164c程序
单片机74ls164IO口驱动程序串入并出源代码(C语言附源文件及仿真程序)
其中驱动共阴数码管和驱动共阳数码管时程序是不同的
//送一个数字显示的程序
#include"reg52.h"
#defineuintunsignedint
#defineucharunsignedchar
sbitDAT=P1^1;
sbitCLK=P1^2;
ucharcodetab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0xe7f,0xff,0x00};//0-9,-,全灭
voidsendbyte(ucharbyte)
{
ucharnum,c;
num=tab[byte];
for(c=0;c<8;c++)
{
CLK=0;
DAT=num&0x01;
CLK=1;
num>>=1;
}
}
voiddelay_50ms(unsignedintt)
{
unsignedintj;
for(;t>0;t--)
for(j=6245;j>0;j--)
{;}
}
main()
{
unsignedcharh;
while
(1){
for(h=0;h<10;h++){
delay_50ms
(1);
sendbyte(h);
delay_50ms(10);
}
h=0;
}
74LS164级联控制5个数码管静态显示
仿真图:
74LS164级联控制5个数码管静态显示
源程序:
#include
#include“MacroAndConst.h”
uint8LEDBuffer[5]={0};//显示缓冲区
//codeuint8tab[]={0x3F,0×06,0x5B,0x4F,0×66,0x6D,0x7D,0×07,0x7F,0x6F,0×40};//共阴极
codeuint8tab[]={0xC0,0xF9,0xA4,0xB0,0×99,0×92,0×82,0xF8,0×80,0×90,0xbf};//共阳极
sbitLED_DAT=P1^1;
sbitLED_CLKE=P1^2;
voidbit_dat(biti)//向数码管写一个位
{
LED_CLKE=0;
LED_DAT=i;
LED_CLKE=1;
}
voiduint_dat(uint8i)//向数码管写一个字母,8位
{
LED_CLKE=0;
bit_dat((bit)(tab[i]&0×80));
bit_dat((bit)(tab[i]&0×40));
bit_dat((bit)(tab[i]&0×20));
bit_dat((bit)(tab[i]&0×10));
bit_dat((bit)(tab[i]&0×08));
bit_dat((bit)(tab[i]&0×04));
bit_dat((bit)(tab[i]&0×02));
bit_dat((bit)(tab[i]&0×01));
LED_CLKE=0;
}
voiduchar_dat()//把缓存区的5个字符输入到5个数码管中
{
intj;
for(j=0;j<5;j++)
{
uint_dat(LEDBuffer[j]);
}
}
voidmain()
{
inti;
for(i=0;i<5;i++)
{
LEDBuffer[i]=i;
}
uchar_dat();
while
(1);}
/***************************************************/
/*I0口驱动74LS164数码管动态显示*/
/*在实验仪XL600上测试通过,*/
/*但记得把数码管数据端线有一头要反插;*/
/**************************************/
//----------库函数声明,管脚定义---------------------
#include
#defineucharunsignedchar
sbitsimuseri_CLK=P1^1;//用P1^6模拟串口时钟
sbitsimuseri_DATA=P1^0;//用P1^5模拟串口数据
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<50;m++)//显示频率50次
{
2_0=0;
numer=dis_code[ge];
out_simuseri(numer);//个位移位显示
delay(5);
2_0=1;
delay(5);
2_1=0;
numer=dis_code[shi];//十位移位
out_simuseri(numer);
delay(5);
2_1=1;
}
m=0;
}
}
}
/****************************************/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- I0 驱动 74 LS164 数码管 静态 显示 程序