PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > PIC - Thiết kế và Ứng dụng

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 09-06-2011, 11:05 PM   #1
kshoaiviet
Nhập môn đệ tử
 
Tham gia ngày: Mar 2011
Bài gửi: 7
:
may a cho em hoi ve de tai cua em sai o cho nao

em viet doan code ma ko biet sai o cho nao ma no chay hok dung zay,khi nhiet do xuong 3 do thi den min chay,khi len 32 do thi den max chay,ma khi tra ve nhiet do tu 4 den 31 do ma sau ko tra lai den an toan chay zay,may a kiem tra va giup dum em.
#include <16f877a.h>
#fuses xt,nowdt,noprotect,nolvp
#use delay(clock=4000000)




#use fast_io(b)
#use fast_io(c)
#use fast_io(d)
#use fast_io(e)
#use fast_io(a)

#byte porta=0x05
#byte portb=0x06
#byte portc=0x07
#byte portd=0x08
#byte porte=0x09

#bit a0=porta.0

#bit rs=porte.0
#bit rw=porte.1
#bit e=porte.2

#bit C0=portc.0
#bit C1=portc.1
#bit C2=portc.2
#bit C3=portc.3
#bit C4=portc.4

#bit B0=PORTB.0
#BIT B1=PORTB.1
#BIT B2=PORTB.2
#bit B3=portb.3
#bit B4=portb.4
#bit B5=portb.5
#bit B6=portb.6
#bit B7=portb.7


int8 i,data,chuyen;
int8 tramdo,chucdo,donvido,max,min,KT;

int8 chucmax,dvmax,chucmin,dvmin,data1,chucdo1,dvdo1;

void lenh();
void khoitao();
void xuat();
void ctxuat();
void xuly();
void doc_adc();
void ctxuat2();
void ctxuat1();
void xlchuyen();
void doc_adc1();
void xlmax();
void xlmin();
void or();
VOID CTXUAT4();
VOID CTXUAT5();
void ctxuat3();




void lenh()

{
rs=0;
rw=0;
e=1;
e=0;
delay_ms(5);
}
void xuat()
{
e=1;
rs=1;
rw=0;
e=0;
delay_ms(5);
}

void khoitao()
{
portd=0x01;
lenh();
portd=0x0c;
lenh();
portd=0x80;
lenh();
portd=0x38;
lenh();
delay_ms(5);
}
void doc_adc1()
{
setup_ADC(ADC_clock_internal);
setup_adc_ports(ra0_ra1_ra3_analog);
set_adc_channel(1);
data1=(float)read_adc()*2.046;
ctxuat3();
delay_ms(800);
}


void doc_adc()
{
setup_ADC(ADC_clock_internal);
setup_adc_ports(an0);
set_adc_channel(0);

delay_us(1);
}

void main()
{
set_tris_d(0);
set_tris_e(0);
set_tris_b(0);
set_tris_a(0x01);
SET_TRIS_c(0b00000011);
ctxuat1();

delay_ms(5000);

portd=0x01;
lenh();
ctxuat2();

delay_ms(5000);

portd=0x01;
lenh();
ctxuat();


delay_ms(5000);
portd=0x01;
lenh();
KT=0;
CHUYEN=1;
MAX=32;
MIN=3;


IF(DATA<MIN)
{
B0=1;
}
IF(DATA>MAX)
{
B1=1;
}


while(true)
{

IF(DATA<MIN)
{
B0=1;
}
IF(DATA>MAX)
{
B1=1;
}


IF(KT==0)
{B2=1;

if(data<min)
{
B0=1;
KT=2;
CTXUAT4();

}
if(data>max)
{
B1=1;
KT=3;
CTXUAT5();

}
}

if(max==255)
{
max=0;
ctxuat1();
}

if(min==255)
{
min=0;
ctxuat2();
}

if(chuyen==1)
{
xuly();
delay_ms(5);
}


///////////////////////////////////////
portc=0x0b;

if(c0==0)
{
do{}
while(c0==0);
if(chuyen==0)
{
min++;
xlmin();
}
if(chuyen==2)
{
max++;
xlmax();
}
}

if(c1==0)
{
do{}
while(c1==0);
chuyen++;
xlchuyen();
}
delay_ms(5);
///////////////////////////////////////
portc=0x07;


if(c0==0)
{
do{}
while(c0==0);
if(chuyen==0)
{
min--;
xlmin();
}
if(chuyen==2)
{
max--;
xlmax();
}
}


if(c1==0)
{
do{}
while(c1==0);
KT=0;
CHUYEN=1;
}

if(max<=min)
{
b0=1;
b1=1;
or();
delay_ms(10000);
max=30;
min=1;
ctxuat();
}
}
}

void xuly()
{
doc_adc();
data=(float)read_adc()*2.046;
ctxuat();
delay_ms(800);
}



