Đo điện áp là ta dùng một thiết bị có khả năng chuyển từ tín hiệu tương tự sang một tín hiệu khác mà chúng ta có thể đọc nhìn thấy được giá trị của chúng một cách cụ thể nhất.. Port 0 cò
Trang 1Chương 1: Giới thiệu về vấn đề đo điện áp xoay chiều.
1.1 Khái niệm đo điện áp.
Đo điện áp là ta dùng một thiết bị có khả năng chuyển từ tín hiệu tương tự sang một tín hiệu khác mà chúng ta có thể đọc nhìn thấy được giá trị của chúng một cách cụ thể nhất
1.2 Các phương pháp đo điện áp, hoạt động mạch đo điện áp.
Có nhiều cách mà chúng ta có thể đo được điện áp 2 cách mà chúng ta thường
sử dụng đó là:
+ Dùng các loại đồng hồ đo
+ Sử dụng mạch vi xử lý
1.3Các đặc điểm của hệ vi xử 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:
+ Bộ vi xử lý
+ Có 40 chân
+ 4 kbyte ROM 1, có thể ghi xoá được 1000 lần
+ 4 kbyte EPROM
+ Dải tần số hoạt động từ 0MHz đến 24Mhz
+ Có 4 port xuất nhập (I/O) 8 bit
+ Có 128 byte RAM
+ 2 bộ định thời 16 bit
+ 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
Trang 2+ 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ị đo lườ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)
Cơ bản về cấu tạo của AT89C51
Hình 2.3: Sơ đồ chân của 89C51
+ GND (chân 20): Chân nối với 0v
+ Port 0 (chân 32 – chân 29)
Port 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ận các byte mã trong khi lập
Trang 3trình cho Flash và xuất các byte mã trong khi kiểm tra chương trình (các điện trở 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 trong thờ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 địa chỉ 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ệu ngoà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ểm tra 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ủa AT89C51 các chức năng này được nêu như sau:
P3.0 RxD Ngõ vào port nối tiếp
P3.1 TxD Ngõ ra port nối tiếp
P3.2 INT0 Ngõ vào ngắt ngoài 0
P3.3 INT1 Ngõ vào ngắt ngoài 1
P3.4 T0 Ngõ vào bên ngoài của bộ định thời 1
P3.5 T1 Ngõ vào bên ngoài của bộ định thời 0
P3.6 WR Điều khiển ghi bộ nhớ dữ liệu ngoài
P3.7 RD Điều khiển đọc bộ nhớ dữ liệu ngoài
+ RST (chân 9)
Ngõ vào reset Mức cao trên chân này trong hai chu kỳ máy trong khi bộ dao động đang hoạt động sẽ reset AT89C51
+ ALE/PROG (chân 30)
ALE là một xung ngõ ra để chốt byte thấp của địa chỉ trong khi xuất bộ nhớ ngoài Chân này cũng làm ngõ vào chân lập trình (PROG) trong thời gian lạp
Trang 4trình cho Flash Khi hoạt động bình thường xung ngõ ra luôn có tần số không đổi là 1/6 tần số của mạch dao động, có thể được dùng cho các mục đích định thời bên ngoài Khi cần, hoạt động chân ALE có thể được vô hiệu hoá bằng cách set bit 0 của thanh ghi chức năng đặc biệt có địa chỉ 8Eh Khi bit này được set, ALE chỉ tích cực trong thời gian thực hiện lệnh MOVX hoặc MOVC Ngược lại chân này sẽ được kéo lên cao Việc set bit không cho phép hoạt động chôt byte thấp của địa chỉ sẽ không có tác dụng nếu bộ vi điều khiển đang ở chế
độ thực thi chương trình ngoài
+ PSEN (chân 29): PSEN (program Store Enable) là xung điều khiển truy xuất chương trình ngoài Khi AT89C51 đ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ừ 0000 H tới FFFF H) 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ên trong 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ình 2.4: Bộ tạo dao động
Tổ chức bộ nhớ của 89C51
Trang 5Bộ nhớ bên trong chip bao gồm ROM, RAM va EPROM RAM trên chip bao gồm vùng RAM đa chứ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ức năng đặc biệt
7F
RAM ĐA DỤNG
30
1F
BANK 3
18
17
BANK 2
10
0F
BANK 1
08
07
Bank thanh ghi 0 ( mặc định cho R0-R7)
00
CẤU TRÚC RAM NỘI
Trang 6Có 2 đặc tính đáng lưu ý:
+ Các thanh ghi và các port I/O được định địa chỉtheo kiểu ánh xạ bộ nhớ
và được truy xuất như một vị trí nhớ trong bộ nhớ
+ Vùng track thường trú trong RAM trên chip thay vì ở trong RAM ngoài như đối với các bộ vi xử lý
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ếp hoặ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ới cá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à chỉ
có 21 địa chỉ được định nghĩa
Trang 7Cá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 ở đỉnh củ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)
Ví 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)
- Bộ định thời 1: địa chỉ 8bH (TL1 ) va 8DH (TH1)
Hoạt động của bộ định thời được thiết lậpbởi thanh ghi chế độ định thời TMOD ở địa chỉ 89H và thanh ghi điều khiển bộ định thời TCON ở địa chỉ 88H (chỉ có TCON được định địa chỉ từng bit)
Trang 8+ Các thanh ghi của port nối tiếp: Chip 8951 có 1 port nối tiếp để truyền thông với các thiết bị như các thiết bị đầu cuối hoặc model
+ Các thanh ghi ngắt: có một cấu trúc ngắt với 2 mức ưu tiên và 5 nguyên nhân ngắt Các ngắt bị vô hiệu hoá sau khi Reset hệ thống và được phép bằng cách vào thanh ghi IE ở địa chỉA8H Mức ưu tiên ngắt được thiết lập bơit thanh ghi IP ở địa chỉ B8H
+ Thanh ghi điều khiển nguồn: PCON có địa chỉ 87H
Chương 2: Thiết kế mạch phần cứng.
2.1 Sơ đồ khối mạch phần cứng.
Cấu trúc chung của hệ thống
- Khối nguồn: để cung cấp nguồn cho bộ chuyển đổi, vi xử lí, và khối hiển thị
- Bộ chuyển đổi ADC: chuyển đổi tín hiệu Analog từ khối công suất thành tín hiệu Digital
- Khối hiển thị: để hiển thị giá trị đo
Điện áp
Bộ chuyển đổi ADC
Nguồn
Khối hiển thị
Trang 9- Vi xử lí: nhận tín hiệu từ bộ chuyển đổi ADC hiển thị dữ liệu trên Led 7 vạch
2.2 Chức năng của các khối.
2.2.1 Khối nguồn.
Chức năng cung cấp nguồn cho mạch điều khiển
Sơ đồ nguyên lý của khối nguồn :
Các thành phần trong khối nguồn:
a Biến áp T1:
- Biến đổi điện áp nguồn thành điện áp phù hợp đặt lên bộ chỉnh lưu
- Đảm bảo cho nguồn và bộ chỉnh lưu chỉ quan hệ với nhau về từ mà không quan hệ trực tiếp về điện nên bảo vệ an toàn cho người sử dụng
b Cầu chỉnh lưu 1 pha D1:
Bao gồm 4 Diode ghép lại có tác dụng chỉnh lưu 2 nửa chu kỳ điện áp xoay chiều thành điện áp 1 chiều
Trang 10Cấu tạo và hình dạng thực tế của cầu diode chỉnh lưu.
c Tụ điện C1, C2, C3:
Có tác dụng lọc bỏ thành phần xoay chiều sau diode cầu và lọc nhiễu sau khi
ổn áp để bộ nguồn được ổn định
Kí hiệu và hình dạng thực tế của tụ điện
d IC ổn áp 7805:
Là loại IC dùng để ổn định điện áp +5V đầu ra
Trang 11Input 1 : Chân điện áp vào
GND 2: Chân nối mass
Output 3: Chân điện áp ra 5V
Thông số của IC ổn áp 7805
Ta chọn IC KA7805 với các thông số tương đối phù hợp:
- Điện áp ngõ vào chịu có thể chịu được: V IN = 35 → 40V
- Công suất tiêu thụ tương đối vừa phải : P D = 20 8W
- Tầm nhiệt độ chịu được khi kéo tải: T 0C
150
30 →
−
=
- Dòng ra đạt được: I0 = 100mA
2.2.2 Bộ chuyển đổi ADC.
Chip ADC 0804
Chíp ADC 0804 là bộ chuyển đổi tương tự sang số Nó 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ự
Trang 12thà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ồ được cấp tới chân CLK R và CLK IN nhưng không thể nhanh hơn 110µs Các chân của ADC 0804 được mô tả như sau:
1 Chân CS (chọn chíp)
Là một đầu vào tích cực mức thấp được sử dụng để kích hoạt chíp ADC
0804 Để truy cập ADC 0804 thì chân này phải ở mức thấp
2 Chân RD (đọc)
Đây là một tín hiệu đầu vào được tích cực mức thấp Các bộ ADC chuyển đổi đầu vào tương tự thành số nhị phân tương đương với nó và giữ nó trong một thanh ghi trong RD được sử dụng để nhận dữ liệu được chuyển đổi ở đầu
ra của ADC 0804 Khi CS = 0 nếu một xung cao xuống thấp được áp đến chân
RD thì đầu ra số 8 bít được hiển diện ở các chân dữ liệu D0 - D7 Chân RD
cũng được coi như cho phép đầu ra
3 Chân ghi WR(thực ra tên chính xác là “bắt đầu chuyển đổi”)
Đây là chân đầu vào tích cực mức thấp được dùng để báo cho ADC 0804 bắt đầu quá trình chuyển đổi Nếu CS = 0 khi WRtạo ra xung cao xuống thấp thì bộ ADC 0804 bắt đầu chuyển đổi giá trị đầu vào tương tự Vin về số nhị phân 8 bít 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
4, 19 Chân CLK IN và CLK R.
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 0804 cũng có một bộ tạo xung đồng hồ Để sử dụng bộ tạo xung đồng hồ trong (cũng còn được gọi là bộ tạo đồng hồ riêng) của 0804 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ở Trong trường hợp này tần số đồng hồ được xác định bằng biểu thức:
Trang 13f =
Giá trị tiêu biểu của các đại lượng trên là R = 10kΩ và C= 150pF và tần số nhận được là f = 606kHz và thời gian chuyển đổi sẽ mất là 110µs
5 Chân ngắt INTR(ngắt hay gọi chính xác hơn là “kết thúc chuyển đổi’)
Đâ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ất thì 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 INTR xuống thấp, ta đặt CS = 0 và gửi một xung cao xuống - thấp tới chân RDlấy dữ liệu ra của 0804
6, 7 Chân Vin (+) và Vin (-)
Đây là các đầu vào tương tự vi sai mà Vin = Vin (+) - Vin (-) Thông thường
Vin (-) được nối xuống đất và Vin (+) được dùng như đầu vào tương tự được chuyển đổi về dạng số
20 Chân VCC
Đây là chân nguồn nuôi +5v, nó cũng được dùng như điện áp tham chiếu khi đầu vào Vref/2 (chân 9) để hở
9 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ì điện áp đầu vào tương tự cho ADC 0804 nằm trong dải 0 đến +5v (giống như chân VCC) Tuy nhiên, có nhiều ứng dụng mà đầu vào tương tự áp đến Vin cần phải khác ngoài dải 0 đến 5v Chân Vref/2 được dùng để 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 4v thì Vref/2 được nối với +2v
10 Chân D GND: Chân nối đất
11 – 18.Các chân dữ liệu D0 - D7
Các chân dữ liệu D0 - D7 (D0 là bít thấp nhất LSB và D7 là bít cao nhất MSB) 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 = 0 và chân RDbị
Trang 14đưa xuống thấp Để tính điện áp đầu ra ta có thể sử dụng công thức sau:
buoc thuoc kich
V
out =
Với Dout là đầu ra dữ liệu số (dạng thập phân) Vin là điện áp đầu vào tương
tự và độ phân dải là sự thay đổi nhỏ nhất được tính như là (2 × Vref/2) chia cho
256 đối với ADC 8 bít
Hình 2.1: Sơ đồ chân của ADC0804 Bảng 2.2: Điện áp V ref/2 liên hệ với dải V in
Trang 15Ghi 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
2.2.3 Khối hiển thị màn hình máy tính
Khối hiển thị màn hinh máy tính VIRTUAL TERMINAL trong Proteus 2.3 Nguyên lý đo và chuyển đổi tương tự/số của ADC
Nguồn điện áp xoay chiều qua chỉnh lưu cầu thành điện áp 1 chiều với giá trị điện áp tương ứng Giá trị tương tự là điện áp 1 chiều được đưa vào vào Vin
cua ADC0804 sao cho điện áp vào lớn nhất là 5V khi đó ứng với mỗi giá trị đầu vào Vin thì ADC0804 sẽ chuyển đổi từ giá trị tương tự là điện áp sang số, ứng với mỗi giá trị số sẽ là một giá trị điện áp tương ứng
buoc thuoc kich
V
out =
Với Dout là đầu ra dữ liệu số (dạng thập phân) Vin là điện áp đầu vào tương
tự và độ phân dải là sự thay đổi nhỏ nhất được tính như là (2 × Vref/2) chia cho
256 đối với ADC 8 bít Tương tự các giá trị điện áp khác được chuyển đổi tương tự
2.4 Mạch phần cứng