新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 點(diǎn)陣調(diào)試(附程序)

點(diǎn)陣調(diào)試(附程序)

作者: 時間:2016-11-28 來源:網(wǎng)絡(luò) 收藏

//函數(shù)聲明;

本文引用地址:http://m.butianyuan.cn/article/201611/322947.htm

void HC595_CD(uint Value); //595驅(qū)動函數(shù);


void main()
{


uint i = 0;
//P2=tableLie[0];
//HC595_CD(tableHng[0]);
//uint Value;
//P2=0xfd;
//Value = 0x01;
//HC595_CD(Value);
timer0_initialize();
while(1)
{
if(flag==0)
{
for(i=0;i<8;i++)
{
HC595_CD(tableHng[i]);
P2=tableLie[i];
delayS(3);
}
}

if(flag==1)
{
for(i=0;i<8;i++)
{
HC595_CD(table1[i]);
P2=tableLie[i];
delayS(3);
}
}

if(flag==2)
{
for(i=0;i<8;i++)
{
HC595_CD(table2[i]);
P2=tableLie[i];
delayS(3);
}
}

if(flag==3)
{
for(i=0;i<8;i++)
{
HC595_CD(table3[i]);
P2=tableLie[i];
delayS(3);
}
}


if(flag==4)
{
for(i=0;i<8;i++)
{
HC595_CD(table4[i]);
P2=tableLie[i];
delayS(3);
}
}

if(flag==5)
{
for(i=0;i<8;i++)
{
HC595_CD(table5[i]);
P2=tableLie[i];
delayS(3);
}
}

if(flag==6)
{
for(i=0;i<8;i++)
{
HC595_CD(table6[i]);
P2=tableLie[i];
delayS(3);
}
}

if(flag==7)
{
for(i=0;i<8;i++)
{
HC595_CD(table7[i]);
P2=tableLie[i];
delayS(3);
}
}

if(flag==8)
{
for(i=0;i<8;i++)
{
HC595_CD(table8[i]);
P2=tableLie[i];
delayS(3);
}
}

if(flag==9)
{
for(i=0;i<8;i++)
{
HC595_CD(table9[i]);
P2=tableLie[i];
delayS(3);
}
}

}


}
static void timer0_isr(void) interrupt 1 //定時器里避免放大的延時函數(shù) 以免發(fā)生錯誤
{
time++;
TR0=0;
TL0=(0X78);
TH0=(0X0C);
TR0=1;
if(time==50)
{
time=0;
flag++;
if(flag==10)
flag=0;
}


}

//74HC595驅(qū)動函數(shù);
//功能:把輸入的數(shù)據(jù)輸出到對應(yīng)的引腳上;
//輸入函數(shù):Value

void HC595_CD(uint Value)
{
uinti = 0 ;
OE = 1; //芯片輸出關(guān)閉;
MR = 0; //IC復(fù)位;
MR = 1; //復(fù)位結(jié)束;
for(i = 0; i < 8; i++) //傳送8位數(shù)據(jù);
{
DS = Value&0x01; //并行數(shù)據(jù)轉(zhuǎn)串行;
SH_CP = 0; //移位寄存器時鐘為0;
ST_CP = 0; //存儲寄存器時鐘為0;
_nop_();
_nop_();
_nop_(); //短延時;
_nop_();
Value >>= 1; //數(shù)據(jù)移位;
SH_CP = 1; //產(chǎn)生移位脈沖;
ST_CP = 1;
}
OE= 0; //數(shù)據(jù)輸出;
}


上一頁 1 2 下一頁

關(guān)鍵詞: 點(diǎn)陣調(diào)

評論


技術(shù)專區(qū)

關(guān)閉