![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#4 |
Đệ tử 7 túi
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: TP HCM
Bài gửi: 190
: |
#include <16F877A.h>
#include <DEFS_16F877A.h> #device *=16 ADC=10 #include <stdlib.h> #include <ctLCD.c> #include <ds1307_16F877A.c> #fuses HS,NOWDT,NOPROTECT,NOLVP,NODEBUG #use delay(clock=4000000) #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=8) //=========================functions use======================================== const unsigned char aray[5]={100,102,105,106,110}; int16 adc1,ad1,ad2; //======================================functions use=========================== //********************* Ham main ************************* void main() { set_tris_B(0xf9); set_tris_D(0); set_tris_E(0); set_tris_A(0xff); lcd_init(); setup_ADC(ADC_CLOCK_INTERNAL); set_ADC_channel(0); delay_us(10); While(true) { adc1=read_ADC(ADC_START_AND_READ); delay_us(10); ad1=adc1/100; ad2=adc1%100; lcd_gotoxy(1,2); lcd_putc(ad1/10+0x30); lcd_gotoxy(2,2); lcd_putc(ad1%10+0x30); lcd_gotoxy(3,2); lcd_putc(ad2/10+0x30); lcd_gotoxy(4,2); lcd_putc(ad2%10+0x30); if((adc1>=aray[0])&&(adc1<((aray[0]+aray[1])/2))) { lcd_gotoxy(1,1); lcd_putc("A"); } else if((adc1>=((aray[0]+aray[1])/2))&&(adc1<((aray[1]+aray[2])/2))) { lcd_gotoxy(1,1); lcd_putc("B"); } else if((adc1>=((aray[1]+aray[2])/2))&&(adc1<((aray[2]+aray[3])/2))) { lcd_gotoxy(1,1); lcd_putc("C"); } else if((adc1>=((aray[2]+aray[3])/2))&&(adc1<((aray[3]+aray[4])/2))) { lcd_gotoxy(1,1); lcd_putc("D"); } else if((adc1>=((aray[3]+aray[4])/2))&&(adc1<=aray[4])) { lcd_gotoxy(1,1); lcd_putc("E"); } else { lcd_gotoxy(1,1); lcd_putc("?"); } } } |
![]() |
![]() |
|
|