1. Trang chủ
  2. » Thể loại khác

MẠCH ĐO NHIỆT ĐỘ HIỂN THỊ LCD ppsx

2 349 3

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 2
Dung lượng 14,85 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trang 1

MẠCH ĐO NHIỆT ĐỘ HIỂN THỊ LCD

#include "C:\Program Files\PICC\Devices\16F877A.h"

#include "C:\Program Files\PICC\Devices\def_877a.h"

#device *=16 ADC=10

#FUSES NOWDT, HS, NOPUT, NOBROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG

#use delay(clock=12000000)

long value,nhietdo;

int8 a,b,c,d,i;

void tachhang(int&a,int&b,int&c,int&d);

char so[11] ="0123456789";

#define RS RA3

#define RW RA2

#define E RA1

#define BF RB7

#define LCD PORTB

char chu[9] ="nhietdo=";

#use fast_io(b)

#define tocdo0 0 //toc do bang 0

#define td_macdinh 80 //toc do mac dinh

#define tocdo1 207 //1/3 toc do cuc dai

#define tocdo2 514 //2/3 toc do cuc dai

#define tocdo3 620 //toc do cuc dai

int16 duty1=0;

int16 duty2=0;

int8 bientocdo=0;

int1 bienthuan=0;

int1 biennghich=0;

/*Ham yeu cau goi lenh dieu khien LCD*/

void comnwrt(void)

{

RS = 0;

RW = 0;

E = 1;

E = 0;

delay_ms(2);

}

/*Ham yeu cau goi du lieu hien thi len LCD*/

void datawrt(void)

{

RS = 1;

RW = 0;

E = 1;

E = 0;

delay_ms(2);

}

void main()

{ set_tris_A(0);

Trang 2

set_tris_B(0);

delay_ms(100);

LCD = 0x30;

comnwrt();

while(true)

{

bit_set(portA,5);

setup_adc(adc_clock_internal);

setup_adc_ports(AN0);

set_adc_channel(0);

delay_ms(100);

value=read_adc();

nhietdo=(value-559)/2.024;

tachhang(a,b,c,d);

delay_ms(1);

LCD = 0x0C;

comnwrt();

LCD = 0x06;

comnwrt();

LCD = 0x83;

comnwrt();

delay_ms(10);

for (i=0;i<9;i++)

{ lcd=chu[i];

datawrt();

}

lcd=so[c];

datawrt();

lcd=so[d];

datawrt();

lcd ='o';

datawrt();

lcd ='C';

datawrt();

}

}

void tachhang(int&a,int&b,int&c,int&d) {

a=nhietdo/1000;

b=(nhietdo%1000)/100;

c=(nhietdo%100)/10;

d=nhietdo%10;

}

Ngày đăng: 08/08/2014, 23:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w