Tải bản đầy đủ (.pdf) (30 trang)

Luận văn hệ vi xử lý thiết kế mạch giao tiếp với LCD và bàn phím hex sử dụng họ 8051

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 (792.07 KB, 30 trang )

TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ

ĐỒ ÁN VI XỬ LÝ
Nhận xét của giáo viên hướng dẫn
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................


Giáo viên hướng dẫn

Trần Thu Trà
ĐỒ ÁN VXL

1

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ

Lời nói đầu
Ngày nay khoa học kỹ thuật đang phát triển hết sức mạnh mẽ, đặc biệt là lĩnh vực
điều khiển và tự động hoá.Để tăng tính năng điều khiển, các bộ vi điều khiển đã không
ngừng được cải tiến và nâng cấp. Và một trong những họ vi điều khiển đang được ửng
dụng rộng rãi ngày nay là họ vi điều khiển 8051. Các bộ vi điều khiển thuộc họ 8051 đầu
tiên ra đời vào năm 1981.Các bộ vi điều khiển này mới chỉ có 128 byte Ram, 4kb Rom, 2
bộ định thời, một cổng nổi tiếp và 4 cổng vào ra.Tất cả được đặt trên cùng một chíp. Và
sau này đã có nhiều bộ vi điều khiển thuộc họ 8051 ra đời với những sự cải tiến đặc biệt
của nhiều hãng sản xuất như vi điều khiển 8052, AT89S52.....
Họ vi điều khiển 8051 được ửng dụng trong thực tế rất phổ biến như ứng dụng để điều
khiển động cơ, điều khiển led, điều khiển đèn giao thông, làm bộ đếm sản phẩm..... Trong
nhiều ứng dụng đó nhóm sinh viên chúng em gồm:
1. Thái Nam Thuật
2. Phan Văn Sâm
3. Phan Văn Thọ
4. Hà Văn Thực

Tham gia vào thực hiện đề tài " Thiết kế mạch giao tiếp với LCD và bàn phím HEX sử
dụng họ 8051 ". Dưới sự hướng dẫn của cô giáo Trần Thu Trà.Chúng em mong rằng sự
nhiệt tình của cô giáo sẽ giúp chúng em thực hiện đề tài thành công .

ĐỒ ÁN VXL

2

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ

MỤC LỤC
Chương I: TỔNG QUAN VỀ 8051 ................................................. 3
1.1. Cấu trúc vi điều khiển 8051 ...................................................... 4
1.2. Tổ chức bộ nhớ vi điều khiển .................................................... 5
Chương II : TỔNG QUAN VỀ LCD VÀ BÀN PHÍM HEX ........ 8
I. Tìm hiểu về màn hình LCD .......................................................... 8
1.1. Phân loại LCD ............................................................................ 8
1.2. Nguyên tắc hiển thị ký tự trên màn hình LCD ..................... 11
II. Giới thiệu về bàn phím HEX .................................................... 12
Chương III : GIỚI THIỆU VỀ IC89S52 ...................................... 14
1.1. Giới thiệu về IC89S52: ............................................................ 14
1.2. Khảo sát sơ đồ chân ................................................................. 15
1.3. Sơ đồ khối củaIC89S52…………………………………........18
ChươngIV : SƠ ĐỒ NGUYÊN LÝ VÀ MẠCH IN .................... 19
1 Sơ đồ nguyên lý: ........................................................................... 19

1.1 Khối nguồn: ............................................................................... 19
1.2 Khối điều khiển: ........................................................................ 19
1.3 Khối bàn phím h :…………………………………………...20
1.4 Khối hiển thị: ............................................................................. 20
2. Mạch nguyên lý: .......................................................................... 21
3. Mạch in: ....................................................................................... 23
Chương V: LƯU ĐỒ THUẬT TOÁN VÀ CHƯƠNG TRÌNH
ĐIỀU KHIỂN .................................................................................. 24
1. Lưu đồ thuật toán …………………………………………….24
2. Chương trình điều khiển………………………………………25

ĐỒ ÁN VXL

3

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ

Chương I : TỔNG QUAN VỀ 8051
1.1. Cấu trúc vi điều khiển 8051

Cấu trúc vi điều khiển 8051

ĐỒ ÁN VXL

4


GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ

1.2. Tổ chức bộ nhớ vi điều khiển 8051

Các thanh ghi nằm giữa các thanh ghi 80H và FFh.Các địa chỉ này nằm trên thanh 80H,vì
các địa chỉ từ 00H đến 7FH là địa chỉ của bộ nhớ RAM bên trong 8051.Không phải tất cả
mọi địa chỉ từ 80H đến FFH đều do FSR sử dụng,nhưng vị trí ngăn nhớ từ 80H đến FFH
chưa dùng là để dự trữ và lập trình viên 8051cungx không được sử dụng

ĐỒ ÁN VXL

5

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ

Bảng : Chức năng của các thanh ghi đặc biệt SFR
SFR định địa chỉ từng bít(những thanh ghi cần nhớ đối với khi lập trình C)

ĐỒ ÁN VXL


6

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

ĐỒ ÁN VXL

KHOA ĐIỆN TỬ

7

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ

CHƯƠNG II : TỔNG QUAN VỀ LCD VÀ BÀN PHÍM HEX
I. Tìm hiểu về màn hình LCD
1.1.

Phân loại LCD

Có thể chia các module LCD làm hai loại chính :
- Loại hiển thị ký tự (character LCD ) gồm có các kích cỡ 16x1(16 ký tự 1
dòng),16x2 ( 16 ký tự x 2 dòng) ; 16x 4(16 ký tự x 4 dòng); 20x 1(20 ký tự x1 dòng)

v.v..
- Loại hiển thị đồ họa (graphic LCD ) đen trắng hoặc màu ,gồm các kích cỡ 1,47
inch (128 x128 điểm ảnh) ;1,8 inch( 128 x 160 điểm ảnh ); 2,4 inch( 240x 320 điểm
ảnh ) ..v.v…

ĐỒ ÁN VXL

8

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH



KHOA ĐIỆN TỬ

Mô tả về các chân của Màn hình LCD 16 2

Chân

Ký hiệu

I/O

Mô tả

1


VSS

-

Đất

2

VCC

-

Nguồn +5V

3

VEE

-

Cấp nguồn điều khiển phản

I

RS=0 chọn thanh ghi lệnh

4

RS=1 chọn thanh dữ liệu


RS
5

R/W

I

R/W=1 đọc dữ liệu.R/W =0 ghi dữ
liệu

6

E

I/O

Cho phép

7

DB0

I/O

Các bít dữ liệu

8

DB1


I/O

Các bít dữ liệu

9

DB2

I/O

Các bít dữ liệu

10

DB3

I/O

Các bít dữ liệu

11

DB4

I/O

Các bít dữ liệu

12


DB5

I/O

Các bít dữ liệu

13

DB6

I/O

Các bít dữ liệu

14

DB7

I/O

Các bít dữ liệu

Chức năng của các chân :
- Chân Vcc :cấp nguồn dương
- Chân Vss : cấp nguồn âm
- Chân V EE : điều khiển độ tương phản của LCD
- Chân chọn thanh ghi RS :có hai thanh ghi rất quan trọng trong LCD, chân RS
(register select) được dùng để chọn thanh ghi như sau : Nếu RS=1 thì thanh ghi dữ
liệu được chọn cho phép người dùng gửi dữ liệu cần hiể thị về LCD; Nếu RS=0 thì
thanh ghi mà lệnh được chọn để cho phép người dùng gửi một lệnh chẳng hạn như

lệnh xóa màn hình ,đưa con trỏ về đầu dòng…

ĐỒ ÁN VXL

9

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ

- Chân đọc/ghi (R/W) :đầu vào đọc/ghi cho phép người dùng ghi thông tin lên LCD
khi R/W =0 hoặc đọc thông tin từ nó khi R/W=1
- Chân cho phép E(Enable) :Chân cho phép E được sử dụng bởi LCD để chốt dữ liệu
của nó .Khi dữ liệu được cấp đến chân dữ liệu thì một xung mức cao xuống thấp phải
được áp đến chân này để LCD chốt dữ liệu trên các chân dữ liệu .Xung này phải
rộng tối thiểu 450 ns .
- Chân D0 D7 : Đây là 8 chân dữ liệu 8 bit ,được dùng để gửi thông điệp 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 mã ASCII của các chữ cái từ A đến Z ,a đến z và các con số từ 0 đến 9
đến các chân này khi bật RS =1.Cũng có các mã lệnh có thể được gửi đến LCD để
xóa màn hình hoặc dưa con trỏ về đầu dòng hoặc nhấp nháy con trỏ
- Chú ý :Chúng ta cũng được sử dụng RS=0 để kiểm tra bí cờ bận để xem LCD có
sẵn sàng nhận thông tin.Cờ bận là bit D7 và có thể được đọc khi R/W=1 và RS=0
như sau: Nếu R/W =1 ,RS=0 khi D7=1 (cờ bận 1)thì LCD bận bởi các công viêc bên
trong và sẽ không nhận bất cứ thông tin mới nào.Khi D7=0 thì LCD sẵn sàng nhận
thông tin mới.Lưu ý chúng ta nên kiểm tra cờ bận trước khi ghi bất kỳ dữ liệu nào
lên LCD.

Chân 15 và 16 :ghi là A và K .Nó là a nốt và ca tốt của một đèn LED dùng để chiếu
sáng LCD trong bóng tối.Chúng ta không sử dụng.Nếu muốn dùng thì nối chân A
qua một điện trở từ 1k đến 5k lên dương 5V ,chân K xuống đất đèn sẽ sáng.
Bảng mã lệnh của LCD

lệnh(hex)

Lệnh đến thanh ghi của LCD

1

Xóa màn hình hiển thị

2

Trở về đầu dòng

4

Giảm con trỏ (dịch con trỏ sang trái)

6

Tăng con trỏ (dịch con trỏ sang phải)

5

Dịch hiển thị sang phải

7


Dịch hiển thị sang trái

8

Tắt con trỏ,tắt hiển thị

A

Tắt hiển thi ,bật con trỏ

C

Tắt con trỏ,bật hiển thị

E

Bật hiển thị ,nhấp nháy con trỏ

F

Tắt hiển thị,nhấp nháy con trỏ

10

Dịch vị trí con trỏ sang trái

14

Dịch vị trí con trỏ sang phải


ĐỒ ÁN VXL

10

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ

18

Dịch toàn bộ hiển thị sang trái

1C

Dịch toàn bộ hiển thị sang phải

80

Ép con trỏ về đầu dòng thứ nhất

C0

Ép con trỏ về đầu dòng thứ hai

38


Hai dòng và ma trận 5x7

1.2. Nguyên tắc hiển thị ký tự trên màn hình LCD
Một chương trình hiển thị ký tự trên LCD sẽ đi theo 4 bước sau :
 Xóa toàn bộ màn hình
 Đặt chế độ hiển thị
 Đặt vị trí con trỏ (Nơi bắt đầu của ký tự hiển thị )
 Hiển thị ký tự
Chú ý :
+ Các bước 3,4 có thể lặp đi lặp lại nhiều lần nếu hiển thị nhiều ký tự
+ Chế độ hiển thị mặc định sẽ là hiển thị dịch ,vị trí con trỏ mặc định sẽ là dòng thứ
nhất
Để điều khiển hoạt động của LCD nên sử dụng port 2 hoặc port 1 cho việc xuất nhập
dữ liệu ,các chân tạo tín hiệu điều khiển RS,RW,EN_LCD có thể chọn tùy ý trong
các chân của các Port còn lại. Hình vẽ dưới là ví dụ về mạch ghép nối giữa vi điều
khiển 8051 với module LCD 16x2.Port 2 của vi điều khiển được nối tới buz dữ liệu
của LCD ,các chân P1.0,P1.1, và P1.2 của port 1 dùn để tạo các tín hiệu điều khiển
LCD.

ĐỒ ÁN VXL

11

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ


Sơ đồ giao tiếp với màn hình tinh thể lỏng LCD 16 2

II. Giới thiệu về bàn phím HEX
Bàn phím trên khối PM 303 cũng được xây dựng theo cấu trúc ma trận gồm 16
phím (từ 0-9 và từ A-F) bố trí thành 4 hàng ,4 cột ,gọi là bàn phím HEX.Để kiểm tra
có phím nhấn hay không máy tính xuất ra cột thứ nhất ở mức 0 và đọc vào hàng,nếu
hàng nào xuống 0 tức là phím nhấn trên hàng đó.Tín hiệu quét đọc từ máy tính cấp
qua các chốt PC0-PC3 (port C) .Khi nhấn công tắc nào sẽ cho phép tín hiệu từ máy
tính truyền qua công tắc nối tới hàng tương ứng.Máy tính sẽ so sánh đồng bộ với tín
hiệu quét cột đã phát để xác định công tắc được nhấn.Ví dụ khi nhấn phím 9 tín hiệu

ĐỒ ÁN VXL

12

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ

quét từ ngõ PC2 sẽ qua tiếp điểm công tắc 9 truyền ra PC6 ,như vậy ngõ vào bàn
phím sẽ là cột còn ngõ ra là hàng.
Sơ đồ kết nối của bàn phím HEX

Lưu ý rằng khi không nhấn phím thì hàng của bàn phím HEX nối với Vcc thông qua
điện trở R nên có mức logic 1.Để phân biệt được trạng thái của phím nhấn thì mức
logic khi nhấn phím phải là mức 0.Mà khi nhấn một phím nào đó thì tương ứng hàng
và cột của bàn phím HEX sẽ kết nối với nhau.Do đó ,để thực hiện kiểm tra một phím

thì ta phải cho trước cột chứa phím tương ứng ở mức logic 0,sau đó kiểm tra hàng
của phím ,nếu hàng =0 thì có nhấn phím còn hàng bằng 1 thì không nhấn phím.
Ví dụ như muốn kiểm tra phím 4 thì ta cho cột chứa phím 4 ở mức logic 0( chân 5
của J1,các cột khác =1 ,nghĩa là dữ liệu tại J1 là 1000xxxxb),sau đó thực hiện kiểm
tra chân 2 của J1(hàng phím 4), nếu chân này =0 thì phím được bấm.

ĐỒ ÁN VXL

13

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ

CHƯƠNG III : GIỚI THIỆU VỀ IC89S52
1.1 Giới thiệu về IC89S52:
Hiện nay có rất nhiều họ Vi điều khiển trên thị trường với nhiều ứng dụng khác
nhau, trong đó họ Vi điều khiển họ MCS-51 được sử dụng rất rộng rãi trên thế giới
và ở Việt nam.Vào năm 1980 Intel công bố chíp 8051(80C51), bộ vi điều khiển đầu
tiên của họ vi điều khiển MCS-51. Nó bao gồm 4KB ROM, 128 byte RAM, 32
đường xuất nhập, 1 port nối tiếp và 2 bộ định thời 16 bit. Tiếp theo sau đó là sự ra
đời của chip 8052, 8053, 8055 với nhiều tính năng được cải tiến.Hiện nay Intel
không còn cung cấp các loại Vi điều khiển họ MCS-51 nữa, thay vào đó các nhà sản
xuất khác như Atmel, Philips/signetics, AMD, Siemens, Matra&Dallas,
Semiconductors được cấp phép làm nhà cung cấp thứ hai cho các chip của họ MSC51. Chip Vi điều khiển được sử dụng rộng rãi trên thế giới cũng như ở Việt Nam
hiện nay là Vi điều khiển của hãng Atmel với nhiều chủng loại vi điều khiển khác
nhau. Hãng Atmel có các chip Vi điều khiển có tính năng tương tự như chip Vi điều

khiển MCS-51 của Intel, các mã số chip được thay đổi chút ít khi được Atmel sản
xuất. Mã số 80 chuyển thành 89, chẳng hạn 80C52 của Intel khi sản xuất ở Atmel mã
số thành 89C52 (Mã số đầy đủ: AT89C52) với tính năng chương trình tương tự như
nhau. Tương tự 8051,8053,8055 có mã số tương đương ở Atmel là
89C51,89C53,89C55. Vi điều khiển Atmel sau này ngày càng được cải tiến và được
bổ sung thêm nhiều chức năng tiện lợi hơn cho người dùng.
Bảng 1
Dung lượng RAM

Dung lượng ROM

Chế độ nạp

89C51

128 byte

4 Kbyte

song song

89C52

128 byte

8 Kbyte

song song

89C53


128 byte

12 Kbyte

song song

89C55

128 byte

20 Kbyte

song song

Sau khoảng thời gian cải tiến và phát triển, hãng Atmel tung ra thị trường dòng Vi
điều khiển mang số hiệu 89Sxx với nhiều cải tiến và đặc biệt là có thêm khả năng
nạp chương trình theo chế độ nối tiếp rất đơn giản và tiện lợi cho người sử dụng.

ĐỒ ÁN VXL

14

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ


Bảng 2
Dung lượng RAM

Dung lượng ROM

Chế độ nạp

89S51

128 byte

4 Kbyte

nối tiếp

89S52

128 byte

8 Kbyte

nối tiếp

89S53

128 byte

12 Kbyte

nối tiếp


89S55

128 byte

20 Kbyte

nối tiếp

Tất cả các Vi điều khiển trên đều có đặc tính cơ bản giống nhau về phần mềm (các tập
lệnh lập trình như nhau), còn phần cứng được bổ sung với chip có mã số ở hai số cuối cao
hơn, các Vi điều khiển sau này có nhiều tính năng vượt trội hơn Vi điều khiển thế hệ
trước. Các Vi điều khiển 89Cxx như trong bảng 1 có cấu tạoROM và RAM như 98Sxx
trong bảng 2, tuy nhiên 98Sxx được bổ sung một số tính năng và có thêm chế độ nạp nối
tiếp.
Trên thị trường hiện nay có rất nhiều loại sách hướng dẫn về Vi điều khiển với nhiều
loại khác nhau như 8051, 89C51, 89S8252, 89S52 v.v... các sách này đều hướng dẫn
cụ thể về phần cứng cũng như cách thức lập trình. Chương trình phần mềm dành cho
các Vi điều khiển này là như nhau, vì vậy bạn có thể tham khảo thêm về Vi điều
khiển ở các sách này.
- VDK 89S tính năng hơn hẳn 89C , trong khi giá cả tương đương mà tính năng lại
nhiều hơn so với 89C. Ví dòng MCU này dùng chế độ nạpISP (In System
Programming) nên việc nạp cho nó rât đơn giản và rẻ tiền.89Sxx có chế độ nạp nối
tiếp với mạch nạp đơn giản có khả năng nạp ngay trên bo mạch mà không cần tháo
chip vi điều khiển sang mạch khác để nạp chương trình và nhiều tính năng cải tiến
khác.89S52 có khả năng xóa và viết lại chương trình nhiều lần.
-

Đối với 89C thì ta phải sử dụng thêm một con làm master. Còn với 89S52 thì
không cần con master, ta nạp trực tiếp.Và giá thành cho một mạch là rất rẻ. Toàn

bộ câu trúc phần cứng tương thích hoàn toàn, mọi chương trình viết cho 89C đều
chạy tốt trên 89S52

- 89S52 có dung lượng RAM 128 byte,dung lượng ROM 8 Kyte,chế độ nạp nối trực
tiếp.
1.2. Khảo sát sơ đồ chân
IC 89S52 có 40 chân cho các chức năng khác nhau như: vào ra I/0, đọc , ghi , địa chỉ,
dữ liệu và ngắt. Tuy nhiên, vì hầu hết các nhà phát triển chính dụng chíp đóng vỏ 40

ĐỒ ÁN VXL

15

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ

chân với hai hàng chân DIP, nên chúng ta cùng khảo sát Vi điều khiển với 40 chân
dạng DIP.

Hình 1.1
1. Chân VCC: Chân số 40 là VCC cấp điện áp nguồn cho Vi điều khiển
Nguồn điện cấp là +5V±0.5.
2. Chân GND: Chân số 20 nối GND(hay nối Mass).
Khi thiết kế cần sử dụng một mạch ổn áp để bảo vệ cho Vi điều khiển, cách đơn giản
là sử dụng IC ổn áp 7805.
3 .Port 0 (P0)

Port 0 gồm 8 chân (từ chân 32 đến 39) có hai chức năng:
- Chức năng xuất/nhập : Các chân này được dùng để nhận tín hiệu từ bên ngoài vào
để xử lí, hoặc dùng để xuất tín hiệu ra bên ngoài, chẳng hạn xuất tín hiệu để điều
khiển led đơn sáng tắt.
- Chức năng là bus dữ liệu và bus địa chỉ (AD7-AD0) : 8 chân này (hoặc Port 0) còn
làm nhiệm vụ lấy dữ liệu từ ROM hoặc RAM ngoại (nếu có kết nối với bộ nhớ
ngoài), đồng thời Port 0 còn được dùng để định địa chỉ của bộ nhớ ngoài.
4. Port 1 (P1)
Port P1 gồm 8 chân (từ chân 1 đến chân 8), chỉ có chức năng làm các đường
xuất/nhập, không có chức năng khác.
5. Port 2 (P2)
Port 2 gồm 8 chân (từ chân 21 đến chân 28) có hai chức năng:
- Chức năng xuất/nhập
- Chức năng là bus địa chỉ cao (A8-A15): khi kết nối với bộ nhớ ngoài có dung
lượng lớn,cần 2 byte để định địa chỉ của bộ nhớ, byte thấp do P0 đảm nhận, byte cao
do P2 này đảm nhận.

ĐỒ ÁN VXL

16

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ

6. Port 3 (P3)
Port 3 gồm 8 chân (từ chân 10 đến 17):

- Chức năng xuất/nhập
- Với mỗi chân có một chức năng riêng thứ hai như trong bảng sau :

Bit

Tên

Chức năng

P3.0

RxD

Ngõ vào nhận dữ liệu nối tiếp

P3.1

TxD

Ngõ xuất dữ liệu nối tiếp

P3.2

INT0

Ngõ vào ngắt cứng thứ 0

P3.3

INT1


Ngõ vào ngắt cứng thứ 1

P3.4

T0

Ngõ vào của Timer/Counter thứ 0

P3.5

T1

Ngõ vào của Timer/Counter thứ 1

P3.6

WR

Ngõ điều khiển ghi dữ liệu lên bộ nhớ ngoài

P3.7

RD

Ngõ điều khiển đọc dữ liệu từ bộ nhớ bên ngoài

P1.0

T2


Ngõ vào của Timer/Counter thứ 2

P1.1

T2X

Ngõ Nạp lại/thu nhận của Timer/Counter thứ 2

7. Chân RESET (RST)
Ngõ vào RST ở chân 9 là ngõ vào Reset dùng để thiết lập trạng thái ban đầu cho
vi điều khiển. Hệ thống sẽ được thiết lập lại các giá trị ban đầu nếu ngõ này ở mức 1
tối thiểu 2 chu kì máy.
8. Chân XTAL1 và XTAL2
Hai chân này có vị trí chân là 18 và 19 được sử dụng để nhận nguồn xung clock
từ bên ngoài để hoạt động, thường được ghép nối với thạch anh và các tụ để tạo
nguồn xung clock ổn định.
9. Chân cho phép bộ nhớ chương trình PSEN
PSEN ( program store enable) tín hiệu được xuất ra ở chân 29 dùng để truy xuất
bộ nhớ chương trình ngoài. Chân này thường được nối với chân OE (output enable)
của ROM ngoài.
Khi vi điều khiển làm việc với bộ nhớ chương trình ngoài, chân này phát ra tín
hiệu kích hoạt ở mức thấp và được kích hoạt 2 lần trong một chu kì máy
Khi thực thi một chương trình ở ROM nội, chân này được duy trì ở mức logic
không tích cực (logic 1)
(Không cần kết nối chân này khi không sử dụng đến)

ĐỒ ÁN VXL

17


GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ

10. Chân ALE (chân cho phép chốt địa chỉ-chân 30)
Khi Vi điều khiển truy xuất bộ nhớ từ bên ngoài, port 0 vừa có chức năng là bus
địa chỉ, vừa có chức năng là bus dữ liệu do đó phải tách các đường dữ liệu và địa chỉ.
Tín hiệu ở chân ALE dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ
và các đường dữ liệu khi kết nối chúng với IC chốt.
Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động đưa vào Vi điều
khiển, như vậy có thể dùng tín hiệu ở ngõ ra ALE làm xung clock cung cấp cho các
phần khác của hệ thống.
- Ghi chú: khi không sử dụng có thể bỏ trống chân này
11. Chân EA
Chân EA dùng để xác định chương trình thực hiện được lấy từ ROM nội hay
ROM ngoại.
Khi EA nối với logic 1(+5V) thì Vi điều khiển thực hiện chương trình lấy từ bộ
nhớ nội
Khi EA nối với logic 0(0V) thì Vi điều khiển thực hiện chương trình lấy từ bộ
nhớ ngoại .
1.3 Sơ đồ khối của IC89S52

ĐỒ ÁN VXL

18


GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ

CHƯƠNG IV : SƠ ĐỒ NGUYÊN LÝ VÀ MẠCH IN
1. Sơ đồ nguyên lý:
1.1. Khối nguồn:

1.2 Khối điều khiển:

ĐỒ ÁN VXL

19

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ

1.3. Khối bàn phím HEX

1.4. Khối hiển thị

ĐỒ ÁN VXL


20

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ

2. Mạch nguyên lý:

ĐỒ ÁN VXL

21

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ

Nguyên lí hoạt động:
Khi cấp nguồn Vcc thì mạch bắt đầu hoạt động.
- Khi nhấn tổ hợp các phím thì ngay lập tức gửi một xung đến IC AT89S52.
AT89S52 sẽ tiến hành mã hóa,giả mã và chuyển xung gửi đến thành dữ liệu và sau
đó tín hiệu được xuất lên LCD để hiển thị (từ p.0.0 => p.0.7).
Nhưng trước khi gửi dữ liệu lên LCD thì phải kiểm tra LCD. Nếu LCD rỗi thì dữ
liệu sẽ được hiển thị và ngược lại nếu LCD bận thì dữ liệu chưa được hiển thị và gửi
thông báo cho IC vi xử lí (AT89S52) qua chân RS và RW.

Nguyên tắc kiểm tra bận như sau:
Nếu RW=1;RS=0 khi D7=1 thì LCD bận bởi các công việc bên trong và sẽ không
nhận bất cứ thông tin nào từ IC vi xử lí.
Khi D7=0 thì LCD sẵn sang nhận thông tin từ IC vi xử lí.
Ở đây: + RW là chân đọc/ghi,cho phép người dung ghi thông tin lên LCD.
RW = 0 (ghi); RW = 1 ( đọc thông tin ).
+ RS chọn thanh ghi :
RS = 0 thanh ghi lệnh được chọn để cho phép người dung gửi một lệnh lên LCD.
RS = 1 thanh ghi dữ liệu được chọn cho phép người dùng gửi dữ liệu cần hiển thị
lên LCD
- Khi không nhấn phím thì xung ở mức 0

ĐỒ ÁN VXL

22

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH

KHOA ĐIỆN TỬ

3. Mạch in

ĐỒ ÁN VXL

23

GVHD: Trần Thu Trà



TRƯỜNG ĐH SPKT VINH
KHOA ĐIỆN TỬ
CHƯƠNG V: LƯU ĐỒ THUẬT TOÁN VÀ CHƯƠNG TRÌNH
ĐIỀU KHIỂN
1. Lưu đồ thuật toán

ĐỒ ÁN VXL

24

GVHD: Trần Thu Trà


TRƯỜNG ĐH SPKT VINH
2. Chương trình điều khiển

KHOA ĐIỆN TỬ

ORG 00H
;***************KHAI BAO BAN DAU************
;***************KHAI BAO CAC CHAN DUOC SU DUNG CUA VDK******
RS BIT P2.5
RW BIT P2.6
EN BIT P2.7
X_PHAI BIT P3.3
X_TRAI BIT P3.4
DULIEUPHIM DATA 30H
SO_KT DATA 31H

DULIEU DATA 32H
VITRI DATA 33H
T_DELAY DATA 34H
DULIEULCD DATA P0
;**************CHUONG TRINH CHINH**********
MAIN:
MOV TMOD,#11H
SETB TF1
MOV VITRI,#80H
MOV SO_KT,#00
LCALL EN_LCD
MOV DULIEULCD,#80H
LCALL SENDCOMMAND
MOV R7,#01
MAIN1:
LCALL QUETPHIM
MOV A,DULIEUPHIM
CJNE A,#0FFH,GHI
SJMP MAIN1
GHI:
LCALL XULYDULIEU
MOV A,DULIEU
CJNE A,#0FFH,GHI_KT
JMP OLD_LINE
GHI_KT:
MOV DULIEULCD,DULIEU
LCALL SENDTEXT
INC VITRI
MOV R3,SO_KT
INC R3

MOV SO_KT,R3
CJNE R3,#16,OLD_LINE
MOV DULIEULCD,#0C0H

ĐỒ ÁN VXL

25

GVHD: Trần Thu Trà


×