Ðề tài: CCS C for PIC16F877A
View Single Post
Old 13-10-2007, 02:04 PM   #12
thongtr
Đệ tử 2 túi
 
Tham gia ngày: Jul 2007
Bài gửi: 27
:
Send a message via Yahoo to thongtr
Trích:
Nguyên văn bởi thongtr View Post
Em vừa mới viết xong ct hiển thị LCD 4 bit! có hiệu ứng chữ chạy rất hay!! em post lên cho các pác tham khảo nhé! và góp ý cho em nhé!

#include <16F877A.h>
#include <DEFS_16F877A.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#define use_portb_lcd TRUE
#include <lcd.c>
const unsigned char line1[]={'H','E','L','L','O',' ','P','I','C','V','N','!','#'};
const unsigned char line2[]={'Y','H',':','T','H','O','N','G','T','R','0','6', '0','1','@',\
'Y','A','H','O','O','.','C','O','M','#'};

void main(void)
{ while(true)
{
int I=0,y=0,k=0,z=0;
delay_ms(100); // tao tre 100ms cho LCD khoi dong
lcd_init();
lcd_gotoxy(1,1);
while (line1[y]!='#')
{
lcd_putc(line1[y]);
delay_ms(200);
y++;
}
lcd_gotoxy(1,2);
while (i<16)
{
lcd_putc(line2[I]);
i++;
delay_ms(200);
}
i=2;

while (line2[z]!='#')
{
lcd_init();
lcd_gotoxy(1,1);
y=0;
while (line1[y]!='#')
{
lcd_putc(line1[y]);
y++; }

lcd_gotoxy(1,2);
k=i+16;
for(z=i;z<k;z++)
{lcd_putc(line2[z]);}
delay_ms(400);
i++;
}
}
}
Chương trình này minh mô phỏng chạy rồi nhung sao khi cho chạy thực tế khì ko dc!!
Mình đã mắc mạch theo sơ đồ này!! (chỉ có thay thạch anh 20M thôi!)
Hình Kèm Theo
File Type: gif LCD_4pindata.gif (10.8 KB, 1017 lần tải)
__________________
thongtr0601@yahoo.com!!
Giúp nhau cùng tiến bộ.....
thongtr vẫn chưa có mặt trong diễn đàn