View Single Post
Old 08-11-2012, 10:46 AM   #1
dientu90
Đệ 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]
dientu90 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn