Tải bản đầy đủ (.pptx) (40 trang)

ĐO ĐIỆN ÁP XOAY CHIỀU HIỂN THỊ LCD

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.13 MB, 40 trang )


HC PHN Đ N I
Thị


 !"#$%&!'"()&*+,
"NỘI DUNG"

 /"!0!123245&*+,

6!78)$%19&*+,
:;<=
Ngày nay bộ vi điều khiển đã rât phổ bến trong các thiết bị điện và điện
tử dân dụng, các bộ vi điều khiển khống chế hoạt động của các thiết bị như
TV, máy giặt, đầu lọc laser, điện thoại,…Trong hệ thống sản xuất tự động,
vi điều khiển được sử dụng trong robot, day chuyền tự động. Các hệ thống
càng thông minh thì vai trò của vi điều khiển càng quan trọng. Nhưng bộ vi
điều khiển là gì, nó có tác dụng và hoạt động như thế nào?
Thực ra bộ vi điều khiển (Micro-controller) là một mạch tích hợp trên
một bộ chíp có thể lập trình được, dùng để điều khiển hoạt động của hệ
thống. Bộ vi điều khiển tiến hành đọc, lưu trữ thông tin, xử lí thông tin, đo
lường thời gian và tiến hành đọc mở một cơ cấu nào đó. Người lập trình có
thể sử dụng nhiều ngôn ngữ để lập trình cho vi điều khiển. Nhưng thông
thường người ta sử dụng hai ngôn ngữ chính để lập trình là ngôn ngữ lập
trình C và Assembly.
 !"#$%&!'"()&*+,
>?@4AB
B>C-D4?@4AB
Đặc điểm và chức năng hoạt động của các IC họ MSC-51 hoàn toàn tương tự như nhau. Ở đây giới thiệu IC8951 là
một họ IC vi điều khiển do hãng Intel của Mỹ sản xuất. Chúng có các đặc điểm chung như sau:


8 KB EPROM bên trong.

128 Byte RAM nội.

4 Port xuất /nhập I/O 8 bit.

Giao tiếp nối tiếp.

64 KB vùng nhớ mã ngoài.

64 KB vùng nhớ dữ liệu ngoại.

Xử lí Boolean (hoạt động trên bit đơn).

210 vị trí nhớ có thể định vị bit.

4 μs cho hoạt động nhân hoặc chia.
E>FGH4194+44I?@4AB
8951 có tất cả 40 chân có chức năng như
các đường xuất nhập. Trong đó có 24 chân
có tác dụng kép (có nghĩa 1 chân có 2 chức
năng), mỗi đường có thể hoạt động như
đường xuất nhập hoặc như đường điều
khiển hoặc là thành phần của các bus dữ
liệu và bus địa chỉ.
Port 0 là port có 2 chức năng ở các chân 32 – 39 của 8951. Trong các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó
có chức năng như các đường IO. Đối với các thiết kế cỡ lớn có bộ nhớ mở rộng, nó được kết hợp giữa bus địa chỉ và
bus dữ liệu.
Port 0 là port có 2 chức năng ở các chân 32 – 39 của 8951. Trong các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó

có chức năng như các đường IO. Đối với các thiết kế cỡ lớn có bộ nhớ mở rộng, nó được kết hợp giữa bus địa chỉ và
bus dữ liệu.

Port 1 là port IO trên các chân 1-8. Các chân được ký hiệu P1.0, P1.1, P1.2, … có thể dùng cho giao tiếp với các
thiết bị ngoài nếu cần. Port 1 không có chức năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị
bên ngoài.
Port 2 là 1 port có tác dụng kép trên các chân 21 - 28 được dùng như các đường xuất nhập hoặc là byte cao của bus
địa chỉ đối với các thiết bị dùng bộ nhớ mở rộng.
Port 2 là 1 port có tác dụng kép trên các chân 21 - 28 được dùng như các đường xuất nhập hoặc là byte cao của bus
địa chỉ đối với các thiết bị dùng bộ nhớ mở rộng.

 !"#$%&'(&)*+$%,$-$./01
!$234$56378$3795,:;<&$=9>*
a.Các Port
b.Các ngõ tín hiệu điều khiển :

Ngõ tín hiệu PSEN (Program store enable):

PSEN là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ chương trình mở rộng thường được nói đến chân 0E\
(output enable) của Eprom cho phép đọc các byte mã lệnh.

PSEN ở mức thấp trong thời gian Microcontroller 89c51 lấy lệnh. Các mã lệnh của chương trình được đọc từ Eprom qua
bus dữ liệu và được chốt vào thanh ghi lệnh bên trong 89c51 để giải mã lệnh. Khi 89c51 thi hành chương trình trong ROM nội
PSEN sẽ ở mức logic 1.

Ngõ tín hiệu điều khiển ALE (Address Latch Enable ) :

Khi 8951 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus địa chỉ và bus dữ liệu do đó phải tách các đường dữ liệu
và địa chỉ. Tín hiệu ra ALE ở chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi kết nối
chúng với IC chốt.


Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự
động. Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và có thể được dùng làm tín hiệu clock cho các
phần khác của hệ thống. Chân ALE được dùng làm ngõ vào xung lập trình cho Eprom trong 89c51.

Ngõ tín hiệu EA(External Access): Tín hiệu vào EA\ ở chân 31 thường được mắc lên mức 1hoặc mức 0.
Nếu ở mức 1, 895c51 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp 8 Kbyte. Nếu ở mức 0,
89c51 sẽ thi hành chương trình từ bộ nhớ mở rộng. Chân EA\ được lấy làm chân cấp nguồn 21V khi lập
trình cho Eprom trong 8951.

Ngõ tín hiệu RST (Reset) : Ngõ vào RST ở chân 9 là ngõ vào Reset của 89c51. Khi ngõ vào tín hiệu này đưa
lên 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 8951, khi sử dụng 8951 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ơ đồ. Tần số thạch anh thường sử dụng cho
8951 l 12Mhz.
c. Nguồn cung cấp
89c51 sử dụng nguồn cung cấp Vcc=5V được cấp vào chân 40, GND được nối vào chân 20.
d. Các thanh ghi có chức năng đặc biệt
Cc thanh ghi nội cả 89c51 chiếm một phần của vAng nhớ nội, v@ vậy mỗi thanh ghi đều c một địa chỉ.Cc
thanh ghi chức năng (FSRs) trong vAng nhớ cao từ 80H đến FFH.Lưu ý c một số bytes trong vAng ny không được
định nghĩa. Chỉ c 21 địa chỉ thanh ghi chức năng được định nghĩa( 26 địa chỉ với 8052/8032).

Các thanh ghi chương trình

Thanh ghi B

Con trỏ ngăn xếp


Con trỏ dữ liệu

Các thanh ghi Port

Các thanh ghi bộ định thời

Các thanh ghi cổng nối tiếp

Các thanh ghi ngắt

Thanh ghi PCON
J,8)$%
Text LCD là các loại màn hình tinh thể lỏng nhỏ dùng để hiển thị các dòng chữ hoặc số trong bảng mã
ASCII.Không giống các loại LCD lớn, Text LCD được chia sẵn thành từng ô và ứng với mỗi ô chỉ có thể hiển thị
một ký tự ASCII.Cũng vì lý do chỉ hiện thị được ký tự ASCII nên loại LCD này được gọi là Text LCD (để phân
biệt với Graphic LCD có thể hiển thị hình ảnh). Mỗi ô của Text LCD bao gồm các “chấm” tinh thể lỏng, việc kết
hợp “ẩn” và “hiện” các chấm này sẽ tạo thành một ký tự cần hiển thị. Trong các Text LCD, các mẫu ký tự được
định nghĩa sẵn.Kích thước của Text LCD được định nghĩa bằng số ký tự có thể hiển thị trên 1 dòng và tổng số
dòng mà LCD có. Ví dụ LCD 16x2 là loại có 2 dòng và mỗi dòng có thể hiển thị tối đa 16 ký tự. Một số kích
thước Text LCD thông thường gồm 16x1, 16x2, 16x4, 20x2, 20x4…Hình 1 là một ví dụ Text LCD 16x2.
B,CK3
LCD được sử dụng trong đồ án là LCD hiển thị kí tự loại 16x2 và có 16 chân, các chân được cho trong bảng sau:
a. Chân Vcc, Vss và Vee
Các chân 1,2,3 là các chân Vss, Vcc,Vee trong đó Vss chân nối đất, Vee chân chọn độ tương phản chân này
được chọn qua 1 biến trở 10K một đầu nối Vcc, một đầu nối mát. Chan Vcc nối dương nguồn 5V
b. Chân chọn thanh ghi RS ( Register Select):
Có hai thanh ghi quan trọng trong LCD là thanh ghi IR và DR. Chân RS lựa chọn thanh ghi cho phép lựa
chọn một trong hai thanh IR hoặc DR để làm việc. Vì cả 2 thanh ghi nàu đều được kết nối với các chân data
của LCD nên cần 1 bit để lựa chọn giữa chúng. Khi RS=0 thì thanh ghi IR được chọn, nếu RS=1 thanh ghi
DR được chọn. Thanh ghi IR là thanh ghi chứa mã lệnh cho LCD nên nếu muốn gửi lệnh lên LCD như xóa

