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

Thiết kế máy tính bỏ túi sử dụng 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 (1.52 MB, 38 trang )

SVTH:Văn Thời – Lệ Giang
Trang i
LỜI MỞ ĐẦU
Máy tính bỏ túi là một công cụ học tập quen thuộc của học sinh, sinh viên, đặt
biệt là sinh viên kỹ thuật. Trong đời sống hàng ngày, nó là một vật cần thiết cho việc
tính tiền trong các vụ mua bán. Trong sản xuất, nó được dùng để tính toán số sản phẩm
làm ra. Và còn rất nhiều ứng dụng khác của máy tính bỏ túi, cho thấy sự phổ biến, cần
thiết của nó.
Nhận thấy vai trò của máy tính bỏ túi trong học tập, lao động và đời sống nên
nhóm em quyết định chọn đề tài “Máy tính bỏ túi”.
Vì thời gian có hạn nên chúng em chỉ có thế hoàn thành một máy tính bỏ túi
đơn giản thực hiện các phép tính đơn giản như cộng, trừ, nhân, chia sử dụng IC
89C51.
Em xin chân thành cám ơn thầy Trần Trung Tín đã giúp đỡ nhóm em trong
suốt quá trình làm đồ án. Vì còn nhiều bở ngỡ nên không thiếu phần sai sót nên rất
mong thầy và các bạn góp ý thêm cho nhóm chúng em. Một lần nữa nhóm chúng em
xin chân thành cảm ơn.
Đà nẵng, tháng 12, năm 2013

SVTH:Văn Thời – Lệ Giang
Trang ii
MỤC LỤC
LỜI MỞ ĐẦU i
MỤC LỤC ii
DANH MỤC HÌNH ẢNH v
CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI 1
1.1 Giới thiệu về máy tính bỏ túi 1
1.2. Các giải pháp và cách xác định bài toán 1
1.2.1 Yêu cầu của hệ thống 1
1.2.2 Lựa chọn phương án 2
CHƯƠNG II: GIỚI THIỆU VI ĐIỀU KHIỂN 8051 VÀ CÁC LINH KIỆN


TRONG MẠCH 3
2.1 Vi điều khiển AT89C51. 3
2.1.1 Giới thiệu tổng quan về họ vi điều khiển 8051 3
2.1.1.1 Sơ đồ khối và sơ đồ chân của AT89C51 3
2.1.1.2 Chức năng các chân của AT89C51 4
2.1.1.2.1 Port 0 4
2.1.1.2.2 Port 1 4
2.1.1.2.3 Port 2 5
2.1.1.2.4 Port 3 5
2.1.1.2.5 Chân RST 6
2.1.1.2.6 Chân XTAL 6
2.1.1.2.7 Chân EA 6
2.1.1.2.8 Chân ALE 6
2.1.1.2.9 Chân PSEN 6
2.1.1.2.10 Chân nguồn 7
2.1.2 Hoạt động định thời, cổng nối tiếp ,ngắt và xử lý ngắt của họ 8051 7
2.1.2.1 Hoạt động định thời 7
2.1.2.2 Cổng nối tiếp 7
2.1.2.3 Ngắt và xử lý ngắt 7
SVTH:Văn Thời – Lệ Giang
Trang iii
2.1.3 Các thanh ghi đặc biệt của 89C51 (SFR – Special Function Registers). 7
2.1.3.1 Thanh ghi tích luỹ (Accumulator) 7
2.1.3.2 Thanh ghi B 7
2.1.3.3 Thanh ghi từ trạng thái chương trình (PSW - Program Status Word) 8
2.1.3.4 Thanh ghi con trỏ stack (SP – Stack Pointer) 8
2.1.3.5 Con trỏ dữ liệu DPTR (Data Pointer) 9
2.1.3.6 Các thanh ghi Port 9
2.1.3.7 Các thanh ghi bộ định thời (Timer) 9
2.1.3.8 Các thanh ghi port nối tiếp (Serial port) 10

2.1.3.8.1 Thanh ghi SBUF (Serial Buffer) 10
2.1.3.8.2 Thanh ghi điều khiển port nối tiếp SCON 10
2.1.3.9 Các Thanh Ghi Ngắt (Interrupt) 11
2.1.3.10 Hoạt động reset 11
2.2. LCD hiển thị 11
2.2.1. Hình dáng và kích thước 11
2.2.2 Chức năng các chân 12
2.2.3 Các ký tự LCD LMB162A hiển thị được 13
2.2.4 Cách hiển thị các ký tự 13
2.3. Bàn phím 14
2.3.1 Số lượng và chức năng phím nhấn 15
2.3.2 Xác định cách kết nối với VĐK 15
2.3.4 Sơ đồ nguyên lý 15
2.3.5 Nguyên tắc hoạt động 16
2.4. Tụ điện 17
2.5.Điện trở 18
2.6.Nút bấm button 18
2.7.Biến trở 18
2.8.Thạch anh 19
CHƯƠNG III. CÁC SƠ ĐỒ MẠCH 20
SVTH:Văn Thời – Lệ Giang
Trang iv
3.1 Khối LCD 20
3.2 Khối bàn phím 20
3.3 Khối nguồn 21
3.4 Khối trung tâm 21
3.5 Sơ đồ mạch in 22
3.6 Mô phỏng bằng proteus 23
3.7 Hình ảnh thức tế 24
CHƯƠNG IV. LẬP TRÌNH CHO VI XỬ LÝ 25

4.1 Tóm lược cách làm 25
4.2 Chương trình 25
LỜI CẢM ƠN 32
TÀI LIỆU THAM KHẢO 33
SVTH:Văn Thời – Lệ Giang
Trang v
DANH MỤC HÌNH ẢNH
Hình 1.1: Máy tính bỏ túi. 1
Hình 2.1 Sơ đồ khối của AC89C51 3
Hình 2.2 Sơ đồ chân của AC89C51 4
Hình 2.3 Port 0 4
Hình 2.4 Port 1 5
Hình 2.5 Port 2 5
Hình 2.6 Port 3 6
Hình 2.9: Cấu tạo của một phím 15
Hình 2.10 Bàn phím với mã phím 16
Hình 2.11 Các loại tụ 18
Hình 2.12 Điện trở 18
Hình 2.13 Nút bấm 18
Hình 2.14 Biến trở 18
Hình 2.15 Thạch anh 12 Mhz 19
Hình 3.1 khối LCD 20
Hình 3.2 khối bàn phím 20
Hình 3.3 khối nguồn 21
Hình 3.4 khối trung tâm 21
Hình 3.5 sơ đồ mạch in 22
Hình 3.6 Mô phỏng proteus 23
Hình 3.7 Hình ảnh thực tế 24
SVTH:Văn Thời – Lệ Giang
Trang 1

CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI
1.1 Giới thiệu về máy tính bỏ túi
Với mỗi gia đình, cơ quan, xí nghiệp, trường học hay bất cứ nơi đâu ta cũng bắt
gặp được máy tính bỏ túi. Hiện nay trên thị trường có rất nhiều các nhà sản xuất máy
tính bỏ túi khác nhau, với nhiều chức năng, kiểu dáng đa dang.
Máy tính bỏ túi nói chung là một thiết bị dùng để tính toán các công thức toán
học mà người lập trình đã lập trình sẵn cho nó.

Hình 1.1: Máy tính bỏ túi.
Nhìn chung thì máy tính đước sản xuất từ các nhà sản xuất lớn như TOSHIBA,
VNC,CASIO…
1.2. Các giải pháp và cách xác định bài toán
1.2.1 Yêu cầu của hệ thống
Qua tham khảo các sản phẩm máy tính bỏ túi trên thị trường thì yêu cầu của
một bộ sản phẩm máy tính bỏ túi thông thường:
 Dạo diện người dung dễ sử dụng.
 Thực hiện một số phép tính đơn giản như cộng trừ nhân chia.
 Yêu cầu kết quả luôn luôn đúng.
 Điện áp hoạt động của hệ thống không gây nguy hiểm đến người sử
dụng.
SVTH:Văn Thời – Lệ Giang
Trang 2
1.2.2 Lựa chọn phương án
Với yêu cầu về tính năng như trên, chúng em chọn các thiết bị chính:
 Vi điều khiển AT89C51
 Màn hình LCD 16x2 với mục đích hiển thị thông tin, giao tiếp vi điều
khiển với người dùng
 Bàn phím 16 phím có các phím số và phím chức năng đưa đầu vào là
các số và các phép tính
 Nguồn điện là nguồn USB máy vi tính.

SVTH:Văn Thời – Lệ Giang
Trang 3
CHƯƠNG II: GIỚI THIỆU VI ĐIỀU KHIỂN 8051 VÀ CÁC
LINH KIỆN TRONG MẠCH
2.1 Vi điều khiển AT89C51.
2.1.1 Giới thiệu tổng quan về họ vi điều khiển 8051
AT89C51 là một vi điều khiển 8 bit, chế tạo theo công nghệ CMOS chất lượng
cao, công suất thấp với 4 KB PEROM (Flash Programeable and erasable read only
memory).
Các đặc điểm của 8951 được tóm tắt như sau:
 4KB bộ nhớ, có thể lập trình lại nhanh, có khả năng ghi xóa tới 1000 chu kỳ
 Tần số hoạt động từ 0 Hz đến 24 MHz
 3 mức khóa bộ nhớ lập trình
 2 bộ Timer/Counter 16 bit
 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
2.1.1.1 Sơ đồ khối và sơ đồ chân của AT89C51

Hình 2.1 Sơ đồ khối của AC89C51
SVTH:Văn Thời – Lệ Giang
Trang 4

Hình 2.2 Sơ đồ chân của AC89C51
2.1.1.2 Chức năng các chân của AT89C51
2.1.1.2.1 Port 0

Port 0 (P0.0 – P0.7 hay chân 32 – 39): Ngoài chức năng xuất nhập ra, port 0 còn
là bus đa hợp dữ liệu và địa chỉ (AD0 – AD7), chức năng này sẽ được sử dụng khi
AT89C51 giao tiếp với thiết bị ngoài có kiến trúc bus.

Hình 2.3 Port 0
2.1.1.2.2 Port 1
Port 1 (P1.0 – P1.7 hay chân 1 – 8): có chức năng xuất nhập theo bit và byte.
Ngoài ra, 3 chân P1.5, P1.6, P1.7 được dùng để nạp ROM theo chuẩn ISP, 2 chân P1.0
và P1.1 được dùng cho bộ Timer 2.
SVTH:Văn Thời – Lệ Giang
Trang 5

Hình 2.4 Port 1
2.1.1.2.3 Port 2
Port 2 (P2.0 – P2.7 hay chân 21 – 28): là một port có công dụng kép. Là đường
xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế dùng bộ nhớ mở rộng.

Hình 2.5 Port 2
2.1.1.2.4 Port 3
Port 3 (P3.0 – P3.7 hay chân 10 – 17): mỗi chân trên port 3 ngoài chức năng
xuất nhập ra còn có một số chức năng đặc biệt.
Bảng 2.1 Các chức năng đặc biệt của port 3
Bit
Tên
Chức năng chuyển đổi
P3.0
RXD
Dữ liệu nhận cho port nối tiếp
P3.1
TXD

Dữ liệu truyền cho port nối tiếp
P3.2
INT0
Ngắt bên ngoài 0
P3.3
INT1
Ngắt bên ngoài 1
P3.4
T0
Ngõ vào của Timer/Counter 0
SVTH:Văn Thời – Lệ Giang
Trang 6
P3.5
T1
Ngõ vào của Timer/Counter 1
P3.6
WR
Xung ghi bộ nhớ dữ liệu ngoài
P3.7
RD
Xung đọc bộ nhớ dữ liệu ngoài

