Đề tài đã thực hiện thành công việc nghiên cứu của mô hình mạch quang báo và thiết kế, ứng dụng thành công mô hình mạch quang báo sử dụng tin nhắn điện thoại để hiển thị nội dung. Hoàn thành bài báo cáo hoàn chỉnh về phương pháp và trình tự các bước nghiên cứu, thiết kế, xây dựng mô hình hóa, và kết quả thử nghiệm. Là tiền đề cho các khóa sau tham khảo, tiếp tục phát triển và tối ưu hóa đề tài.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH
KHOÁ LUẬN TỐT NGHIỆP
THIẾT KẾ, CHẾ TẠO MẠCH QUANG BÁO TỪ XA QUA TIN
NHẮN ĐIỆN THOẠI
Họ Và Tên Sinh Viên: TRƯƠNG VĂN LÊ
NGUYỄN PHÚC HUY Ngành: CƠ ĐIỆN TỬ
Niên khóa: 2013-2017
Tháng 06/2017
Trang 2THIẾT KẾ, CHẾ TẠO MẠCH QUANG BÁO TỪ XA QUA TIN NHẮN
Trang 3TRƯỜNG ĐẠI HỌC NÔNG LÂM TPHCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CƠ KHÍ- CÔNG NGHỆ ĐỘC LẬP – TỰ DO – HẠNH PHÚC
Ngày 10 tháng 01 năm 2017
NHIỆM VỤ KHÓA LUẬN TỐT NGHIỆP
KHOA: CƠ KHÍ CÔNG NGHỆ
BỘ MÔN: Cơ Điện Tử
Họ và tên sinh viên: Trương Văn Lê MSSV: 13153144
Nguyễn Phúc Huy MSSV: 13153115
1 Tên đề tài:
Thiết kế, chế tạo mạch quang báo từ xa qua tin nhắn điện thoại
2 Nhiệm vụ giao (ghi rõ nội dung phải thực hiện):
- Tìm hiểu các bảng quang báo thông tin hiện nay
- Thiết kế 1 bảng quang báo dùng led ma trận kích thước 80cm x 30cm
- Tìm hiểu module sim900a truyền nhận dữ liệu từ điện thoại di động
- Điều khiển bảng thông tin quang báo dùng điện thoại di động
3 Ngày giao: 14/02/2017.
4 Ngày hoàn thành: 04/06/2017.
5 Họ và tên người hướng dẫn: Nội dung hướng dẫn Th.S Nguyễn Tấn Phúc Toàn bộ
Nội dung và yêu cầu LA đã được thông qua Bộ môn Người hướng dẫn
Ngày ….tháng ….năm 2017 Ký tên, ghi rõ họ và tên
Trưởng Bộ Môn
PHẦN DÀNH CHO KHOA:
- Người duyệt:
- Ngày bảo vệ:
Trang 4LỜI CẢM ƠN
Trong thời gian thực hiện đồ án nhóm thực hiện đã nhận được sự giúp đỡ rất tận tình
từ quý thầy cô trong và ngoài khoa Cơ Khí – Công Nghệ, cũng như các bạn cùng làm
đồ án tại phòng thực hành CK6 Nhờ sự giúp đỡ đó, nhóm đã hoàn thành tốt đồ án tốt
nghiệp của mình
Nhóm thực hiện xin gửi lời cảm ơn sâu sắc đến giáo viên hướng dẫn Th.S Nguyễn
Tấn Phúc, thầy đã trực tiếp hướng dẫn và hỗ trợ giúp nhóm thực hiện đồ án một cách
thuận lợi và hoàn thành tốt đồ án
Nhóm cũng xin gửi lời cảm ơn đến ban chủ nhiệm và các thầy cô trong khoa Cơ Công nghệ đã giúp đỡ, đóng góp ý kiến quý báu cũng như bố trí cho nhóm được làm
Khí-việc trực tiếp tại phòng thực hành CK6, giúp công Khí-việc của nhóm được thuận lợi hơn.
Đồng thời, nhóm xin gửi lời cám ơn đến các bạn cùng thực hiện đồ án tại phòng thực
hành CK6 đã chia sẽ trao đổi kiến thức cũng như kinh nghiệm trong thời gian thực
hiện đề tài
Nhóm xin chân thành cảm ơn!
Nhóm thực hiện đề tài
Trang 5TÓM TẮT
Đề tài: “Thiết kế, chế tạo mạch quang báo từ xa qua tin nhắn điện thoại” được thựchiện tại Khoa Cơ Khí – Công Nghệ, Trường Đại Học Nông Lâm Thành Phố Hồ ChíMinh Thời gian thực hiện từ tháng 2 đến tháng 6 năm 2017
Đề tài đã thực hiện thành công việc nghiên cứu của mô hình mạch quang báo và thiết
kế, ứng dụng thành công mô hình mạch quang báo sử dụng tin nhắn điện thoại để hiểnthị nội dung
Hoàn thành bài báo cáo hoàn chỉnh về phương pháp và trình tự các bước nghiên cứu,thiết kế, xây dựng mô hình hóa, và kết quả thử nghiệm Là tiền đề cho các khóa sautham khảo, tiếp tục phát triển và tối ưu hóa đề tài
Nội dung báo cáo được trình bày theo bố cục sau:
- Chương 1: MỞ ĐẦU
- Chương 2: TỔNG QUAN
- Chương 3: NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU
- Chương 4: KẾT QUẢ VÀ THẢO LUẬN
- Chương 5: KẾT LUẬN VÀ ĐỀ NGHỊ
Vì nhiều lý lo khách quan, cũng như thời gian và độ rộng lớn của đề tài, nên dù đã cốgắng nhưng phương pháp nghiên cứu của chúng em không tránh khỏi những thiếu sót.Chúng em rất mong nhận được sự đóng góp ý kiến của quý thầy/cô và bạn bè để đề tàicủa em càng được hoàn thiện hơn
Trang 6MỤC LỤC
Trang
Trang tựa
Lời cảm ơn
Tóm tắt
Mục lục
Danh sách các chữ viết tắt
Danh sách các hình
Danh sách các bảng
CHƯƠNG 1: MỞ ĐẦU 1
1.1 Đặt Vấn Đề 1
1.2 Nội Dung Đề Tài 1
1.3 Mục Tiêu Đề Tài 2
1.4 Giới Hạn Đề Tài 2
1.5 Lịch Sử Phát Triển 2
1.6 Đối Tượng Nghiên Cứu 3
1.7 Ý Nghĩa Khoa Học Và Thực Tiễn 3
1.8 Kết Quả Dự Kiến Đạt Được 4
CHƯƠNG 2: TỔNG QUAN 5
2.1 Giới Thiệu Về Các Loại Quang Báo 5
2.1 1 Mẫu một dòng chữ (16x240 điểm ảnh) 5
2.1 2 Mẫu hai dòng chữ (32 x 240 điểm ảnh) 6
2.2 Tổng Quan Về Vi Điều Khiển Pic 6
2.2 1 Cấu trúc của vi điều khiển 7
2.2 2 Kiến trúc vi điều khiển PIC 7
2.2 3 Risc Và Cisc 8
2.2 4 Pipelining 9
2.2 5 Các dòng pic và cách lựa chọn vi điều khiển pic 11
2.2 6 Ngôn ngữ lập trình 12
Trang 72.2 7 Giới thiệu về vi điều khiển sử dụng trong mạch PIC18F4520 12
2.2 8 Một vài thông số về vi điều khiển PIC18F4520 19
2.2 9 Sơ đồ khối vi điều khiển PIC18F4520 21
2.2 10 Tổ chức bộ nhớ 22
2.2 11 Bộ nhớ dữ liệu 25
2.2 12 Các thanh ghi EEPROM 25
2.2 13 Các cổng xuất nhập của PIC18F4520 27
2.2 14 Port A 28
2.2 15 Port B 29
2.2 16 Port C 29
2.2 17 Port D 29
2.2 18 Port E 30
2.2 19 Bộ chuyển đổi tương tự - số (ADC) 31
2.2 20 Giao tiếp USART 32
2.3 Tổng Quan Về Sms 37
2.3.1 Giới thiệu về SMS 37
2.3.2 Giới thiệu về module SIM900A 38
2.3.3 Đặc điểm của module SIM900A 39
2.3.4 Khảo sát sơ đồ chân và chức năng của từng chân 41
2.3.5 Khảo sát tập lệnh at command của module SIM900A 43
2.4 Giới Thiệu Về Ic 74hc595 54
2.5 Giới Thiệu Về Module Lm2596 60
2.6 Giới Thiệu Về Bảng Led Ma Trận 61
2.6.1 Nguyên tắc làm sáng đèn trên bảng led ma trận 62
2.6.2 Các phương pháp hiển thị led ma trận 62
2.7 Thiết Kế Và Thi Công Mạch Quang Báo 67
2.7.1 Sơ đồ khối 67
2.7.2 Thiết kế bản vẽ 67
2.7.3 Ý nghĩa từng khối 68
2.7.3.1 Khối giao tiếp SMS 68
2.7.3.2 Khối vi điều khiển 69
Trang 82.7.3.3 Khối giải mã hàng 69
2.7.3.4 Khối giải mã cột 70
2.7.3.5 Khối hiển thị 70
2.7.3.6 Khối nguồn 71
2.8 Nguyên Lý Hoạt Động Của Mạch 71
2.9 Tính Toán 72
CHƯƠNG 3: NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU 75
3.1 Vật Liệu Nghiên Cứu 75
3.2 Phương Pháp Nghiên Cứu 75
CHƯƠNG 4: KẾT QUẢ VÀ THẢO LUẬN 76
4.1 Mô Hình Hoàn Chỉnh Sau Khi Thi Công 76
4.2 Kết Quả Khảo Nghiệm 77
CHƯƠNG 5: KẾT LUẬN VÀ ĐỀ NGHỊ 80
5.1 Các Vấn Đề Đã Được Giải Quyết Trong Đồ Án 80
5.2 Ưu Và Nhược Điểm Của Thi Công Mạch 80
PHỤC LỤC 82
A Lưu Đồ Giải Thuật 82
B Code Chương Trình 83
TÀI LIỆU THAM KHẢO 97
Trang 9DANH MỤC CÁC CHỮ VIẾT TẮT
Các chữ viết tắt:
IC – Integrated Circuit
I/O – Input/ Output
PIC – Programmable Intelligent Computer
CPU – Central Processing Unit
ALU – Arithmetic Logic Unit
ROM – Read – Only Memory
RAM – Random Access Memory
ADC – Analog – to – Digital Converter
RISC – Reduced Instrucsion Set Computer
CISC – Complex Instruction Set Computer
EEPROM – Electrically Erasable Progammable- Read Only Memory.USART – Universal Synchronous Asynchronous Receiver Transmitter.SMS – Short Message Service
Trang 10DANH MỤC CÁC HÌNH
Hình 2.1: Bảng led 16x240 điểm ảnh 5
Hình 2.2: Bảng Led 32x240 Điểm Ảnh 6
Hình 2.3: Kiến trúc Harvard và kiến trúc von-Neumann 8
Hình 2.4: Cơ chế pipelining 10
Hình 2.5: PIC18F4520 12
Hình 2.6: Sơ đồ chân PIC18F4520 13
Hình 2.7: Sơ đồ khối vi điều khiển PIC18F4520 21
Hình 2.8: Sơ đồ tổ chức bộ nhớ chương trình và ngăn xếp 23
Hình 2.9: Sơ đồ bộ nhớ dữ liệu RAM 24
Hình 2.10: Sơ đồ bộ nhớ dữ liệu PIC18F4520 25
Hình 2.11: Sơ đồ khối tạo bộ chuyển đổi ADC 31
Hình 2.12: Sim900A 388
Hình 2.13: Sơ đồ chân Sim900A 41
Hình 2.14: Sơ đồ thiết kế breakout của module SIM900A 42
Hình 2.15: Sơ đồ chân breakout 43
Hình 2.16: Cấu hình mặc định cho SIM900A 445
Hình 2.17: Cấu hình xóa tin nhắn Sim900A 47
Hình 2.18: Cấu hình gọi điện cho Sim900A 48
Hình 2.19: Cấu hình nhận cuộc gọi 50
Hình 2.20: Cấu hình đọc tin nhắn 51
Hình 2.21: Cấu hình gửi tin nhắn 53
Hình 2.22: Sơ đồ chân IC 74HC595 55
Hình 2.23: Ảnh thực tế IC 74HC595 55
Hình 2.24: Sơ đồ chức năng các chân của IC 74HC595 56
Hình 2.25: Sơ đồ nối chân các IC 74HC595 với nhau 57
Hình 2.26: Sơ đồ thời gian 59
Hình 2.27: Module LM2596 61
Hình 2.28: Quy trình hiển thị chốt hàng 63
Hình 2.29: Quy trình hiển thị chốt cột 64
Hình 2.30: Quy trình đưa dữ liệu ra 8 cột cho led ma trận 65
Hình 2.31: Sơ đồ khối mạch quang báo 67
Hình 2.32 Bản vẽ sơ đồ thiết kế bảng quang báo 67
Hình 2.33: Sơ đồ kết nối module Sim900A 68
Hình 2.34: Sơ đồ kết nối vi điều khiển 69
Hình 2.35: Sơ đồ nguyên lý module giải mã hàng 69
Hình 2.36: Khối giải mã và hiển thị 70
Hình 2.38: Khối giải mã và hiển thị 70
Trang 11Hình 2.39: Khối nguồn 71
Hình 2.40: Mạch reset tự động – mạch reset bằng tay 72
Hình 4.1: Mô hình thực tế 76
Hình 4.2: Gửi tin nhắn có nội dung là Le – Huy lên bảng led ma trận 77
Hình 4.3: Hiển thị nội dung tin nhắn trên bảng led ma trận 77
Hình 4.4: Gửi tin nhắn với nội dung do an tot nghiep lên bảng led ma trận 77
Hình 4.5: Hiển thị nội dung tin nhắn trên bảng led ma trận 78
Hình 4.6: Gửi nội dung tin nhắn DH13CD lên bảng led ma trận 78
Hình 4.7: Hiển thị nội dung tin nhắn trên bảng led ma trận 78
Trang 12DANH MỤC CÁC BẢNG
Bảng 1: Thông số về vi điều khiển PIC18F4520 20
Bảng 2: Chức năng hoạt động của IC 74HC595 58
Bảng 3: Thông số của 74HC595 59
Bảng 4: Kích thước bảng quang báo 68
Bảng 5: Kết quả đo 79
Trang 13và phổ biến rộng rãi trong toàn xã hội Và thu thập thông tin kịp thời, chính xác là yếu
tố hết sức quan trọng trong sự thành công của mọi lĩnh vực Để đáp ứng nhu cầu đó,các thiết bị được điều khiển từ xa qua thiết bị di động hoặc điều khiển trực tiếp qua hệthống máy tính
Việc sử dụng vi điều khiển trong quang báo có rất nhiều ưu điểm mà các phươngpháp truyền thống như: áp phích, pano không thể so sánh được như việc thay đổithông tin một cách nhanh chóng, chính xác, thông tin hiển thị có thể chuyển động màusắc phong phú
Với nhu cầu thực tiễn như vậy nên nhóm thực hiện quyết định chọn đề tài: “Thiết
kế, chế tạo mạch quang báo từ xa qua tin nhắn điện thoại”
1.2 NỘI DUNG ĐỀ TÀI
- Tìm hiểu các bảng quang báo thông tin hiện nay.
- Thiết kế 1 bảng quang báo dùng led ma trận kích thước 80cm x30cm.
- Tìm hiểu module Sim900A truyền nhận dữ liệu từ điện thoại.
- Điều khiển bảng thông tin quang báo dùng điện thoại di động.
Trang 141.3 MỤC TIÊU ĐỀ TÀI
Sau khi xác định được đối tượng, chủ thể, việc xác định mục tiêu sẽ là bướcquan trọng kế tiếp nhằm định hướng đúng đắn cho quy trình thực hiện đề tài.Mục tiêu đề tài được thể hiện cụ thể như sau:
Hoàn thành tốt khóa luận tốt nghiệp
Áp dụng lý thuyết đã học vào thực tế phát huy những khả năng của vi điềukhiển và các thiết bị công nghệ cao nhằm tạo ra những sản phẩm có tính ứngdụng cao trong cuộc sống hằng ngày
Thiết kế, chế tạo và hoàn thiện mô hình mạch quang báo từ xa qua tin nhắnđiện thoại
Cải thiện khả năng làm việc nhóm
Tăng khả năng tự nghiên cứu cũng như tự học
Bước đầu tiếp xúc với thực tế
Vận dụng các kiến thức đã có đồng thời tìm tòi những kiến thức mới để hiểusâu sắc hơn trong lĩnh vực này
1.4 GIỚI HẠN ĐỀ TÀI
Trong khuôn khổ của đề tài nhóm thực hiện xin được giới hạn như sau:
Font chữ hiển thị trên quang báo là font chữ không dấu
Chỉ có một hiệu ứng chạy từ phải sang trái
1.5 LỊCH SỬ PHÁT TRIỂN
Thời cổ đại người Ai Cập đã viết thông điệp bán hàng trên các áp phích,giấy dán tường để quảng bá thông tin đến người dân Chiến dịch làm quảng cáochính trị được báo trên các bức tường của Pompeii Làm thương mại thô sơ đãtồn tại ở các Quốc gia như Hy Lạp, Rome, Arabia, châu Á, châu Phi và NamMỹ
Trang 15Thời Trung Cổ, hầu hết mọi người không thể đọc, nhưng những hình ảnhcủa quần áo, giày dép, giày ngựa hoặc túi bột… trên những tấm bảng hiệuquảng cáo nhằm diễn tả những thợ may, thợ đóng giày, thợ rèn…
Vào thế kỷ thứ 17, được lan truyền mạnh mẽ, quảng cáo được in trên tờ gấp
để quảng bá thuốc và những cuốn sách đã được in trên các ấn phẩm hàng tuần.Thế kỷ thứ 19 nghành quảng cáo ngày càng phát triển rộng hơn Quảng cáophát triển với sự gia tăng của sản xuất hoàng loạt từ cuối thế kỷ thứ 19 Năm
1836 ở Pháp, tờ báo La Presse đã cho đăng các quảng cáo trả tiền trên trang báocủa họ
Ở thế kỷ 20, Quảng cáo đã trở thành một nghành quan trọng trong cuộcsống nói chung và nghành kinh doanh nói riêng Quảng cáo phổ biến trên cácđài phát thanh vào những năm 1920 Với sự xuất hiện của truyền hình vàonhững năm 1940, các mạng lưới quảng cáo trên các chương trình tivi dành chocác nhà tài trợ
Thế kỷ 21 quảng cáo tiếp tục phát triển trong tất cả các nghành truyềnthông đại chúng bao gồm báo, tạp chí, đài phát thanh, truyền hình, bảng quảngcáo, quảng cáo trực tuyến…
1.6 ĐỐI TƯỢNG NGHIÊN CỨU
- Tìm hiểu về module Sim900A
- Tìm hiều về vi điều khiển PIC18F4520
- Tìm hiểu phương pháp lập trình CCS cho PIC
- Tìm hiểu về IC 74HC595
- Tìm hiểu về transistor D468
- Tìm hiểu về phương pháp điều khiển Led ma trận
- Tìm hiểu module ổn áp LM2596
- Bảng quang báo led ma trận 16x64 điểm ảnh
1.7 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN
- Ý nghĩa khoa học:
Trang 16 Từ kết quả nghiên cứu của đề tài góp phần làm cơ sở thực tiễn và lý luận đểphát triển mô hình hoàn chỉnh có thể thương mại hóa.
Góp phần thêm nội dung, kiến thức phong phú thêm giáo trình phục vụ choviệc giảng dạy
Là cơ sở tiền đề cho các khóa sau phát triển ý tưởng và hoàn chỉnh thêm môhình
- Ý nghĩa thực tiễn:
Làm bảng quảng cáo cho siêu thị, sân bay, rạp chiếu phim, nhà hàng…
Làm bảng hiệu cho các cửa hàng, trung tâm thương mại
Sử dụng trong trường học: thông báo lịch học, tuyển sinh
Làm bảng thông báo trong các cơ quan hành chính: ngân hàng, bưu điện,công ty xổ số kiến thiết, Ủy ban nhân dân, chi cục thuế
1.8 KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC
- Mô hình mạch quang báo từ xa qua tin nhắn điện thoại sms với chức năng hiểnthị thông tin dùng điện thoại di động cụ thể như sau:
Kích thước mô hình: 80cm x 30cm
Lập trình điều khiển vi điều khiển PIC18F4520 trên ngôn ngữ CCS
Điều khiển led ma trận theo phương pháp quét hàng
Lập trình giao tiếp giữa module Sim900A và vi điều khiển
Độ ổn định và tính chính xác của mô hình
Trang 17Chương 2
TỔNG QUAN
2.1 GIỚI THIỆU VỀ CÁC LOẠI QUANG BÁO
Loại quang báo mà nội dung hiển thị của nó được lưu trữ trong bộ nhớROM Loại quang báo này rất bất tiện vì khi muốn thay đổi nội dung của nó tacần phải nạp lại nội dung trong ROM, điều đó thì rất bất tiện và không có tínhkinh tế Chính vì vậy mà nó ít được sử dụng
Loại quang báo giao tiếp với bàn phím: để nhập nội dung cần hiển thị tachỉ cần dùng bàn phím nhập vào nội dung, nó có thể thay đổi nội dung cần hiểnthị một cách nhanh chóng nhưng khả năng hiển thị của nó bị giới hạn vì nó chỉ
có thể hiển thị các chữ cái đơn giản
Loại quang báo giao tiếp với máy tính: loại quang báo này được điều khiểnbằng máy vi tính, khả năng hiển thị của nó rất đa dạng Thông thường loạiquang báo này được thiết kế để truy xuất từng điểm
Loại quang báo giao tiếp kết hợp giữa Kit vi điều khiển với máy tính: loạinày được sử dụng rất phổ biến vì tính đa dạng và phong phú của nó Nó rấtthuận tiện khi thay đổi nội dung hiển thị cũng như khả năng hiển thị một cáchchính xác và nhanh chóng thông qua màn hình giao tiếp của máy vi tính
2.1 1 Mẫu một dòng chữ (16x240 điểm ảnh)
Hình 2.1: Bảng led 16x240 điểm ảnh
Trang 18- Các thông số kỹ thuật:
Kích thước hiển thị: chiều cao 122mm, chiều dài tùy ý (thường là bội của305mm)
Độ phân giải (số điểm ảnh): 16 x 40 x (chiều dài hiển thị/305)
Kết nối chuẩn (Máy tính, cổng COM) tùy chọn (RJ45, Ban phím)
Bảng này có thể hiện thị một dòng chữ cao 122mm (16 điểm ảnh- như hìnhtrên) hoặc hai dòng chữ cao 61mm (8 điểm ảnh) nhưng không dấu TiếngViệt
2.1 2 Mẫu hai dòng chữ (32 x 240 điểm ảnh)
Hình 2.2: Bảng Led 32x240 Điểm Ảnh
- Các thông số kỹ thuật:
Kích thước hiển thị: chiều cao 244mm, chiều dài tùy ý (thường là bội của305mm)
Độ phân giải (số điểm ảnh): 32 x 240 x (chiều dài hiển thị/305)
Kết nối chuẩn (Máy tính, cổng COM) tùy chọn (RJ45)
Bảng này có thể hiển thị hai dòng chữ cao 122mm (16 điểm ảnh- như hìnhtrên) hoặc một dòng chữ cao 244mm (32 điểm ảnh)
1
2.2 TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC
PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là “máytính thông minh khả trình” do hãng General Instrument đặt tên cho vi điều khiển đầutiên của họ: PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi điều khiểnCP1600 Vi điều khiển này sau đó được nghiên cứu phát triển thêm và từ đó hình nêndòng vi điều khiển PIC ngày nay
Trang 192.2 1 Cấu trúc của vi điều khiển
- CPU: là trái tim của hệ thống Là nơi quản lí tất cả hoạt động của Vi Điều
Khiển Bên trong CPU gồm:
ALU: là bộ phận thao tác trên các dữ liệu
Bộ giải mã lệnh và điều khiển, xác định các thao tác mà CPU cần thựchiện
Thanh ghi lệnh IR, lưu giữ opcode của lệnh được thực thi
Thanh ghi PC, lưu giữ địa chỉ của lệnh kế tiếp cần thực thi
Một tập các thanh ghi dùng để lưu thông tin tạm thời
ROM: là bộ nhớ dùng để lưu giữ chương trình ROM còn dùng để chứa số
liệu, các tham số hệ thống, các số liệu cố định của hệ thống Trong quá trìnhhoạt động nội dung ROM là cố định, không thể thay đổi, nội dung ROM chỉthay đổi khi ROM ở chế độ xóa hoặc nạp chương trình
RAM: là bộ nhớ dữ liệu Bộ nhớ RAM dùng làm môi trường xử lý thông
tin, lưu trữ các kết quả trung gian và kết quả cuối cùng của các phép toán,
xử lí thông tin Nó cũng dùng để tổ chức các vùng đệm dữ liệu, trong cácthao tác thu phát, chuyển đổi dữ liệu
BUS: là các đường dẫn dùng để di chuyển dữ liệu Bao gồm: bus địa chỉ,
bus dữ liệu và bus điều khiển
BỘ ĐỊNH THỜI: được sử dụng cho các mục đích chung về thời gian.
WATCHDOG: bộ phận dùng để reset lại hệ thống khi hệ thống gặp “bất
thường”
ADC: bộ phận chuyển tín hiệu analog sang tín hiệu digital Các tín hiệu bên
ngoài đi vào vi điều khiển thường ở dạng analog ADC sẽ chuyển tín hiệunày về dạng tín hiệu digital mà vi điều khiển có thể hiểu được
2.2 2 Kiến trúc vi điều khiển PIC
Cấu trúc phần cứng của một vi điều khiển được thiết kế theo hai dạng cấu trúc:kiến trúc von- Neuman và kiến trúc Havard
Trang 20Hình 2.3: Kiến trúc Harvard và kiến trúc von-Neumann
Tổ chức phần cứng của PIC được thiết kế theo kiến trúc Harvard Điểm khác biệtgiữa kiến trúc Harvard và kiến trúc Von-Neumann là cấu trúc bộ nhớ dữ liệu và bộnhớ chương trình
Đối với kiến trúc Von-Neumann, bộ nhớ dữ liệu và bộ nhớ chương trình nằmchung trong một bộ nhớ, do đó ta có thể tổ chức, cân đối một cách linh hoạt bộ nhớchương trình và bộ nhớ dữ liệu Tuy nhiên điều này chỉ có ý nghĩa khi tốc độ xử lí củaCPU phải rất cao, vì với cấu trúc đó, trong cùng một thời điểm CPU chỉ có thể tươngtác với bộ nhớ dữ liệu hoặc bộ nhớ chương trình Như vậy có thể nói kiến trúc Von-Neumann không thích hợp với cấu trúc của một vi điều khiển
Đối với kiến trúc Harvard, bộ nhớ dữ liệu và bộ nhớ chương trình tách ra thành hai
bộ nhớ riêng biệt Do đó trong cùng một thời điểm CPU có thể tương tác với cả hai bộnhớ, như vậy tốc độ xử lí của vi điều khiển được cải thiện đáng kể
Một điểm cần chú ý nữa là tập lệnh trong kiến trúc Harvard có thể được tối ưu tùytheo yêu cầu kiến trúc của vi điều khiển mà không phụ thuộc vào cấu trúc dữ liệu Ví
dụ, đối với vi điều khiển dòng 16F, độ dài lệnh luôn là 14 bit (trong khi dữ liệu được
tổ chức thành từng byte), còn đối với kiến trúc Von-Neumann, độ dài lệnh luôn là bội
số của 1 byte (do dữ liệu được tổ chức thành từng byte)
Trang 21lệnh không còn phụ thuộc vào cấu trúc dữ liệu nữa mà có thể linh động điều chỉnh tùytheo khả năng và tốc độ của từng vi điều khiển Và để tiếp tục cải tiến tốc độ thực thilệnh, tập lệnh của họ vi điều khiển PIC được thiết kế sao cho chiều dài mã lệnh luôn cốđịnh (ví dụ đối với họ 16Fxxxx chiều dài mã lệnh luôn là 14bit) và cho phép thực thilệnh trong một chu kì của xung clock (ngoại trừ một số trường hợp đặc biệt như lệnhnhảy, lệnh gọi chương trình con…cần hai chu kì xung đồng hồ) Điều này có nghĩa tậplệnh của vi điều khiển thuộc kiến trúc Harvard sẽ ít lệnh hơn, ngắn hơn, đơn giản hơn
để đáp ứng yêu cầu mã hóa lệnh bằng một số lượng bit nhất định
Vi điều khiển được tổ chức theo kiến trúc Harvard còn được gọi là vi điều khiểnRISC (Reduced Instrucsion Set Computer) hay vi điều khiển có tập lệnh rút gọn Viđiều khiển được thiết kế theo kiến trúc Von-Neumann còn được gọi là vi điều khiểnCISC (Complex Instruction Set Computer) hay vi điều khiển có tập lệnh phức tạp vì
mã lệnh của nó không phải là một số cố định mà luôn là bội số của 8 bit (1byte)
2.2 4 Pipelining
Đây chính là cơ chế xử lí lệnh của các vi điều khiển PIC Một chu kì lệnh của viđiều khiển sẽ bao gồm 4 xung clock Ví dụ ta sử dụng oscillator có tần số 4MHz, thìxung lệnh sẽ có tần số 1MHz (chu kì lệnh sẽ là 1us) Giả sử ta có một đoạn chươngtrình như sau:
Trang 22- TCY5: thực thi lệnh đầu tiên của SUB_1 và đọc lệnh tiếp theo của SUB_1.Quá trình này được thực hiện tương tự cho các lệnh tiếp theo của chươngtrình.
Thông thường, để thực thi một lệnh, ta cần một chu kì lệnh để gọi nó, và một chu
kì xung clock nữa để giãi mã và thực thi lệnh Với cơ chế pipelining được trình bày ởtrên, mỗi lệnh xem như chỉ được thực thi trong một chu kì lệnh Đối với các lệnh màquá trình thực thi nó làm thay đổi giá trị thanh ghi PC (Program Counter) cần hai chu
kì lệnh để thực thi vì phải thực hiện việc gọi lệnh ở địa chỉ thanh ghi PC chỉ tới Saukhi đã xác định đúng vị trí lệnh trong thanh ghi PC, mỗi lệnh chỉ cần một chu kì lệnh
để thực thi xong
Trang 232.2 5 Các dòng pic và cách lựa chọn vi điều khiển pic
Các kí hiệu của vi điều khiển PIC:
- PIC12xxxx: độ dài lệnh 12bit
- PIC16xxxx: độ dài lệnh 14bit
- PIC18xxxx: độ dài lệnh 16bit
- C: PIC có bộ nhớ EEPROM (chỉ có 16C84 là EEPROM)
- F: PIC có bộ nhớ FLASH
- LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp
- LV: tương tự như LF, đây là kí hiệu cũ
Bên cạnh đó một số vi điều khiển có kí hệu xxFxxx là EEPROM, nếu có thêm chữ
A ở cuối là flash (ví dụ PIC16F877 là EEPRPOM, còn PIC16F887A là flash)
Ngoài ra còn có thêm một dòng vi điều khiển PIC mới là dsPIC
Ở Việt Nam phổ biến nhất là các họ vi điều khiển PIC do hãng Microchip sảnxuất
Cách lựa chọn một vi điều khiển PIC phù hợp:
- Trước hết cần chú ý đến số chân của vi điều khiển PIC cần thiết cho ứng dụng
Có nhiều vi điều khiển PIC với số lượng chân khác nhau, thậm chí có vi điềukhiển chỉ có 8 chân, ngoài ra còn có các vi điều khiển 28, 40, 44,… chân
- Cần chọn vi điều khiển PIC có bộ nhớ flash để có thể nạp xóa chương trìnhđược nhiều lần hơn
- Tiếp theo cần chú ý đến các khối chức năng được tích hợp sẵn trong vi điềukhiển, các chuẩn giao tiếp bên trong
- Sau cùng cần chú ý đến các khối bộ nhớ chương trình mà vi điều khiển chophép
- Ngoài ra mọi thông tin về cách lựa chọn vi điều khiển PIC có thể được tìmthấy trong cuốn sách “Select PIC guide” do nhà sản xuất Microchip cung cấp
Trang 242.2 6 Ngôn ngữ lập trình
Ngôn ngữ lập trình cho PIC rất đa dạng Ngôn ngữ lập trình cấp thấp có MPLAB(được cung cấp miễn phí bởi nhà cung cấp Microchip), các ngôn ngữ lập trình cấp caohơn bao gồm C, Basic, Pascal,…Ngoài ra còn có một số ngôn ngữ lập trình được pháttriển rieng dành cho PIC như PICBasic, MicroBasic…
2.2 7 Giới thiệu về vi điều khiển sử dụng trong mạch PIC18F4520
Hình 2.5: PIC18F4520
Trang 25Hình 2.6: Sơ đồ chân PIC18F4520
Trang 26Chức năng các chân:
- Chân (1) MCLR/VPP/RE3:
MCLR: là đầu vào Master Clear (reset) hoạt động ở mức thấp để reset toàn
bộ thiết bị
VPP: dùng để thay đổi điện áp đầu vào
RE3: đầu vào số
Các chân thuộc cổng vào ra của Port A
AN1 là đầu vào tương tự Input1
- Chân (4) RA2/AN2/VRFF-/CVREF:
RA2 là cổng vào ra số
AN2 là đầu vào tương tự Input2
VRFF- là đầu vào tương tự chuyển đổi A/D điện áp tham chiếu (mức thấp)
CVREF là đầu ra tương tự để so sánh điện áp chuẩn
- Chân (5) RA3/AN3/VRFF+:
RA3 là cổng vào ra số
AN3 là đầu vào tương tự Input3
VRFF+ là đầu vào tương tự chuyển đổi A/D điện áp tham chiếu (mức cao)
- Chân (6) RA4/T0CKI/C1OUT:
RA4 là đầu vào ra số
T0CKI là đầu vào xung bên ngoài của Timer0
Trang 27 HLVDIN là đầu vào tương tự để dò điện áp.
C2OUT là đầu ra bộ so sánh 2
- Chân (13) OSC1/CLKI/RA7:
OSC1 là đầu vào bộ dao động thạch anh hoặc là đầu vào nguồn cung bênngoài, khi ta nối dây với các thiết bị tương tự thì đầu vào này dạng ST(Schmitt Trigger Input With CMOS levels)
CLKI là đầu vào CMOS cho nguồn xung bên ngoài và luôn được phép nốivới chân OSC1
RA7 là chân vào ra sử dụng chung
- Chân (14) OSC2/CLKO/RA6:
OSC2 là đầu ra bộ dao động thạch anh được nối với thạch anh hoặc bộ cộnghưởng để lựa chọn dạng bộ dao động thạch anh
CLK0 có tần số bằng ¼ tần số của OSC1 độ rộng chu kì lệnh
RA6 là đầu vào ra chung
Các chân cổng vào ra hai chiều PORT B PORT B có thể lập trình bằng phần mềmkhi cho kéo đầu vào bên trong yếu lên trên toàn bộ đầu vào
- Chân (33) RB0/INT0/FLT0/AN12:
RB0 là cổng vào ra số
INT0 là đầu vào ngắt Interrupt 0
FLT0 là đầu vào báo lỗi PWM được tăng cường CCP1
AN12 là đầu vào tương tự Input12
- Chân (34) RB1/INT1/AN10:
RB1 là đầu vào ra số
INT1 là đầu vào ngắt ngoài Interrupt1
AN10 đầu tương tự Input 10
- Chân RB4 (37), RB5 (38): xuất nhập số
- Chân (35) RB2/INT2/AN8:
RB2 là đầu vào ra số
INT2 là đầu vào ngắt ngoài Interrupt2
AN8 là đầu tương tự Input 8
Trang 28- Chân (36) RB3/AN9/CCP2:
RB3 là đầu vào ra số
AN9 là đầu tương tự Input 9
CCP2 (Capture 2 Input/Compare 2 output/PWM2 Output)
- Chân (37) RB4/KBI0/AN11:
RB4 là đầu vào ra số
KBI0 thay đổi mở ngắt
AN11 là đầu tương tựu Input9
- Chân (38) RB5/KBI1/PGM:
RB5 là đầu vào ra số
KBI1 thay đổi mở ngắt
PGM cho phép có thể lập trình ISCPTM ở điện áp thấp
- Chân (39) RB6/KBI2/PGC:
RB6 là đầu vào ra số
KBI2 thay đổi mở ngắt
PGC chân dùng trong mạch chạy và xung lập trình ICSP
- Chân (40) RB7/KBI3/PGD:
BR7 là đầu vào ra số
KBI23 thay đổi mở ngắt
PGD chân dùng trong mạch chạy và xung lập trình ICSP.Các chân cổng PORT C
- Chân (15) RC0/ T1OSO/T13CKI:
RC0 là đầu vào ra số
T1OSO là đầu ra bộ dao động Timer1
T13CKI là đầu vào xung bên ngoài Timer1/Timer3
- Chân (16) RC1/T1OSI/CCP2:
RC1 là đầu vào ra số
T1OSI là đầu vào bộ dao động Timer1
CCP2 (Capture 2 Input/Compare 2 Output/PWM2 Output)
- Chân (17) RC2/CCP1/P1A:
Trang 29 RC2 là đầu vào ra số
CCP1 (Capture1 input/Compare 1 output/PWM1 output)
P1A là đầu ra tang cường CCP1
- Chân (18) RC3/SCK/SCL:
RC3 là đầu vào ra số
SCK là đầu vào ra đưa chuỗi xung vào ra cho SPI lựa chọn
SCL là đầu vào ra đưa chuỗi xung vào ra cho I2CTM lựa chọn
- Chân (23) RC4/SDI/SDA:
RC4 là đầu vào ra số
SDI đầu vào dữ liệu API
SDA đầu vào ra dữ liệu cho I2C
TX là đầu ra chuyển đổi dị bộ EUSARRT
CK đầu vào ra xung đồng bộ EUSART
- Chân (26) RC7/RX/TD:
RC7 là đầu vào ra số
RX là đầu vào nhận dị bộ EUSART
DT là đầu vào ra dữ liệu đồng bộ EUSART
Các chân cổng PORT D (PORTD có thể vào ra hai hướng hoặc cổng song songphụ thuộc (PSP) cho giao diện vi xử lý và khi đó các đầu vào phải là TTL
Trang 30 PSP5 là cổng dữ liệu song song phụ thuộc
P1B là đầu ra tăng cường CCP1
- Chân (29) RD6/PSP6/P1C:
RD6 là đầu vào ra số
PSP6 là cổng dữ liệu song song phụ thuộc
P1C là đầu ra tăng cường CCP1
- Chân (30) RD7/PSP7/P1D:
RD7 là đầu vào ra số
PSP7 là cổng dữ liệu song song phụ thuộc
P1D là đầu ra tăng cường CCP1
Các chân cổng PORT E
- Chân (8) RE0/RD/AN5:
RE0 là đầu ra vào số
RD là đầu vào điều khiển đọc cho cổng PSP
AN5 là đầu vào tương tự Input5
- Chân (9) RE1/WD/AN6:
RE1 là đầu vào ra số
WR là đầu vào điều khiển viết dữ liệu cổng PSP
AN6 là đầu vào tương tự input6
Trang 31- Chân (10) RE2/CS/AN7:
RE2 là đầu vào ra số
CS là điều khiển chọn chip cho cổng PSP
AN7 là đầu vào tương tự input7
- Đầu RE3 nằm ở chân 1
Các chân khác
- Chân 12, 31 (VSS): nối đất chẩn cho I/O và logic
- Chân 11, 32 (VDD): cung cấp nguồn dương cho I/O và logic
2.2 8 Một vài thông số về vi điều khiển PIC18F4520
- CPU tốc độ cao có 75 cấu trúc lệnh, nếu được cho phép có thể kéo dài đến 83cấu trúc lệnh
- Hầu hết các cấu trúc lệnh chỉ mất một chu kỳ máy, ngoại trừ lệnh rẽ nhánhchương trình mất hai chu kỳ máy
- Tốc độ làm việc: xung clcok đến 40MHz, tốc độ thực thi lệnh 125ns
- Bộ nhớ chương trình (flash program memory) là 32kbyte
- Bộ nhớ dữ liệu SRAM là 1536 byte
- Bộ nhớ dữ liệu EEPROM là 256 byte
- 5 Port vào hoặc ra
- 4 bộ timer
- 1 capture/Compare/PWM modules
- 1 enhanced capture/Compare/PWM modules
- Giao tiếp nối tiếp: MSSP, enhanced USART
- Cổng giao tiếp song song
- 13 bộ Analog to Digital module 10 bit
- POR, BOR
- Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:
Bộ nhớ Flash có khả năng ghi xóa được 100.000 lần
Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần
Flash/Dữ liệu bộ nhớ EEPROM có thể lưu trữ hàng 100 năm
Trang 32 Khả năng tự nạp chương trình với sự điều khiển của phần mềm.
Watchdog time với bộ dao động trong
Chức năng bảo mật mã chương trình
Chế độ Sleep
Có thể hoạt động với nhiều dạng Oscillator khác nhau
Bảng 1: Thông số về vi điều khiển PIC18F4520
Đặc điểm PIC18F4520Tần số hoạt động DC-40MHz
Reset và Delay POR, BOR (PWRT, OST)
Bộ nhớ chương trình Flash 32Kbyte
Bộ nhớ dữ liệu SRAM (byte) 1536
Bộ nhớ dữ liệu EEPROM (byte) 256
Trang 332.2 9 Sơ đồ khối vi điều khiển PIC18F4520
Hình 2.7: Sơ đồ khối vi điều khiển PIC18F4520
Sơ đồ khối của PIC18F4520, gồm các khối:
- Khối ALU- Arithmetic Logic Unit
- Khối bộ nhớ chứa chương trình - Flash Program Memory
- Khối bộ nhớ chứa dữ liệu EPROM - Data EPROM
Trang 34- Khối bộ nhớ file thanh ghi RAM - RAM file Register.
- Khối giải mã lệnh và vi điều khiển – Instruction Decode Control
- Khối thanh ghi đặc biệt
- Khối ngoại vi timer
- Khối giao tiếp nối tiếp
- Khối chuyển đổi tín hiệu tương tự sang số - ADC
- Khối các port xuất nhập
Để mã hóa được địa chỉ 64K word bộ nhớ chương trình, bộ đếm chươngtrình sẽ có 21 bit (PC<20:0>)
Khi vi điều khiển được Reset bộ đếm chương trình sẽ chỉ đến địa chỉ 0000h(Reset Vector) Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đến địa chỉ0008h (Interrupt Vector) Bộ nhớ chương trình bao gồm các bộ nhớ Stack
và được địa chỉ hóa bởi bộ đếm chương trình
Trang 35Hình 2.8: Sơ đồ tổ chức bộ nhớ chương trình và ngăn xếp
Trang 36Hình 2.9: Sơ đồ bộ nhớ dữ liệu RAM
Trang 372.2 11 Bộ nhớ dữ liệu
Hình 2.10: Sơ đồ bộ nhớ dữ liệu PIC18F4520
2.2 12 Các thanh ghi EEPROM
Thanh ghi điều khiển EEPROM 1: EECON1
- Ghi chú:
S = Bit chỉ được thiết lập (không xóa được bằng phần mềm)
Trang 38 1 = Truy cập bộ nhớ chương trình Flash.
0 = Truy cập bộ nhớ dữ liệu EEPROM
- Bit 6 CFGS: Bit lựa chọn cấu hình hoặc bộ nhớ chương trình Flash/dữ liệuEEPROM
1 = Truy cập thanh ghi cấu hình
0 = Truy cập bộ nhớ chương trình Flash hoặc dữ liệu EEPROM
- Bit 5 không sử dụng, đọc trả về giá trị ‘0’
- Bit 4 FREE: Bit cho phép xóa hàng bộ nhớ Flash
1 = Xóa hàng bộ nhớ chương trình được thiết lập, địa chỉ chứa trong thanhghi TBLPTR, được xóa từ lệnh WR kế tiếp
0 = Ghi hoàn thành
- Bit 3 WRERR: Bit cờ lỗi bộ nhớ chương trình Flash/bộ nhớ dữ liệu EEPROM
1 = Lỗi hoạt động ghi (hoạt động ghi bị kết thúc trước)
0 = Chỉ thực hiện ghi
- Bit 2 WREN: bit cho phép ghi bộ nhớ chương trình Flash /dữ liệu EEPROM
1 = Cho phép ghi vào bộ nhớ chương trình Flash /dữ liệu EEPROM
0 = Không cho phép ghi chép
- Bit 1 WR: bit điều khiển ghi
1 = Khởi tạo quá trình xóa/ghi bộ nhớ dữ liệu EEPROM hoặc xóa bộ nhớchương trình hoặc ghi bộ nhớ chương trình (Được xóa bằng phần cứng khiviệc ghi hoàn thành Thiết lập được bằng phần mềm nhưng không đượcxóa)
Trang 39 0 = Quá trình ghi hoàn thành.
- Bit 0 RD: Bit điều khiển đọc
1 = Khởi tạo quá trình đọc bộ nhớ EEPROM (đọc mất một chu kỳ máy Bit
RD được xóa bằng phần cứng Thiết lập được bằng phần mềm nhưng khồnđược xóa Bit RD không được thiết lập khi EEPGD = 1 hoặc CFGS = 1)
0 = Không khởi tạo quá trình đọc EEPROM
Thanh ghi điều khiển EEPROM 2: EECON2
Thanh ghi EECON2 không phải là thanh vật lý, nó được dành riêng cho việc ghi vàxóa bộ nhớ Đọc EECON2 sẽ được ‘0’
Thanh ghi dữ liệu EEPROM: EEDATA
Thanh ghi EEDATA có 8 bit, là thanh ghi đệm dữ liệu cho bộ nhớ dữ liệu EEPROM,được sử dụng để truy cập vào dữ liệu của bộ nhớ (Cho phép đọc ghi bằng phần mềm,mỗi ô nhớ của EEPROM có 8 bit)
Thanh ghi địa chỉ EEPROM: EEADR
Thanh ghi EEADR có 8 bit, là thanh ghi địa chỉ của bộ nhớ dữ liệu EEPROM 8 bitcủa thanh ghi EEADR được sử dụng để địa chỉ hóa 256 ô nhớ của EEPROM từ 00hđến FFh
2.2 13 Các cổng xuất nhập của PIC18F4520
Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùng để tươngtác với thế giới bên ngoài Sự tương tác này rất đa dạng và thông qua quá trình tươngtác đó, chức năng của vi điều khiển được thể hiện một cách rõ ràng
Một cổng xuất nhập của vi điều khiển bao gồm nhiều chân (I/O pin), tùy theo cách
bố trí và chức năng của vi điều khiển mà số lượng cổng xuất nhập và số lượng chântrong mỗi cổng có thể khác nhau Bên cạnh đó, do vi điều khiển được tích hợp sẵn bêntrong các đặc tính giao tiếp ngoại vi nên bên cạnh chức năng là cổng xuất nhập thôngthường, một số chân xuất nhập còn có thêm các chức năng khác để thể hiện sự tácđộng của các đặc tính ngoại vi nêu trên đối với thế giới bên ngoài Chức năng của từng
Trang 40chân xuất nhập trong mỗi cổng hoàn toàn có thể được xác lập và điều khiển đượcthông qua các thanh ghi liên quan đến chân xuất nhập đó.
Vi điều khiển PIC18F4520 có 5 cổng xuất nhập bao gồm PORTA, PORTB,PORTC, PORTD và PORTE Cấu trúc và chức năng của từng cổng xuất nhập sẽ được
đề cập cụ thể trong phần sau
2.2 14 Port A
PORTA (RPA) bao gồm 8 I/O pin Đây là các chân “hai chiều” (bidirectional pin),nghĩa là có thể xuất và nhập được Chức năng I/O này được điều khiển bởi thanh ghiTRISA Muốn xác lập chức năng của một chân trong PORTA là input, ta “set” bit điềukhiển tương ứng với chân đó trong thanh ghi TRISA và ngược lại, muốn xác lập chứcnăng của một chân trong PORTA là output, ta “clear” bit điều khiển tương ứng vớichân đó trong thanh ghi TRISA Thao tác này hoàn toàn tương tự đối với các PORT vàcác thanh ghi điều khiển tương ứng TRIS (đối với PORTA là TRISA, đối với PORTB
là TRISB, đối với PORTC là TRISC, đối với PORTD là TRISD và đối với PORTE làTRISE) Bên cạnh đó PORTA còn là ngõ ra của bộ ADC, bộ so sánh, ngõ vào analogngõ vào xung clock của Timer0 và ngõ vào của bộ giao tiếp MSSP (MasterSynchronous Serial Port)
Các thanh ghi liên quan đến PORTA bao gồm:
- PORTA: chứa giá trị các pin trong PORTA
- TRISA: điều khiển xuất nhập
- CMCON: thanh ghi điều khiển bộ so sánh
- CVRCON: thanh ghi điều khiển bộ so sánh điện áp
- ADCON1: thanh ghi điều khiển bộ ADC
- LATA: đọc và viết đến thanh ghi dữ liệu
2.2 15 Port B
PORTB (RPB) gồm 8 pin I/O Thanh ghi điều khiển xuất nhập tương ứng làTRISB Bên cạnh đó một số chân của PORTB còn được sử dụng trong quá trình nạpchương trình cho vi điều khiển với các chế độ nạp khác nhau PORTB còn liên quan