16x16 LED USING 8255 |
缺席
|
tai012
一般會員 發表:3 回覆:0 積分:0 註冊:2007-12-10 發送簡訊給我 |
小弟是用 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 */ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |