您的位置 首页 资料

51单片机+74HC595驱动数码管程序

这里是电路图:完整的源码和图纸下载地址:http:www51heicombbsdpj-20392-1html下面是51单片机驱动74hc595芯片的程序:includer

这里是电路图:


完好的源码和图纸下载地址:http://www.51hei.com/bbs/dpj-20392-1.html
下面是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;

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/318173.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部