全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1270
推到 Plurk!
推到 Facebook!

16x16 LED USING 8255

缺席
tai012
一般會員


發表:3
回覆:0
積分:0
註冊:2007-12-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-12-22 10:58:48 IP:124.244.xxx.xxx 訂閱
小弟是用 89s51  x1
74ls154 x1
74ls373 x2
8255a x1去驅動一顆16x16 led
小弟改了好幾次都是不能著.....請各位高人指點指點

#include "reg51.h"
unsigned char xdata P8255;

#define PA 0x00
#define PB 0x01
#define PC 0x02
#define CTRL 0x03
#define RESET P2_2
#define COLS 16
#define ROWS 2

char ScanLine=0;
char count=4;
char i=0;
char j;

sbit P2_2=0xa2;
sbit P2_3=0xa3;
sbit P2_4=0xa4;
const unsigned char pattern[COLS][ROWS]=
{{0xdf,0xff},{0xdf,0xdf},
{0xdf,0xef},{0xdd,0xf7},
{0xd3,0xf9},{0x1f,0xfe},
{0xdf,0xff},{0xc0,0xff},
{0xdf,0xff},{0x1f,0xe0},
{0xd7,0xdf},{0xdb,0xdf},
{0xdd,0xdf},{0xcd,0xdf},
{0xdf,0xc3},{0xff,0xff}};
main()
{
RESET=0;
RESET=1;
RESET=0;
IE=0x82;
TMOD=0x02;
TH0=(256-250);
TL0=(256-250);
TR0=1;
P2_3=0;
P2_4=0;
P2=CTRL;
P8255=0x80;
P2=PB;
while(1);
} /* main */
void T0_int(void) interrupt 1 /* matrix led scan : T0=2ms */
{
if(--count==0)
{
count=4;
j=0;
P8255=pattern[i][j ];
P2_3=1; /* latch pulse */
P2_3=0;
P8255=pattern[i ][j];
P2_4=1; /* latch pulse */
P2_4=0;
P1=ScanLine;
ScanLine ;
if(ScanLine==COLS)
{
ScanLine=0;
i=0;
}
}

} /* T0_int */





附加檔案:476c7d687dfbc_IMG.pdf
系統時間:2024-05-11 1:39:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!