
引脚说明
符号 引脚 描述 Q0…Q7 第15脚, 1, 7 并行数据输出 GND 第8脚 地 Q7’ 第9脚 串行数据输出 MR 第10脚 主复位(低电平) SHCP 第11脚 移位寄存器时钟输入 STCP 第12脚 存储寄存器时钟输入 OE 第13脚 输出有效(低电平) DS 第14脚 串行数据输入 VCC 第16脚 电源
意思就是说,DS输入一个电平信号,0或1。通过SH cp上升沿将它存在芯片74HC595的寄存器当中。当8位串行数据传完后。通过STcp的一个正脉冲它从A*-G*输出来。
74HC595是串行转并行的芯片,有利于节省I/O口。在原理图中,通扰尺毕过P0^1先给最小面一片595输入数据。每输入一位数据,这片595会从Q7`引脚输出上一次困尘DS引脚的数据,传送到上面一片595芯片。从面依次驱动4个数码管。你这个电路,只能同时显缓芹示同一个数字。若想显示不同的数字。则四个数码管要分别用三极管控制位选。
没型稿分 没硬件图纸 谁能回答你给我你的email 我把仿真和程序发给你 贴上源代码:
#include<握姿reg52.h>卜皮孝
#define uint unsigned int
#define uchar unsigned char
sbit shcp1=P2^5
sbit ds1=P2^6
sbit stcp1=P2^7
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90} //数码管显示0~9驱动码
void delay(uchar i)
{
uchar x,y
for(x=0x<ix++)
for(y=0y<120y++)
}
void QR0_5951(uchar num1)
{
uchar j
for(j=0j<8j++)
{
num1=num1<<1
ds1=CY
shcp1=1
shcp1=0
}
}
void OUT_5951()
{
stcp1=0
stcp1=1
stcp1=0
}
void main()
{
uchar i,temp
while(1)
{
temp=0xf1
for(i=0i<4i++)
{
P2=0xf0
QR0_5951(table[i])
OUT_5951()
P2=temp
delay(5)
temp=(temp<<1)|0xf0
}
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)