BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN
PROJECT 3
TRÌNH ĐỘ ĐÀO TẠO : ĐẠI HỌC
NGÀNH ĐÀO TẠO : CÔNG NGHỆ THÔNG TIN
LỚP : TK8.3
MÁY TÍNH CẦM TAY
Giáo viên hướng dẫn :
Nguyễn Vinh Quy
Nhóm sinh viên :
Phạm Đức Thuận
Nguyễn Thế Anh
Đinh Duy Huy
Hưng Yên, tháng 12 năm 2012
TRƯỜNG ĐẠI HỌC SƯ PHẠM
KỸ THUẬT HƯNG YÊN
KHOA CÔNG NGHỆ THÔNG
TIN
BỘ MÔN KĨ THUẬT MÁY TÍNH
CỘNG HÒA XÃ HỘI CHỦ
NGHĨA VIỆT NAM
ĐỘC LẬP – TỰ DO – HẠNH
PHÚC
PHIẾU CHẤM ĐỒ ÁN MÔN HỌC 3
(Dành cho người hướng dẫn )
1. Họ tên Sinh viên : MSSV:
MSSV:
2. Tên đề tài :
3. Người hướng dẫn :
KHOA CÔNG NGHỆ THÔNG
TIN
BỘ MÔN KĨ THUẬT MÁY TÍNH
CỘNG HÒA XÃ HỘI CHỦ
NGHĨA VIỆT NAM
ĐỘC LẬP – TỰ DO – HẠNH
PHÚC
PHIẾU CHẤM ĐỒ ÁN MÔN HỌC 3
(Dành cho người hướng dẫn )
1. Họ tên Sinh viên : MSSV:
MSSV:
2. Tên đề tài :
3. Người hướng dẫn :
4. Những ưu điểm của đồ án :
5. Những thiếu sót của đồ án :
của quý thầy cô và bạn bè cho đề tài của nhóm em được hoàn chỉnh
hơn.
Cuối cùng, nhóm thực hiện đề tài xin gửi lời biết ơn đến bố mẹ và
những người thân trong gia đình đã luôn luôn bên cạnh và ủng hộ trong
cuộc sống.
Hưng Yên, ngày 20 tháng 11 năm 2012
Nhóm thực hiện đề tài: Phạm Đức Thuận
Nguyễn Thế Anh
5
Đề tài : Máy tính cầm tay GVHD: Nguyễn Vinh Quy
Đinh Duy Huy
6
Đề tài : Máy tính cầm tay GVHD: Nguyễn Vinh Quy
LỜI NÓI ĐẦU
Là một nước đang phát triển, và trong những năm gần đây, dưới sự lãnh
đạo của Đảng và Nhà Nước đã đưa đất nước hội nhập ngày càng sâu rộng với
thế giới, mở ra cơ hội phát triển nhanh chóng cho đất nước. Các ngành công
nghê cao, đặc biệt là lĩnh vực tự động hóa ,vi xử lý, vi điều khiển ngày càng
được chú trọng hơn. Ngày càng có nhiều ngành nghề ứng dụng vi xử lý, vi
điều khiển vào quá trình sản xuất, vận hành, tự động hóa. Dự án xây dựng nhà
máy sản xuất chip vi xử lý hơn 1 triệu đô la của Intel vào khu công nghệ cao
TP.HCM là một ví dụ điển hình cho sự phát triển, cũng như sự quan tâm của
Nhà Nước vào lĩnh vực này.
Là sinh viên, trình độ còn hạn chế, nên nhóm thực hiện đề tài chưa thể lĩnh
hội hết các kiến thức cũng như các ứng dụng về lĩnh vực này. Do đó, đề tài
chắc chắn còn nhiều thiếu sót, rất mong quý thầy cô và các bạn chỉ dẫn và
đóng góp ý kiến để đề tài hoàn thiện hơn.
Nhóm thực hiện đề tài: Phạm Đức Thuận
Nguyễn Thế Anh
Đinh Duy Huy
2.4.2 Chức năng 17
2.5 Cấu trúc bộ nhớ 18
2.5.1 Bộ nhớ chương trình 19
2.5.2 Bộ nhớ dữ liệu 20
2.6 Mạch vi điều khiển cơ bản 24
2.7 Các nguồn ngắt 24
Chương 3 MÔ TẢ THIẾT KẾ PHẦN CỨNG
3.1 Sơ đồ khối hệ thống 25
8
Đề tài : Máy tính cầm tay GVHD: Nguyễn Vinh Quy
3.1.1 Sơ đồ khối 22
3.1.2 Chức năng từng khối 25
3.1.2.1 Khối nhập dữ liệu 25
3.1.2.2 Khối xử lý dữ liệu 25
3.1.2.3 Khối xuất dữ liệu 25
3.2 Thiết kế mạch nguyên lý 26
3.2.1 Sơ đồ nguyên lý tổng quát 26
3.3 Giới thiệu linh kiện sử dụng trong thiết kế 27
3.3.1 Ma trận phím 27
3.3.2 Vi điều khiển Atmel 89S52 28
3.3.2.1 Sơ đồ chân 28
3.3.2.2 Chức năng trong thiết kế 28
3.3.3 LCD 16x2 28
3.4 Tính toán thi công mạch 31
3.4.1 Mạch nguyên lý 31
3.4.2 Mạch in (PCB) 31
Chương 4 THIẾT KẾ CHƯƠNG TRÌNH CHO VI ĐIỀU KHIỂN
4.1 Lưu đồ giải thuật 33
4.1.1 Lưu đồ giải thuật cho khối nhập dữ liệu (Ma trận phím) 33
4.1.2 Lưu đồ giải thuật cho khối hiển thị LCD 35
Hình 4.3(c): Lưu đồ giải thuật khối vi xử lý 35
10
Đề tài : Máy tính cầm tay GVHD: Nguyễn Vinh Quy
DANH MỤC BẢNG BIỂU
Bảng 2.1 : Bảng so sánh vi điều khiển 8051, 8052 và 8031 12
Bảng 2.2 :Các cổng (port) và mức xuất logic tương ứng 15
Bảng 2.3 :Bảng liệt kê các thanh ghi chức năng đặc biệt 18
Bảng 2.4 :Bảng chức năng của thanh ghi chức năng đặc biệt SFR 19
Bảng 2.5 : Các nguồn ngắt, cờ và địa chỉ vector tương ứng 21
Bảng 3.1 :Bảng liệt kê danh sách các chân và chức năng tương ứng của LCD
26
Bảng 3.2 :Bảng mã lệnh LCD và chức năng tương ứng 27
Bảng 3.2 :Mức logic của các chân dữ liệu trên LCD 28
11
Đề tài : Máy tính cầm tay GVHD: Nguyễn Vinh Quy
PHẦN B : NỘI DUNG
CHƯƠNG 1 : DẪN NHẬP
1.1.LỜI NÓI ĐẦU
Kỹ thuật vi điều khiển hiện nay rất phát triển, nó được ứng dụng vào rất
nhiều lĩnh vực sản xuất công nghiệp, tự động hóa, trong đời sống và còn
nhiều lĩnh vực khác nữa. So với kỹ thuật số thì kỹ thuật vi điểu khiển nhỏ
gọn hơn rất nhiều do nó được tích hợp lại và có khả năng lập trình được để
điều khiển nên rất tiện dụng và cơ động.
Nằm trong họ vi điều khiển tầm trung, vi điều khiển 8051 đuợc ứng dụng
rất rộng rãi trong kỹ thuật điều khiển ứng dụng, lĩnh vực đo lường, lĩnh
vực quảng cáo Với đề tài này nhóm thực hiện đề tài xin làm một mạch
ứng dụng khác của vi điều khiển 8051 liên quan đến lĩnh vực tính toán là
dùng vi điều khiển 8051 thiết kế “MÁY TÍNH ĐIỆN TỬ ”.
1.2.GIỚI THIỆU ĐỀ TÀI :
1.2.1. Lý do chọn đề tài:
mạnh với nhiều tính năng và còn thông dụng trên thị
trường hiện nay.Do đó có thể dễ dàng mở rộng thiết kế các
ứng dụng khác
• Hoạt động hiệu quả và rất ổn định mà giá thành lại tương
đối rẻ so với các vi điều khiển khác. Phù hợp cho đối tượng
sinh viên
• Cách lập trình đa dạng với nhiều ngôn ngữ khác nhau như
C, Assambly giúp cho người dùng có thể linh động lựa
chọn ngôn ngữ lập trình cho phù hợp với khả năng và sở
thích của mình
1.2.4. Giới hạn của đề tài :
• Do trình độ có hạn nên nhóm thực hiện đề tài mới chỉ dừng lại ở
việc lập trình tính toán các phép tính đơn giản và thông dụng.
Nếu còn thời gian và điều kiện cho phép, nhóm thực hiện đề tài
sẽ tìm hiểu và mở rộng những phép tính phức tạp cũng như
nghiên cứu các ứng dụng khác của họ vi điểu khiển 8051
• Việc thi công mạch còn nhiều hạn chế, chỉ dừng lại ở mức
nghiên cứu nên chưa tối ưu đựơc hết các tính năng của vi điều
khiển 8051 để có thể cạnh tranh với các sản phẩm cùng loại khác
13
Đề tài : Máy tính cầm tay GVHD: Nguyễn Vinh Quy
CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT CỦA HỌ VI ĐIỀU KHIỂN 8051
2.1.Giới thiệu về vi điều khiển 8051
Vào năm 1981,hãng Intel giới thiệu một số bộ vi điều khiển được gọi là 8051. Bộ vi điều
khiển này có 128 byte RAM, 4K byte ROM trên chíp, hai bộ định thời, một cổng nối tiếp
và 4 cổng (đều rộng 8 bắt vào ra tất cả được đặt trên một chíp. Lúc ấy nó được coi là một
"hệ thống trên chíp". 805 1 là một bộ xử lý 8 bit có nghĩa là CPU chỉ có thể làm việc với 8
bit dữ liệu tại một thời điểm. Dữ liệu lớn hơn 8 bít được chia ra thành các dữ liệu 8 bit để
cho xử lý. 805 1 có tất cả 4 cổng vào - ra I/O mỗi cổng rộng 8 bit. Mặc dù 805 1 có thể có
một ROM trên chíp cực đại là 64 K byte, nhưng các nhà sản xuất lúc đó đã cho xuất xưởng
P2
P3
Hình 2.1: Sơ đồ khối cấu trúc bên trong của 8051
2.2.Các thành viên khác của họ 8051
Có hai bộ vi điều khiển thành viên khác của họ 8051 là 8052 và 8031.
2.2.1. Bộ vi điều khiển 8052
Bộ vi điều khiển 8052 là một thành viên khác của họ 8051, 8052 có tất cả các đặc tính
chuẩn của 8051 ngoài ra nó có thêm 128 byte RAM và một bộ định thời nữa. Hay nói
cách khác là 8052 có 256 byte RAM và 3 bộ định thời. Nó cũng có 8K byte ROM.
Trên chíp thay vì 4K byte như 8051
Đặc tính 8051 8052 8031
ROM trên chíp 4K byte 8K byte OK
RAM 128
byte
256
byte
128
byte
Bộ định thời 2 3 2
Chân vào - ra 32 32 32
Cổng nối tiếp 1 1 1
Nguồn ngắt 6 8 6
Bảng 2.1 : Bảng so sánh vi điều khiển 8051, 8052 và 8031
Như nhìn thấy từ bảng thì 8051 là tập con của 8052. Do vậy tất cả mọi chương trình
viết cho 8051 đều chạy trên 8052 nhưng điều ngược lại là không đúng
2.2.2. Bộ vi điều khiển 8031
Một thành viên khác nữa của 8051 là chíp 8031. Chíp này thường được coi như là
8051 không có ROM trên chíp vì nó có OK byte ROM trên chíp. Để sử dụng chíp
này ta phải bổ xung ROM ngoài cho nó.ROM ngoài phải chứa chương trình mà
8031 sẽ nạp và thực hiện. So với 8051 mà chương trình được chứa trong ROM trên
P1 từ chân 1 -> 8 tương ứng là các chân P1_0 -> P1_7
P2 từ chân 21 -> 28 tương ứng là các chân P2_0 -> P2_7
P3 từ chân 10 ->17 tương ứng là các chân P3_0 -> P3_7
Riêng cổng 3 có 2 chức năng ở mỗi chân như trên hình vẽ :
P3.0 – RxD : chân nhận dữ liệu nối tiếp khi giao tiếp RS232 (COM).
P3.1 – TxD : phân truyền dữ liệu nối tiếp khi giao tiếp RS232.
P3.2 – INT0 : interupt 0, ngắt ngoài 0.
P3.3 – INT1 : interupt 1, ngắt ngoài 1.
P3.4 – T0 : Timer0, đầu vào timer0.
P3.5 – T1 : Timer1, đầu vào Timer1.
P3.6 – WR : Write, điều khiển ghi dữ liệu.
P3.7 – RD : Read, điều khiển đọc dữ liệu.
Chân 18, 19 nối với thạch anh tạo thành mạch tạo dao động cho vi điều
khiển.
Tần số thạch anh thường dùng trong các ứng dụnglà : 11.0592Mhz (Giao
tiếp với cổng COM của máy tính) và 12Mhz. Tần số tối đa là 24Mhz. Tần số
càng lớn thì vi điều khiển xử lí càng nhanh.
Bảng 2.2 :Các cổng (port) và mức xuất logic tương ứng
P0 P1 P2 P3 Port’s Bit
P0.0 P1.0 P2.0 P3.0 D0
P0.1 P1.1 P2.1 P3.1 D1
P0.2 P1.2 P2.2 P3.2 D2
P0.3 P1.3 P2.3 P3.3 D3
P0.4 P1.4 P2.4 P3.4 D4
P0.5 P1.5 P2.5 P3.5 D5
P0.6 P1.6 P2.6 P3.6 D6
P0.7 P1.7 P2.7 P3.7 D7
2.5.Cấu trúc bộ nhớ
Các vi điều khiển thuộc họ 8051 đều tổ chức thành 2 không gian chương trình và dữ
liệu. Kiến trúc vi xử lý 8 bit của 8051 này cho phép truy nhập và tính toán nhanh hơn
Hình 2.5 mô tả cấu trúc bộ nhớ dữ liệu trong và bộ nhớ dữ liệu ngoài của họ vi
điều khiển 8051. CPU sẽ dùng đến các
chân RD và WR khi truy cập đến bộ
nhớ dữ liệu ngoài.
Hình 2.6 : Cấu trúc bộ nhớ trong
Hình 2.6 mô tả cấu trúc bộ nhớ dữ liệu trong chip, được chia thành 3 khối là 128
byte thấp, 128 byte cao và 128 byte đặc biệt.
Hình 2.7 : Cấu trúc 128 byte thấp của bộ nhớ dữ liệu
Hình 2.7 mô tả cấu trúc 128 byte thấp của bộ nhớ dữ liệu của họ vi điều khiển
8051. 32 byte đầu tiên (00H-1FH) được sử dụng cho 4 bộ 8 thanh ghi R0-R7. Hai
bit của thanh ghi đặc biệt PSW sẽ lựa chọn 1 trong 4 bộ thanh ghi mà vi điều
khiển sẽ dùng trong khi thực thi chương trình.
8051 chứa 210 vị trí bit được định địa chỉ trong đó 128 bit chứa trong các byte ở
địa chỉ từ 20H đến 2FH (16 byte x 8 bit = 128 bit) và phần còn lại chứa trong các
thanh ghi đặc biệt. Ngoài ra 8051 còn có các port xuất/nhập có thể định địa chỉ
từng bit, điều này làm đơn giản việc giao tiếp bằng phần mềm với các thiết bị
xuất/nhập đơn bit.
Vùng RAM đa mục đích có 80 byte đặt ở địa chỉ từ 30H đến 7FH, bên dưới vùng
này từ địa chỉ 00H đến 2FH là vùng nhớ có thể được sử dụng tương tự. Bất kỳ vị
trí nhớ nào trong vùng RAM đa mục đích đều có thể được truy xuất tự do bằng
cách sử dụng các kiểu định địa chỉ trực tiếp hoặc gián tiếp.
Cũng như các thanh ghi từ R0 đến R7, ta có 21 thanh ghi chức năng đặc biệt SFR
chiếm phần trên của Ram nội từ địa chỉ 80H đến FFH. Cần lưu ý là 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.
Bảng 2.3 :Bảng liệt kê các thanh ghi chức năng đặc biệt
F0
F7 F6 F5 F4 F3 F2 F1 F0
E0 E7 E6 E5 E4 E3 E2 E1 E0
D0 D7 D6 6D 6C 6B 6A 69 68
0 0 0
Chế độ định
thời 13 bit
0 1 1
Chế độ định
thời 16 bit
1 0 2
Chế độ tự
động nạp lại
8 bit
1 1 3
Chế độ định
thời chia xẻ
3 GATE Bit điều khiển cổng cho bộ định thời 0
2 C/T
Bit chọn chức năng đếm/định thời cho
bộ định thời 0
1 M1
Bit chọn chế độ thứ nhất cho bộ định
thời 0
0 M0
Bit chọn chế độ thứ hai cho bộ định
thời 0
TF1 TR1 TF1 TR0 IE1 IT1 IE0 IT0
TCON Điều khiển bộ định thời
TCON.7 TF1
Cờ tràn của bộ định thời 1. Cờ này
được set bởi phần cứng khi có tràn,
được xóa bởi phần mềm, hoặc bởi phần
cứng khi bộ VXL trỏ tới trình phục vụ
cục
IE.6 Không sử dụng
IE.5 ET2 Cho phép ngắt do bộ định thời 2
IE.4 ES Cho phép ngắt do port nối tiếp
IE.3 ET1 Cho phép ngắt cho bộ định thời 1
IE.2 EX1 Cho phép ngắt ngoài (ngắt ngoài 1)
IE.1 EX0 Cho phép ngắt ngoài (ngắt ngoài 0)
2.6.Mạch vi điều khiển cơ bản:
Hình 2.8 :Mạch vi điều khiển cơ bản
2.7.Nguồn ngắt:
Bảng 2.5 : Các nguồn ngắt, cờ và địa chỉ vector tương ứng
Ngắt do Cờ Địa chỉ Vector
Reset hệ thống RST 0000H
Ngắt ngoài 0 IE0 0003H
Bộ định thời 0 TF0 000BH
Ngắt ngoài 1 IE1 0013H
Bộ định thời 1 TF1 001BH
Port nối tiếp RI hoặc TI 0023H
Bộ định thời 2 TF2 hoặc EXF2 002BH
Hình 2.8 :Quá trình vận hành của Timer và các
ngắt
CHƯƠNG 3 : MÔ TẢ THIẾT KẾ PHẦN CỨNG
3.1.SƠ ĐỒ KHỐI HỆ THỐNG
3.1.1. Sơ đồ khối:
Khối nhập dữ liệu
Ma trận phím 4x4
Phím số
(1-9)
Phím dấu
(+,-,x,/)