一、實(shí)驗(yàn)?zāi)康模?/b>為了進(jìn)一步掌握單片機(jī)中點(diǎn)陣的使用,理解單片機(jī)的工作原理,實(shí)現(xiàn)在單片機(jī)上實(shí)現(xiàn)顯示
二、實(shí)驗(yàn)器材:keil、單片機(jī)(大板)、PZ-ISP普中自動(dòng)下載軟件。
三、實(shí)驗(yàn)原理:8*8點(diǎn)陣共由64個(gè)發(fā)光二極管組成,且每個(gè)發(fā)光二極管是放置在行線和列線上的交叉點(diǎn)上,當(dāng)對(duì)應(yīng)的某一行置高電平,某一列置低電平是,相應(yīng)的二極管就會(huì)發(fā)亮。設(shè)計(jì)出漢字,將其轉(zhuǎn)化為二進(jìn)制進(jìn)而轉(zhuǎn)化為十六進(jìn)制。
四、實(shí)驗(yàn)步驟:
1.畫(huà)出點(diǎn)陣圖,進(jìn)行二進(jìn)制與十六進(jìn)制的轉(zhuǎn)換

2.在keil中新建工程,編寫(xiě).c文件。
3.編譯調(diào)試文件,修改錯(cuò)誤及警告。
4.生成.hex文件。
5.在燒錄軟件中下載生成的.hex軟件。
五、程序:
#include#includesbit SRCLK=P3^6;
sbit RCLK=P3^5;
sbit SER=P3^4;
//--定義要使用的IO口--//
#define COMMONPORTS P0
//--列選通控制--//
unsigned char code TAB[8]? =
{0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
//--點(diǎn)陣字碼--//
unsigned char code CHARCODE[1][8]=
{
0xFF,0x81,0x81,0x81,0x8D,0x89,0x89,0x8F,? //G
};
void delay(unsigned int time){ unsigned int
i,j; for(i=0;i>7;
dat<<=1;
SRCLK=1;
_nop_();
_nop_();
SRCLK=0;
}
RCLK=1;
_nop_();
_nop_();
RCLK=0;
}
/*******************************************************************************
* 函數(shù)名? ?
? ? : main
* 函數(shù)功能 ? : 主函數(shù)
* 輸入? ?
? ? ? : 無(wú)
* 輸出? ?
? ? : 無(wú)
*******************************************************************************/
void main()
{
unsigned char tab, j;
unsigned int? i;
while(1)
{
for(i= 0; i<50; i++ )? //兩個(gè)字之間的掃描間隔時(shí)間
{
for(tab=0;tab<8;tab++)
{
Hc595SendByte(0x00); ? ? //消隱
COMMONPORTS = TAB[tab]; //輸出字碼
Hc595SendByte(CHARCODE[j][tab]);
delay(2);
}
}
j++;
if(j == 6)
{
j = 0;
}
}
}
六、結(jié)果:
