0
Tải bản đầy đủ (.doc) (70 trang)

Điều khiển ADC0809 để thực hiện chuyển đổi

Một phần của tài liệu ĐỒ ÁN KỸ THUẬT ĐIỆN ĐIỆN TỬ THIẾT KẾ MẠCH THÍ NGHIỆM DÙNG VI ĐIỀU KHIỂN 80C51 PHỐI GHÉP VỚI CÁC THIẾT BỊ NGOẠI VI LCD, ADC0809, RTC DS12887 VÀ BÀN PHÍM SỐ HEX. (Trang 66 -72 )

Giả sử có đầu ra của thiết bị đo (cảm biến,…) đợc nối vào chân IN0 của ADC0809. Vref(-) = Gnd, Vref(+) = +5V. Xây dựng chơng trình để chuyển đổi tín hiệu Analog thành Digital, kiểm tra khi ADC chuyển đổi xong thì đọc dữ liệu đã đợc ADC chuyển đổi vào Vi điều khiển rồi hiển thị ra LCD.

• Chơng trình hợp ngữ

$debug

$tilte (** ADC0809 TEST PROGRAM for the MyBOARD **)

org 0000h

ljmp Main

org 0013h ; Điểm nhập vector ngắt ngoài 1 ;=======================================================; ; Trình xử lý ngắt ngoài ; ;=======================================================;

setb P3.1 ; khi đọc xong dữ liệu. clr EX1 ; Cấm ngắt ngoài 1. reti ; Hết chơng trình xử lý ngắt. ;=======================================================; ; Main Program ; ;=======================================================;

org 0030h ; Điểm nhập chơng trình chính.

Main: mov P0,#00h ; Chọn địa chỉ đầu vào IN0

clr ALE ; ALE =0;

setb ALE ; ALE = 1, tạo xung thấp – lên – ; cao để chốt địa chỉ kênh ở trong ; ADC.

clr P3.0 ; Tạo xung cao – xuống – thấp

clr P3.1 ; để bắt đầu chuyển đổi

setb P3.0

setb P3.1

setb EA ; Cho phép ngắt

setb EX1 ; Cho phép ngắt ngoài 1

setb IT1 ; Kích hoạt cạnh âm

wait: jnb P3.3,wait ; Chờ cho đến khi chuyển

đổi ; xong.

setb P3.7 ; OE = 1 ,

clr P3.7 ; OE = 0, tạo xung H-to-L để cho ; phép lấy dữ liệu ra khỏi ADC.

mov A,#0FFh

mov P0,A ; Tạo P0 làm đầu vào

mov A, P0 ; Đọc dữ liệu vào thanh chứa A call convert ; Gọi chơng trình con chuyển ;

đổi

call display ; Gọi chơng trình con hiển thị ;=======================================================; ; Chơng trình con CONVERT chuyển mã HEX thành ASCII ; ;=======================================================;

convert: anl A,#0Fh ; Xóa phần bit cao.

orl A,#30h ; Tạo thành mã ASCII.

mov R3,A ; Lu lại vào R3

ret

;=======================================================; ; Chơng trình con DISPLAY ;

;=======================================================;

display: mov A,#38h ; Khởi tạo LCD 2 dòng ma trận

; 5x7 pixel

call setup_LCD ; Gọi chơng trình setup

mov A,R3 ; Lấy lại dữ liệu đã lu trong R3 call write ; Hiển thị dữ liệu lên LCD ret

;========================================================; ; Chơng trình con Setup LCD ; ;========================================================;

setup_LCD: call ready ; Kiểm tra LCD đã sẵn

sàng ; cha? mov P2,A clr P3.7 ; RS = 0 clr P3.6 ; RW = 0 setb P3.4 ; E = 1 clr P3.4 ; E = 0 ret ;=======================================================; ; Chơng trình con WRITE ; ;=======================================================;

write: call ready ; Kiểm tra LCD đã sẵn sàng ?

mov P2,A setb P3.7 ; RS = 1 clr P3.6 ; RW = 0 setb P3.4 ; E = 1 clr P3.4 ; E = 0 ret ;=======================================================; ; Chơng trình kiểm tra xem LCD đã sẵn sàng cha? ; ;=======================================================;

ready: setb P2.7 ; Lấy P2.7 làm cổng vào kiểm

;tra.

clr P3.7 ; RS = 0, chọn thanh ghi lệnh. setb P3.6 ; RW = 1, đọc dữ liệu từ LCD.

back: clr P3.4

setb P3.4

jb P2.7,back ; Đợi khi LCD rảnh. ret

END ; Hết chơng trình.

Kết luận

Sau thời gian thực tập với nhiều cố gắng của bản thân cùng với sự hớng dẫn của thầy Vũ Vân Hà, quyển đồ án này đã hoàn thành đúng thời gian quy định theo yêu cầu đặt ra.

Để thực hiện đợc yêu cầu trên em đã nghiên cứu, tìm hiểu những vấn đề về vi xử lý, các vi mạch và các vấn đề khác có liên quan đến đề tài.

Kết quả thu đợc những kiến thức về: - Vi điều khiển 8051.

- DS12887, ADC0809, 74GC373, 74LS138. - Bàn phím số Hex, hiển thị LCD

- Xây dựng, thiết kế mạch nguyên lý. - Xây dựng các bài toàn điều khiển.

Tuy nhiên. do thời gian cũng nh trình độ chuyên môn có hạn nên đề tài chỉ dừng lại ở phần thiết kế sơ đồ nguyên lý và viết chơng trình, chứ cha thực hiện mạch bằng các linh kiện thực. Mong rằng đề tài này sẽ đợc các bạn sinh viên khóa sau tiếp tục thực hiện và khắc phục đợc những thiếu sót của đề tài.

Sau cùng một lần nữa chúng em xin chân thành cảm ơn thầy Vũ Vân Hà

cùng quý thầy cô Khoa Điện đã tận tình hớng dẫn và dẫn dắt em trong suốt nhũng năm học vừa qua.

Hà Nội, Ngày tháng 04 năm 2006 Sinh viên thực hiện

Tài liệu tham khảo


[1] Tống Văn On, Hoàng Đức Hải; Họ vi điều khiển 8051. Nhà xuất bản Lao động – Xã hội, 2001

[2] Nguyễn Tăng Cờng, Phan Quốc Thắng; Cấu trúc và lập trình họ vi điều

khiển 8051. Nhà xuất bản Khoa học Kỹ thuật, 2004.

[3] Tài liệu dới dạng file .pdf

DS12887 : www.dallas.com\...\ds12887.pdf ADC0809: www.national.com\...\adc0809.pdf

74ALS373: www.phillips.com\...\74als374.pdf Lập trình hợp ngữ cho 80c51:

www.hitex.co.uk\...\c51primer.pdf

[4] Giáo trình môn học Vi điều khiển 8051

Một phần của tài liệu ĐỒ ÁN KỸ THUẬT ĐIỆN ĐIỆN TỬ THIẾT KẾ MẠCH THÍ NGHIỆM DÙNG VI ĐIỀU KHIỂN 80C51 PHỐI GHÉP VỚI CÁC THIẾT BỊ NGOẠI VI LCD, ADC0809, RTC DS12887 VÀ BÀN PHÍM SỐ HEX. (Trang 66 -72 )

×