這個(gè)是用STC89C52RC單片機(jī)和兩個(gè)74HC573,P1控制點(diǎn)陣的八列共陰管腳,P2控制八行共陽(yáng)管腳,通過(guò)逐列掃描顯示心形,沒(méi)有問(wèn)題。但是,我用P0口替換P1口就出問(wèn)題了,如下圖:
我已經(jīng)加了一排10K歐姆的電阻了,P0和P1的輸出是完全一樣的,但是顯示變成了一大片亮的。
程序代碼如下:
#include
/*延時(shí)函數(shù),用來(lái)延時(shí)**ms的時(shí)間*/
void delayms (unsigned int xms)
{
unsigned int i;
unsigned int j;
for (i = xms;i > 0 ; i--)
{
for (j = 110 ; j > 0 ; j--);
}
}
/*main函數(shù),控制8*8點(diǎn)陣顯示*/
void main (void)
{
/*顯示心形,靠左邊,第234567行*/
unsigned char code love_x[] = {
0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,};
unsigned char code love_y[] = {
0x30,0x48,0x44,0x22,0x44,0x48,0x30,0x00,};
int i;
P0 = 0XFF;
while (1)
{
for (i = 0;;)
{
P2 = 0X00;
P0 = love_x[i];
P1 = love_x[i];
P2 = love_y[i];
delayms(1);
i += 1;
if (i == 8)
{
i = 0;
}
} /*'for' over*/
}
}
代碼貼上來(lái)縮進(jìn)全沒(méi)了