|
我是個(gè)初學(xué)者,最近在學(xué)習(xí)8*8LED點(diǎn)陣實(shí)驗(yàn)中,老是遇到 LED點(diǎn)陣顯示不全或者錯(cuò)位或者混亂的局面,不知道是不熟悉74系列芯片還是軟件延時(shí)
出了問(wèn)題造成的。希望大家可以給予一些幫助,謝謝。(*^__^*) 嘻嘻……
PROTEUS仿真圖如下 (第一次發(fā)帖子,不知道怎去在文中插入圖片)
采用的是 74HC245芯片
8*8LED點(diǎn)陣 行高列低 接法
C51源程序如下:
#include<reg51.h> //51頭文件,
//---------常用的兩個(gè)宏定義--------------
#define uchar unsigned char
#define uint unsigned int
//------------顯示數(shù)據(jù)-------------------
unsigned char code TableL[] = {
0xFF,0xFF,0x8F,0xA1,0x8D,0xED,0xE1,0xFF,
};
unsigned char code TableH[] = {
0x00,0x38,0x28,0x3E,0x12,0x12,0x1E,0x00,
};
//------------函數(shù)的聲明-----------------
void delayms(uint xms);
//-------------主函數(shù)--------------------
void main(void)
{
while(1)
{
uchar i;
for(i=0;i<8;i++)
{
P0 = TableH;
P2 = TableL;
delayms(5);
P0=0x00;
}
}
}
/********************************************************
** 名稱 :void DelayMS(uint16 dly)
** 功能 :毫秒級(jí)延時(shí)(12M的晶振)
** 入口參數(shù) :dly
用戶的延時(shí)參數(shù)
** 出口參數(shù) :無(wú)
*********************************************************/
void delayms(uint xms)
{
uint x,y;
for(x=xms;x>0;x--)
for(y=124;y>0;y--);
}
|
-
11111.JPG
(107.17 KB, 下載次數(shù): 195)
下載附件
2014-3-26 12:38 上傳
硬件連接圖
-
3333.jpg
(84.52 KB, 下載次數(shù): 196)
下載附件
2014-3-26 12:39 上傳
取模軟件圖形
-
2222.JPG
(65.75 KB, 下載次數(shù): 184)
下載附件
2014-3-26 12:39 上傳
LED顯示圖形不匹配
|