boylikerock197
13-05-2009, 01:42 AM
em đang tập làm giao tiếp pic với lcd,sử dụng ccs để biên dịch code sau rồi mô phỏng bằng proteus nhưng ko chạy, nhờ các đại ca thỉnh giáo
#include<16F877A.h>
#fuses NOWDT,PUT,HS,NOPROTECT //thi?t l?p các c?u hình ban ??u cho pic
#use delay(clock=20000000) //khai báo hàm delay và xung clock=4MHz
#use i2c(master, fast, sda=pin_c0, scl=pin_c1)
#define sda pin_c0
#define slc pin_c1
#define rs pin_c2
#define rw pin_c3
#define e pin_c4
#byte data=0x08
void comnwrt(void)
{
delay_ms(10);
output_low(rs);
output_low(rw);
output_high(e);
output_low(e);
}
void datawrt(void)
{
delay_ms(10);
output_high(rs);
output_low(rw);
output_high(e);
output_low(e);
}
void lcd_int(void)
{
data=0x0c;
comnwrt();
data=0x06;
comnwrt();
data=0x80;
comnwrt();
}
void main()
{
lcd_int();
data=1;
datawrt();
}
#include<16F877A.h>
#fuses NOWDT,PUT,HS,NOPROTECT //thi?t l?p các c?u hình ban ??u cho pic
#use delay(clock=20000000) //khai báo hàm delay và xung clock=4MHz
#use i2c(master, fast, sda=pin_c0, scl=pin_c1)
#define sda pin_c0
#define slc pin_c1
#define rs pin_c2
#define rw pin_c3
#define e pin_c4
#byte data=0x08
void comnwrt(void)
{
delay_ms(10);
output_low(rs);
output_low(rw);
output_high(e);
output_low(e);
}
void datawrt(void)
{
delay_ms(10);
output_high(rs);
output_low(rw);
output_high(e);
output_low(e);
}
void lcd_int(void)
{
data=0x0c;
comnwrt();
data=0x06;
comnwrt();
data=0x80;
comnwrt();
}
void main()
{
lcd_int();
data=1;
datawrt();
}