PIC Vietnam

Go Back   PIC Vietnam > Robotics > Cảm biến

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

Cảm biến Camera, siêu âm, hồng ngoại, gyro, la bàn...

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 24-04-2010, 05:46 PM   #3
chomchom
Nhập môn đệ tử
 
Tham gia ngày: Apr 2010
Bài gửi: 3
:
Thumbs up thanks bác

Trích:
Nguyên văn bởi thanhquyet View Post
chao ban
ban thu coi chuong trinh nay nhe
tien the cho minh hoi ban mua DS1620 o dau vay?
Hien tai minh cung dang lam do an mon do nhiet do bang DS1620 hien thi len LCD
thanks ban nhieu!
nick cua minh sandyman862002@yahoo.com

//xxxxxxxxxxxxxxxxxxxxxxxxxxx CHUONG TRINH DS1620 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// Khoi tao DS1620
void DS1620_InitTemp(void)
{
RST = 1; // thiet lap che do giao tiep 3-wire.
DS1620_Write(0x0C); // cho phep ghi config
DS1620_Write(0x08);
RST = 0;
RST = 1; // thiet lap che do giao tiep 3-wire
DS1620_Write(0xEE); // bat dau chuyen doi nhiet do
RST = 0;
}

void DS1620_Write(unsigned char Data)
{
set_tris_D(0); // cong D la cong ra
CLK = 1; // tao clock
for (i=1; i<=8; ++i)
{
DQ = (Data & 1); // viet bit thap len DQ
CLK = 0;
CLK = 1; // tao clock
Data = Data >> 1; // dich fai Data di 1 bit
}
}

void DS1620_WriteTHTL(unsigned char Data, int dau)
{
set_tris_D(0); // cong D la cong ra
CLK = 1; // tao clock
for (i=1; i<=8; ++i)
{
DQ = (Data & 1); // viet bit thap len DQ
CLK = 0;
CLK = 1; // tao clock
Data = Data >> 1; // dich fai Data di 1 bit
}
CLK = 1;
if (dau == 1) DQ = 1; // Lay gia tri bit dau, gui not bit9 di
else DQ = 0;
CLK = 0;
}

unsigned int8 DS1620_Read(void)
{
unsigned int8 Data, temp;
set_tris_D(0x02); // Chan DQ = 1 : chan vao, con lai la chan ra
Data = 0;
temp = 1;
CLK = 1;
for (i=1; i<=8; ++i)
{
CLK = 0; // CLK = 0: convert
if (DQ == 1) Data += Temp; //neu DQ = 1, cong don Data
Temp = Temp << 1; // neu DQ = 0, dich trai temp 1bit de chen 0 vao
CLK = 1;
}
CLK = 0;
if (DQ == 1) Sign = 1;// Lay gia tri bit dau
else Sign = 0;
CLK = 1;
return(Data);
}

unsigned int8 DS1620_GetTemp(void)
{
unsigned int8 Data;
RST =1; // thiet lap che do giao tiep 3-wire
DS1620_Write(0xAA); // lenh cho phep doc noi dung thanh ghi nhiet
data = DS1620_Read(); // doc noi dung
RST =0; // ket thuc che do giao tiep 3-wire
return(data);
}

void display(int8 temp)
{
int8 Data, leng;
unsigned char string[3];
if (sign == 1) // Nhiet do am
{
LCD_gotoxy(5,2);
comandwrt();
LCD = '-'; // Hien thi dau -
datawrt();
printf("-");
Data = (~temp + 1) / 2; // neu nhiet do am thi lay ma bu 2

}
else { LCD_gotoxy(5,2); // Nhiet do duong
comandwrt();
LCD = '+'; // Hien thi dau +
datawrt();
printf("+");
Data = temp / 2;

}
itoa(Data,10,string); // Chuyen doi Data thanh ma ASCII vao string
printf("%3s",string);
leng = strlen(string); // Lay chieu dai cua string
if (bit_test(temp,0)) // kiem tra bit0 =1 suy ra nhiet do .5 doC
{
for(i=0;i<leng;i++)
{
LCD = string[i]; // xuat nhiet do ra o dang ki tu so
datawrt();
}
LCD = '.'; // hien thi phan thap phan .5 do C
datawrt();
LCD = '5';
datawrt();
printf(".5");
LCD = 0xDF; // ky tu °C
datawrt();
putc(0xdf);
LCD = 'C';
datawrt();
printf("C\n\r");
}
else // bit0 =0 suy ra nhiet do .0 do C
{
for(i=0;i<leng;i++)
{
LCD = string[i]; // xuat nhiet do ra o dang ki tu so
datawrt();
printf(string[i]);
}
LCD = '.'; // hien thi phan thap phan .0 do C
datawrt();
LCD = '0';
datawrt();
printf(".0");
LCD = 0xDF; // ky tu °C
datawrt();
putc(0xdf);
LCD = 'C';
datawrt();
printf("C\n\r");
}
}
mình cũng đang phải làm bài tập lớn đề do nhiet do bang DS1620 hien thi len LCD này. các bác giúp đỡ với, mình là lính mới nên chưa biết gì nhiều. nếu có thể các bác gửi cho mình bản vẽ mạch để tham khao được chứ. địa chỉ mail của mình là: buihuutungktqs@yahoo.com
thanks các bác.
chomchom 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à 12:09 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