PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Những câu hỏi thường gặp (http://www.picvietnam.com/forum/forumdisplay.php?f=54)
-   -   Tính toán 10b trong 16f887. (http://www.picvietnam.com/forum/showthread.php?t=2991)

vohieuthao1 25-10-2008 01:51 AM

Tính toán 10b trong 16f887.
 
Em cần tính toán với giá trị thu được từ ADC10b, nhưng không biết cách làm, ai biết chỉ dùm em , có code tham khảo càng tốt. Thanks trước,hi!!

bien_van_khat 25-10-2008 10:56 AM

Trích:

Nguyên văn bởi vohieuthao1 (Post 19863)
Em cần tính toán với giá trị thu được từ ADC10b, nhưng không biết cách làm, ai biết chỉ dùm em , có code tham khảo càng tốt. Thanks trước,hi!!

Bạn có thể dùng 16 bit để lưu kết quả ADC và tính toán, với CCS sử dụng biến int16 hoặc long.

vohieuthao1 30-10-2008 10:22 AM

Mình đọc kết quả ADC tính toán xuất kết quả ra LCD, mình muốn dùng ngắt để mỗi khi tác động thì LCD hiển thị giá trị 0 và VDK củng lưu lại giá trị ADC để sau khị thoát khỏi ngắt thì dùng. Giá trị này được update khi ngắt được gọi lần nữa. Mình viết code nhưng khi mô phỏng thì dường như ngắt không chạy. Ai biết chỉ mình với. Hiện mình dùng RB7 nối nguồn thông qua nút ấn để thay đổi trạng thái chân RB7. Không biết mình mắc vậy đúng không?

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 <thao2.c>// LCD 4bit.c
#use rs232(baud=9600,parity=n,xmit=pin_C6,rcv=pin_C7)



#INT_RB
Void RB_Chuan_Zero ( )
{
float a=0;
a=(float)read_adc();

}

void main()
{
trisb=0xF0;
enable_interrupts ( INT_RB ) ;
enable_interrupts ( GLOBAL ) ;

{
float value=0,a=0;

trisa=0xFF;
trisd=0x00;

LCD_Init ( );
LCD_putcmd(0x84);
LCD_putchar("KHOI LUONG");
LCD_putcmd(0xCA);
LCD_putchar(" g");

start:
setup_adc_ports( ALL_ANALOG );
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(1);
delay_us(10);
value=(float)read_adc();
value=(value-a)*0.977;
LCD_putcmd(0xC5);
printf(LCD_putchar, "%f", value );
delay_ms( 500 );

goto start;
}
}

manhckgtcck45 30-10-2008 02:26 PM

Bác vohieuthao1 ơi, bác gửi cho em xin cái LCD 4bit.c với. Em tìm mãi hok được. Thanks bác nhiều!

vohieuthao1 30-10-2008 05:09 PM

Đưa mail đi bạn, mình không biết upfile.


Múi giờ GMT. Hiện tại là 05:42 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam