View Single Post
Old 18-02-2012, 10:25 PM   #182
chithang00000
Nhập môn đệ tử
 
Tham gia ngày: Feb 2012
Bài gửi: 2
:
#include <C:\Program Files (x86)\PICC\Devices\16F877A.h>
#use delay(clock=8000000)
#fuses HS, NOWDT, NOPROTECT, NOLVP
#include "D:\chuongtrinh\kt giaotiepmaytinh\sv-09-cd\tai-lieu-dua-sv\LCD\TRUYEN-RS232-LCD\code\LCD_LIB.c"
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, stream=MYPC)

int8 temp;
char buffRev[16];
int8 idx = 0, i = 0;
void displayOnLCD(void);

void main(void)
{
lcd_init();
while(1)
{
if(0 != kbhit())
{
temp = fgetc(MYPC);
if(temp=='$')
{
for(i=0; i<sizeof(buffRev); i++) buffRev[i]= ' ';
continue;
}
else if(temp=='#')
{
for(i=0; i<idx; i++)
{
putc(buffRev[i]);
}
idx = 0;
displayOnLCD();
continue;
}
if(idx<16)
{
buffRev[idx++] = temp;
}
}
}
}

void displayOnLCD()
{
lcd_init(); // Init LCD.
lcd_gotoxy(1,1);
printf(lcd_putc, "%s", buffRev);
lcd_init(); // Init LCD.
lcd_gotoxy(1,2);
printf(lcd_putc, "%s", buffRev);
}

Bài trên là code của màn hình LCD điều khiển qua cổng Com nhưng mới được 1 hàng 16 cột ah, Bác nào giúp e sữa đoạn chương trình trên thành 2 hàng 16!!!, E thanks 1000 cái trước. Gà con.
chithang00000 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn