|
Tài trợ cho PIC Vietnam |
Luận văn tốt nghiệp Nếu bạn thắc mắc vì sao chúng tôi muốn phổ biến các luận văn tốt nghiệp? Xin xem tại đây |
|
Ðiều Chỉnh | Xếp Bài |
14-12-2012, 12:52 PM | #1 |
Nhập môn đệ tử
Tham gia ngày: Jun 2011
Bài gửi: 2
: |
Help .... pic68f77a hiển thị LCD và giao tiếp RS232
em đang làm đồ án quản lý nhân viên sử dụng RFID, trong đó có phần hiển thị LCD và giao tiếp RS232 với máy tính thông qua pl2303. Khi mô phỏng trong protues thì chạy ok, nhưng khi chạy thực tế thì im re....? em cũng không rành pic lắm nên nhờ mọi người chỉ dùm, chỉ còn hơn 20 ngày nữa là báo cáo rồi, cái này mà không xong là em tiu mất....
Đây là code em sử dụng thư viện LCD của CCS: #include <16f877a.h> #device 16f877a*16ADC=10 #include <DEF_16F877A.h> #include <string.h> #include <stdlib.h> #fuses nowdt,nolvp,noprotect,xt,put #use delay(clock=20000000) //#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7) #define LCD_ENABLE_PIN PIN_d3 #define LCD_RS_PIN PIN_d2 #define LCD_RW_PIN PIN_d0 #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() { set_tris_e(0x00); re0=1; re1=1; delay_ms(500); set_tris_D(0x00); lcd_init(); porte=0x00; lcd_gotoxy(2,1); lcd_putc("fReady..."); delay_ms(100); while(1) { } } đây là code thử giao tiếp RS232: #include <16f877a.h> #device 16f877a*16ADC=10 #include <DEF_16F877A.h> #include <string.h> #include <stdlib.h> #fuses nowdt,nolvp,noprotect,xt,put #use delay(clock=4000000) #use fast_io(b) #use fast_io(c) #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7) char khoa; int i; #int_RDA void ngat_RDA() { char data; data=getc(); switch (data) { case '1': { khoa=1; break; } case '0': { khoa=0; break; } void main() { khoa=0; enable_interrupts(int_RDA); enable_interrupts(global); set_tris_e(0); set_tris_a(0); PORTe=0xff; while(1) { if(khoa==0) porte=0x00; else porte=0xff; } Mạch của em: |
|
|