![]() |
![]() |
#11 |
Đệ tử 2 túi
Tham gia ngày: Jun 2007
Bài gửi: 43
: |
Đây là mã code mình viết ngắt đơn giản cho LCD.Khi nhấn button 1(RB4) thì LCD hiển thị chữ 'X' dòng 1,button 2 thì LCD hiển thị dòng 2 chữ 'K'.Nhưng khi chạy thì nó bào lỗi ở dòng "void main(void)" là 'A numeric expression must be here'
Code:
=============================================================================*/ #include <16F877A.h> #include <DEFS_16F877A.h> #fuses XT,NOWDT,NOPROTECT,NOLVP #use delay(clock=4000000) #define RS RD0 #define RW RD1 #define E RD2 #define LCD PORTC /*Ham yeu cau goi lenh dieu khien LCD*/ void comnwrt(void) { RS = 0; RW = 0; E = 1; E = 0; delay_ms(1); } /*Ham yeu cau goi du lieu hien thi len LCD*/ void datawrt(void) { RS = 1; RW = 0; E = 1; E = 0; delay_ms(1); } #int_RB void ngat_RB(void) { if(RBIE && RBIF) { if (RB4==0) { while(RB5==1) { LCD = 0x83; comnwrt(); LCD = 'X'; datawrt(); } } if (RB5==0) { while(RB4==1) { LCD = 0xC3; comnwrt(); LCD = 'K'; datawrt(); } } } void main(void) { set_tris_b(0b01100000); set_tris_c(0); set_tris_d(0); LCD = 0x38; // Hai hang, ma tran dot 5*7, 8 bit interface comnwrt(); LCD = 0x0C; // Bat hien thi, tat con tro comnwrt(); while(true) { } } thay đổi nội dung bởi: namqn, 29-08-2007 lúc 11:52 PM. |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|
![]() |
||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
TUT về USART trong PIC16F877A | mafd_47a | MPASM | 16 | 19-02-2025 05:32 AM |
TUT ve I2C ( pic16f877a ) | mafd_47a | MPASM | 28 | 28-01-2025 10:45 PM |
Lập nhóm PIC16F877A | nhh | Cơ bản về vi điều khiển và PIC | 285 | 08-03-2017 11:08 PM |
Bộ so sánh và PWM cho PIC16F877A | anhquangngai | Cơ bản về vi điều khiển và PIC | 24 | 08-09-2012 09:00 AM |
Pic16f877a TỪ DỄ TỚi KhÓ | ntc | Cơ bản về vi điều khiển và PIC | 373 | 23-05-2009 10:24 PM |