驱动点阵有很多方法,比如单用HC138,单用HC595以及它两混用均可,本坛也有许多例子供大家参考,但是它们都是采用级联的方式来做,出于好奇心,我想用一片595控制列,一片控制行,而不采用级联,然而程序无法运行。不知是程序问题还是硬件本身不支持这种接法? 请高手们指教! 我的源程序如下: //#define uint unsigned int //#define uchar unsigned char typedef unsigned char u8; typedef unsigned int u16; sbit ds1 =P2^0; sbit shcp = P2^1; sbit stcp = P2^2; sbit ds2 = P2^3; u8 code display[]={ 0x66,0x99,0x81,0x81,0x42,0x24,0x18,0x00};//“心”图案 u8 code wei[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; void delay(u8 b)//延时 { while(b--); } /**************** 向HC595发送一个字节函数 ******************/ void Send1(u8 dat) { u8 i; for(i=0;i<8;i++) { ds1 =dat&0x01; dat>>=1; shcp = 1; shcp = 0; } stcp = 1; stcp = 0; } void Send2(u8 ddat) { u8 j; for(j=0;j<8;j++) { ds2 =ddat&0x80; ddat<<=1; shcp = 1; shcp = 0; } stcp = 1; stcp = 0; } void main() { u8 k; while(1) { for(k=0;k<8;k++) { Send2(wei[k]); Send1(display[k]); delay(100); } } } |
共5条
1/1 1 跳转至页
使用两片74HC595驱动点阵LED的问题
关键词: 74HC595 LED点阵 LED驱动
共5条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |