Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

chuong trinh viet cho VDK PIC16F877A de do du lieu ADC tu kenh AN0 lm35

//chuong trinh viet cho VDK PIC16F877A de do du lieu ADC tu kenh AN0

//cam bien nhiet su dung la lm35 (10mv/1doC)

//hien thi gia tri nhiet do tren 2 led 7 doan

//portB noi voi cac doan

//chan c0,c1 cua portC quet led

//-------------------------------------------------------------------

#include"16f877a.h"

#include"def_877a.h"

#device *=16 adc=10  //chon dc 10 bit

#use delay(clock=4mhz)

//ding nghia ma 7 doan

const int ma_7doan[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

// khai bao bien

int adc_read,chuc,don_vi,chuc_7doan,don_vi_7doan;

//chuong trinh con hien thi

void hien_thi()

{

portb=don_vi_7doan;

rc0=0;

delay_us(100);

rc0=1;

portb=chuc_7doan;

rc1=0;

delay_us(100);

rc1=1;

}

//chuong trinh chinh

void main()

{

//thiet lap cac dau vao ra

trisb=0;  //dat port b lam dau ra

trisc0=0;

trisc1=0;   //dau ra quet led

trisa0=1;   //dau vao analog

//------------------------

setup_adc_ports(an0);

setup_adc(adc_clock_internal);

// o day ta su dung adc 10 bit voi vref+=5V, vfef-=0v

// ma 1 do C ung voi 10mv ( dung cam bien LM35)

// 5000mv - - - voi - - - 1024 ( 2^10)

// 10mv - - - voi x >>> x=10mv*1024/5000mv=2.048 so dem

while(true)

   {

adc_read=read_adc();

adc_read=adc_read/2.048;

chuc=adc_read/10;

chuc_7doan=ma_7doan[chuc];

don_vi=adc_read%10;

don_vi_7doan=ma_7doan[don_vi];

hien_thi();

   }

}

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: