控制74ls595 存储器模式为“大型”时单片机不能正确的执行
下面是程序:
#include"reg52.h"
#define con P0 //行控制
sbit srck_595 = P2^1; //p1^5
sbit da_595=P3^0;
sbit sck_595=P3^1;
unsigned char data1[][16]={0x00,0x08,0x08,0x06,0x02,0x0C,0x7F,0x40,0x40,0x43,0x02,0x04,0x00,0x08,0x40,0x5F};
void Delay()
{
unsigned int i;
for(i=0;i<=25000;i++){};
}
void duanma(data1)
{char temp=data1;
int n;
for( n=8;n>0;n--)
{
sck_595=0;
if(temp&0x80)
da_595=0;
else
da_595=1;
sck_595=1;
temp<<=1;
}
}
void main(void)
{ char h;
srck_595=0;
while(1)
{
int i;
for (i=0;i<16;i++)
{
duanma(data1[0][i]);
}
con=0x10; //关闭行显示
srck_595=1; // 显示数据输入/输出 锁存器
con=h&0x0f; //写入行号
srck_595=0; //锁存显示数据
Delay();
h=h+1;
if (h==16)
h=0;
}
}
什么方法能解决不一样的问题?!!