Hình 2.6 Port 3
2.1.1.2.5 Chân RST
RST (Reset – chân 9): mức tích cực của chân này là mức 1, để reset ta phải đưa
mức 1 (5V) đến chân này với thời gian tối thiểu 2 chu kỳ máy (tương đương 2µs đối
với thạch anh 12MHz.
2.1.1.2.6 Chân XTAL
XTAL 1, XTAL 2: AT89S52 có một bộ dao động trên chip, nó thường được nối
với một bộ dao động thạch anh có tần số lớn nhất là 33MHz, thông thường là 12MHz.

2.1.1.2.7 Chân EA
EA (External Access): EA thường được mắc lên mức cao (+5V) hoặc mức thấp
(GND). Nếu ở mức cao, bộ vi điều khiển thi hành chương trình từ ROM nội. Nếu ở
mức thấp, chương trình chỉ được thi hành từ bộ nhớ mở rộng.
2.1.1.2.8 Chân ALE
ALE (Address Latch Enable): ALE là tín hiệu để chốt địa chỉ vào một thanh ghi
bên ngoài trong nửa đầu của chu kỳ bộ nhớ. Sau đó các đường port 0 dùng để xuất
hoặc nhập dữ liệu trong nửa chu kỳ sau của bộ nhớ.
2.1.1.2.9 Chân PSEN
PSEN (Program Store Enable): PSEN là chân điều khiển cho phép bộ nhớ
chương trình mở rộng và thường được nối với đến chân OE (Output Enable) của một
EPROM để cho phép đọc các bytes mã lệnh. PSEN sẽ ở mức thấp trong thời gian đọc
lệnh. Các mã nhị phân của chương trình được đọc từ EPROM qua Bus và được chốt
vào thanh ghi lệnh của bộ vi điều khiển để giải mã lệnh. Khi thi hành chương trình
trong ROM nội, PSEN sẽ ở mức thụ động (mức cao).
SVTH:Văn Thời – Lệ Giang
Trang 7
2.1.1.2.10 Chân nguồn
Vcc, GND: AT89S52 dùng nguồn một chiều có dải điện áp từ 4V – 5.5V được
cấp qua chân 40 (Vcc) và chân 20 (GND).
2.1.2 Hoạt động định thời, cổng nối tiếp ,ngắt và xử lý ngắt của họ 8051
2.1.2.1 Hoạt động định thời
Với 8051 ta chỉ có 2 timer đó là timer 0 và timer 1 còn đối với 8052 thì có thêm
bộ định thời thứ 3 là timer 2,các timer này có rất nhiều ứng dụng quan trọng trong các
lĩnh vực như đo lường, điều khiển.
2.1.2.2 Cổng nối tiếp
AT89S52 có một cổng nối tiếp trên chip có thể hoạt động ở nhiều chế độ khác
nhau. Chức năng chủ yếu của cổng nối tiếp là chuyển đổi song song sang nối tiếp và
chuyển đổi nối tiếp sang song song với dữ liệu nhập để có thể giao tiếp với máy tính
qua cổng nối tiếp hoặc các thiết bị tương tự.

2.1.2.3 Ngắt và xử lý ngắt
Để tận dụng khả năng của cpu chúng ta phải sử dụng đến ngắt, ngắt giúp ta tạm
ngừng công việc của CPU để phục vụ việc trao đổi giữ liệu. Sau khi hoàn thành việc
trao đổi dữ liệu thì CPU phải quay về làm nốt công việc đang bị gián đoạn. Điều này
giúp cho CPU làm việc hiệu quả hơn rất nhiều.
Với AT89S52 ta có 6 nguồn ngắt:
 Ngắt ngoài đến từ chân #INT0
 Ngắt ngoài đến từ chân #INT1
 Ngắt do bộ timer 0
 Ngắt do bộ timer 1
 Ngắt do bộ timer 2
 Ngắt do port nối tiếp
2.1.3 Các thanh ghi đặc biệt của 89C51 (SFR – Special Function Registers).
2.1.3.1 Thanh ghi tích luỹ (Accumulator)
Thanh ghi tích luỹ là thanh ghi sử dụng nhiều nhất trong AT89C51, được ký
hiệu trong câu lệnh là A. Ngoài ra, trong các lệnh xử lý bit, thanh ghi tích luỹ được ký
hiệu là ACC.
2.1.3.2 Thanh ghi B
Thanh ghi tích luỹ có thể truy xuất trực tiếp thông qua địa chỉ E0H (byte) hay
truy xuất từng bit thông qua địa chỉ bit từ E0H đến E7H.
SVTH:Văn Thời – Lệ Giang
Trang 8
2.1.3.3 Thanh ghi từ trạng thái chương trình (PSW - Program Status Word)
Thanh ghi từ trạng thái chương trình PSW nằm tại địa chỉ D0H và có các địa
chỉ bit từ D0H – D7H, bao gồm 7 bit (1 bit không sử dụng) có các chức năng như sau:
Bit
7
6
5
4

3
2
1
0
Chức
năng
CY
AC
F0
RS1
RS0
OV
-
P
CY (Carry): cờ nhớ, thường được dùng cho các lệnh toán học (C = 1 khi có
nhớ trong phép cộng hay mượn trong phép trừ).
AC (Auxiliary Carry): cờ nhớ phụ (thường dùng cho các phép toán BCD).
F0 (Flag 0): được sử dụng tuỳ theo yêu cầu của người sử dụng.
RS1, RS0: dùng để chọn bank thanh ghi sử dụng. Khi reset hệ thống, bank 0 sẽ
được sử dụng.
OV (Overflow): cờ tràn. Cờ OV = 1 khi có hiện tượng tràn số học xảy ra (dùng
cho số nguyên có dấu).
P (Parity): kiểm tra parity (chẵn). Cờ P = 1 khi tổng số bit 1 trong thanh ghi A
là số lẻ (nghĩa là tổng số bit 1 của thanh ghi A cộng thêm cờ P là số chẵn).
Chọn bank thanh ghi:
RS1
RS0
BANK THANH GHI
0
0

BANK 0
0
1
BANK 1
1
0
BANK 2
1
1
BANK 3

Ví dụ như: A = 10101010b có tổng cộng 4 bit 1 nên P = 0. Cờ P thường được
dùng để kiểm tra lỗi truyền dữ liệu.
2.1.3.4 Thanh ghi con trỏ stack (SP – Stack Pointer)
Con trỏ stack SP nằm tại địa chỉ 81H và không cho phép định địa chỉ bit. SP
dùng để chỉ đến đỉnh của stack. Stack là một dạng bộ nhớ lưu trữ dạng LIFO (Last In
First Out) thường dùng lưu trữ địa chỉ trả về khi gọi một chương trình con. Ngoài ra,
stack còn dùng như bộ nhớ tạm để lưu lại và khôi phục các giá trị cần thiết.
SVTH:Văn Thời – Lệ Giang
Trang 9
Đối với AT89C51, stack được chứa trong RAM nội (128 byte đối với
8031/8051 hay 256 byte đối với 8032/8052). Mặc định khi khởi động, giá trị của SP là
07H, nghĩa là stack bắt đầu từ địa chỉ 08H (do hoạt động lưu giá trị vào stack yêu cầu
phải tăng nội dung thanh ghi SP trước khi lưu.
2.1.3.5 Con trỏ dữ liệu DPTR (Data Pointer)
Con trỏ dữ liệu DPTR là thanh ghi 16 bit bao gồm 2 thanh ghi 8 bit: DPH
(High) nằm tại địa chỉ 83h và DPL (Low) nằm tại địa chỉ 82H. Các thanh ghi này
không cho phép định địa chỉ bit. DPTR được dùng khi truy xuất đến bộ nhớ có địa chỉ
16 bit.
2.1.3.6 Các thanh ghi Port

Gồm 4 thanh ghi tương ứng với 4 port:
 P0  Port 0 : ở địa chỉ 80H đến dịa chỉ 87H.
 P1  Port 1 : ở địa chỉ 90H đến địa chỉ 97H.
 P2  Port 2 : ở địa chỉ A0H đến địa chỉ A7H.
 P3  Port 3 : ở địa chỉ B0H đến địa chỉ B7H.
Nếu truy suất Port ta truy suất các thanh ghi Port tương ứng. Các thanh ghi này
được định địa chỉ từng Bit.
2.1.3.7 Các thanh ghi bộ định thời (Timer)
89c51 có hai thanh ghi bộ định thời/đếm 16 bit được dùng cho định thời hoặc
đếm sự kiên.
 Thanh ghi chế độ định thời (TMOD):

 Không được định địa chỉ bit.
 Dùng để định chế độ hoạt động cho TIMER.
 Chức năng từng bit.
 Thanh ghi điều khiển định thời (TCON):

SVTH:Văn Thời – Lệ Giang
Trang 10
 Chứa các bit điều khiển và trạng thái của Timer 0, 1 ở 4 bit cao, 4 bit thấp
được dùng cho chức năng ngắt (interrupt).
 Chức năng từng bit:
2.1.3.8 Các thanh ghi port nối tiếp (Serial port)
2.1.3.8.1 Thanh ghi SBUF (Serial Buffer)
 Ở địa chỉ 99H là bộ đệm nhập/xuất nối tiếp, khi xuất dữ liệu thì ghi lên
SBUF, khi nhập dữ liệu thì đọc từ SBUF.
 Các chế độ hoạt động khác nhau của port nối tiếp được lập trình thông qua
thanh ghi điều khiển port nối tiếp SCON (Serial Control) ở địa chỉ 98H. Đây
là thanh ghi được địa chỉ từng bit.
2.1.3.8.2 Thanh ghi điều khiển port nối tiếp SCON


 Địa chỉ 99H.
 Định địa chỉ bit.
 Chức năng các bit.
 SM0, SM1: chọn chế độ hoạt động của port nối tiếp.
SM0
SM1
Chế độ (Mode)
Mô tả
0
0
0
Thanh ghi dịch.
0
1
1
UART 8 bit tốc độ thay đổi
1
0
2
UART 9 bit tốc độ cố định.
1
1
3
UART 9 bit tốc độ thay đổi.

 SM2: chọn chế độ hoạt động của port nối tiếp.
SM2 = 1: cho phép truyền thông đa xử lý ở các chế độ 2 và 3; bit RI
sẽ không được tích cực nếu bit thứ 9 nhận được là 0.
 REN: bit cho phép thu.

REN = 1: cho phép thu.
REN = 0: không cho phép thu.
 TB8: bit phát thứ 9 (ở chế độ 2 và 3), có thể đặt và xóa bằng phần mềm.
 RB8: bit thu thứ 9 (ở chế độ 2 và 3), có thể đặt và xóa bằng phần mềm.
SVTH:Văn Thời – Lệ Giang
Trang 11
2.1.3.9 Các Thanh Ghi Ngắt (Interrupt)
8031/8051 có 5 nguồn ngắt:
 2 ngắt ngoài: ngắt ngoài 0: qua chân INT0 (P3.2)
ngắt ngoài 1: qua chân INT1 (P3.3)
 3 ngắt trrong: ngắt timer 0, ngắt timer 1, ngắt port nối tiếp.
2.1.3.10 Hoạt động reset
Để thực hiện reset, cần phải tác động mức cao tại chân RST (chân 9) của
AT89C51 ít nhất 2 chu kỳ máy.
2.2. LCD hiển thị
2.2.1. Hình dáng và kích thước
Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau, trên hình
1 là hai loại LCD thông dụng.

Hình 2.7: Hình dáng của LCD
Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bên
trong lớp vỏ và chỉ đưa các chân giao tiếp cần thiết. Các chân này được đánh số thứ tự
và đặt tên như bên dưới :

Hình 2.8: Sơ đồ chân của LCD
SVTH:Văn Thời – Lệ Giang
Trang 12
2.2.2 Chức năng các chân
Chân số
Tên

Chức năng
1
Vss
Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với GND của
mạch điều khiển
2
Vdd
Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với
VCC=5V của mạch điều khiển
3
Vee
Chân này dùng để điều chỉnh độ tương phản của LCD.
4
Rs
Chân chọn thanh ghi (Register select). Nối chân RS với logic “0”
(GND) hoặc logic “1” (VCC) để chọn thanh ghi.
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở
chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ
“đọc” - read)
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong
LCD.
5
R/w
Chân chọn chế độ đọc/ghi (Read/Write). Nối chân R/W với logic “0”
để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế
độ đọc.
6
E
Chân cho phép (Enable). Sau khi các tín hiệu được đặt lên bus DB0-
DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E.

+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp nhận)
thanh ghi bên
trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu
chân E.
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện
cạnh lên (low-to-high transition) ở chân E và được LCD giữ ở bus đến
khi nào chân E xuống mức thấp.
7-14
DB0-
DB7
Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU. Có 2
chế độ sử dụng 8 đường bus này :
+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là
bit DB7.
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit
MSB là DB7
SVTH:Văn Thời – Lệ Giang
Trang 13
2.2.3 Các ký tự LCD LMB162A hiển thị được

