Thiết kế mạch đo điện áp 1 chiều trong dải từ +5V đến +24V hiển thị kết quả trên máy tính - Pdf 13

TRƯỜNG ĐẠI HỌC HÀNG HẢI
KHOA: ĐIỆN – ĐIỆN TỬ TÀU BIỂN
BÀI TẬP LỚN
MÔN: KỸ THUẬT VI XỬ LÝ
Đề tài số (09): Thiết kế mạch đo điện áp 1 chiều trong dải
từ +5V đến +24V hiển thị kết quả trên máy tính
GIÁO VIÊN HƯỚNG DẪN : NGUYỄN VĂN TIẾN
SINH VIÊN THỰC HIỆN : ĐỖ VĂN HÙNG
LỚP : ĐTĐ50 – ĐHT1
Hải Phòng,tháng 5 năm 2012
1
MỤC LỤC
Nội dung Trang
Chương I.Tổng quan các phương pháp đo
điện áp một chiều
2
1. Vôn met số chuyển đổi thời gian 2
2. Vôn mét số chuyển đổi tần số 4
Chương II.Cơ sở thiết kế phần cứng 5
1. Sơ đồ khối chức năng 5
2.Tính chọn thiết bị 5
3. Sơ đồ nguyên lý 13
Chương III. Thiết kế phần mềm 14
1. Sơ đồ thuật toán 15
2. Chương trình điều khiển 16
3. Kết luận 24
4. Tài liệu tham khảo 24
2
Chương I.Tổng quan về các phương pháp đo điện áp 1 chiều
Khi chế tạo vôn mét ta có thể chỉ thị kết quả đo dưới dạng chỉ thị kim hoặc số.
Ở đây ta quan tâm cách đo áp 1 chiều hiển thị số, trong việc đo áp chỉ thị số tùy thuộc

Số lượng xung đến bộ đếm trong thời gian tx sẽ là:
Như vậy số lượng xung n được khắc độ theo giá trị điện áp.
2. Vôn mét số chuyển đổi tần số
Vônmét loại này hoạt động dựa trên cơ sở ổn định áp thành tần số rồi dùng các
máy đo tần số chỉ thị số khắc độ theo điện áp.
Xét ví dụ về vônmét số tích phân biến đổi điện áp U thành tần số f bằng
phương pháp tích phân (Hình 2):
4
Khâu chuyển đổi tín hiệu áp sang tín hiệu tần số U-f: Điện áp Ux cần đo được
đưa đến đầu vào → qua khâu tích phân được điện áp U1 → U1 được đưa đến thiết
bị so sánh với áp nền U2 (có độ ổn định cao) → khi U1 = U2 thiết bị so sánh phát
xung qua khuếch đại 2 (tại thời điểm t1) thông khoá K1
và khóa K để đến bộ đếm → đến chỉ thị số.
Đồng thời khi K1 thông, điện áp U0 (ngược dấu với U1) sẽ qua K1 đến bù áp
U1 (đây là mạch phóng điện qua tụ C) trong khoảng thời gian Tk (từ t1 đến
t2). Tại thời điểm t2 điện áp U0 bù hoàn toàn U1:
Biến đổi quá trình ta được như sau:
Như vậy nếu biết được fx sẽ suy ra được giá trị điện áp cần đo Ux.fx
không phụ thuộc vào điện dung C, áp nền U2 mà được xác định bởi tỉ số R2/R1;
Uovà Tk . Sai số khâu này lớn nhất khoảng 0,2%.
5
Chương II. Cơ sở thiết kế phần cứng
1. Sơ đồ khối chức năng
+ Khối bộ biến đổi sơ cấp: có nhiệm vụ biến đổi giá trị điện áp cần đo phù hợp với
đầu vào ADC.
+ Khối chuyển đổi ADC: chuyển đổi tín hiệu tương tự từ bộ biến đổi sơ cấp thành tín
hiệu số.
+ Khối xử lý tín hiệu: xử lý tín hiệu số nhận được từ bộ ADC.
+ Khối hiển thị: hiển thị kết quả đo được.
2.Tính chọn thiết bị

10uF
7-25VDC in out 5VDC
Hình 3
+ Mạch tái bật nguồn reset để 89C51 có thể hoạt động:
C4
33pF
C5
33pF
C6
10uF
R6
8.2k
89C51
EA/VPP
X1
X2
RST
Hình 4
+ Mạch biến đổi sơ cấp (mạch chia áp)
R2
1k
R3
24.5kk
Dien ap can do
VDC
Vin ADC
Hình 5
7
Do ta chọn điện áp tham chiếu cho ADC 0804 là 1V và điện áp cần đo là +5 đến
+24V. Vì vậy khi hiển thị giá trị đo là nhỏ hơn 25.5 nên ta chọn giá trị điện trở sao

14
DB3
15
DB2
16
DB1
17
DB0(LSB)
18
CLK R
19
VCC
20
U2
ADC0804
R1
10k
C1
150pF
0.5V
89C51
Vin
Hinh 6
- Chọn R,C cho ADC
Chân CLK IN là một chân đầu vào được nối tới một nguồn đồng hồ ngoài khi đồng
hồ ngoài được sử dụng để tạo ra thời gian. Tuy nhiên ADC804 cũng có một máy tạo
xung đồng hồ. Để sử dụng máy tạo xung đồng hồ trong (cũng còn được gọi là máy
tạo đồng hồ riêng) của ADC804 thì các chân CLK IN và CLK R được nối tới một tụ
điện và một điện trở như chỉ ra trên hình 5. Trong trường hợp này tần số đồng hồ
được xác định bằng biểu thức:

hiện tại chỉ sử dụng 1 bít stop như là chuẩn.
+ Lựa chọn chuẩn truyền thông.
Thuật ngữ hiện nay phân chia thiết bị truyền thông dữ liệu thành một thiết bị đầu
cuối dữ liệu DTE (Data Terminal Equipment) hoặc thiết bị truyền thông dữ liệu
DCE (Data Communication Equipment). DTE chủ yếu là các máy tính và các thiết bị
đầu cuối gửi và nhận dữ liệu, còn DCE là thiết bị truyền thông chẳng hạn như
các modem chịu trách nhiệm về truyền dữ liệu. Lưu ý rằng tất cả mọi định nghĩa về
chức năng các chân RS232 trong các bảng 1 và đều xuất phát từ gốc độ của DTE.
Kết nối đơn giản nhất giữa một PC và bộ vi điều khiển yêu cầu tối thiểu là
những chân sau: TxD, RxD và đất như chỉ ra ở hình 7. Để ý rằng trên hình này thì các
chân TxD và RxD được đổi cho nhau.
Hình 7: Sơ đồ đầu nối DB - 9 của RS232.
10
Bảng 1: Các tín hiệu của các chân đầu nối DB - 9 trên máy tính IBM PC.
Hình 8: Nối kết không modem.
+ Nối ghép 8051 tới RS232.
Chuẩn RS232 không tương thích với mức lô-gíc TTL, do vậy nó yêu cầu một bộ điều
khiển đường truyền chẳng hạn như chíp MAX232 để chuyển đổi các mức điện áp
RS232 về các mức TTL và ngược lại. Nội dung chính của phần này là bàn về nối
ghép 8051 với các đầu nối RS232 thông qua chíp MAX232. 10.2.1 Các chân RxD và
TxD trong 8051.
8051 có hai chân được dùng chuyên cho truyền và nhận dữ liệu nối tiếp. Hai chân
này được gọi là TxD và RxD và là một phần của cổng P3 (đó là P3.0 và P3.1). chân
11 của 8051 là P3.1 được gán cho TxD và chân 10 (P3.0) được dùng cho RxD. Các
chân này tương thích với mức lô-gích TTL. Do vậy chúng đòi hỏi một bộ điều
khiển đường truyền để chúng tương thích với RS232. Một bộ điều khiển như vậy
là chíp MAX232.
- Bộ điều khiển đường truyền MAX232.
Vì RS232 không tương thích với các bộ vi xử lý và vi điều khiển hiện nay nên ta
cần một bộ điều khiển đường truyền (bộ chuyển đổi điện áp) để chuyển đổi các tín

được kết nối với nhau bằng VSPE:
Hình 10: Tạo kết nối cổng COM ảo
Giao diện của phần mềm hiển thị giả định màn hình máy tính:
13
3.Sơ đồ nguyên lý:
14
15
Chương III.Thiết kế phần mềm
1. Thuật toán điều khiển
Sơ đồ thuật toán:
16
2. Chương trình điều khiển.
Chú ý: Do chọn điện áp tham chiếu cho ADC là 1V (tức là đặt vào chân Vref/2 là
0.5V) nên giá trị tín hiệu số sau khi chuyển đổi ADC đúng bằng 10 lần giá trị tương
tự đặt ở 2 đầu que đo.
;Code cho 89C51:
;code đo điện áp 1 chiều từ +5 đến +24V
#include <sfr51.inc>
ORG 0H
;tạo nút bắt đầu
START:JB P3.7,START ;đợi đến lúc nút bắt đầu được ấn xướng thấp
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;khởi tạo truyền thông nối tiếp
MOV TMOD,#20H ;chọn timer 1 chế độ 2
MOV TH1,#-3 ;chọn tốc độ baud là 9600
MOV SCON,#50H ;tạo khung dữ liệu
SETB TR1 ;khởi động timer 1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;lấy 5 tín hiệu liên tiếp cách nhau khoảng 10ms
MOV R7,#5 ;gán biến đếm bằng 5

PUSH 02H
PUSH ACC
MOV R2,#16 ;gán biến xoay bằng 16
CLR A ;xóa A
DEVIDE:
XCH A,R6 ;đổi giá trị A và R6 cho nhau
CLR C ;xóa cờ CY
RLC A ;xoay trái A theo CY
XCH A,R6 ; đổi giá trị A và R6 cho nhau
XCH A,R7 ; đổi giá trị A và R7 cho nhau
RLC A ; xoay trái A theo CY
XCH A,R7 ; đổi giá trị A và R7 cho nhau
18
RLC A ; xoay trái A theo CY
CJNE A,B,NOT_EQUAL ;kiểm tra xem A có bằng B hay không
SJMP A_GREATER_EQ_B ;nhảy đến nhãn A_GREATER_EQ_B
NOT_EQUAL: JC BELOW ;nếu cờ CY được bật lên thì nhảy tới BELOW
A_GREATER_EQ_B:
SUBB A,B ;trừ A cho số chia
XCH A,R6 ; đổi giá trị A và R6 cho nhau
ORL A,#1 ;thực hiện phép OR A với 1
XCH A,R6 ; đổi giá trị A và R6 cho nhau
BELOW:DJNZ R2,DEVIDE ;quay lại DEVIDE nếu R2 chưa bằng 0
XCH A,B ;đổi giá trị A,B cho nhau
POP ACC
POP 02H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;lấy phần dư nhân 10 rồi chia cho 5 để lấy số thập phân thứ 2 sau dấu phẩy
MOV A,B ;chuyển số dư từ phép chia trung bình vào A
MOV B,#10 ;gán B bằng 10

ACALL TRANS ;truyền đi
INC DPTR ;tăng DPTR
JZ HTT ;kiểm tra nếu A bằng 0 thì nhảy tới HTT
CLR A ;xóa A
SJMP LAP ;quay lại LAP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;hiển thị kết quả đo được
HTT:MOV A,#'-' ; gán A bằng mã ASCII của '-'
ACALL TRANS ;truyền đi
MOV A,R6 ;chuyển giá trị trung bình của điện áp vào A
ACALL convert_HEXA_DEC ; gọi chương trình chuyển đổi hexa sang thập phân
20
ACALL CHUYEN_SO_THU_1; gọi chương trình chuyển số hàng chục sang
ASCII
ACALL TRANS ;truyền đi
ACALL CHUYEN_SO_THU_2 ; gọi chương trình chuyển số hàng đơn vị sang
ASCII
ACALL TRANS ; truyền đi
MOV A,#'.' ; gán A bằng mã ASCII của '.'
ACALL TRANS ; truyền đi
ACALL CHUYEN_SO_THU_3 ; gọi chương trình chuyển số hàng thập phân 1
sang ASCII
ACALL TRANS ; truyền đi
ACALL CHUYEN_SO_THU_4 ; gọi chương trình chuyển số hàng thập phân 2
sang ASCII
ACALL TRANS ; truyền đi
MOV A,#'V' ; gán A bằng mã ASCII của chữ 'V'
ACALL TRANS ; truyền đi
SETB P0.1 ;đưa chân WR của ADC0804 xuống thấp
SJMP KET_THUC ;nhảy đến kết thúc

RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; chuyển chữ số thập phân 2 sang mã ASCII
CHUYEN_SO_THU_4:
MOV A,R0 ; chuyển chữ số hàng thập phân 2 vào A
ORL A,#30H ; cộng A với 30h để chuyển sang ASCII
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;hiển thị khi không thuộc dải đo
TRUYEN_DI:
CLR A ;xóa A
MOV DPTR,#KHONG_HOP_LE ;gán DPTR bằng KHONG_HOP_LE
22
LAP1:MOVC A,@A+DPTR ; lấy kí tự từ không gian nhớ của trương trình
ACALL TRANS ;truyền đi
INC DPTR ;tăng DPTR
JZ KET_THUC ; kiểm tra nếu A bằng 0 thì nhảy tới KET_THUC
CLR A ;xóa A
SJMP LAP1 ;quay lại hiển thị ký tự tiếp theo
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;gửi ra truyền thông nối tiếp
TRANS:MOV SBUF,A ;chuyển A vào SBUF
HERE: JNB TI,HERE ;đợi cờ TI bật lên
CLR TI ;xóa cờ TI
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;tạo trễ khoảng 10ms
DELAY_1OMS:
MOV R1,#100 ; gán R1 bằng 100
DELAY:MOV R2,#100 ; gán R2 bằng 100


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status