74HC595驱动数码管时间程序

来源:本站
导读:目前正在解读《74HC595驱动数码管时间程序》的相关信息,《74HC595驱动数码管时间程序》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《74HC595驱动数码管时间程序》的详细说明。
简介:本文主要为74HC595驱动数码管时间程序,希望对你的学习有所帮助。

74hc595驱动数码管时间程序

这里是电路图:

74HC595驱动数码管时间程序

下面是51单片机驱动74hc595芯片的程序:

#include //包含51单片机的头文件

#include

#define uint unsigned int

#define uchar unsigned char

//sbit sin_595 =P1^0;

//sbit rclk_595 =P1^1;

//sbit sclk_595 =P1^2;

//sbit s_clr =P1^3;

sbit a_cp_595 =P2^4; //串行移位时钟脉冲 sh_cp_595

sbit b_cp_595 =P2^3; //输出锁存器控制脉冲 st_cp_595

//sbit _oe_595 =P1^5; //8位并行输出使能/禁止(高阻态)

sbit ds_595 =P2^2; //串行数据输入

extern uchar datas[6]; //存放6个数码管的显示数字

uchar ledcode[]={

0xC0, // 0

0xF9, // 1

0xA4, // 2

0xB0, // 3

0x99, // 4

0x92, // 5

0x82, // 6

0xF8, // 7

0x80, // 8

0x90, // 9

0x88, // A

0x83, // B

0xC6, // C

0xA1, // D

0x86, // E

0x8E // F

};

void delay(uint z)

{

uint t1,y;

for(t1=z;t1>0;t1--)

for(y=110;y>0;y--);

}

void led_display(void)

{

uchar i,j;

bit testb;

uchar bdata movebit[6];

uchar bdata test;

//_oe_595=0; //选中数码管

for(i=0;i<6;i++)

movebit[i]=ledcode[datas[i]];

// P1=0;

delay(1);

for(i=0;i<6;i++) //数据移位

{

test=movebit[i];

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

{

testb=test&0x80;

test=test<<1;

if(testb)

{

ds_595=1;

}

else

{

ds_595=0;

}

a_cp_595=1;

a_cp_595=0;

} //数据移位

}

b_cp_595=0;

b_cp_595=1;

b_cp_595=0;

}

提醒:《74HC595驱动数码管时间程序》最后刷新时间 2024-03-14 00:53:20,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《74HC595驱动数码管时间程序》该内容的真实性请自行鉴别。