2.2.4 Cách hiển thị các ký tự
Để hiển thị các ký tự đồ họa tùy ý thì ta phải ghi ký tự đó vào vùng CGRAM
rồi cho hiển thị ký tự đã vào lên LCD.
Vùng CGRAM bắt đầu từ địa chỉ #000000b đến #111111b. Khi ta ghi ở dạng
5x8 chấm thì địa chỉ bắt đầu của từng ký tự như hình sau:
SVTH:Văn Thời – Lệ Giang
Trang 14

Ví dụ: để ghi ký tự R vào CGRAM(0) (từ địa chỉ #000000b đến #000111b) thì
ta phải ghi 8 byte đó các mã #00011110b, #00010001b, #00010001b, #00011110b,

#00010100b, #00010010b, #00010001b, #00000000b như hình sau

2.3. Bàn phím
Các phím có cấu tạo như sau : Một nút ấn bằng nhựa cứng trên có ghi số, ký
hiệu tương ứng với vị trí của phím ấn. Phía dưới nút ấn nhựa là 1 tấm cao su có độ đàn
hồi tốt, gắn phía dưới cao su Là tấm than. Đối diện với tấm than, trên mạch in là tiếp
SVTH:Văn Thời – Lệ Giang
Trang 15
Tấm than
Nút ấn bằng nhựa
cứng trên có ghi số
Cao su có độ
đàn hồi tốt
Tấm than
Mạch in
Nối với cột
Nối với hàng
Nối với cột
điểm cài răng lược bằng vật liệu dẫn điện tốt để tăng độ tiếp xúc ( thường làm bằng
đồng)
Khi ấn nút, tấm than sẽ tiếp xúc đóng tiếp điểm hàng và cột tương ứng với con
số vừa ấn để báo cho mạch mã hóa trong IC phát số biết có phím được ấn. Khi thôi ấn,
nhờ sức đàn hồi của cao su, tấm than tách rời tiếp điểm về trạng thái nghỉ









Hình 2.9: Cấu tạo của một phím
2.3.1 Số lượng và chức năng phím nhấn
Bàn phím gồm các loại phím và số lượng như sau:
 RST: khởi động lại hoạt động ban đầu
 AC: xóa màn hình nhưng còn lại kết quả
 Phím số: để nhập các số từ 0-9 (10 phím)
 Phím tính: để nhập các phép tính +,-,x,÷,
 Phím bằng: để thực hiện phép tính (1 phím)
 Phím dấu phẩy thập phân (1 phím)
Tổng số lượng phím: 16
2.3.2 Xác định cách kết nối với VĐK
Để giảm bớt số chân của VĐK kết nối với nút nhấn khi số lượng nút nhấn
nhiều, ta cần kết nối nút nhấn dưới dạng ma trận và dùng phương pháp quét phím để
xác định phím nào được nhấn.
Với ma trận phím 4*4 ta có vừa đủ số phím cần dùng.
2.3.4 Sơ đồ nguyên lý
Trong bàn phím ma trận 4*4 sẽ có 4 hàng H[0:3] đóng vai trò là các ngõ vào
bình thường ở mức cao H và có 4 cột dùng để xuất mã quét. 4 hàng và 4 cột được kết
SVTH:Văn Thời – Lệ Giang
Trang 16
nối với một cổng của vi điều khiển. Vi điều khiển sẽ xuất mã quét ra các hàng sau đó
đọc dữ liệu ở hàng, kết quả của quá trình thực hiện như sau:

Hình 2.10 Bàn phím với mã phím
2.3.5 Nguyên tắc hoạt động
Kết quả của quá trình quét phím:
Ma trận phím có 4 hàng từ H0-H3 thường ở mức cao, có 4 cột C0-C3 dùng để
xuất mã quét.
Để xác định phím nào được nhấn, ta kết nối 4 hàng với một port của VĐK, 5

cột với port khác, VĐK xuất mã quét (mã quét là mã nhị phân có một bit 0, còn lại là
các bit 1) ra các cột và sau đó đọc dữ liệu từ các hàng, nếu có hàng nào xuống mức
thấp thì có phím được nhấn trong hàng đó, dựa vào mã quét hiện thời, ta xác được cột
nào có phím được nhấn. Như vậy, ta có thể xác định được phím nhấn. Nếu không có
phím được nhấn thì tất cả các hàng đều ở mức cao. Các bước như sau:
Bước 1: Đưa cột 0 C0=0V và các cột còn lại có mức cao “H”, thực hiện đọc dữ
liệu trên các hàng H[0:3] . Ta có thể xác định được sw0, sw1, sw2, sw3
Bước 2: Đưa cột 1 C1=0V và các cột còn lại có mức cao “H”, thực hiện đọc dữ
liệu trên các hàng H[0:3] . Ta có thể xác định được sw4, sw5, sw6, sw7
Bước 3: Đưa cột 2 C2=0V và các cột còn lại có mức cao “H”, thực hiện đọc dữ
liệu trên các hàng H[0:3] . Ta có thể xác định được sw8, sw9, swA, swB
Bước 4: Đưa cột 3 C3=0V và các cột còn lại có mức cao “H”, thực hiện đọc dữ
liệu trên các hàng H[0:3] . Ta có thể xác định được swC, swD, swE, swF
SVTH:Văn Thời – Lệ Giang
Trang 17





















Các chân rs, rw, e dùng để điểu khiển việc đọc ghi dữ liệu.
Bốn chân D4-D7 dùng để truyền dữ liệu giữa LCD và VĐK theo chế độ 4 bit.
2.4. Tụ điện
Tụ điện là linh kiện điện tử thụ động được sử dụng rất rộng rãi trong các mạch
điện tử, chúng được sử dụng trong các mạch lọc nguồn, lọc nhiễu, mạch truyền tín
hiệu xoay chiều, mạch tạo dao động.Trong mạch này ta sẽ sử dụng một tụ hóa cho
khối reset, và hai tụ gốm cho khối dao động.
SVTH:Văn Thời – Lệ Giang
Trang 18

Tụ gốm Tụ hóa
Hình 2.11 Các loại tụ
2.5.Điện trở
Trong thiết bị điện tử điện trở là một linh kiện quan trọng, chúng được làm từ
hợp chất cacbon và kim loại tuỳ theo tỷ lệ pha trộn mà người ta tạo ra được các loại
điện trở có trị số khác nhau.



Hình 2.12 Điện trở
2.6.Nút bấm button
Trong mạch này ta sử dụng 1nút bấm dùng để reset mạch.

Hình 2.13 Nút bấm
2.7.Biến trở

Trong mạch ta sẽ sử dụng một biến trở 10k để điểu chỉnh độ tương phản của
LCD.




Hình 2.14 Biến trở
SVTH:Văn Thời – Lệ Giang
Trang 19
2.8.Thạch anh
Trong mạch ta sẽ sử dụng hai thạch anh, một loại 12Mhz để tạo dao động cho
AT89C51.

Hình 2.15 Thạch anh 12 Mhz

SVTH:Văn Thời – Lệ Giang
Trang 20
CHƯƠNG III. CÁC SƠ ĐỒ MẠCH
3.1 Khối LCD

Hình 3.1 khối LCD
3.2 Khối bàn phím

Hình 3.2 khối bàn phím

×