74HC595的介绍请点击打开链接
这里实现的是在protues7.5上f仿真使用74hc595控制六位数码管,用于计算公路里程;
代码:
#include <reg52.h>
sbit SI = P2^0; // 数据线
sbit SCK = P2^1; // 数据输入时钟线,脉冲
sbit RCK = P2^2; // 锁存
unsigned char code SMG[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
//0 //1 //2 //3 //4 //5 //6 //7 //8 //9
unsigned char Wei[6] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20};//位选
unsigned char Val[6] = {0};
void Output(void)
{
RCK = 0;
RCK = 1;
}
void Write_Byte(unsigned char dat)
{
unsigned char i = 0;
//每次发送一位数据,8次发送完毕,先发送高位(切记)
for(i=0; i<8; i++)
{
SCK = 0;
SI = dat & 0x80;
SCK = 1;
dat <<= 1