驱动点阵有很多方法,比如单用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 跳转至页
回复
打赏帖 | |
---|---|
【Zephyr】使用Zephyr外设初始化过程解析被打赏30分 | |
【S32K146】S32DS watchdog 配置使用被打赏20分 | |
【Zephyr】使用 IAR 调试 Zephyr 镜像被打赏20分 | |
赚取电动螺丝刀+电源电路理论知识分享1被打赏5分 | |
我想要一部加热台+分享常见运算放大器电路的应用被打赏5分 | |
【Zephyr】MCXN947 Zephyr 开发入门适配shell被打赏20分 | |
我想要一部加热台+常见的MOS管驱动电路被打赏5分 | |
【我要开发板】6.联合MATLAB记录数据被打赏50分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下串口调试printf输出记录被打赏29分 | |
【瑞萨RA2E1开发板】:使用ADC功能实现位移传感器采集方案被打赏20分 |