ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
6 июля
184583
silver (10.03.2010 12:33 - 16:47, просмотров: 18162)
Привет! Помогите пожалуйста с инициализацией граф. ЖКИ =))..  мк SiLabs c8051F120 LCD t6963c #include "c8051F120.h" #define DATA P4 #define BUSY P4&0x03 sbit WR=P2^0; sbit RD=P2^1; sbit CE=P2^2; sbit CD=P2^3; sbit RST=P2^4; sbit FS=P2^5; sbit RV=P2^6; void GetStatusLCD(void); void LcdInit (void); void Send8LCD(unsigned char cmd, unsigned char bt); void LcdInit(void); void delay(unsigned int i); int a; void main (void) { WDTCN = 0xDE; WDTCN = 0xAD; SFRPAGE = CONFIG_PAGE; P2MDOUT = 0xFF; P4MDOUT = 0xFF; XBR2 = 0xC0; LcdInit(); while (1) {}; } void GetStatusLCD(void) { RD=0; WR=1; CE=0; CD=1; delay(2);//Задержка while(BUSY != 0x03); CE = 1; CD = 1; WR = 1; RD = 1; delay(2); } void delay(unsigned int i) { while ( i--!=0); } void Send8LCD(unsigned char cmd, unsigned char bt) { char i; if (cmd) CD=1; else CD=0; for (i=0;i<2;i++);//задержка CE=0; WR=0; DATA=bt; for (i=0;i<2;i++);//задержка CE=1; WR=1; CD=1; } void LcdInit() { CE = 0; RST=0; delay (50); RST=1; Send8LCD(1,0x80); GetStatusLCD(); Send8LCD(0,00); GetStatusLCD(); Send8LCD(0,00); GetStatusLCD();//GRPHIC HOME Send8LCD(1,0x42); GetStatusLCD(); Send8LCD(0,0x28); GetStatusLCD(); Send8LCD(0,0x00); GetStatusLCD();//GRPHIC AREA Send8LCD(1,0x43); GetStatusLCD(); Send8LCD(0,0x00); GetStatusLCD(); Send8LCD(0,0x17); GetStatusLCD();//TEXT HOME Send8LCD(1,0x40); GetStatusLCD(); Send8LCD(0,0x28); GetStatusLCD(); Send8LCD(0,0x00); GetStatusLCD();//TEXT AREA Send8LCD(1,0x41); GetStatusLCD(); Send8LCD(1,0x9e); } первый вопрос: что должно быть на дисплее после правильной инициализации, второй: правильно ли я опрашиваю busy флаги, если нет, то как правильно? Спасибо