驱动点阵有很多方法,比如单用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 跳转至页
回复
打赏帖 | |
---|---|
分享一种检测按键状态的方法被打赏20分 | |
周末总结一下,STM32C0系列的开发经验被打赏50分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下定时器配置被打赏20分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下PWM配置被打赏20分 | |
【Cortex-M】Systick Timer使用被打赏10分 | |
分享汽车防盗系统的组成与分类(一)被打赏5分 | |
VOFA+波形显示+JYD-31蓝牙发送和解析不定长数据被打赏10分 | |
【换取手持数字示波器】-STM32F4PWM控制LED灯管亮度被打赏22分 | |
【换取手持数字示波器】STM32F4驱动RPR-0521RS照度、接近一体型传感器被打赏23分 | |
宏定义和const关键字定义被打赏5分 |