Thiết kế và thi công mạch đo điện áp một chiều, hiển thị Led 7 thanh
Trang 1
Trường đại học sư phạm kỹ thuật Hưng Yên
Khoa Điện – Điện Tử
Trang 2NHẬN XÉT CỦA GIÁO VIÊN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
……
Hưng Yên, Ngày… tháng năm 2011
Giáo viên hướng dẫn
Trang 3MỤC LỤC
PHẦN I : MỞ ĐẦU 4
I.1 LỜI MỞ ĐẦU……… 4
I.2 NHIỆM VỤ ĐỀ TÀI………… 5
I.3 MỤC ĐÍCH VÀ YÊU CẦU CỦA ĐỒ ÁN 6
PHẦN II:LÝ THUYẾT LIÊN QUAN 7
II.1 CÁC LINH KỆN SỬ DỤNG TRONG MẠCH 7
II.2 CÁC ĐẶC ĐIỂM CỦA HỆ VI SỬ LÝ 89C51 7
II.3.NGUYÊN LÍ CỦA MỘT SỐ LINH KỆN TRONG VIỆC DO LƯỜNG………… 18
II.3.1 CHIP ADC0804……….……… …… ………18
II.3.2 CẤU TRÚC ẠNG MÃ HIỂN THỊ DỮ LIỆU TRÊN LED 7 THANH………….22
II.4 CÁC LINH KỆN KHÁC……….………25
PHẦN III: CÁC PHƯƠNG ÁN THIẾT KẾ VÀ MÔ PHỎNG………… ……… 26 III.1 PHƯƠNG ÁN 1 26
III.2 PHƯƠNG ÁN 2 ……… ……… …… 34
PHÂN IV: THIẾT KẾ MẠCH………… ……….…… ……….32
IV.1 SƠ ĐỒ NGUYÊN LÝ……… ….………32
IV.2 SƠ ĐỒ MẠCH IN……….………34
IV.4 CHƯƠNG TRÌNH ĐIỀU KHIỂN……… ………36
PHẦN V: ĐÁNH GIÁ SẢN PHẨM VÀ MỞ RỘNG ĐỀ TÀI… … ………38
PHẦN VI: KẾT LUẬN VÀ KIẾN NGHỊ……… …….…….……… 40
PHẦN I: MỞ ĐẦU
Page 3
Trang 4I.1.Lời mở đầu
Ngày nay cùng với sự tiến bộ của khoa học kỹ thuật, đặc biệt là ngành Kỹ thuật Điện tử Đời sống
xã hội ngày càng phát triển cao dựa trên những ứng dụng của khoa học vào đời sống Vì vậy mà nhữngcông nghệ điện tử mang tính tự động ngày càng được ứng dụng rộng rãi Trong đó có sự đóng góp khôngnhỏ của kỹ thuật vi điều khiển Các bộ vi điều khiển đang đựơc ứng dụng rộng rãi và thâm nhập ngàycàng nhiều trong các lĩnh vực kỹ thuật và đời sống xã hội Hầu hết là các thiết bị được điều khiển tự động
từ các thiết bị văn phòng cho đến các thiết bị trong gia đình đều dùng các bộ vi điều khiển nhằm đem lại
sự tiện ghi cho con người trong thời đại công nghiệp hoá, hiện đại hoá
Điện áp là một đại lượng rất quan trọng trong kĩ thuật điện–điện tử, mốn điều khiển một thiết bị hay mộtlinh kiện điện tử nào đó ta phải quan tâm đến điện áp để điều khiển nó đầu tiên Thị trường đã sản xuất raloại đồng hồ cơ ,tuy có thể đo điện áp nhưng ko thực sự chính xác, do vậy việc chế tạo ra một loại thiết bị
đo có độ chính xác cao là rất cần thiết
Sau thời gian học tập rèn luyện tại trường Đại học Sư phạm Kỹ thuật Hưng Yên, chuyên ngành Kỹthuật điện tử, được sự đồng ý của thầy Đỗ Thành Hiếu nhóm chúng em tiến hành thực hiện đồ án chuyên
ngành: “ Thiết kế và thi công mạch đo điện áp một chiều, hiển thị Led 7 thanh”.
Với mong muốn đáp ứng được yêu cầu đặt ra trong việc nghiên cứu, đo lường về điện áp một chiều Từ
đó có thể điều khiển và sử lý điện một cách chính xác hơn
I.2.Nhiệm vụ của đề tài
Tên đề tài: “Thiết kế và thi công mạch đo điện áp một chiều, hiển thị Led 7 thanh”
1 Dữ liệu cho trước
2 Nội dung cần hoàn thành
- Phần lí thuyết:
Trang 51 Tính cấp thiết của đề tài.
- Sản phẩm:
I.3 Mục đích, yêu cầu của đồ án:
-Mục đích: tạo được thiết bị đo điện áp có độ chính xác cao
-Sơ đô khối mạch đo điện áp:
Page 5
Trang 6Điện áp đo
Khối sử lý AT89c51 Khối ADC
Nguồn Khối hiển thị
Trang 7PHẦN II: LÝ THUYẾT LIÊN QUAN
II.1 Các linh kiện sử dụng trong mạch
- Sử dụng vi điều khiển họ 8051
-ADC 0804
- Hiển thị bằng led 7 đoạn
II.2.Các đặc điểm của hệ vi sử lý 89C51
Vi điều khiển (VĐK) là một hệ vi xử lý được tổ chức trong một chíp Nó bao gồm:
+ Mạch giao tiếp nối tiếp
+ Không gian nhớ chương trình (mã) ngoài 64k byte
+ Không gian nhớ Data ngoài 64k byte
+ Bộ xử lý bit thao tác trên các bit riêng
+ 210 vị trí nhớ định địa chỉ, mỗi vị trí một bit
+ Các thanh ghi chức năng, cơ chế điều khiển ngắt
+ Các bộ thời gian dùng trong limh vực chia tần số và tạo thời gian thực
+ Có thể lập trình được qua cổng nối tiếp
+ Bộ vi điều khiển có thể lạp chương trình để điều khiển các thiết bị thông tin, viễn thông thiết bị đolường,thiết bị điều chỉnh cũng nhuu các ứng dụng trong công nghệ thong tin và kỹ thuật điều khiển tựđộng có thể xem bộ VĐK như một hệ VXL on-chíp đối với AT89C51, nó có đầy đủ chức năng của một
hệ VXL 8 bit, được điều khiển bởi một hệ lệnh, có số lệnh đủ mạnh, cho phép lập trình bằng hợp ngữ(Assemply)
Page 7
Trang 8Cơ bản về cấu tạo của AT89C51
Hình1.1 : Sơ đồ chân của 89C51
Trang 9Hình 1.2 : Sơ đồ khối của 89C51
+ GND(chân 20): Chân nối với 0v
+ potr 0(chân 32 – chân 29)
Page 9
Trang 10port 0 là port xuất nhập 8 bit hai chiều Port 0 còn được cấu hình làm bus địa chỉ( byte thấp) và bus
dữ liệu đa hợp trong khi truy xuất bộ nhớ dữ liệu ngoài và bộ nhớ chương trình ngoài Port cũng nhậncác byte mã trong khi lập trình cho Flash và xuất các byte mã trong khi kiểm tra chương trình ( các điệntrở kéo lên bên ngoài được cần đến trong khi kiểm tra chương trình)
+ Port 1( chân 1- 8): port 1 là port xuất nhập 8 bit hai chiều Port1 cũng nhận byte địa chỉ thấp trongthời gian lập trình cho Flash
+ Port 2 ( chân 21 – 28): Port 2 là port xuất nhập 8 bit hai chiều Port 2 tạo ra các byte cao của bus địachỉ trong thời gian tìm nạp lệnh từ bộ nhớ chương trình ngoài và trong thời gian truy xuất bộ nhớ dữ liệungoài, sử dụng các địa chỉ 16 bit Trong thời gian truy xuất bộ nhớ dữ liệu ngoài sử dụng các địa chỉ 8 bit,port 2 phát các nội dung của các thanh ghi đặc biệt, port 2 cũng nhận các bits địa chỉ cao và vài tín hiệuđiều khiển trong thời gian lập trình cho Flash và kiểm tra chương trình
+ Port 3 ( chân 10- 17): Port 3 cũng nhận một vài tín hiêu điều khiển cho việc lập trình Flash và kiểmtra chương trình Port 3 là port xuất nhập 8 bit hai chiều, port 3 cũng còn làm các chức năng khác củaAT89C51 các chức năng này được nêu như sau:
Trang 11+ PSEN(chân 29): PSEN (program Store Enable) là xung điều khiển truy xuất chương trình ngoài KhiAT89C51 đang thực thi chương trình từ bộ nhớ chương trình ngoài, PSEN được kích hoạt hai lần mỗi chu
kỳ máy, nhưng hai hoạt động PSEN sẽ bị bỏ qua mỗi khi truy cập bộ nhớ dữ liệu ngoài
+ EA vpp(chân 31): Là chân cho phép truy xuất bộ nhớ chương trình ngoài ( địa chỉ từ 0000h tới ffffh)
EA = 0 cho phép truy xuát bộ nhớ chương trình ngoài, ngược lại EA = 1 sẽ thực thi chương trình bêntrong chip Tuy nhiên, lưu ý rằng nếu bít khoá 1 được lập trình EA được chốt bên trong khi reset
+ XTAL1& XTAL2: Là hai ngõ vào ra của hai bộ khuyếch đại đảo của mạch dao động, được cấu hình
để dùng như một bộ tạo dao động trên chip
Hình1.3: Bộ tạo dao
động
2.Tổ chức bộ nhớ của 89C51
Bộ nhớ bên trongchip bao gồm ROM,RAM va EPROM.RAM trên chip baogồm vùng RAM đa
Trang 12chức năng, vùng RAM với từng bit được định địa chỉ, các dây thanh ghi (bank) và các thanh ghi chứcnăng đặc biệt.
Vùng RAM đa mục đích: Có 80 byte, địa chỉ từ 30H đến 7FH
Bất cứ vị trí nào trong vùng RAM ta đều có thể truy xuất tự do bằng cách sử dụng định địa chỉ trực tiếphoặc gián tiếp
Ví dụ:
+ Kiểu định địa chỉ trực tiếp:
MOV A,5FH ;Đọc nội dung tại địa chỉ 5FH của RAM
+ Kiểu định địa chỉ gián tiếp: (Qua các thanh ghi R0,R1)
MOV R0,#5FH ; Di chuyển giá trị5FH vào thanh ghi R0
MOV A,@R0 ; Di chuyển dữ liệu trỏ tới R0 và thanh chứa A
Vùng RAM định địa chỉ:
Chip 8951 chứa 210 vị trí định địa chỉ in đó có 128 byte chứa trong các byte ở địa chỉ 20H đến 2FH(16 byte x 8 = 128 bits), phần còn lại chứa trong các thanh ghi chức năng đặc biệt
Công dụng: + Truy xuất các bit riêng rẽ thông qua các phần mền
+ Các port có thể địng địa chỉ từng bit, làm đơn giản việc giao tiếp băng phần mền vớicác thiết bị xuất nhập đơn bit
Ví dụ: + Set bit trực tiếp:
SETB 67H; lệnh làm nhiệm vụ set bit 67H bằng 1
+ Hoặc ta có thẻ sử dụng lệnh sau để set bít 67H là bit lớn nhất của byte 2CH:
ORL A,#10000000B ;Tác dung set bit
Các thanh ghi chức năng đặc biệt (SFR)
Không phải tất cả 128 địa chỉ từ 80H đến FFH đều được định nghĩa mà chit có 21 địa chỉ được địnhnghĩa
Các thanh ghi chức năng đặc biệt bao gồm:
+ Tử trạng thái chương trình PSW: có địa chỉ là D0H
+ Thanh ghi B: Có địa chỉ F0Hđược dùng chung với thanh chứa A trong các phếp toán nhân và chia + Con trỏ Stack (SP) : là thanh ghi 8 bit ở địa chỉ 81H, nó chứa địa chỉ của dữ liệu hiện đang ở đỉnhcủa stack
+ Con trỏ dữ liệu DPTR:
Dùng để truy xuất bộ nhớ chương trình ngoài hoặc bộ nhớ dữ liệu ngoài
DPTR là thanh ghi 16 bit có địa chỉ 82H (byte thấp ) và 83H (byte cao)
Trang 13Ví dụ:
MOV A,#55H ;Nạp hằng dữ liệu 55H và thanh chứa A
MOV DPTR,%1000 ;Nạp hằng địa chỉ 16 bit 1000H cho
; con trỏ DPTR
MOV @DPTR,A ; Chuyển dữ liệu từ A vao RAM ngoài
; tai địa chỉ DPTR trỏ tới
+Các thanh ghi port:
- Port 0 : địa chỉ 80H
- Port 1 : địa chỉ 90H
- Port 2 : địa chỉ A0H
- Port 3 : địa chỉ B0H
+ Các thanh ghi định thời:
IC 8951 có 2 bộ định thời/đếm dùng để định khoảng thời gian hoặc đếm các sự kiện
- Bộ định thời 0: địa chỉ 8AH (TL0 ) va 8CH (TH0)
+ Thanh ghi điều khiển nguồn: PCON có địa chỉ 87H
Trang 14SUBB A, nguồn: Trừ A với nguồn
SUBB A,#data : Trừ A với data
INC A : Tăng nội dung thanh ghi A lên 1 DEC A : Giảm nội dung thanh ghi A lên 1 INC DPTR : Tăng DPTR
MUL AB : Nhân nội dung thanh ghi A và B DIV AB : Chia A cho B
DA A : Hiệu chình thập phân thanh ghi A + Nhóm lệnh Logic
ANL A, nguồn AND
Trang 15PUSH direct Cất vào Stack
POP direct Lấy ra từ Stack
XCH A,source Trao đồi các byte
XCHD A,@Ri Trao đồi các digit thấp
ANL C, bit AND
ANL C ,/bit AND NOT bit với C
ORL C, bit
ORL C, /bit
MOV C,bit
MOV bit, C
JC rel Nhảy đến Rel nếu C=1
JNC rel Nhảy đến Rel nếu C=0
JB bit, rel Nhảy nếu bit bằng 1
JNB bit, rel Nhày nếu bit =0
JBC bit , rel Nhảy nếu bit =1 rồi xoá bit
Page 15
Trang 16+Nhóm lệnh rẽ nhánh.
ACALL addr11 Gọi chương trình con
LCALL addr16
RET Quay về từ chương trình con
RETI Quay về từ chương trình ngắt
AJMP addr11 Nhảy
LJMP addr16
SJMP rel
JMP @ A+DPTR
JZ rel Nhảy nếu A=0
JNZ rel Nhảy nếu A <>0
CJNE A,direct, rel So sánh và nhảy
CJNE #data, rel
CJNE Rn,#data, rel
CJNE @ Ri,# data, rel
DJNZ Rn, rel Giảm và nhảy nếu khác 0
DJNZ direct, rel
NOP Không làm gì
II.3.Nguyên lý một số linh kiện phục vụ cho việc đo lường.
II.3.1 Chip ADC 0804
Chíp ADC 0804 là bộ chuyển đổi tương tự sang số trong họ các loạt ADC 0800 từ hãng NationalSemiconductor Nó cũng được nhiều hãng khác sản xuất, làm việc với +5V và có độ phân giải là 8 bít.Ngoài độ phân giải thì thời gian chuyển đổi cũng là một yếu tố quan trọng khác khi đánh giá một bộ ADC.Thời gian chuyển đổi được định nghĩa như là thời gian mà bộ ADC cần để chuyển một đầu vào tương tựthành một số nhị phân Trong ADC 0804 thời gian chuyển đổi thay đổi phụ thuộc vào tần số đồng hồ
mô tả như sau:
Để truy cập ADC 0804 thì chân này phải ở mức thấp
dụng để nhận dữ liệu được chuyển đổi ở đầu ra của ADC0804 Khi CS = 0 nếu một xung cao - xuống
CS
RD
RD
Trang 17- thấp được áp đến chân thì đầu ra số 8 bít được hiển diện ở các chân dữ liệu D0 - D7 Chân
cũng được coi như cho phép đầu ra
Lượng thời gian cần thiết để chuyển đổi thay đổi phụ thuộc vào tần số đưa đến chân CLK IN và CLK
R Khi việc chuyển đổi dữ liệu được hoàn tất thì chân INTR được ép xuống thấp bởi ADC 0804
Đây là chân đầu ra tích cực mức thấp Bình thường nó ở trạng thái cao và khi việc chuyển đổi hoàn tấtthì nó xuống thấp để báo cho CPU biết là dữ liệu được chuyển đổi sẵn sàng để lấy đi Sau khi
Trang 188. Chân Vref/2.
Chân 9 là một điện áp đầu vào được dùng cho điện áp tham chiếu Nếu chân này hở (không được nối) thì
để thực thi các điện áp đầu vào khác ngoài dải 0 - 5v Ví dụ, nếu dải đầu vào tương tự cần phải là 0 đến 4vthì Vref/2 được nối với +2v
Hình 2.1: Sơ đồ chân của ADC0804
Bảng 2.2: Điện áp Vref/2 liên hệ với dải Vin
V ref / 2(V) V in (V) Step Size (mV)
Trang 190.5 0 đến 1 1/256 = 3.90
Ghi chú: - VCC = 5V
- Kích thước bước (độ phân dải) là sự thay đổi nhỏ nhất mà ADC có thể phân biệt được
Các chân dữ liệu D0 - D7 (D7 là bít cao nhất MSB và D0 là bít thấp nhất LSB) là các chân đầu ra dữ liệu
số Đây là những chân được đệm ba trạng thái và dữ liệu được chuyển đổi chỉ được truy cập khi chân CS
II.3.1.1 Nguyên lý đo và chuyển đổi tương tự/số của ADC
giá trị tương tự là điện áp xang số, ứng với mỗi giá trị số sẽ là một giá trị điện áp tương ứng
V
out =
= =256 Tương tựcác giá trị điện áp khác được chuyển đổi tương tự
II.3.2 Cấu trúc và dạng mã hiển thị dữ liệu trên led 7 thanh
Page 19
RD
buocthuockich
V
out =
Trang 201.Dạng Led
-Led anot chung
Đối với dạng led anot chung chân com phải có mức logic bằng 1 để led sáng tương ứng các chân từ a đến f,
dp phải có mức logic bằng 0
Bảng mã đối với led anot chung (a la MSP,dp là LSP)
Trang 21Bảng mã led đối với loại led mắc anot chung (a là LSB,dp là MSP)
Led Cathode chung
Page 21
Trang 22Đối với Led mắc kiểu cathode chung chan COM phải có mức logic là 0,muốn led sáng thì các chân từ a đếnf,dp phải có mức logic là 1.
-Bảng mã Led đối với led mắc Cathode chung (a là MSB,dp là LSB)
-Bảng mã Led mắc kiểu cathade chung (a là LSB,dp là MSB)
Trang 23II 4.Các linh kiện khác
- Các loại điện trở, tụ điện, LED, led 7 thanh
CHO MẠCH
Page 23
Trang 24Theo yêu cầu của đề tài thì thiết bị đo điện áp cần đạt được dải đo từ 0150V một chiều nhưngnếu sử dụng trên cùng một thang đo sẽ tạo ra sai số lớn Do vậy sơ đồ mạch sẽ được chia thàng hai thangđo.
Trang 25- Đánh giá phương pháp: Phương pháp lắp ghép như tạo cho người lập trình mọt cách dễ dàng
nhưng lại có hạn chế là cách chọn điện trở cho mạch phân áp và điện áp 1,28V cho ADC0804 Nếu không chọn đúng sẽ tạo ra sai số lớn cho phép đo
Page 25
Trang 26III.2 Phương án 2
Trang 27- Điện áp đặt vào chân Vref/2 là 0v khi đó là 19.53mv Như vậy điện áp đầu vào qua mạch phân ápvới hai điện trở R1=200k, R2=100K cao nhất là 15V.Như vậy giá trị đầu vào cao nhất tương ứng bằngcong thức
Trang 29này sẽ không bị ảnh hưởng của nguông nuôi Với hai giá trị là R1,R2 chọn cũng rất rễ ràng là 200k
và 100k
- Lựa chọn: Qua hai phương pháp ta thấy phương pháp 2 cho giá trị đo chính xác và dễ dàng kết nối
nên ta chọn phương pháp 2 để tiến hành làm mạch
Trang 32IV.3 Lưu đồ thuật toán
IV.4 Chương trình điều khiển
$include(reg51.inc)
Begin
ReadADC=a
a1=
b1= a
a2= Hiển thị số
Hàng đơn vị
Hàng trăm
Hiển thị số Hàng chục
End
Trang 35- Sai số giữa hai thang đo là không đáng kể vào khoảng 0,1v
- Thiết bị đo đã được so sánh tham chuẩn với một số loại đông hồ khác cả số lẫn cơ và cho được giátrị chính xác cao hơn hẳn
IV.2 MỞ RỘNG ĐỀ TÀI
- Đề tài có thể phát triển thành thiết bị đo điện áp xoay chiều,đo dòng điện,điện trở
- Dựa trên nguyên lí của mạch có thể chuyển đổi thành mạch đo nhiệt độ,mạch đo lưu lượngnước,sức gió…
TÀI LIỆU THAM KHẢO
1.Kĩ thuật vi điều khiển- Lê Văn Doanh- Phạm Khắc Chương- NXB Khoa học kĩ thuật
2.Vi điều khiển với lập trình C- Ngô Diên Tập
Page 35