View Single Post
Old 05-08-2011, 03:20 PM   #4
tdm
Đệ tử 7 túi
 
Tham gia ngày: May 2005
Bài gửi: 258
:
Trích:
Nguyên văn bởi maruko View Post
bác tdm ơi.bác nói đoạn code đầu vẫn hiển thị bình thường nhyưng sao em nạp code vào thì chẳng thấy nó hiển thị j cả, mặc dù em đã đẻ tần số thạch anh 20mhz như bác nói/chỉ thấy lcd sáng thôi.em cũng thấy đoạn code đó k có chỗ nào sai cả.bác có thể xem lại giup em dc k.bác thử nạp code đầu tiên vào mạch mô phỏng em up lên xem mạch mô phỏng em gửi lên có khỏi sai k.
nhân tiện nhờ bác giải thích cho em về lạp trình thì xuất dữ liệu ra lcd 4 và 8 bít khác nhau ntn vậy.em mới tìm hiểu pic nên gaợ nhiều khó khăn quá.mong các bác giúp đỡ em
em cảm ơn các bác nhiều
vẫn hiển thị bt:
Code:
#include <16f877A.h>
#device *=16
#use delay(clock = 20M)
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,NOLVP, NOCPD, NOWRT


#define LCD_ENABLE_PIN PIN_D3
#define LCD_RS_PIN PIN_D1
#define LCD_RW_PIN PIN_D2
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7

#include <lcd.c>

void main(){
lcd_init();
lcd_putc("MARUKO");
while(1)
{
}
}
xuất dữ liệu ra lcd 8bit :dữ liệu đưa ra một lần.
xuất dữ liệu ra lcd 4bit :dữ liệu đưa ra 2 lần.
vd:
Code:
void lcd_send_byte(BYTE address, BYTE n)
{
   lcd_output_rs(0);
   while ( bit_test(lcd_read_byte(),7) ) ;
   lcd_output_rs(address);
   delay_cycles(1);
   lcd_output_rw(0);
   delay_cycles(1);
   lcd_output_enable(0);
   lcd_send_nibble(n >> 4);//truyền 4bit cao
   lcd_send_nibble(n & 0xf);//truyền 4bit thấp
}
Hình Kèm Theo
File Type: jpg hien thi.jpg (179.9 KB, 6 lần tải)
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề.
tdm vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn