Với sự tiến bộ không ngừng của khoa học kỹ thuật, đặc biệt là ngành điện tử đã ứng dụng rất nhiều trong công nghiệp. Trong lĩnh vực điều khiển, từ khi công nghệ chế tạo loại vi mạch lập trình phát triển đã đem đến các kỹ thuật điều khiển hiện đại có nhiều ƣu điểm so với việc sử dụng các mạch điều khiển đƣợc lắp ráp từ các linh kiện rời nhƣ kích thƣớc mạch nhỏ, gọn, giá thành rẻ, độ làm việc tin cậy và công suất tiêu thụ thấp ...Ngày nay lĩnh vực điều khiển đã đƣợc ứng dụng rộng rãi trong các thiết bị, sản phẩm phục vụ cho nhu cầu sinh hoạt hằng ngày của con ngƣời nhƣ máy giặt, đồng hồ điện tử, ti vi ... nhằm giúp cho đời sống ngày càng hiện đại và tiện lợi hơn.Đề tài ứng dụng vi điều khiển trong đời sống thực tế rất phong phú và đa dạng nhằm đáp ứng cho cuộc sống tiện nghi của con ngƣời.Với mục đích tìm hiểu và đáp ứng những yêu cầu trên em đã lựa chọn một đề tài có tính ứng dụng trong thực tế, nhƣng không quá xa lạ đối với mọi ngƣời, đó là “Mạch đo và hiển thị nhiệt độ”.Đề tài đƣợc chia làm 2 phần lớn: Phần 1: Giới thiệu. Phần 2: Thực hiện đề tài.
TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN -o0o - ĐỒ ÁN I ĐỀ TÀI: Thiết kế mạch đo hiển thị nhiệt độ Giáo viên hƣớng dẫn : Nguyễn Anh Tuấn Sinh viên thực : Lê Văn Công Lớp : KT ĐK & TĐH 04 Khóa : K58 MSSV : 20130450 HÀ NỘI – 6/2016 GV hướng dẫn: Nguyễn Anh Tuấn Nhận xét giáo viên hƣớng dẫn …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… ĐH Bách khoa Hà Nội Page GV hướng dẫn: Nguyễn Anh Tuấn MỤC LỤC LỜI MỞ ĐẦU PHẦN I: LÝ THUYẾT CƠ SỞ CHƢƠNG 1: GIỚI THIỆU MẠCH ĐO NHIỆT ĐỘ VÀ HIỂN THỊ LCD I Chức mạch II Các thành phần mạch III Yêu cầu thiết kế CHƢƠNG 2: GIỚI THIỆU LINH KIỆN CHỦ CHỐT TRONG MẠCH I Giới thiệu LCD TC16C2A: II Giới thiệu IC ADC0809: III IC 7805 : IV Cảm biến LM335: 11 CHƢƠNG 3: TỔNG QUAN VI ĐIỀU KHIỂN 8051 12 I Giới thiệu phần cứng họ MCS – 51(8051) 12 II Khảo sát đồ chân, chức chân 13 III Cấu trúc bên vi điều khiển 17 PHẦN II: THỰC HIỆN ĐỀ TÀI 26 CHƢƠNG 1: TIẾN TRÌNH THỰC HIỆN 26 I Các giai đoạn thực 26 II Quá trình thiết kế lắp ráp 26 III Các khó khăn gặp phải 26 CHƢƠNG 2: THIẾT KẾ KHỐI MẠCH 26 I Sơ đồ nguyên lý khối 27 II Lập trình cho vi điều khiển 29 III Thi công mạch thật test 34 CHƢƠNG III: KẾT LUẬN - TÀI LIỆU THAM KHẢO 35 I Kết luận 35 II Tài liệu tham khảo 36 ĐH Bách khoa Hà Nội Page GV hướng dẫn: Nguyễn Anh Tuấn LỜI MỞ ĐẦU Với tiến không ngừng khoa học kỹ thuật, đặc biệt ngành điện tử ứng dụng nhiều công nghiệp Trong lĩnh vực điều khiển, từ công nghệ chế tạo loại vi mạch lập trình phát triển đem đến kỹ thuật điều khiển đại có nhiều ƣu điểm so với việc sử dụng mạch điều khiển đƣợc lắp ráp từ linh kiện rời nhƣ kích thƣớc mạch nhỏ, gọn, giá thành rẻ, độ làm việc tin cậy công suất tiêu thụ thấp Ngày lĩnh vực điều khiển đƣợc ứng dụng rộng rãi thiết bị, sản phẩm phục vụ cho nhu cầu sinh hoạt ngày ngƣời nhƣ máy giặt, đồng hồ điện tử, ti vi nhằm giúp cho đời sống ngày đại tiện lợi Đề tài ứng dụng vi điều khiển đời sống thực tế phong phú đa dạng nhằm đáp ứng cho sống tiện nghi ngƣời.Với mục đích tìm hiểu đáp ứng yêu cầu em lựa chọn đề tài có tính ứng dụng thực tế, nhƣng không xa lạ ngƣời, “Mạch đo hiển thị nhiệt độ” Đề tài đƣợc chia làm phần lớn: Phần 1: Giới thiệu Phần 2: Thực đề tài Trong phần có nhiều chƣơng nhỏ trải rộng từ hệ thống, phần cứng, phần mềm Em cố gắng vận dụng kiến thức học trƣờng với tìm tòi học hỏi để hoàn thành tốt đồ án Mặc dù em cố gắng để hoàn thiện đề tài nhƣng không tránh khỏi sai sót, kính mong thầy cô thông cảm Em xin chân thành cảm ơn ĐH Bách khoa Hà Nội Page GV hướng dẫn: Nguyễn Anh Tuấn PHẦN I: LÝ THUYẾT CƠ SỞ CHƢƠNG 1: GIỚI THIỆU MẠCH ĐO NHIỆT ĐỘ VÀ HIỂN THỊ LCD I Chức mạch “Mạch điều khiển đo nhiệt độ”có chức sau: Đo nhiệt độ hiển thị nhiệt độ đo đƣợc lên hình LCD II Các thành phần mạch LCD TC1602A ADC 0809 Cảm biến nhiệt LM35 Vi điều khiển AT 89S52 III Yêu cầu thiết kế Mạch phải hoạt động chức đề tài Mạch hoạt động phải có độ ổn định xác cao Thiết kế gọn nhẹ Giá thành thấp o0o CHƢƠNG 2: GIỚI THIỆU LINH KIỆN CHỦ CHỐT TRONG MẠCH I Giới thiệu LCD TC16C2A: LCD (Liquid crystal direct) TC16C2 hình tinh thể lỏng gồm có: + LCD ĐH Bách khoa Hà Nội Page GV hướng dẫn: Nguyễn Anh Tuấn + Bộ Driver ( mạch điều khiển) Màn hình LCD Driver đƣợc kết nối sẵn với nhà sản xuất, sử dụng cần giao tiếp với driver LCD TC16C2 loại hình hiển thị đƣợc 16 kí tự ×2 dòng, bao gồm tất kí tự chuẩn có số kí tự đặc biệt nhƣng kí tự dấu tiếng Việt Sơ đồ chân LCD: Hình 1.2.1: Hình dáng sơ đồ chân LCD Chức nhiệm vụ chân: Số TT Chân Kí Hiệu Chức Năng Vss GND Vdd Vcc Vo Chỉnh độ tƣơng phản hình Lựa chọn mức điều khiển: - mức mã hiển thị - mức lệnh điều khiển RS R/W Báo hiệu đọc ghi E Nhận tín hiệu cạnh xuống để nhận liệu DB0 Trao đổi liệu theo bye(phƣơng thức //) DB1 Trao đổi liệu theo bye(phƣơng thức //) ĐH Bách khoa Hà Nội Page GV hướng dẫn: Nguyễn Anh Tuấn DB2 Trao đổi liệu theo bye(phƣơng thức //) 10 DB3 Trao đổi liệu theo bye(phƣơng thức //) 11 DB4 Trao đổi liệu theo bye(phƣơng thức //) 12 DB5 Trao đổi liệu theo bye(phƣơng thức //) 13 DB6 Trao đổi liệu theo bye(phƣơng thức //) 14 DB7 Trao đổi liệu theo bye(phƣơng thức //) 15 A/Vee Cực anod đèn 16 K Cực katod đèn Bảng 1.1: Chức chân LCD Giá trị điện áp: Tên Điện áp vào Dòng cung cấp thời Điện áp nhiệt độ bình thƣờng Điện áp LED hình LCD Kí hiệu VDD IDD Điều kiện Giá trị chuẩn Đơn vị Min typ Max VDD=+5V 4.7 5.0 5.3 VDD=+3V 2.7 3.0 5.3 VDD=5V - 1.2 3.0 -200C - - - 00 C 4.2 4.8 5.1 250C 3.8 4.2 4.6 500C 3.6 4.0 4.4 700C - - - 250C - 4.2 4.6 VDD-V0 VF V mA V V Bảng 1.2: Giá trị điện áp LCD II Giới thiệu IC ADC0809: ĐH Bách khoa Hà Nội Page GV hướng dẫn: Nguyễn Anh Tuấn IC ADC0809 dùng để chuyển đổi từ tín hiệu tuong tu (Analog) sang tín hiệu số (Digital) nhằm mục đích thuận lợi việc xử lý điều khiển thực tế đề tài dùng để chuyển từ mức áp thành số để đƣa xử lý trung tâm vi điều khiển AT89C51 ADC 0809 có thành phần thu thập liệu thiết bị CMOS nguyên khối với chuyển đổi tƣơng tự số bit ,gồm logic điều khiển tích hợp vi xử lý kênh,những đặc tính chuyển đổi phối hợp với trở kháng cao làm ổn định so sánh mức áp Chia áp đầu vào 256 mức từ mức 0÷255 ,8 dồn kênh trực tiếp truy nhập tín hiệu tƣơng tự đƣợc gửi tới - ADC 0809 dễ dàng kết nối với vi xử lý - kênh Analog ngõ vào làm việc độc lập - Độ phân giải bit - Dải tín hiệu ngõ vào từ ÷ 5V - Thời gian biến đổi 100 µs Dòng tiêu thụ 0,3 mA Sơ đồ chân chức chân ADC 0809: Hình 1.2.2 :Sơ đồ chân ADC 0809 ĐH Bách khoa Hà Nội Page GV hướng dẫn: Nguyễn Anh Tuấn a) Chức chân : + Chân (1÷5, 26, 27, 28 ) IN0÷IN7:Là tín hiệu Analog ngõ vào chân có chung mass với IC + Chân (22) ALE : Chốt địa chọn kênh + Chân (6) START: Yêu cầu bắt đầu chuyển đổi + Chân (10) CLOCK :Cấp xung clock định tốc độ chuyển đổi + Chân (7) EOC :Báo kết thúc trình chuyển đổi + Chân (11) VCC + Chân (13) GND + Chân (9) OE(output enable):cho phép/không cho phép chuyển đổi • Cho phép nối Vcc • Không cho phép nối GND + Chân (12,16) Vref (+) ,Vref (-) : Vmax (+10V),Vmin (-10V) cho tín hiệu vào + Chân (17÷21,15,8,14) DB0 ÷:Ngõ + Chân ( 25÷23) ADD A,ADD B ,ADD C :Tạo tổ hợp chọn kênh Lựa chọn kênh Tổ hợp chọn kênh Analog ADD C ADD B ADD A IN0 ĐH Bách khoa Hà Nội L L L Page GV hướng dẫn: Nguyễn Anh Tuấn IN1 IN2 IN3 IN4 IN5 IN6 IN7 L L L H H H H L H H L L H H H L H L H L H Bảng 1.3: Tổ hợp chọn kênh Analog Giá trị điện áp ADC 0809: Bảng 1.4: Giá trị điện áp ADC 0809 III IC 7805 : IC 7805 IC tạo điện áp chuẩn nguồn dƣơng có điện áp ngõ 5V nhƣng thực tế dòng ngõ IC biến thiên 5% tức áp ngõ khoảng 4.85V Dòng qua IC 7805 khoảng 100mA Hình Dáng Và Sơ Đồ Chân: ĐH Bách khoa Hà Nội Page GV hướng dẫn: Nguyễn Anh Tuấn Hình 1.3.11 Chi tiết bit ghi PSW Thanh ghi ngăn xếp (Stack Pointer) Con trỏ stack SP (stack pointer) ghi bit địa 81H SP chứa địa liệu đỉnh stack Các lệnh liên quan đến satck bao gồm lệnh cất liệu vào stack lệnh lấy liệu khỏi stack Việc cất vào stack làm tăng SP trƣớc ghi liệu việc lấy liệu khỏi stack giảm SP Vùng stack 8051 đƣợc giữ RAM nội đƣợc giới hạn đến địa truy xuất đƣợc kiểu định địa gián tiếp Các lệnh PUSH POP cất liệu vào stack lấy liệu từ stack, lệnh gọi chƣơng trình (ACALL, LCALL) lệnh trở (RET, RETI) cất phục hồi nội dung đếm chƣơng trình PC (Program counter) Con trỏ liệu DPTR ĐH Bách khoa Hà Nội Page 23 GV hướng dẫn: Nguyễn Anh Tuấn Con trỏ liệu DPTR (data pointer) đƣợc dùng để truy xuất nhớ chƣơng trình nhớ liệu DPTR ghi 16 bit có địa 82H (DPL, byte thấp) 83H (DPH, byte cao) Thanh ghi cổng P0-P3 Các port xuất/nhập 8051 bao gồm Port địa 80H, Port địa 90H, Port địa A0H Port địa B0H Tất port đƣợc định địa bit nhằm cung cấp khả giao tiếp mạnh Thanh ghi đệm truyền thông nối tiếp (Serial Data Buffer) Bộ đệm truyền thông đƣợc chia thành hai đệm, đệm truyền liệu đệm nhận liệu Khi liệu đƣợc chuyển vào ghi SBUF, liệu đƣợc chuyển vào đệm truyền liệu đƣợc lƣu giữ trình truyền liệu qua truyền thông nối tiếp kết thúc Khi thực việc chuyển liệu từ SBUF ngoài, liệu đƣợc lấy từ đệm nhận liệu truyền thông nối tiếp Thanh ghi định thời/bộ đếm 8051 có đếm/định thời (counter/timer) 16 bit để định khoảng thời gian để đếm kiện Các cặp ghi (TH0, TL0) (TH1, TL1) ghi đếm thời gian Bộ định thời có địa 8AH (TL0, byte thấp) 8CH (TH0, byte cao) Bộ định thời có địa 8BH (TL1, byte thấp) 8DH (TH1, byte cao) Hoạt động định thời đƣợc thiết lập ghi chế độ định thời TMOD (Timer Mode Register) địa 88H Chỉ có TCON đƣợc định địa bit Các ghi điều khiển ĐH Bách khoa Hà Nội Page 24 GV hướng dẫn: Nguyễn Anh Tuấn Các ghi điều khiển đặc biệt nhƣ IP, IE, TMOD, TCON, SCON PCON ghi điều khiển ghi nhận trạng thái hệ thống ngắt, đếm/định thời, truyền thông nối tiếp Các loại ngắt 8051 - Trong thực tế có loại ngắt nhƣng có thêm loại hiểu ngầm ngắt tín hiệu RESET Dƣới tín hiệu ngắt: + RESET: Khi chân RESET đƣợc kích hoạt từ 8051, đếm chƣơng trình nhảy địa 0000H Đây địa bắt đầu chƣơng trình + ngắt dành cho định thời: cho Timer0 cho Timer1 Địa tƣơng ứng ngắt 000BH 001BH + ngắt dành cho ngắt phần cứng bên ngoài: chân 12 (P3.2) 13 (P3.3) port P3 ngắt phần cứng bên INT0 INT1 tƣơng ứng Địa tƣơng ứng ngắt 0003H 0013H + Truyền thông nối tiếp: có ngắt chung cho nhận truyền liệu nối tiếp Địa ngắt bảng vector ngắt 0023H Độ ƣu tiên ngắt 8051 - Thể tín hiệu đƣợc ƣu tiên thực hiên trƣớc có nhiều tín hiệu ngắt đồng thời Reset Ngắt Cờ ngắt: IE0 Ngắt timer TF0 Ngắt IE1 Ngắt timer TF1 Ngắt truyền thông RI/TI o0o ĐH Bách khoa Hà Nội Page 25 GV hướng dẫn: Nguyễn Anh Tuấn PHẦN II: THỰC HIỆN ĐỀ TÀI CHƢƠNG 1: TIẾN TRÌNH THỰC HIỆN I Các giai đoạn thực Tìm hiểu tra cứu linh kiện liên quan đến mạch Tìm hiểu thị trƣờng linh kiện điện tử để có phƣơng án thiết kế hợp Tiến hành thiết kế mạch vẽ mạch phần mềm Tìm điểm thiếu sót sau tiến hành lắp ráp linh Kiện Lập trình thực nghiệm để có chƣơng trình tốt đồng thời viết báo cáo II Quá trình thiết kế lắp ráp Thực vẽ mạch phần mềm Altium Tính toán số linh kiện cần thiết để lắp ráp mạch Thi công mạch in để làm test Thực mạch hoàn chỉnh III Các khó khăn gặp phải Trong trình thiết kế thi công gặp khó khăn điều kiện thực hiện, tìm hiểu linh kiện cần thiết nghiên cứu thiết kế nhƣng đồng thời phải biết đƣợc thị trƣờng nƣớc ta có loại linh kiện hay không Kế đến vấn đề tài sau thiết bị thí nghiệm cần thiết để kiểm tra o0o CHƢƠNG 2: THIẾT KẾ KHỐI MẠCH ĐH Bách khoa Hà Nội Page 26 GV hướng dẫn: Nguyễn Anh Tuấn I Sơ đồ nguyên lý khối Khối nguồn Đối với mạch dùng vi xử lý , IC TLL, ICs đòi hỏi cần phải có nguồn cung cấp ổn định 5V (dao động từ 4.75V đến 5.25V) điện áp không nằm giải mà xuống mức giới hạn ICS không hoạt động (Reset) mức giới hạn hỏng ICs Do mạch thiết kế dùng ICs ngƣời ta phải có nguồn cung cấp ổn định để nuôi ICs điện áp không đƣợc lên xuống theo điện áp nguồn Vậy việc cần cấp cho nguồn 5V ổn định chip hoạt động bình thƣờng LED sáng Hình 2.2.1 Sơ đồ nguyên lý khối nguồn Hƣớng phát triển mạch: Với mạch dùng nhiều cho dòng 78 Nếu nhƣ muốn ổn định điện áp 6V,8V, 12V Chỉ cần chọn 78 thích hợp với điện áp bạn muốn ổn áp nhƣ 78006, 78008, 7812 Nguyên lý giống nhƣ mạch ổn định khác IC 78xx tƣơng ứng với điện áp cần Khối mạch đo hiển thị nhiệt độ ĐH Bách khoa Hà Nội Page 27 GV hướng dẫn: Nguyễn Anh Tuấn Hình 2.2.2 Sơ đồ mạch lực Công thức tính toán: ADC 8bit: Vin = (Vref*ADC)/256 Trong đó: Vref điện áp tham chiếu (Đơn vị: V) ADC giá trị sau chuyển đổi Do độ phân giải ADC0808 8bit lên có 256 mức điện áp so với Vref Tức ta cấp vào Vref 5V tín hiệu input vào 2.5V chẳng hạn giá trị ADC = 256⁄2 = 128 (do Vin = 1⁄2 Vref) từ suy Vref = 2.56V để ADC=25 điện áp đầu vào input phải 250mV => Cứ tăng/giảm 10mV ADC tăng/giảm giá trị Mà cảm biến nhiệt độ LM35 lại có ngõ 10mV thay đổi độ C nhƣ suy ADC=25 LM35 25 độ C Với cách ta không cần phải tính toán giá trị nhiệt độ sau chuyển đổi mà xuất giá trị ADC hình LCD ĐH Bách khoa Hà Nội Page 28 GV hướng dẫn: Nguyễn Anh Tuấn Sai số LM35 + Tại độ C điện áp LM35 10mV + Tại 150 độ C điện áp LM35 1.5V ==> Giải điện áp ADC biến đổi 1.5 - 0.01 = 1.49 (V) + ADC bit nên bƣớc thay đổi ADC : n = 2.44mV Vậy sai số hệ thống đo : Y = 0.00244/1.49 = 0.164 % II Lập trình cho vi điều khiển /* Do nhiet dung LM35, ADC0809 IC 89S52 */ #include #define VREF //VREF=5V //Khai bao chan giao tiep ADC0808 #define ADC0808_DATA P3 //PORT #define ADC0808_A P2_0 //PIN #define ADC0808_B P2_1 #define ADC0808_C P2_2 #define ADC0808_ALE P2_3 #define ADC0808_START P2_4 #define ADC0808_EOC P2_5 #define ADC0808_OE P2_6 #define ADC0808_CLK P2_7 //Khai bao chan giao tiep LCD16x2 4bit #define LCD_RS P0_0 #define LCD_RW P0_1 #define LCD_EN P0_2 ĐH Bách khoa Hà Nội Page 29 GV hướng dẫn: Nguyễn Anh Tuấn #define LCD_D4 P0_4 #define LCD_D5 P0_5 #define LCD_D6 P0_6 #define LCD_D7 P0_7 /*****************ADC0808*********************/ //Ham doc ADC0808 theo kenh unsigned char ADC0808_Read(unsigned char channel){ unsigned char kq; ADC0808_A = channel & 0x01; ADC0808_B = channel & 0x02; ADC0808_C = channel & 0x04; ADC0808_ALE = 1; ADC0808_START = 1; ADC0808_ALE = 0; ADC0808_START = 0; while(ADC0808_EOC); while(!ADC0808_EOC); ADC0808_OE = 1; kq = ADC0808_DATA; ADC0808_OE = 0; return kq; } /*****************Ham delay*********************/ void delay_us(unsigned int t){ unsigned int i; for(i=0;i>2)&1; LCD_D7=(Data>>3)&1; } // Ham Gui Lenh Cho LCD void LCD_SendCommand(unsigned char command){ LCD_Send4Bit(command >>4);/* Gui bit cao */ LCD_Enable(); LCD_Send4Bit(command); /* Gui bit thap*/ LCD_Enable(); } void LCD_Clear(){// Ham Xoa Man Hinh LCD LCD_SendCommand(0x01); delay_us(10); ĐH Bách khoa Hà Nội Page 31 GV hướng dẫn: Nguyễn Anh Tuấn } // Ham Khoi Tao LCD void LCD_Init(){ LCD_Send4Bit(0x00); delay_ms(20); LCD_RS=0; LCD_RW=0; LCD_Send4Bit(0x03); LCD_Enable(); delay_ms(5); LCD_Enable(); delay_us(100); LCD_Enable(); LCD_Send4Bit(0x02); LCD_Enable(); LCD_SendCommand( 0x28 ); // giao thuc bit, hien thi hang, ki tu 5x8 LCD_SendCommand( 0x0c); // cho phep hien thi man hinh LCD_SendCommand( 0x06 ); // tang ID, khong dich khung hinh LCD_SendCommand(0x01); // xoa toan bo khung hinh } void LCD_Gotoxy(unsigned char x, unsigned char y){ unsigned char address; if(!y)address=(0x80+x); else address=(0xc0+x); delay_us(1000); LCD_SendCommand(address); delay_us(50); ĐH Bách khoa Hà Nội Page 32 GV hướng dẫn: Nguyễn Anh Tuấn } void LCD_PutChar(unsigned char Data){//Ham Gui Ki Tu LCD_RS=1; LCD_SendCommand(Data); LCD_RS=0 ; } void LCD_Puts(char *s){//Ham gui chuoi ky tu while (*s){ LCD_PutChar(*s); s++; } } /**************Show Temp*********************** unsigned char Temp(unsigned char adc){//Tinh nhiet tu adc8bit return ((VREF*adc)/2.56f); //Tinh nhiet } */ void TempShow(unsigned char z){ //Chuyen doi hien thi LCD_Puts("Nhiet do: "); LCD_PutChar((z/100)+48);//Tram LCD_PutChar((z%100/10)+48);//Chuc LCD_PutChar((z%10)+48);//Don vi LCD_Puts("'C"); } /******************Ctr ngat timer 0**************************/ void INT_Timer0()interrupt { //ctr phuc vu ngat tao xung clock cho ADC0808 ADC0808_CLK=~ADC0808_CLK; //Dao bit } ĐH Bách khoa Hà Nội Page 33 GV hướng dẫn: Nguyễn Anh Tuấn /******************Ctr chinh**************************/ unsigned char temp; void main(){ //Tao xung clock cho ADC0808 dung ngat timer TMOD=0x02; //Timer0 8bit tu nap lai TH0=TL0=236;//Tao ngat 20us TR0=1;//Khoi dong timer0 ET0=1;//Ngat timer0 EA=1;//Cho phep ngat cuc bo //init LCD_Init();//Khoi tao LCD delay_ms(200); LCD_Puts("Do nhiet ");//Gui chuoi len LCD delay_ms(500); LCD_Clear();//Xoa man hinh LCD_Gotoxy(0,1); LCD_Puts("Le Van Cong"); while(1){ LCD_Gotoxy(0,0); temp=ADC0808_Read(0); //Doc ADC0 //temp=Temp(temp); //Tinh nhiet TempShow(temp); //Hien thi nhiet delay_ms(500);//0.5s doc mot lan } }//THE END III Thi công mạch thật test ĐH Bách khoa Hà Nội Page 34 GV hướng dẫn: Nguyễn Anh Tuấn Mạch chạy ổn định thị nhiệt độ rõ ràng, nhiên chạy lâu IC 7805 bị nóng tỏa nhiệt Hình 2.2.3 Mô hình mạch thật o0o CHƢƠNG III: KẾT LUẬN - TÀI LIỆU THAM KHẢO I Kết luận Sau nhiều ngày cố gắng làm việc khẩn trƣơng với hƣớng dẫn nhiệt tình giáo viên hƣớng dẫn thầy Nguyễn Anh Tuấn Đề tài: “Đo nhiệt độ hiển thị LCD” hoàn thành thời gian qui định có đặc điểm sau: Ƣu điểm: Đo giá trị nhiệt độ ĐH Bách khoa Hà Nội Page 35 GV hướng dẫn: Nguyễn Anh Tuấn Hiển thị lên hình LCD Nhƣợc điểm: Độ xác chƣa cao Chƣa tận dụng hết khả IC Với tập đồ án giúp cho em bƣớc đầu làm quen với đề tài khoa học em thật tích lũy số kiến thức vi điều khiển, thiết kế mạch kỹ thuật lập trình Mặc dù thời gian hạn hẹp, tài liệu tham khảo ít, có nhiều vấn đề nảy sinh trình thiết kế phần cứng, nhƣng em cố gắng nhƣ tận tâm giúp đỡ giáo viên hƣớng dẫn nên đạt đƣợc yêu cầu đặt Qua trình thực đề tài, em tự đánh giá đƣợc phần hạn chế nhiều bổ sung kiến thức hạn hẹp thời gian học trƣờng Em xin chân thành cảm ơn giúp đỡ tận tình, quý báu giáo viên hƣớng dẫn, giáo viên khoa toàn thể bạn tạo nhiều điều kiện giúp em hoàn thành tốt nhiệm vụ đƣợc giao thời gian qui định II Tài liệu tham khảo Tác giả: Tống Văn Ôn – Hoàng Đức Hải : Họ Vi Điều Khiển 8951 NXB KHKT Lê Phi Yến –Lƣu Phú –Nguyễn Nhƣ Anh –Kỹ Thuật Điện Tử - NXB KHKT Hồ Trung Mỹ – Ứng Dụng IC Ổn Áp ĐH Bách khoa Hà Nội Page 36 GV hướng dẫn: Nguyễn Anh Tuấn https://www.google.com.vn/ http://sangtaoclub.net/bai-viet/192-bai-13-do-nhiet-do-dung-lm35-kethop-ic-adc0808-voi-8051.html http://codientu.org/threads/5207 ĐH Bách khoa Hà Nội Page 37 [...]... đến mạch Tìm hiểu thị trƣờng linh kiện điện tử để có phƣơng án thiết kế hợp Tiến hành thiết kế mạch và vẽ mạch trên phần mềm Tìm điểm còn thiếu sót sau đó tiến hành lắp ráp linh Kiện Lập trình thực nghiệm để có chƣơng trình tốt nhất đồng thời viết báo cáo II Quá trình thiết kế và lắp ráp Thực hiện vẽ mạch trên phần mềm Altium Tính toán chỉ số linh kiện cần thiết để lắp ráp mạch Thi công mạch. .. hiện mạch hoàn chỉnh III Các khó khăn gặp phải Trong quá trình thiết kế thi công luôn gặp khó khăn về điều kiện thực hiện, đó là tìm hiểu linh kiện cần thiết và nghiên cứu thiết kế nhƣng đồng thời cũng phải biết đƣợc thị trƣờng nƣớc ta có loại linh kiện đó hay không Kế đến là các vấn đề về tài chính sau đó là các thiết bị thí nghiệm cần thiết để kiểm tra o0o CHƢƠNG 2: THIẾT KẾ KHỐI MẠCH... Anh Tuấn Dòng Ngắn Mạch ISC VI=35V - 230 - mA Bảng 1.5: Đặc trƣng về điện của IC LM7805 IV Cảm biến LM335: LM35 thuộc vào họ cảm biến nhiệt mạch tích hợp chính xác cao có điện áp ra tỉ lệ tuyến tính với nhiệt độ theo thang do Celsius Họ này cho ra điện áp 10mV ứng với thay đổi nhiệt độ là 1 0C 1 Hình dáng, cấu tạo của LM35: Hình 1.2.4: Sơ đồ chân của IC LM335 Mã sản phẩm Dải nhiệt độ Độ chính xác Ngõ... mạch thật và test ĐH Bách khoa Hà Nội Page 34 GV hướng dẫn: Nguyễn Anh Tuấn Mạch chạy ổn định hiện thị nhiệt độ rõ ràng, tuy nhiên chạy lâu IC 7805 bị nóng tỏa nhiệt Hình 2.2.3 Mô hình mạch thật o0o CHƢƠNG III: KẾT LUẬN - TÀI LIỆU THAM KHẢO I Kết luận Sau nhiều ngày cố gắng làm việc khẩn trƣơng với sự hƣớng dẫn nhiệt tình của giáo viên hƣớng dẫn là thầy Nguyễn Anh Tuấn Đề tài: Đo nhiệt. .. tăng/giảm 1 giá trị Mà cảm biến nhiệt độ LM35 lại có ngõ ra cứ 10mV là thay đổi 1 độ C nhƣ vậy suy ra ADC=25 thì LM35 đang ở 25 độ C Với cách này ta không cần phải tính toán giá trị nhiệt độ sau khi chuyển đổi mà có thể xuất luôn giá trị ADC đó ra màn hình LCD ĐH Bách khoa Hà Nội Page 28 GV hướng dẫn: Nguyễn Anh Tuấn Sai số của LM35 + Tại 0 độ C thì điện áp của LM35 là 10mV + Tại 150 độ C thì điện áp của LM35... cao ít nhất là 2 chu kỳ máy, các thanh ghi bên trong đƣợc nạp những giá trị thích hợp để khởi động hệ thống Khi cấp điện mạch tự động Reset Các ngõ vào bộ dao động X1, X2: Bộ dao động đƣợc tích hợp bên trong 89C51, khi sử dụng 89C51 ngƣời thiết kế chỉ cần kết nối thêm thạch anh và các tụ nhƣ hình vẽ trong sơ đồ chân đã nêu ở trên Tần số thạch anh thƣờng sử dụng cho 89C51 là 12 Mhz Chân 40 (Vcc) đƣợc... chip hoạt động bình thƣờng và LED sáng đều Hình 2.2.1 Sơ đồ nguyên lý khối nguồn Hƣớng phát triển của mạch: Với mạch này có thể dùng nhiều cho các dòng của 78 Nếu nhƣ muốn ổn định điện áp ở 6V,8V, 12V Chỉ cần chọn 78 thích hợp với điện áp các bạn muốn ổn áp nhƣ 78006, 78008, 7812 Nguyên lý cũng giống nhƣ mạch ổn định trên và chỉ khác là các IC 78xx tƣơng ứng với điện áp ra cần 2 Khối mạch đo và hiển... Nội Page 26 GV hướng dẫn: Nguyễn Anh Tuấn I Sơ đồ nguyên lý các khối 1 Khối nguồn Đối với các mạch dùng vi xử lý , các IC TLL, ICs đòi hỏi cần phải có nguồn cung cấp ổn định 5V (dao động từ 4.75V đến 5.25V) nếu điện áp không nằm trong giải đó mà xuống mức giới hạn thì ICS không hoạt động (Reset) còn trên mức giới hạn thì hỏng ICs Do vậy trong các mạch thiết kế dùng ICs ngƣời ta phải có một nguồn cung... +1000C + 2.0 0C 10mV/F Bảng 1.6: Thông số kỹ thuật chính của cảm biến nhiệt họ LM33 ĐH Bách khoa Hà Nội Page 11 GV hướng dẫn: Nguyễn Anh Tuấn 2 Một số giá trị của LM335: Tham số Nhiệt độ nhỏ nhất (0C) Nhiệt độ lớn nhất ( 0C) Độ chính xác (+/-)(0C) Nguồn nhỏ nhất (Volt) Dòng không có tín hiệu vào (mA) Bộ cảm biến có hệ số khuếch đại Trở kháng ngõ ra (ohm) Giá trị -40 100 3.6 5 1.40 10mV/DegK 60 Bảng 1.7:... trên và chỉ khác là các IC 78xx tƣơng ứng với điện áp ra cần 2 Khối mạch đo và hiển thị nhiệt độ ĐH Bách khoa Hà Nội Page 27 GV hướng dẫn: Nguyễn Anh Tuấn Hình 2.2.2 Sơ đồ mạch lực Công thức tính toán: ADC 8bit: Vin = (Vref*ADC)/256 Trong đó: Vref là điện áp tham chiếu (Đơn vị: V) ADC là giá trị sau chuyển đổi Do độ phân giải của ADC0808 là 8bit lên sẽ có 256 mức điện áp so với Vref Tức nếu ta cấp vào