![]() |
![]() |
#4 | |
Đệ tử 4 túi
|
Trích:
thứ 1: bạn nên để dòng FUSE lên sau file include <16f877a.h>. và bạn khai báo sai cho PIC nếu thạch anh 4M thì khai báo là XT. mình ko rõ việc cầu hình FUSE sau lệnh #use delay_clock có bị ảnh hưởng gì ko! nhưng thấy ko ai làm thế!! thứ 2: trong lệnh setup_adc_ports() ko hiều khai báo RA1. bạn nên mở file 16f877a.h .trong đó người ta có liệt kê các cách khai báo đấy! mình chỉ dịch lại cho bạn.nên ko để ý đến việc bạn đang làm gì!! thân! đoạn code sau dịch ok! Code:
#include <16f877a.h> #include <def_877a.h> #FUSES NOWDT, XT, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #device *=16 adc=10 #use delay(clock=4000000) #include <lcd.c> #use rs232(baud=9600,parity=n,xmit=pin_C6,rcv=pin_C7) void main() { float value; trisa=0xFF; trisd=0x00; lcd_init(); printf(lcd_putc,"0g"); setup_adc_ports(AN0); setup_adc(ADC_CLOCK_INTERNAL); set_adc_channel(0); delay_us(10); value=(float)read_adc(); value=value*0.977; printf(lcd_putc, "Float: %f", value); } thay đổi nội dung bởi: namqn, 27-10-2008 lúc 09:53 PM. Lý do: TX => XT |
|
![]() |
![]() |
|
|