void xlchuyen()
{
if(chuyen<4)
{
portd=0x01;
lenh();
if(chuyen==1)
{
xuly();
}
if(chuyen==2)
{
ctxuat1();
}
if(chuyen==3)
{
ctxuat2();
chuyen=0;
delay_ms(5);
}
}
}

void xlmax()
{
ctxuat1();
}
void xlmin()
{
ctxuat2();
}

void ctxuat1()
{
khoitao();

char const ht1[]=" NHIET DO MAX ";
char const ht[]={'0','1','2','3','4','5','6','7','8','9',' '};

chucmax=(max%100)/10;
dvmax=(max%10);
for(i=0;i<17;i++)
{
portd=ht1[i];
xuat();
}
PORTD=0XC0;
LENH();
portd=0x14;
lenh();
portd=0x14;
lenh();
portd=0x14;
lenh();
portd=0x14;
lenh();
portd=0x14;
lenh();
portd=0x14;
lenh();
for(i=0;i<1;i++)
{
portd=ht[chucmax];
xuat();
portd=ht[dvmax];
xuat();
}
}
void ctxuat2()
{
khoitao();

char const ht1[]=" NHIET DO MIN ";
char const ht[]={'0','1','2','3','4','5','6','7','8','9',' '};

chucmin=(min%100)/10;
dvmin=(min%10);

for(i=0;i<17;i++)
{
portd=ht1[i];
xuat();
}
PORTD=0XC0;
LENH();
portd=0x14;
lenh();
portd=0x14;
lenh();
portd=0x14;
lenh();
portd=0x14;
lenh();
portd=0x14;
lenh();
portd=0x14;
lenh();

for(i=0;i<1;i++)
{
portd=ht[chucmin];
xuat();
portd=ht[dvmin];
xuat();
}
}

void ctxuat()
{
portd=0x80;
lenh();
char const ht1[]=" Max HienTai Min ";
char const ht[]={'0','1','2','3','4','5','6','7','8','9',' '};

tramdo=data/100;
chucdo=(data%100)/10;
donvido=(data%10);

chucmax=(max%100)/10;
dvmax=(max%10);

chucmin=(min%100)/10;
dvmin=(min%10);

FOR(I=0;I<21;I++)
{
PORTD=HT1[I];
XUAT();
}

PORTD=0XC0;
LENH();

for(i=0;i<1;i++)
{
portd=ht[chucmax];
xuat();
portd=ht[dvmax];
xuat();
}

PORTD=0X14;
LENH();
PORTD=0X14;
LENH();
PORTD=0X14;
LENH();
PORTD=0X14;
LENH();

PORTD=0X14;
LENH();
PORTD=0X14;
LENH();
PORTD=0X14;
LENH();
for(i=0;i<1;I++)
{
portd=ht[tramdo];
xuat();
portd=ht[chucdo];
xuat();
portd=ht[donvido];
xuat();
}
PORTD=0X14;
LENH();
PORTD=0X14;
LENH();
PORTD=0X14;
LENH();
PORTD=0X14;
LENH();
PORTD=0X14;
LENH();
PORTD=0X14;
LENH();
for(i=0;i<1;i++)
{
portd=ht[chucmin];
xuat();
portd=ht[dvmin];
xuat();
}
}

void or()
{
khoitao();
char const ht1[]=" LOI PHAN MAX / MIN ";

for(i=0;i<21;i++)
{
portd=ht1[i];
xuat();
}
DELAY_MS(5000);
}

void ctxuat3()
{
khoitao();

char const ht[]={'0','1','2','3','4','5','6','7','8','9',' '};


chucdo1=(data1%100)/10;
dvdo1=(data1%10);
for(i=0;i<1;i++)
{
portd=ht[chucdo1];
xuat();
portd=ht[dvdo1];
xuat();
}
}



void ctxuat4()
{
char const ht[]=" NHIET DO QUA THAP ";
CHAR CONST HT1[]=" LICK PHIM MENU ";
KHOITAO();

FOR(I=0;I<21;I++)
{
PORTD=HT[I];
XUAT();
}

PORTD=0XC0;
LENH();

FOR(I=0;I<21;I++)
{
PORTD=HT1[I];
XUAT();
}

DELAY_MS(30000);

}



void ctxuat5()
{
char const ht[]=" NHIET DO QUA CAO ";
CHAR CONST HT1[]=" LICK PHIM MENU ";
KHOITAO();

FOR(I=0;I<21;I++)
{
PORTD=HT[I];
XUAT();
}

PORTD=0XC0;
LENH();

FOR(I=0;I<21;I++)
{
PORTD=HT1[I];
XUAT();
}
DELAY_MS(30000);
}
may a giup dum em
day la mach ve bang protues
File Kèm Theo
File Type: rar SUM.rar (18.0 KB, 9 lần tải)
kshoaiviet vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 05:35 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam