hic, tình hình là căng thẳng quá.. viết và kiểm tra quá trời, nó bảo không lỗi gì cả mà nhúng vào proteus không chạy, mấy pro ơi, nó bị sao đây:
#include <mega8.h>
#include <alcd.h>
#include <string.h>
#include <delay.h>
unsigned int i,j;
char lenh[]="Xin chao cac ban";
void main(void)
{
// RS - PORTB Bit 0
// RD - PORTB Bit 1
// EN - PORTB Bit 2
// D4 - PORTB Bit 4
// D5 - PORTB Bit 5
// D6 - PORTB Bit 6
// D7 - PORTB Bit 7
lcd_init(16);
while (1)
{
i=16;
j=0;
for(i=16;i>0;i--)
if(j=0,j<17-i,j++)
{
lcd_gotoxy(i+j,0);
lcd_putchar(lenh[j]);
delay_ms(500);
}
}
lcd_gotoxy(0,1);
lcd_puts("why!");
delay_ms(1000);
}
tình hình là mình sử dụng codevision cho atmega 8, và để nó auto bước đầu, nên chỉ còn khai báo một số thứ và viết chương trình thôi.... Mục đích của code là chạy chữ trên LCD với chuỗi ký tự nhỏ hơn 16 ký tự. Kể cả chữ Why! cũng không đưa ra LCD được nữa, lạ thật, vậy mà khi bỏ cái trên thì chữ Why! xuất hiện, hic.
#include <mega8.h>
#include <alcd.h>
#include <string.h>
#include <delay.h>
unsigned int i,j;
char lenh[]="Xin chao cac ban";
void main(void)
{
// RS - PORTB Bit 0
// RD - PORTB Bit 1
// EN - PORTB Bit 2
// D4 - PORTB Bit 4
// D5 - PORTB Bit 5
// D6 - PORTB Bit 6
// D7 - PORTB Bit 7
lcd_init(16);
while (1)
{
i=16;
j=0;
for(i=16;i>0;i--)
if(j=0,j<17-i,j++)
{
lcd_gotoxy(i+j,0);
lcd_putchar(lenh[j]);
delay_ms(500);
}
}
lcd_gotoxy(0,1);
lcd_puts("why!");
delay_ms(1000);
}
tình hình là mình sử dụng codevision cho atmega 8, và để nó auto bước đầu, nên chỉ còn khai báo một số thứ và viết chương trình thôi.... Mục đích của code là chạy chữ trên LCD với chuỗi ký tự nhỏ hơn 16 ký tự. Kể cả chữ Why! cũng không đưa ra LCD được nữa, lạ thật, vậy mà khi bỏ cái trên thì chữ Why! xuất hiện, hic.
Comment