先说第一个154方案的:
用一个P口的高四位和低四位分别驱动两片154驱动点阵的行和列,另外你还要在点阵的低电平端的驱动154的输出端加八位反向器。如果我没记错的话,154的输出只有一位是高电平,要反向成唯一低电平。
你第两个我没有太明白,你是要用二个P口只控制16*16的列吗,那行由谁控制呢
记得74hc154是低电平有效啊,输出只有一个是低电平,直接可以行扫描
#include
#define uchar unsigned char
void del(uchar i)
{
for(i;i>0;i--);
}
void display(uchar dat1,uchar dat2)
{P0=dat1,P2=dat2;//另外51单片机P0口作为IO口,一般要加上拉电阻
//P0,P2分别控制前后8列
}
void main()
{
uchar i=0;
while(1)
{ for(i=0;i<16;i++)display(0xf0,0xf0),P1=i,del(10);//P1^0接154的A,P1^1接154的B,类推。。。
}
}