|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
08-11-2012, 10:46 AM | #1 |
Đệ tử 1 túi
Tham gia ngày: Mar 2012
Bài gửi: 16
: |
Cần các bạn giải đáp giúp
mình có sử dụng file lcd420.c của CCS, mặc định là sử dụng portB để điều khiển LCD (#byte lcd = 6 ) nhưng mình đã khai báo lại là #byte lcd = 8 trong file lcd420 để dùng portd điều khiển vì cần phải sử dụng ngắt ngoài trên portB nhưng mô phỏng thì thấy LCD hiển thị không chính xác và có hiện tượng chập trên các dây data còn nếu dùng portB thì LCD hiển thị bình thường, không biết là lỗi gì dưới đây là đoạn code ví dụ
[/code] #include "16f877a.h" #include <dn16f877a.h> #device *=16 adc=10 #fuses hs,NOWDT,NOPROTECT,NOLVP #use delay(clock=20000000) #include <lcd420.c> int8 dem=0; #int_EXT void EXT_isr(void) { dem++; if(dem==4) dem=0; } void main() { setup_adc_ports(AN0_AN1_AN2_AN3_AN4); setup_adc(ADC_CLOCK_INTERNAL); setup_psp(PSP_DISABLED); setup_spi(SPI_SS_DISABLED); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_comparator(NC_NC_NC_NC); setup_vref(FALSE); enable_interrupts(INT_EXT); enable_interrupts(GLOBAL); set_tris_b(0xff); set_tris_d(0x00); portd=0x00; lcd_init(); delay_ms(10); lcd_putc("\f"); while(true) { lcd_gotoxy(1,1); printf(lcd_putc,"%s%d","dem=",dem); } } [/code] |
|
|