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 : 4. Những ưu điểm của đồ án : 5. Những thiếu sót của đồ án : 6. Đề nghị : Được bảo vệ Bổ sung để được bảo vệ Không được bảo vệ 7. Các câu hỏi sinh viên phải trả lời trước tổ chấm đồ án môn học: a) b) c) 8. Đánh giá điểm (Số và chữ). Ngày ….Tháng….Năm 201… CHỮ KÝ VÀ HỌ TÊN 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 : 4. Những ưu điểm của đồ án : 5. Những thiếu sót của đồ án : 6. Đề nghị : Được bảo vệ Bổ sung để được bảo vệ Không được bảo vệ 7. Các câu hỏi sinh viên phải trả lời trước tổ chấm đồ án môn học: a) b) c) 8. Đánh giá điểm (Số và chữ). Ngày ….Tháng….Năm 201… CHỮ KÝ VÀ HỌTÊN LỜI CẢM ƠN Lời đầu tiên nhóm thực hiện đề tài xin gửi lời cảm ơn chân thành đến thầy hướng dẫn thầy Nguyễn Vinh Quy, người đã tận tình chỉ bảo, giúp đỡ về mặt chuyên môn và động viên nhóm thực hiện đề tài trong suốt quá trình thực hiện đề tài. Trước tiên em xin chân thành cảm ơn toàn thể thầy cô giáo trường ĐHSP Kĩ Thuật Hưng Yên đặc biệt là toàn thể thầy cô giáo khoa Công Nghệ Thông Tin bộ môn Công Nghệ Máy Tính ,những người đã tạo điều kiện cho chúng e cơ hội nghiên cứu và tìm hiểu sâu rộng về lĩnh vực điện tử ,đặc biệt là Thầy Nguyễn Vinh Quy đã tận tình hướng dẫn và giúp đỡ chúng em trong thời gian thực hiện đề tài .Đồng thời chúng en cũng gửi lời cảm ơn tới tất cả bạn bè cùng nhóm và các anh chị khóa trước đã tận tình giúp đỡ chúng em trong thời gian qua .Có được sự giúp đỡ nhiệt tình đó cộng với sự cố gắng của bản thân từng thành viên trong nhóm nên chúng em đã hoàn thành được đề tai đúng thời hạn .Với sự hiểu biết còn hạn chế và thời gian thực hiện đề tài cũng không nhiều nên đề tài không tránh khỏi những sai sót .Chúng em xin cảm ơn sự góp ý 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
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN
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
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP – TỰ DO – HẠNH
PHÚC
Trang 2PHIẾ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 :
6 Đề nghị : Được bảo vệ Bổ sung để được bảo vệ Không được bảo vệ 7 Các câu hỏi sinh viên phải trả lời trước tổ chấm đồ án môn học: a)
b)
c)
8 Đánh giá điểm (Số và chữ)
Ngày ….Tháng….Năm 201… CHỮ KÝ VÀ HỌ TÊN
Trang 3TRƯỜ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 :
4 Những ưu điểm của đồ án :
Trang 4
5 Những thiếu sót của đồ án :
6 Đề nghị : Được bảo vệ Bổ sung để được bảo vệ Không được bảo vệ 7 Các câu hỏi sinh viên phải trả lời trước tổ chấm đồ án môn học: a)
b)
c)
8 Đánh giá điểm (Số và chữ)
Ngày ….Tháng….Năm 201…
CHỮ KÝ VÀ HỌTÊN
Trang 5LỜI CẢM ƠN
Lời đầu tiên nhóm thực hiện đề tài xin gửi lời cảm ơn chân thành
đến thầy hướng dẫn thầy Nguyễn Vinh Quy, người đã tận tình chỉ bảo,
giúp đỡ về mặt chuyên môn và động viên nhóm thực hiện đề tài trongsuốt quá trình thực hiện đề tài
Trước tiên em xin chân thành cảm ơn toàn thể thầy cô giáo trườngĐHSP Kĩ Thuật Hưng Yên đặc biệt là toàn thể thầy cô giáo khoa CôngNghệ Thông Tin bộ môn Công Nghệ Máy Tính ,những người đã tạođiều kiện cho chúng e cơ hội nghiên cứu và tìm hiểu sâu rộng về lĩnhvực điện tử ,đặc biệt là Thầy Nguyễn Vinh Quy đã tận tình hướng dẫn
và giúp đỡ chúng em trong thời gian thực hiện đề tài Đồng thời chúng
en cũng gửi lời cảm ơn tới tất cả bạn bè cùng nhóm và các anh chị khóatrước đã tận tình giúp đỡ chúng em trong thời gian qua Có được sự giúp
đỡ nhiệt tình đó cộng với sự cố gắng của bản thân từng thành viên trongnhóm nên chúng em đã hoàn thành được đề tai đúng thời hạn Với sựhiểu biết còn hạn chế và thời gian thực hiện đề tài cũng không nhiều nên
đề tài không tránh khỏi những sai sót Chúng em xin cảm ơn sự góp ýcủa quý thầy cô và bạn bè cho đề tài của nhóm em được hoàn chỉnhhơ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ộ trongcuộ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 ễn Vinh
Trang 6Đinh Duy Huy
6
Đ tài : Máy tính c m tay GVHD: Nguy n Vinh ễn Vinh Quy
Trang 7LỜ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ớithế giới, mở ra cơ hội phát triển nhanh chóng cho đất nước Các ngành côngnghê 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ệ caoTP.HCM là một ví dụ điển hình cho sự phát triển, cũng như sự quan tâm củaNhà 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ĩnhhộ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àichắ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
7
Đ tài : Máy tính c m tay GVHD: Nguy n Vinh ễn Vinh
Trang 8MỤC LỤC
Trang
Phần A
Giới thiệu
Trang bìa
Trang chấm ĐAMH của GVHD 2
Lời cảm ơn 4
Lời nói đầu 5
Mục lục 7
Liệt kê hình 9
Liệt kê bảng 10
Phần B Nội dung
Chương 1 DẪN NHẬP 1.1 Lời nói đầu 12
1.2 Giới thiệu đề tài
1.2.1 Lý do chọn đề tài 12
1.2.2 Mục tiêu của đề tài 12
1.2.3 Lựa chon phương án làm việc 12
1.2.4 Giới hạn của đề tài 13
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 14
2.2 Các thành viên khác của họ 8051 15
2.2.1 Bộ vi điều khiển 8052 15
2.2.2 Bộ vi điều khiển 8031 15
2.3 Vi điều khiển 8051 16
2.3.1 Sơ đồ khối vi điều khiển 8051 16
2.4 Sơ đồ và chức năng của các chân vi điều khiển 89C51 17
2.4.1 Sơ đồ chân 17
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
8
Đ tài : Máy tính c m tay GVHD: Nguy n Vinh ễn Vinh
Quy
Trang 93.1 Sơ đồ khối hệ thống 25
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
4.1.3 Lưu đồ giải thuật cho khối xử lý 36
4.2 Code chương trình 39
Phần C Phụ lục và Tài liệu tham khảo 131
Phụ lục I : 132
Phụ lục II: 150
Tài liệu tham khảo 171
9
Đ tài : Máy tính c m tay GVHD: Nguy n Vinh ễn Vinh
Trang 10DANH MỤC HÌNH VẼ
Hình 2.1 :Sơ đồ khối cấu trúc bên trong của 8051 10
Hình 2.2 : Sơ đồ khối chi tiết của vi điều khiển 8051 12
Hình 2.3 : Sơ đồ chân của vi điều khiển Atmel 89C51 13
Hình 2.4 : Cấu trúc bộ nhớ và địa chỉ các ngắt trên bộ nhớ chương trình.15 Hình 2.5 : Cấu trúc bộ nhớ dữ liệu trong và bộ nhớ dữ liệu ngoài 16
Hình 2.6 : Cấu trúc bộ nhớ trong 16
Hình 2.7 : Cấu trúc 128 byte thấp của bộ nhớ dữ liệu 17
Hình 2.8 : Mạch vi điều khiển cơ bản 20
Hình 3.1 : Sơ đồ khối của máy tính điện tử 21
Hình 3.2 : Mạch vi điều khiển cơ bản 22
Hình 3.3 :Mô hình ma trận phím 4x4 23
Hình 3.4 :Mạch điện ma trận phím 4x4 23
Hình 3.5 : Sơ đồ chân vi điều khiển Atmel 89S52 24
Hình 3.6 : LCD 16x2 24
Hình 3.7 :Sơ đồ mạch nguyên lý trên Orcad Capture 27
Hình 3.8 :Sơ đồ mạch in trên Orcad Layout 28
Hình 4.1(a) : Lưu đồ giải thuật quét các cột của ma trận phím 29
Hình 4.1(b) : Lưu đồ giải thuật quét các hàng của ma trận phím 30
Hình 4.2 :Lưu đồ giải thuật khối hiển thị LCD 32
Hình 4.3(a) : Lưu đồ giải thuật khối vi xử lý 33
Hình 4.3 (b): Lưu đồ giải thuật khối vi xử lý 34
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 ễn Vinh Quy
Trang 11DANH 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 ễn Vinh
Trang 12PHẦ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ấtnhiều lĩnh vực sản xuất công nghiệp, tự động hóa, trong đời sống và cònnhiề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ụngrất rộng rãi trong kỹ thuật điều khiển ứng dụng, lĩnh vực đo lường, lĩnhvự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á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àngngày, nó là một vật cần thiết cho việc tính tiền trong các vụ muabá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ó
Từ đó nhóm thực hiện đề tài đã đưa ra đề tài “máy tính điện tử cánhân”,chức năng chính là tính toán các phép tính cộng +,trừ -,nhân x, chia/ căn bản với hệ thống số nguyên và hiển thị trênLCD
1.2.2 Mục tiêu của đề tài
Tạo bước đầu cho sinh viên nghiên cứu những ứng dụng của vi điều khiển nói chung và họ vi điều khiển 8051 nói riêng trong thực tiễn để rồi từ đó tìm tòi, phát triển nhiều ứng dụng khác trong đời sống hằng ngày cần đến vi điều khiển
12
Đ tài : Máy tính c m tay GVHD: Nguy n Vinh ễn Vinh
Quy
Trang 13 Nắm đuợc trình tự thiết kế thi công một ứng dụng dùng họ vi điều khiển 8051: Cách lập trình, cách thiết kế phần cứng cũng như cách vận hành giao tiếp giữa vi điều khiển với các thiết bị ngoại vi như màn hình LCD, ma trận phím, nút nhấn.
1.2.3 Lựa chọn phương án làm việc :
Hiện nay trên thị trường có rất nhiều chủng loại máy tính điện tửvới các chức năng và ứng dụng khác nhau theo đó mà cách thựchiện, lựa chọn phương án và chọn linh kiện điện tử cũng khácnhau.Với mục tiêu ở trên nhóm thực hiện đề tài quyết định chọnphương án dùng họ vi điều khiển 8051 để nghiên cứu và thựchiện đề tài “Thiết kế máy tính điện tử ”
Lý do nhóm thực hiện đề tài chọn họ vi điều khiển 8051 vì :
Vi điều khiển 8051 là một dòng vi điều khiển tương đốimạ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ượngsinh 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ựachọ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ứcnghiên cứu nên chưa tối ưu đựơc hết các tính năng của vi điềukhiể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 ễn Vinh
Trang 14CHƯƠ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ưởngchỉ với 4K byte ROM trên chíp
8051 đã trở nên phổ biến sau khi Intel cho phép các nhà sản xuất khác sản xuất và bán bất
kỳ dạng biến thế nào của 805 1 mà họ thích với điều kiện họ phải để mã lại tương thích với
805 1 Điều này dẫn đến sự ra đời nhiều phiên bản của 805 1 với các tốc độ khác nhau và
dung lượng ROM trên chíp khác nhau được bán bởi hơn nửa các nhà sản xuất Điều này quan trọng là mặc dù có nhiều biến thể khác nhau của 805 1 về tốc độ và dung lương nhớ ROM trên chíp, nhưng tất cả chúng đều tương thích với 805 1 ban đầu về các lệnh
COUNTER INPUTS OSC INTERRUPT CONTROL
4 I/O PORTS BUS CONTROL SERIAL PORT EXTERNAL INTERRUPTS CPU
ON - CHIP RAM ETC TIMER 0 TIMER 1 ADDRESS/DATA TXD RXD
P0 P1 P2 P3
Trang 15Hình 2.1: Sơ đồ khối cấu trúc bên trong của 8051
128byte
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à
Trang 16chíp bị giới hạn bởi 4K byte, còn ROM ngoài chứa chương trinh được gắn vào
8031 thì có thể lớn đến 64K byte Khi bổ xung cổng, như vậy chỉ còn lại 2 cổng để thao tác Để giải quyết vấn đề này ta có thể bổ sung cổng vào - ra cho 8031 Ngoài
ra còn có các phiên bản khác nhau về tốc độ của 8031 từ các hãng sản xuất khác nhau
2.3.Vi điều khiển 8051
2.3.1 Sơ đồ khối vi điều khiển 89C51
Hình 2.2 :Sơ đồ khối chi tiết của vi điều khiển 8051
2.4 Sơ đồ và chức năng của các chân 2.4.1 Sơ đồ chân
Hình 2.3 :Sơ đồ chân của vi điều khiển Atmel 89C51 2.4.2 Chức năng
Chân 40 : nối với nguồn nuôi +5V
Chân 20 : nối đất (Mass, GND)
Chân 29 (PSEN – Program Store Enable) : là tín hiệu điều khiển xuất ra
của 8051, nó cho phép chọn bộ nhớ ngoài và được nối chung với chân của OE
Trang 17(Output Enable) của EPROM ngoài để cho phép đọc các byte của chương trình Các xung tín hiệu PSEN hạ thấp trong suốt thời gian thi hành lệnh Những mã nhị phân 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 của 8051 bởi mã lệnh (Chú ý việc đọc ở đây là đọc các lệnh – khác với đọc dữ liệu, khi đó VXL chỉ đọc các bit opcode của lệnh và đưa chúng vào hàng đợi lệnh thông qua các Bus địa chỉ và dữ liệu )
Chân 30 (ALE – Address Latch Enable) là tín hiệu điều khiển xuất ra của
8051, nó cho phép kênh Bus địa chỉ và Bus dữ liệu của Port 0
Chân 31 (EA – Eternal Access) được đưa xuống thấp cho phép chọn bộ nhớ
mã ngoài đối với 8051
Đối với 8051 thì :EA = 5V : chọn ROM nội, EA = 0V : chọn ROM ngoại.
32 chân còn lại chia làm 4 cỗng vào ra : Vào ra , ở đây là có thể dùng chân đó
để đọc mức logic (0;1 tương ứng với 0V;5V) vào hay xuất mức logic ra (0,1)
P0 từ chân 39 -> 32 tương ứng là các chân P0_0 -> P0_7
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
Trang 182.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 đối với không gian dữ liệu nhờ việc phân chia 2 không gian bộ nhớ chương trình và
dữ liệu như trên Tuy nhiên bộ nhớ ngoài được truy nhập bởi hệ thống 16 bit địa chỉ vẫn có thể thực hiện nhờ thanh ghi con trỏ
Bộ nhớ chương trình (ROM, EPROM) là bộ nhớ chỉ đọc, có thể mở rộng tối đa
64Kbyte Vói họ vi điều khiển 89xx, bộ nhớ chương trình được tích hợp sẵn trong chip có kích thước nhỏ nhất là 4kByte Với các vi điều khiển không tích hợp sẵn bộ nhớ chương trình trên chip, buộc phải thiết kế bộ nhớ chương trình bên ngoài Ví dụ
sử dụng EPROM: 2764 (64Kbyte), khi đó chân PSEN phải ở mức tích cực (5V)
Bộ nhớ dữ liệu (RAM) tồn tại độc lập so với bộ nhớ chương trình Họ vi điều khiển
8051 có bộ nhớ dữ liệu tích hợp trên chip nhỏ nhất là 128byte và có thể mở rộng với
bộ nhớ dữ liệu ngoài lên tới 64kByte Với những vi điều khiển không tích hợp ROM trên chip thì vẫn có RAM trên chip là 128byte Khi sử dụng RAM ngoài, CPU đọc và ghi dữ liệu nhờ tín hiệu trên các chân RD và WR Khi sử dụng cả bộ nhớ chương trình
và bộ nhớ dữ liệu bên ngoài thì buộc phải kết hợp chân RD và PSEN bởi cổng logic AND để phân biệt tín hiệu truy xuất dữ liệu trên ROM hay RAM ngoài
2.5.1 Bộ nhớ chương trình
Trang 19Hình 2.4 :Cấu trúc bộ nhớ và địa chỉ các ngắt trên bộ nhớ chương trình
Hình 2.4 mô tả cấu trúc bộ nhớ chương trình Sau khi khởi động, CPU bắt đầu thực hiện chương trình ở vị trí 0000H.Hình bên phải mô tả địa chỉ ngắt mặc định trên bộ nhớ chương trình Mối khi xảy ra ngắt, con trỏ của CPU sẽ nhảy đến đúngđịa chỉ ngắt tương ứng và thực thi chương trình tại đó Ví dụ ngắt ngoài 0 sẽ có địa chỉ là 0003H, khi xảy ra ngắt ngoài 0 thì con trỏ chương trình sẽ nhảy đến đúng địa chỉ 0003H để thực thi chương trình tại đó Nếu trong chương trình ứng dụng không xử dụng đến ngắt ngoài 0 thì địa chỉ 0003H vẫn có thể dùng cho mụcđích khác (sử dụng cho bộ nhớ chương trình).Bởi vậy khi lập trình bằng ngôn ngữAssembly, phần đầu chương trình bao giờ cũng phải cho chương trình nhảy đến địa chỉ cao hơn địa chỉ chứa các ngắt và mã lệnh viết cho các ngắt thì phải viết đúng địa chỉ của các ngắt tương ứng
2.5.2 Bộ nhớ dữ liệu
Hình 2.5 : Cấu trúc bộ nhớ dữ liệu trong và bộ nhớ dữ liệu ngoài
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
Trang 20Hì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
Trang 21bit 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