logo资料库

51单片机驱动74hc595芯片的程序.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
单片机驱动74hc595芯片的程序 芯片的程序 51单片机驱动 本文主要为51单片机驱动74hc595芯片的程序,下面一起来学习一下 51单片机驱动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 movebit=ledcode[datas]; // P1=0; delay(1); for(i=0;i { test=movebit; for(j=0;j { testb=test&0x80; test=test 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; }
分享到:
收藏