màn hình, dịch chuyển con trỏ, ta cần reset RS về 0. Còn khi muốn hiển thị lên LCD ta set RS=1 để chọn
thanh ghi DR.
c. Chân đọc/ghi (R/W)
Là chân lựa chọn giữa việc đọc( Read) và ghi( Write). Nếu R/W=0 thì dữ liệu sẽ được ghi từ bộ
điều khiển vào LCD. Nếu R/W=1 thì dữ liệu sẽ được đọc từ LCD ra ngoài. Tuy nhiên chỉ có duy nhất
một trường hợp mà dữ liệu được đọc từ LCD ra đó là đọc trạng thái LCD để biết LCD có bận hay
không (cờ Busy Flag-BF). Dù vậy chúng ta có thể không cần điều này nếu sử dụng cách viết hàm
delay một khoảng thời gian cố định nào đó, khi đó sẽ không cần đọc LCD, chân R/W không cần sử
dụng và nối với GND. Cách này sẽ khiến quá trình thao tác LCD bị chậm nếu delay quá lớn, và nếu
delay quá nhỏ thì sẽ gây ra lỗi hiển thị.
d. Chân cho phép E (Enable)
Chân cho phép LCD hoạt động (Enable), chân này được kết nối với bộ điều khiển để
cho phép thao tác LCD. Để đọc và ghi data từ LCD chúng ta cần tạo một xung từ cao xuống
thấp trên chân E,xung này rộng tối thiếu 450ns. Hay nói theo cách khác , khi ghi dữ liệu vào
LCD, trước hết cần đảm bảo chân E=0, tiếp đến xuất dữ liệu đến các chân D0-D7, sau đó set
chân E=1 và cuối xùng là xóa E=0 để tạo xung cạnh xuống chốt dữ liệu
e. Chân D0-D7
Đây là 8 chân dữ liệu 8 bit, được dùng để gửi thông tin lên LCD hoặc đọc nội dung các thanh ghi trong LCD. Để hiển thị các
chữ cái và các con số
chúng ta gửi các mã ASCII của các chữ cái và các con số tương ứng đến các
chân này khi bật RS=1. Cũng có các mã lệnh có thể gửi tới LCD để xóa màn
hình hoặc đưa con trỏ về đầu dòng hoặc nhấp nháy con trỏ.
f. Cờ báo bận ( BF)
Khi thực hiện các hoạt động bên trong chip, mạch nội bên trong cần một khoảng thời gian để hoàn tất. Khi đang thực thi các hoạt
động bên trong chipnhư thế, LCD bỏ qua mọi giao tiếp với bên ngoài và bật cờ BF ( thông qua
chân D7 khi có thiết lập (RS=0/RW=1) lên để báo cho biết nó đang bận. Dĩ
nhiên khi xong việc nó sẽ đặt cơ BF lại mức 0.
g. Bộ đếm địa chỉ AC( Address Counter
Trong sơ đồ khối LCD họ HD44780, thanh ghi IR không trực tiếp kết nối với vùng RAM(DDRAM và CGRAM) mà thông qua bộ
đếm địa chỉ AC. Bộ đếm này lại nối với 2 vùng RAM theo kiểu rẽ nhánh. Khi một địa chỉ lệnh được nạo vào thanh ghi IR, thông tin được

nối trực tiếp cho 2 vùng RAM nhưng việc chọn lựa vùng RAM tương tác đã được bao hàm trong mã lệnh.
Các mã lệnh LCD
E,+4L)"%3"!M
Ghi chú
Thời gian cực đại khi tần số f
CP
hoặc f
OSC
là 250KHz
Thời gian thực thay đổi khi tần số thay đổi. Khi tần số f
EP
hay f
OSC
là 270KHz thì thời gian thực hiện được tính 250/270 x 4 = 35µs

Các kí hiệu viết tắt trong bảng là
DDRAM : RAM dữ liệu hiển thị (Dislay Data RAM)
CGRAM : RAM máy phát kí tự (Character Generator RAM)
CGRAM address: địa chỉ CGRAM
DDRAM address: địa chỉ DDRAM phù hợp với đại chỉ con trỏ
1/D : tăng 1/D=0
S=1 : kèm dịch hiển thị
S/C=1:dịch hiển thị
S/C=0:dịch con trỏ
R/L=1:dịch sang phải
R/L=0:dịch sang trái
DL=1 : 8 bit
DL=0 : 4 bit
N=1 : 2 dòng
N=0 : 1 dòng

F=1 : ma trận điểm 5x10
,J'4 N&8"O?OP
B>Q4R)
Chuyển đổi tín hiệu Analog từ
khối công suất thành tín hiệu
Digital, đưa vào 89C51. 89C51 sẽ
so sánh giá trị này với giá trị đặt
để điềukhiền góc kích SCR sao
cho điện áp VDC luôn được ổn
định.
E>2M4S-3)0T"
Chip ADC0804 là bộ chuyển đổi tương tự số thuộc họ ADC800 của hang NationalSemiconductor.
Chip này cũng được nhiều hãng khác sản xuất. Chip có điện áp nuôi +5V và độ phân giải 8 bit.
Ngoài độ phân giải thì thời gian chuyển đổi cũng là một tham số quan trọng khi đánh giá bộ
ADC.Thời gian chuyển đổi được định nghĩa 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. Đối với ADC0804 thì thời gian chuyển đổi phụ thuộc vào tần số
đồng hồ được cấp tới chân CLK R và CLK IN và không bé hơn 110µs. Các chân khác của
ADC0804 có chức năng như sau:

CS (Chip select): Chân số 1, là chân chọn Chip, đầu vào tích cực mức thấp được sử dụng để kích hoạt Chip
ADC0804. Để truy cập ADC0804 thì chânnày phải ở mức thấp.

UVUW%(XITE>2Y'S"L123>S44/4YQ4CM,+4Z'4 N&8"&123G)/
2T[MI12)"\]Y'%)"-3),U&GH4^(_)&N4](\"L&`&GH44 N&8"a"
&-%4b%O?OP,6"FcO!4]Y'd)4%3dT)CM+M&!4IU.(\"L-%(K)T?
Z"&GH4&G%a"4+44I(\"LVJOeJfX,

WR (Write): Chân số 3, đây là chân vào tích cực mức thấp được dùng đểbáo cho ADC biết bắt đầu quá
trình chuyển đổi. Nếu CS = 0 khi WR tạo ra xung cao xuống thấp thì bộ ADC0804 bắt đầu quá trình chuyển đổi giá
trị đầu vàotương tự Vin về số nhị phân 8 bit. Khi việc chuyển đổi hoàn tất th. chân INTRđược ADC hạ xuống thấp.


CLK IN và CLK R: CLK IN (chân số 4), là chân vào nối tới đồng hồngoài được sử dụng để tạo thời
gian.Tuy nhiên ADC0804 cũng có một bộ tạoxung đồng hồ riêng. Để dùng đồng hồ riêng th. các chân
CLK IN và CLK R(chân số 19) được nối với một tụ điện và một điện trở (như h.nh vẽ).
Khi ấy tầnsố được xác định
bằng biểu thức:
gc
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.

Ngắt INTR (Interupt): Chân số 5, là chân ra tích cực mức thấp. Bình thườngchân này ở 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 chuyển đổi sẵn sàng để lấy đi. Sau khi INTR
xuốngthấp, cần đặt CS = 0 và gửi một xung cao xuống thấp tới chân RD để đưa dữ liệu ra.

Vin(+) và Vin(-): Chân số 6 và chân số 7, đây là 2 đầu vào tương tự vi sai,trong đó Vin = Vin(+) – Vin(-). Thông
thường Vin(-) được nối tới đất và Vin(+) được dùng làm đầu vào tương tự và sẽ được chuyển đổi về dạng số.

Vcc: Chân số 20, là chân nguồn nuôi +5V. Chân này c.n được dùng làm điện áp tham chiếu khi đầu vào Vref/2 để
hở.

Vref/2: Chân số 9, là chân điện áp đầu vào được dùng làm điện áp thamchiếu. Nếu chân này hở th. điện áp đầu
vào tương tự choADC0804 nằm trongdải 0 - +5V. Tuy nhiên, có nhiều ứng dụng mà đầu vào tương tự áp đến Vin khác
với dải 0 - +5V. Chân Vref/2 được dùng để thực hiện các điện áp đầu rakhác 0 - +5V.

Bảng quan hệ điện áp Vref/2 với Vin:

D0-D7: D0 - D7, chân số 18 – 11, là các chân ra dữ liệu số (D7 là bit cao nhất MSB và D0 là bit thấp nhất
LSB). Các chân này đượ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 RD đưa xuống mức thấp. Để tính điện áp đầu ra ta có thể sử dụng công thức sau:
l đầu ra dữ liệu số (dạng thập phân).
l điện p đầu vo tương tự

CÁC BƯỚC CỦA QUÁ TRÌNH CHUYỂN ĐỔI.

Đặt WR =RD=1;

Bắt đầu biến đổi. Đặt WR=0, trễ( )ms.

Đặt lại WR=1;

Phát hiện điểm kết thúc của quá trình biến đổi khi INTR xuống mức thấp. (được sử dụng bởi
ngắt)

Đặt RD=0 và đọc dữ liệu từ DB0=>DB7.

Đặt RD=1. =>kết thúc chu trình.
 /"!0!123245&*+
,F&*0T"YK4M4Q),
Cấu trúc chung của hệ thống:
Điện áp
Đo Xoay Chiêu
Vi xử lý
8051
Bộ chuyển đổi
ADC
0804
Nguồn
Khối hiển thị

LCD

×