I0口驱动74LS164数码管静态显示程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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) 保护:

·HBM EIA/JESD22-A114-B 超过 2000 V

·MM EIA/JESD22-A115-A 超过 200 V 。

•多种封装形式

•额定从 -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 地 (0 V)

CP 8 时钟输入(低电平到高电平边沿触发)/M/R 9 中央复位输入(低电平有效)

Q4~Q7 10~13 输出

VCC 14 正电源罗亩的笔记

6. 功能表(真值表)

H = HIGH(高)电平

h = 先于低-至-高时钟跃变一个建立时间 (set-up time) 的 HIGH(高)电平L = LOW(低)电平

l = 先于低-至-高时钟跃变一个建立时间 (set-up time) 的 LOW(低)电平q = 小写字母代表先于低-至-高时钟跃变一个建立时间的参考输入(referenced input) 的状态

↑ = 低-至-高时钟跃变

7. 电器特性

动态特性(TA=25℃)

8. 推荐工作条件

[1] 对于 DIP14 封装:Ptot 在超过70 °C 时以 12 mW/K 的速度线性降低。

[2] 对于 SO14 封装:Ptot 在超过70 °C 时以 8 mW/K 的速度线性降低。

对于 SSOP14 和 TSSOP14 封装:Ptot 在超过60 °C 时以 5.5 mW/K 的速度线性降低。

对于 DHVQFN14 封装:Ptot 在超过60 °C 时以 4.5 mW/K 的速度线性降低。

9、时序图

74ls164 c程序

单片机 74ls164 IO 口驱动程序串入并出源代码(C语言附源文件及仿真程序)

其中驱动共阴数码管和驱动共阳数码管时程序是不同的

//送一个数字显示的程序

#include "reg52.h"

#define uint unsigned int

#define uchar unsigned char

sbit DAT=P1^1;

sbit CLK=P1^2;

uchar code

tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0xe7f,0xff,0x00}; //0-9,-,全灭

void sendbyte(uchar byte)

{

uchar num,c;

num=tab[byte];

for(c=0;c<8;c++)

{

CLK=0;

DAT=num&0x01;

CLK=1;

num>>=1;

}

}

void delay_50ms(unsigned int t) {

unsigned int j;

for(;t>0;t--)

for(j=6245;j>0;j--)

{;}

}

main()

{

unsigned char h;

while(1){

for(h=0;h<10;h++){

delay_50ms(1);

sendbyte(h);

delay_50ms(10);

}

h=0;

}

74LS164级联控制5个数码管静态显示仿真图:

74LS164级联控制5个数码管静态显示源程序:

#include <reg52.h>

#include “MacroAndConst.h”uint8 LEDBuffer[5]={0}; //显示缓冲区

//code uint8 tab[]={0x3F,0×06,0x5B,0x4F,0×66,0x6D,0x7D,0×07,0x7F,0x6F,0×40}; //共阴极

code uint8 tab[]={0xC0,0xF9,0xA4,0xB0,0×99,0×92,0×82,0xF8,0×80,0×90,0xbf}; //共阳极

sbit LED_DAT=P1^1;

sbit LED_CLKE=P1^2;

void bit_dat(bit i) //向数码管写一个位

{

LED_CLKE=0;

LED_DAT=i;

LED_CLKE=1;

}

void uint_dat(uint8 i) //向数码管写一个字母,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));

相关文档
最新文档