View Single Post
Old 04-12-2012, 12:45 AM   #1
vibaongoc
Nhập môn đệ tử
 
Tham gia ngày: Nov 2012
Bài gửi: 2
:
ai sủa cho em cai code này cái em dang cần gấp

code:
#include<16f877A.h>
#device *=16 ADC=8
#fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=20000000)
#include<def_877a.h>
#include<lcd.c>


int16 analogvalue, digitalvalue;
int8 j;

void main()
{
byte value;
setup_ccp1(CCP_PWM); // Configure CCP1 as a PWM
setup_timer_2(T2_DIV_BY_4, 255, 16);
// giá tr? b? chia t?n s? timer 2 là 4.
// Th?i gian m?t chu k?: (255+1)*4*4/20 = 204.8 (us)
setup_port_a(ALL_ANALOG);
setup_adc(adc_clock_internal);
set_adc_channel( 0 );

while( TRUE )
{
value=read_adc(); //??c giá tr? t? chi?t áp ?i?u ch?nh t?c ??
set_pwm1_duty(value); // Thi?t l?p ?? r?ng xung
} // Th?i gian ?? r?ng xung = value*4/20 (us)
}


void hienthi()
{

//Hien thi gia tri analog
lcd_gotoxy(1,1);
lcd_putc(" Analog value: ");
lcd_putc(analogvalue/100+0x30);
lcd_putc(".");
lcd_putc((analogvalue/10)%10+0x30);
lcd_putc(analogvalue%10+0x30);

//Hien thi gia tri digital:
lcd_gotoxy(1,2);
lcd_putc(" Digital value:");
lcd_putc(digitalvalue/100+0x30);
lcd_putc((digitalvalue%100)/10+0x30);
lcd_putc(digitalvalue%10+0x30);
}
void main()
{
set_tris_D(0x00);


setup_adc_ports( ALL_ANALOG );
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0);

lcd_init();
//Khoi tao gia tri cac bien trung gian
portd=0;
//Bat dau vong lap chuong chinh
while(true)
{
digitalvalue = read_adc();
analogvalue= ((digitalvalue*100)/256)*5;
hienthi();
}
}
code dùng hiển thị điện áp và điều chỉnh độ sáng của đèn
thank ca nha
File Kèm Theo
File Type: rar machthu.rar (18.5 KB, 9 lần tải)
vibaongoc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn