PDA

View Full Version : Pic16f877a-lm35-lcd tc1602a


Klong19
13-07-2009, 02:59 PM
Lâu nay lên diễn đàn mình chỉ toàn đọc thôi chứ hok post gì vì chưa biết gì để post. Giờ mới làm xong một mạch nhỏ là mạch đo nhiệt độ, hiển thị lên LCD, xin post lên đây bài báo cáo hoàn chỉnh của mình vì biết đâu mý bạn mới bắt đầu thấy cần, có đầy đủ từ Proteus, code CCS, file hex lẫn mạch in luôn . Tiện thể mình cám ơn picvietnam và mý anh chị có những Tutorial mà mình đã đọc trong khi làm mạch này, và những người đã hướng dẫn mình.

ngchien
19-07-2009, 09:32 PM
đơn giản quá ^^! Bạn còn bài nào nữa kô ??? :D

mrbean007
20-07-2009, 02:08 AM
Lâu nay lên diễn đàn mình chỉ toàn đọc thôi chứ hok post gì vì chưa biết gì để post. Giờ mới làm xong một mạch nhỏ là mạch đo nhiệt độ, hiển thị lên LCD, xin post lên đây bài báo cáo hoàn chỉnh của mình vì biết đâu mý bạn mới bắt đầu thấy cần, có đầy đủ từ Proteus, code CCS, file hex lẫn mạch in luôn . Tiện thể mình cám ơn picvietnam và mý anh chị có những Tutorial mà mình đã đọc trong khi làm mạch này, và những người đã hướng dẫn mình.

cám ơn bài viết của bạn nhiều lắm
cho mình hỏi thêm tí, sao khi mình mô phỏng thì nó báo lỗi gì minh cũng ko bít nữa mong bạn chỉ thêm

katury_luffi
20-07-2009, 11:31 AM
mấy anh ơi! mấy anh có thể cho em xin sơ đồ nguyên lý mạch lịch vạn niên sử dụng pic 16f877a được ko. mấy tuần nay em làm hoài mà vẫn chưa được, màn hình LCD chỉ hiện được dòng màu đen thui thôi hà, mấy anh nào làm được thì chỉ em với nha, em tìm hoài mà hổng bít có sai chân nào ko nữa, hihix

linhnc308
20-07-2009, 02:01 PM
Bạn đưa sơ đồ nguyên lý và code lên đây. Các thành viên sẽ tìm hiểu bệnh và đưa ra phương án điều trị cho bạn.

mrbean007
20-07-2009, 03:39 PM
Bạn đưa sơ đồ nguyên lý và code lên đây. Các thành viên sẽ tìm hiểu bệnh và đưa ra phương án điều trị cho bạn.
code và mạch mô phỏng thì em lấy của anh Klong19 đó, nhung khi mô phỏng thi nó xuất hiện lổi... như trong file .TXT đó,mong các anh chỉ giúp

Klong19
25-07-2009, 01:30 PM
đơn giản quá ^^! Bạn còn bài nào nữa kô ??? :D
Mình cũng là người mới học mà :D, đơn giản là phải rồi.

@MrBean007 : Nó báo lỗi là Used cached model 'LM35.MDF'. Mà cache có nghĩa là "a hidden store of things, or the place where they are kept". Vậy mình đoán như sau : bạn click chuột phải vô LM35, chọn properties rùi thử check hoặc bỏ check vào ô Excluding from simulation, hy vọng nó ko còn bị hidden nữa.
Còn nếu không được thì bạn thử xài Proteus 7.2 hoặc phiên bản nào mới hơn

mrbean007
25-07-2009, 08:29 PM
mình đang xài bản 6.9 ah, ko bít có phải trong thư viên ko có con lm35 ko thì phải, nếu bạn có bản nào mới hơn thi gửi cho mình cái,
mình mới học nên còn gà lắm, ko bít bạn có bài viết (or tài liêu) nào liên wan đến cách quét led matrix (or led đơn) ko gửi cho minh cái, sắp tới mình định làm đồ án TN liên wan tới mạch wan báo giao tiếp máy tính, mong các bạn giúp đỡ thêm

aladin_09
17-09-2009, 01:58 AM
Có ai chỉ cho mình phản hồi nhiệt độ khi dùng LM35 được không. Nghĩa là điều chỉnh nhiệt độ ổn định của tải (bóng đèn) khi nhập vào một nhiệt độ nào đó.
Cảm ơn các bạn nhiều, mong sự hướng dẫn của các bạn.

cuongkdd
17-09-2009, 10:22 PM
có bạn nào viết code bằng asm cho bài nay không? mình mới học nên muốn tìm hiểu bằng asm trước thanks!

quamlove
12-01-2010, 03:26 PM
Hehe. Mình đang rất cần bài này. Cảm ơn bạn nhé. Nếu bạn có mạch hoàn chỉnh mà có giao tiếp với máy tính qua RS232 để hiển thị nhiệt độ thì gửi cho mình nhe. Hòm thư của mình là doloancntt@gmail.com. Cảm ơn bạn nhiều nhé

namhong
13-01-2010, 08:12 AM
mình download trình dịch v4.018 về mà không tạo được Wizard vì sao vậy, ai biết chỉ zùm zới, thanks.

chipheo_hocdot
26-01-2010, 08:05 PM
cam on may anh nhieu

kgjk2003
14-03-2010, 11:39 PM
tại sao mạch lại không đo được nhiệt độ chẵn vậy cậu?

dvthanhlong
10-04-2010, 10:05 AM
lam lai giong het sao no bao loi

keluhanh
10-04-2010, 06:53 PM
bác nào có mạch đo nhiệt độ dùng cho 16F877A ni với con TC74 ko,cho mình với

0ogunguno0
13-04-2010, 10:09 PM
sao mình down link về mà xem ko dc. có ai chỉ mình với, mở bằng chưong7 trình gì đây?????????????????

thaonguyenviet*
15-04-2010, 02:09 PM
[QUOTE=Klong19;27639]Lâu nay lên diễn đàn mình chỉ toàn đọc thôi chứ hok post gì vì chưa biết gì để post. Giờ mới làm xong một mạch nhỏ là mạch đo nhiệt độ, hiển thị lên LCD, xin post lên đây bài báo cáo hoàn chỉnh của mình vì biết đâu mý bạn mới bắt đầu thấy cần, có đầy đủ từ Proteus, code CCS, file hex lẫn mạch in luôn . Tiện thể mình cám ơn picvietnam và mý anh chị có những Tutorial mà mình đã đọc trong khi làm mạch này, và những người đã hướng dẫn mình.[/QUO

cám ơn nhìu!nhờ bạn mà mình có đề tài bài tập lớn vi sử lì rồi!thanks!
nếu còn mạch ứng dụng nào ò pic6f877a thì pót len cho a etham khảo nha!thanks!

thanhtunghpdn
20-04-2010, 11:16 AM
Cho mình hỏi cách ghép nối và lập trình truy xuất giữa pic với bộ nhớ eprom ngoài,

thanhtrung14487
08-05-2010, 08:03 PM
Code:

#define <16f877a.h>
#include "16F877A.h" // Đi kèm chương trình dịch, chứa khai báo về các thanh ghi trong
mỗi con PIC, dùng cho việc cấu hình cho PIC
#device *=16 adc=8 // Khai báo dùng con trỏ 8 hay 16 bit, bộ ADC là 8 hay 10 bit
//#device PIC16F877A *=16
#use delay(clock=12000000) // Tần số thạch anh sử dụng

#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT // Khai báo về cấu hình cho PIC (# Fuses HS / / OSC tốc độ cao (> 4mhz) HS là khai báo giao động ngoài, # Fuses NOPROTECT / / Mã không bảo vệ khỏi đọc, # Fuses NOPUT / / No Power Up Timer, # Fuses NODEBUG / / Không có chế độ Debug cho ICD, # Fuses NOBROWNOUT / / Không đặt lại brownout, # Fuses NOLVP# use delay (clock = 20000000)
//#use rs232(baud=115200,parity=N,xmit=PIN_C6,rcv=PIN_C7, bits=9) // Khai báo cho giao tiếp nối tiếp RS232
#include <LCD.C> // khai bao thu vien LCD
#INT_EXT // #INT_xxx : Khai báo địa chỉ chương trình phục vụ ngắt
int8 read;
void main(void)
{
// set_tris_b(0); // cai dat cong b la cong ra
set_tris_a(0xFF); // cai dat cong a la cong vao
set_tris_d(0x00); // cai dat cong d la cong ra



// Khoi tao cho ngat ngoai
enable_interrupts (INT_EXT); //khoi tao ngat ngoai
ext_int_edge(H_TO_L);//chon bit canh xuong chan RA4
enable_interrupts (GLOBAL);// ngat toan cuc
//Khoi tao ADC
setup_adc_ports(AN0);// Setup_ADC_ports(value) //Xác định chân lấy tín hiệu Analog và điện thế chuẩn

setup_adc(ADC_CLOCK_INTERNAL);// _CLOCK_INTERNAL : thời gian lấy mẫu bằng xung clock
set_ADC_channel(0);
//delay_ms(10);
//read = read_adc();

delay_ms(50);

while(TRUE)
{
lcd_init();//khai bao co su dung LCD
read=read_adc();//read sẽ có giá trị bằng giá trị điện áp mà chân được
read =read*1.960784314;
printf(lcd_putc,"\rNhiet do: %u",read);
delay_us(20);
}
}
em lam rui mo phong chi hien thi len lcd toan nhiet do le thoi cac anh coi giup em no sai va thua cho nao ko.email:thanhtrungvn87@yahoo.com.em cam on!

hongmta
12-05-2010, 09:57 AM
chac tai lay tham so chua chuan ay ma

dvthanhlong
13-05-2010, 11:01 AM
cac bac nao co mach dung pic 16f877a cho minh xin
cam on truoc

HAI1817
27-05-2010, 10:32 AM
cảm ơn các anh

dihia
17-11-2010, 02:40 PM
Sao chỉ hiện nhiệt độ lẻ là sao, bị lỗi gì vậy?

theunloves
06-12-2010, 08:22 PM
Mạch không đo được nhiet độ chẵn bạn ơi! Xem lai nhé!!

phatcddt08a
09-12-2010, 11:07 PM
với đoạn code này mình sử dụng đọc ngõ vào adc từ chan ra0 ,uc=5v hoặc các bạn cũng có thể chọn ngõ vào tùy thích theo ý mình và uc=2.55v thì mình nghỉ sẻ dể làm hơn nhiều
uc=2.55v thì giá trị đọc về sẻ bằng với nhiệt độ lm35 và lưu ở 8 bit cao cua thanh ghi adresh
chỉ can chuyển đổi số để xuất lên led 7 đoạn hoặc lcd gì đó củng được
trong file mình up lên thì mình viết theo hai cách khác nhau nhung về bản chất cũng gần giống nhau.hai cách ở đây là một bài mình chọn nơi lưu là 8bit thấp adresl va 8bit cao adresh.
hihi nếu thấy bổ ích thì các bạn tham khảo nhé .co gì không hiểu liên hệ qua mail mình tranvanphat1989@yahoo.com.vn

phatcddt08a
09-12-2010, 11:14 PM
hi phai là số nguyên chứ bạn vì bạn khai báo biến read là số nguyên dù bạn có nhân số lẻ thì kết quả cuối cùng vẫn là số nguyên thôi bạn

khienpzo
03-03-2011, 09:14 AM
Em cũng đang làm đồ án đề tài này nhưng thêm phần cảnh báo và làm mát nữa . Em thấy bài của anh mô phỏng tăng 2 độ mới hiển thị một lần . em chưa biết chỗ nào để xem code của anh . Nên không hiểu tại sao vậy . Em muốn nhận câu trả lời nhanh nhất để hoàn thành đồ án . Thanhks a lot

stupid11
03-03-2011, 09:08 PM
Hien thi nhiet do tren lcd

khienpzo
06-03-2011, 08:22 PM
Thanhks bạn stupid11 nha . Nhưng không có code mình tham khảo với . Tại bữa giờ mình truy xuất mà nó nhảy nhiệt độ linh tinh không ah ....

khienpzo
06-03-2011, 08:25 PM
Rồi rồi em đã thấy code anh có thể chỉ giáo em thêm phần cảnh báo ở hai mức 35 độ C với 50 độ C được không . Em mới vào hoc con này ít hôm mà thầy giao đề tài này em thấy khó quá .

chicken_boys
09-03-2011, 03:03 PM
Lâu nay lên diễn đàn mình chỉ toàn đọc thôi chứ hok post gì vì chưa biết gì để post. Giờ mới làm xong một mạch nhỏ là mạch đo nhiệt độ, hiển thị lên LCD, xin post lên đây bài báo cáo hoàn chỉnh của mình vì biết đâu mý bạn mới bắt đầu thấy cần, có đầy đủ từ Proteus, code CCS, file hex lẫn mạch in luôn . Tiện thể mình cám ơn picvietnam và mý anh chị có những Tutorial mà mình đã đọc trong khi làm mạch này, và những người đã hướng dẫn mình.

mấy anh chuyển từ C sang ASM giúp em được không.
Em không biết gj về C cả.
đây là code anh Klong19 viết bằng C

chicken_boys
15-03-2011, 06:38 AM
ai có mạch đo nhiệt độ hiển thị trên led 7 đoạn không?
cho em xin với.

stupid11
17-03-2011, 09:22 PM
Thanhks bạn stupid11 nha . Nhưng không có code mình tham khảo với . Tại bữa giờ mình truy xuất mà nó nhảy nhiệt độ linh tinh không ah ....

Mình có gửi cả code luôn rồi mà.có gì thì liên hệ qua mail của mình dungdt08b@gmail.com.

khienpzo
31-03-2011, 02:27 AM
Hien thi nhiet do tren lcd

Em đã test trên phần cứng chạy lung tung anh ah ..... Còn khi bỏ cảm biến nhiệt ra mà nhiệt chỗ số chỉ nhiệt vẫn nhảy ..........anh cho ý kiến ...........

stupid11
31-03-2011, 10:41 AM
Em đã test trên phần cứng chạy lung tung anh ah ..... Còn khi bỏ cảm biến nhiệt ra mà nhiệt chỗ số chỉ nhiệt vẫn nhảy ..........anh cho ý kiến ...........

Bạn vào luồng này thử xem sao..mình viết chương trình này vã đã test trên kit ở trường.

http://www.picvietnam.com/forum/showthread.php?p=43288&posted=1#post43288

hspro
01-04-2011, 01:38 AM
Đề tài này mình đã làm rồi và có một vài đóng góp:
- Nếu dùng 18f877A thì tại sao không dùng ADC 10 bits? Nếu ở chế độ 8bits thì cứ 20mV mới nhảy một giá trị ADC, tức là độ chính xác là 2 độ C. Với ADC 10 bit sai số cỡ khoảng 0,5 độ C. Mình đã làm và hiệu chỉnh khi đo thân nhiệt thì dao động trong khoảng 36~37 độ. Nước sôi thì đúng là 99~ -0 độ luôn. Hơn nữa với việc đo nhiệt độ mà dùng con LCD 70K thì đắt quá, Project của mình gồm Pic 16f877A, LM35DZ, 2 led 7 đoạn, tran, trở ...tổng chi phí khoảng 100K thôi---> chạy ngon, có thiết lập nhiệt độ điều khiển rơ le.
- LM35 rất dễ nhiễu, nếu nối dây dài thì phải dùng dây chống nhiễu bọc mát. Thường sẽ phải hiệu chỉnh tuyến tính cho gia trị đọc được.
Nếu bạn nào cần code hiển thị 2 led 7 ( có thể mở rộng) quét led thì PM cho mình nhé. Y! hein_ts

hspro
01-04-2011, 01:41 AM
ai có mạch đo nhiệt độ hiển thị trên led 7 đoạn không?
cho em xin với.
Bạn có thể mail cho mình mình sẽ gửi cho

khienpzo
03-04-2011, 12:29 AM
Đề tài này mình đã làm rồi và có một vài đóng góp:
- Nếu dùng 18f877A thì tại sao không dùng ADC 10 bits? Nếu ở chế độ 8bits thì cứ 20mV mới nhảy một giá trị ADC, tức là độ chính xác là 2 độ C. Với ADC 10 bit sai số cỡ khoảng 0,5 độ C. Mình đã làm và hiệu chỉnh khi đo thân nhiệt thì dao động trong khoảng 36~37 độ. Nước sôi thì đúng là 99~ -0 độ luôn. Hơn nữa với việc đo nhiệt độ mà dùng con LCD 70K thì đắt quá, Project của mình gồm Pic 16f877A, LM35DZ, 2 led 7 đoạn, tran, trở ...tổng chi phí khoảng 100K thôi---> chạy ngon, có thiết lập nhiệt độ điều khiển rơ le.
- LM35 rất dễ nhiễu, nếu nối dây dài thì phải dùng dây chống nhiễu bọc mát. Thường sẽ phải hiệu chỉnh tuyến tính cho gia trị đọc được.
Nếu bạn nào cần code hiển thị 2 led 7 ( có thể mở rộng) quét led thì PM cho mình nhé. Y! hein_ts



BẠn có thể send bài vào mail của mình không cho mình tham khảo với đang tìm hiểu về đề tài này . Mail của mình khiendohuu@gmail.com .Thanks bạn trước nha

mr.nguyen91
03-04-2011, 12:09 PM
cho minh hỏi tại sao: PIC16F877A-dùng để chuyển đổi giá trị điện áp được xuất ra từ LM35 bằng cách dùng bộ ADC của PIC là như thế nào vậy, có bác nào chỉ mình với!

hein_ts
24-04-2011, 10:43 AM
ai có mạch đo nhiệt độ hiển thị trên led 7 đoạn không?
cho em xin với.
Mạch và sơ đồ với chương trình đã post tại:
http://www.picvietnam.com/forum/showthread.php?t=8975
bạn tham khảo nhé!

hein_ts
24-04-2011, 10:51 AM
BẠn có thể send bài vào mail của mình không cho mình tham khảo với đang tìm hiểu về đề tài này . Mail của mình khiendohuu@gmail.com .Thanks bạn trước nha

http://www.picvietnam.com/forum/showthread.php?t=8975
của bạn đó

hein_ts
24-04-2011, 10:56 AM
Sao chỉ hiện nhiệt độ lẻ là sao, bị lỗi gì vậy?
Dùng ADC 8 bit thì sai số là 2 độ. sẽ chỉ hiển thị một là toàn lẻ, hai là toàn chẵn. của bạn rơi vào trường hợp thứ nhất. khắc phục:- thay đổi điện áp chuẩn lấy mẫu: không phải 5V mà là 2,55 hoặc nhỏ hơn. càng nhỏ càng chính xác. tùy mức độ cho phép
- dung ADC 10 bit, sai số 0,5 nhảy chuẩn luân.
nhiệt độ hiển thị có thể sai với môi trường 3~4 độ. Hiệu chỉnh tuyến tính cho giá trị đọc được bạn nhé!

Freeze_Heart
28-04-2011, 03:33 PM
read =read*1.960784314;
printf(lcd_putc,"\rNhiet do: %u",read);// cái \r với %u là gì thế trong help của CCS có nó không
Các huynh cho đệ hỏi 2 dòng này có ý nghĩa như thế nào ( trong đoạn code của 2topic ). Mình coi trong help của CCS thì thấy dòng printf dùng để xuất ra máy tính nhưng hok biết có thể xuất ra LCD đươc hok T.T ( sorry mình là newbie )
Thanks all !!!

tranhienvl
29-05-2011, 12:59 AM
a co the gui cho e dia chi mail cua a ko e ko nhin thay tren dien dan.em dang tim hieu ve con LM35 va PIC 16X877a

pdkxlily
05-07-2011, 09:31 PM
Code:

#define <16f877a.h>
#include "16F877A.h" // Đi kèm chương trình dịch, chứa khai báo về các thanh ghi trong
mỗi con PIC, dùng cho việc cấu hình cho PIC
#device *=16 adc=8 // Khai báo dùng con trỏ 8 hay 16 bit, bộ ADC là 8 hay 10 bit
//#device PIC16F877A *=16
#use delay(clock=12000000) // Tần số thạch anh sử dụng

#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT // Khai báo về cấu hình cho PIC (# Fuses HS / / OSC tốc độ cao (> 4mhz) HS là khai báo giao động ngoài, # Fuses NOPROTECT / / Mã không bảo vệ khỏi đọc, # Fuses NOPUT / / No Power Up Timer, # Fuses NODEBUG / / Không có chế độ Debug cho ICD, # Fuses NOBROWNOUT / / Không đặt lại brownout, # Fuses NOLVP# use delay (clock = 20000000)
//#use rs232(baud=115200,parity=N,xmit=PIN_C6,rcv=PIN_C7, bits=9) // Khai báo cho giao tiếp nối tiếp RS232
#include <LCD.C> // khai bao thu vien LCD
#INT_EXT // #INT_xxx : Khai báo địa chỉ chương trình phục vụ ngắt
int8 read;
void main(void)
{
// set_tris_b(0); // cai dat cong b la cong ra
set_tris_a(0xFF); // cai dat cong a la cong vao
set_tris_d(0x00); // cai dat cong d la cong ra



// Khoi tao cho ngat ngoai
enable_interrupts (INT_EXT); //khoi tao ngat ngoai
ext_int_edge(H_TO_L);//chon bit canh xuong chan RA4
enable_interrupts (GLOBAL);// ngat toan cuc
//Khoi tao ADC
setup_adc_ports(AN0);// Setup_ADC_ports(value) //Xác định chân lấy tín hiệu Analog và điện thế chuẩn

setup_adc(ADC_CLOCK_INTERNAL);// _CLOCK_INTERNAL : thời gian lấy mẫu bằng xung clock
set_ADC_channel(0);
//delay_ms(10);
//read = read_adc();

delay_ms(50);

while(TRUE)
{
lcd_init();//khai bao co su dung LCD
read=read_adc();//read sẽ có giá trị bằng giá trị điện áp mà chân được
read =read*1.960784314;
printf(lcd_putc,"\rNhiet do: %u",read);
delay_us(20);
}
}
em lam rui mo phong chi hien thi len lcd toan nhiet do le thoi cac anh coi giup em no sai va thua cho nao ko.email:thanhtrungvn87@yahoo.com.em cam on!

dùng adc 8 bit thường sai 1-2 độ
thay adc 10bit read =read/0.2048;
là sẽ hết ngay

ddong
17-10-2011, 09:27 AM
ai có ptoject nào hoàn chỉnh về píc6f877a+lm35+giao tiếp máy tính cho mình xin với.mình mới làm nên kko biết mấy.

malcolmtys
29-10-2011, 04:54 PM
em đang làm đồ án môm học.. là đề tài đo nhiệt độ sử dụng pic 16f877a,lm335,hien thi LCD. Cảnh báo nhiệt độ ở 70oC đồng thời den sáng. Ai giúp e phan code sử dụng hợp ngữ em mới học về pic..... mấy anh chị có thể cho e sơ đồ nguyên lý để dễ dàng thực hiện dc ko>.... thanhk

norimo
23-02-2012, 07:52 PM
Khi dùng ADC 8bit, tín hiệu ADC đọc được từ chân ADC như sau:

1V 2V 3V 4V 5V
51 102 153 204 255

Tức là nếu điện áp vào 1V thì tín hiệu digital tăng 51
1V  ADC=51
1C10mVADC=10*51/1000
Suy ra T ADC = T*10*51/1000
Suy ra T = ADC*1000/10/51 = ADC * 1.960784314

Công thức này không đúng lắm. Bác nào có cái chính xác hơn không.

norimo
24-02-2012, 04:57 PM
Up.........................

{}{}{}
01-03-2012, 01:14 PM
em mới học về LCD chưa hiểu j mấy thì thầy bắt làm đề tài hiển thị 2 dòng chữ BKHN, VI XU LY trên 2 dòng của LCD1602 viết bằng CCS. Các anh có thể giúp em được ko ah? em cảm ơn nhiều lắm.

letanminh
01-03-2012, 01:57 PM
Thực tế 8 Bit nhưng khi thiết kế mạch và lập trình phải 4 Bit để tiết kiệm chân PIC: Đầu tiên phải lấy thư viện LCD.
Đoạn cos sau đây có thể tham khảo
#include <htc.h>
#include "lcd.h"
#include <stdio.h>
//Cấu hình cho Chip
__CONFIG(INTIO & WDTDIS & PWRTDIS & MCLREN & UNPROTECT & DUNPROTECT & BORDIS & FCMDIS);
int value; //Khai báo biến value
void main()
{
VCFG1=VCFG0=0; //Điện áp tham chiếu Vref+=Vdd,Vref-=Vss
TRISA3=1; //RA3 là Input
ANS3=1; //RA3 là Analog(trong thanh ghi ANSEL:Analog Select Register)
CHS0=1; //Chọn kênh ADC : AN3 tương ứng chân RA3(trong thanh ghi ADCON0)
CHS1=1;
CHS2=0;
CHS3=0;
ADCS0=1; //Thời gian hoàn thành (Focs/8))
ADCS1=0;
ADFM=0; //Định dạng kết quả ADC 10bit được sau khi được chuyển đổi,canh chỉnh trái=>value=(high*4+low)
ADON=1; //Bat che do ADC

lcd_init(); //Hàm khởi tạo LCD chứa trong thư viện "lcd.c"
lcd_putc('\f'); //Hiển thị ký tự lên LCD trong dấu ' ' ,ở đây\f là xóa LCD
while(1)
{
GODONE=1; //Bắt đầu chuyển đổi
value=ADRESH*4 + ADRESL; //Gán biến value = giá trị chuyển đổi 10bit
lcd_gotoxy(0,0); //Chỉnh con trỏ chuột về đầu dòng hàng thứ nhất LCD
printf(" Gia tri ADC"); //In chuỗi ký tự:"Gia tri ADC"
printf("\n %d",value); //In giá trị ADC 10bit sau sau khi chuyển đổi được gán vào biếnvalue
}
}

masterking
16-06-2012, 12:25 AM
Đồ cổ mà vẫn còn hót quá... thank's chủ thớt nhé...................

chutuyen
28-11-2012, 10:07 PM
ban nao giup minh code de tai tren bang notepad voi dc khong?. minh k hieu gi ve ccs ca~.

minh dang gap van de tai cho~ hien thi nhiet do len lcd.email cua minh :chutuyen2509@gmail.com

xin loi viet key minh bi loi~> > rat mong dc su giup do~ .

a minh hien dang hoc tai cd kt cao thang.

trungthao_uet55
20-03-2014, 10:26 PM
Lâu nay lên diễn đàn mình chỉ toàn đọc thôi chứ hok post gì vì chưa biết gì để post. Giờ mới làm xong một mạch nhỏ là mạch đo nhiệt độ, hiển thị lên LCD, xin post lên đây bài báo cáo hoàn chỉnh của mình vì biết đâu mý bạn mới bắt đầu thấy cần, có đầy đủ từ Proteus, code CCS, file hex lẫn mạch in luôn . Tiện thể mình cám ơn picvietnam và mý anh chị có những Tutorial mà mình đã đọc trong khi làm mạch này, và những người đã hướng dẫn mình.

Mọi người cho mình hỏi chút, mình muốn hiển thị lần lượt các giá trị ở mỗi chân an0,1,2 lên lcd bằng cách ấn phím, mọi người có thể cho m xin bài code được không, m ko biết tí gì về code này cả.

eshall
06-01-2015, 01:07 PM
không biết là cho con biến trở vào để làm gì ạ ? Có phải là để chỉnh độ nhạy của lm35 k các bác @@

kidmaster08
07-01-2015, 12:22 PM
Hãy tham gia diễn đàn mới nào. rất mong được sự giúp đỡ của mọi người
http://dientucoban.bestforumlife.com