Em có 1 đề tài là đo điện áp dùng ADC của PIC
Và cụ thể. Khi +4.5v < U <+5V thì PORTB=0b10000000
Mong các cao thủ giúp đề tài này cái.
Và cụ thể. Khi +4.5v < U <+5V thì PORTB=0b10000000
Mong các cao thủ giúp đề tài này cái.
//=================================================================== ==========
// Ten chuong trinh: Do dien ap
// Nguoi thuc hien : Cao Van Huong
// Email : caovanhuong@webdien.com
// Cell phone : 01672754113
// Ngon ngu : CCS-C 4.114
// Ngay thuc hien : 22/2/2010
//******************************************************************************
// MCU : PIC16F877A
// Crystal : 20MHz
// Display : LCD 2x16
//******************************************************************************
// Ngay hoan thanh : 22/2/2010
// Ky ten : Cao Van Huong
//=================================================================== ==========
#include <16F877A.h>
#include <def_877a.h>
#fuses NOWDT,HS,PUT,NOLVP,NOPROTECT
#device *=16 adc=10
#use delay(clock=20000000)
#include <lcd_lib.c>
float a,volt;
void main()
{
trisa=0x01;
trisb=0x00;
trisc=0x00;
trisd=0x00;
portc=0x00;
lcd_init();
setup_ADC_ports(AN0_AN1_AN3);
setup_ADC(adc_clock_internal);
set_ADC_channel(0);
delay_us(10);
while(1)
{
a=read_adc();
volt=(a*4.88)/1000;
lcd_putcmd(0x83);
lcd_putchar("CAO VAN HUONG");
lcd_putcmd(0xc0);
printf(lcd_putchar,"Dien ap:%fV",volt);
if(volt>4.5)
portc=0x80;
else
portc=0x00;
}
}
Comment