Hệ thống vi xử lý hay còn gọi là máy tính điện tử là một trong những ứng dụng đó, nó là thiết bị xử lý thông tin, điều khiển các thiết bị bến ngoái hay các thiết bị công nghiệp một cách
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRUONG DAI HOC SU’ PHAM KY THUAT
THÀNH PHÓ HÒ CHÍ MINH
HGMUIIE
ĐỎ ÁN TÓT NGHIỆP NGÀNH LUẬN VĂN TÓT NGHIỆP
KHẢO SÁT HỌ IC PIC VÀ THỊ CÔNG CÁC ỨNG DỤNG DÙNG IC PIC 16F84
GVHD: NGUYEN DINH PHU SVTH: LÊ THỊ TUYẾT MAI
TRUONG MINH CUONG
1370 SKLOO1:
TP Hồ Chí Minh, thang 03/2003
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRUONG DAI HOC SU PHAM KY THUAT
KHAO SAT HO IC PIC VA THI
CONG CAC UNG DUNG
Giáo Viên Hướng Dẫn : NGUYỄN ĐÌNH PHÚ
Sinh Viên Thực Hiện : TRƯƠNG MINH CƯỜNG
: LÊ THỊ TUYẾT MAI
Tp - Hé Chi Minh : 03 - 2003
Trang 3BỘ GIÁO DỤC & ĐÀO TẠO 'TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN _ ĐIỆN TỬ
NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP
Họ và tên sinh viên: TRƯƠNG MINH CƯỜNG -MSSV :98101156
LÊ THỊ TUYẾT MAI - MSSV : 98101219
5 Giáo viên hướng dẫn: NGUYÊN ĐÌNH PHÚ
6 Ngày giao nhiệm vụ: 2/12/2002
7 Ngày hoàn thành nhiệm vụ: 22/02/2003
Thông qua bộ môn
uy
— pe sf wee apr
Trang 4NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Ngày24‡tháng 2 năm 2003
GIÁO VIÊN HƯỚNG DẪN
Trang 5NHẬN XÉT CỦA GIÁO VIEN PHAN BIEN
Ngày tháng năm 2003
GIÁO VIÊN PHẢN BIỆN
Trang 6LÙI A(Ở ĐẦU
Ngày nay, trên thế giới ngành khoa học-kỹ thuật đã có sự tiến bộ vượt bậc
và ngày càng trổ nên đa dạng, phong phú, đặc biệt là ngành kỹ thuật điện-điện
tử Những tiến bộ nay ngày càng được ứng dụng rộng rãi trong công nghiệp
cũng như trong đới sống sinh hoạt hăng ngày của con người
đã chứng minh được khả năng ưu việt cúa chúng phục vụ cho con người trong
đời sống hàng ngày Chúng đóng góp rất nhiều trong việc phục vụ nền kinh tế quốc dân, phục vụ quốc phòng và nhiều lĩnh vực nghiên cứu khoa học khác
Trong đó vi điểu khiển là lĩnh vực đã thực sự mang lại những hiệu qủa
chính xác và gọn nhẹ trong quá trình điều khiển, sản xuất Thoạt đầu vấn để tự
động hoá được thực hiện riếng lẻ từ cơ khí hoá đến các mạch điện tử Ngày
nay, với sự xuất hiện của các Chip vi diéu khiển và máy tính cùng với việc sử
dụng rộng rãi của nó đã đẩy vấn đẻ tự động hoá lên một bước cao hơn và thời lượng nhanh hơn nhằm đáp ứng nhanh chóng cho những nhu cầu của con người trong cuộc sống
NHÓM SINH VIÊN THỰC HIỆN
Trang 7I CẢM TA
Để hoàn thanh được luận án này, đầu tiên chúng em xin được kính lời cám
ơn đến Bản Giám Hiệu, quý Thấy Cô trong trường và đặc biệt là quý Thầy Cô trong bộ món Điện ạc Khoa Điện - Điện Tử trường Đại Học Sư Phạm
Kỹ Thuật TP.HCM, đã tán tình chí dẫn, truyền đạt kiến thức cũng như tạo điều
kiện thuận lợi cho chúng em được học tập và nghiên cứu trong suốt các năm
Ngoài ra chúng em cũng chân thành cảm ơn đến các bạn bè cùng khóa và
những người thân chung quanh đã giúp đỡ chúng em rất nhiều về vật chất cũng như tinh thần để chúng em có thể hoàn thành tốt luận án tốt nghiệp này đúng
thời hạn
NHÓM SINH VIÊN THỰC HIỆN
Trương Minh Cường
Lê Thị Tuyết Mai
Trang 8MUC LUC
Nhiệm Vụ Đồ An
+ Nhận Xét Của Giáo Viên Hướng Dẫn
# Nhận Xét Của Giáo Viên Phản Biện
Il Gidi Han Dé
II Mục Đích Nghién Céu
IV Thời Gian Nghiên Cứu
II Lich Sử Phát Triển Của Các Bộ Vi Điều Khiển
II Khảo Sát Họ Vi Điều Khiển PICI6F8X
1 Giới Thiệu Chung
2 Đặc Điểm Của Họ PICI6F8X
3 Các Loại IC Trong Họ PIC
CHUONG Il: KHAO SÁT VI DIEU KHIỂN HỌ PIC16F8X
I Nghiên Cứu Tổng Quát Về Cấu Trúc Bên Trong Của PIC16F8X
1 Giản Đô Xung Clock / Chu Kỳ Lệnh
2 Sự Thi Hành Lệnh / Đường Truyền Dẫn Sơ Đồ Chân PIC 16F8X
II, So Dé Chan PIC 16F8X
II Chức Năng Các Chân PICI6F8X
1 Chân RESET
2 Các chân port của vi điều khiển
3 Các ngõ vào của bộ dao động
Trang 9
CHUONG VI: MODULE TIMERO VA THANH GHI TMRO
CHƯƠNG VII : BỘ NHG DU LIEU EEPROM
Cấu trúc bộ nhớ RAM bên trong vi điều khiển PIC16F8X/ 16CR8X.23
Các thanh ghi trong bộ nhớ dữ liệu
2.1 File Thanh Ghi Da Dung
2.2 Các Thanh Ghi Chức Năng Đặc
2.3 Thanh Ghi STATUS
24° Thanh Ghi OPTION
2.5 Thanh Ghi INTCON
Bộ Đếm Chương Trình ( PC)
Ngắn Xếp
Việc Định Địa Chỉ Gián 1
Thanh Ghi TRISA Va PORTA
Cac Chite Nang PORTA
Sơ Đồ Khối Bén Trong Của Các Chân Xuất Nhập Của PORTA
PORTB Và Thanh Ghi TRISB
Các Chức Nắng PORT B
Sơ Đề Khối Bên Trong Của Các Chân Xuất Nhập Của PORTB
Những Lưu Ý Đối Với Các Hoạt Động Xuất / Nhập
Các Port Xuất / Nhập Hai Chiều
Những Hoạt Động Tuần Tự Trên Các Chân Port I/
Ngắt TIMER0
Sử Dụng TMRO Với Nguồn Xung Clock Bên Ngoà
Sự đông bộ hóa xung clock bên ngoài
Thanh GhI EECON 2
Việc Đọc Bộ Nhớ Dit Ligu EEPROM
Việc Ghi Vào Bộ Nhớ Dữ Liệu EEPROM
Việc Kiểm Tra Hoạt Động G
Việc Bảo Vệ Để Chống Lại Các Hoạt Động Ghi Giá Mạo
Trang 10VỊ Hoạt Động Của Dữ Liệu Eeprom Trong Giai Đoạn Bảo Vệ Mã Lệnh 48
CHUONG VII: NHỮNG ĐẶC ĐIỂM ĐẶC BIỆT CUA CPU
I Những Bit Cấu Hình
Il RESET
Ill | POWER-ON RESET (POR)
IV POWER-UP TIMER (PWRT)
V Bộ Dao Bong START-UP TIMER (OST)
VI ‘Time-Out Sequence Va Power-Down Status Bits (TO/PD)
Vil RESET ON BROWN-OUT
VIL INTERRUPTS (NGA)
IX Ngất Mr.+f (INT INTERRUPT)
X Nedt Tran TM (PMRO INTERRUPT)
XL Npdt PORT RB
XI, Law Di Liéu T: uốt Thời Gian Ngắt
XII WATCHDOG TIMER (WDT)
XIV Thời Kỳ WDT(WDT PERIOD)
XV Lập Trình WDT
XVI POWER-DOWN MODE(SLEEP)
XVI SLEEP
XVII Khởi Dong Tit SLEEP
XIX Khởi Động Sử Dụng Các Nguồn Ngắt
XX Sự Định VịID
XXIL Lập Trình Tuân Tự Trên Mạch
CHƯƠNG IX: CẤU TRÚC CÁC KIỂU LỆNH
I._ Các Ký Hiệu Trong Cấu Trúc Lệnh Của PIC16F8X
Il Khuôn Khổ Chung Cho Một Số Lệnh Của PICI6F8X
IH Một Số Lệnh Cơ Bản Của PIC16F8X
IV Diễn Tả Các Kiểu Lệnh
CHƯƠNG X : ỨÍNG DỤNG CUA PICI6F8X
I Ưng Dụng PIC16F8X Trong Hệ Thong Kit Vi Diéu Khién
II Mạch Đếm Sản Phẩm Dùng Vi Điều Khiển PIC16F8X
II Ưng Dụng Vi Điều Khiển PIC16F8X Dùng Để Thiết Kế Bàn Phím Và
Mạch Hiển Thị (Dùng Led 7 Đoạn) : (Keyboard And Display)
IV Ung Dung PICI6F8X Trong Viéc Chuyén Béi ADC - DAC
6) -M6tSé Ung Dung Khic
Trang 11PHANB; THI CONG
THỊ CÔNG BỘ THÍ NGHIỆM DÙNG ĐỂ HỌC LẬP TRÌNH
CHO IC PIC16F8X
I_ Giới Thiệu Bộ Thí Nghiệm Cho Họ Vi Điều Khiển PIC16F8:
1 Sơ Đổ Khối Chung Của Bộ Thí Nghiệm
2 Board Chính
3, Board Mé Rong
3.1 Giao Tiếp Led 7 Đoạn
3.2 Giao Tiếp Led Ma Tra
3.3 Điều Khiển Đóng Cơ Bước
4 Khối Nguồn
I, Board Nạp Chưởng Trình Cho PICI6F8X
1, Phan Citng (Hard Ware,
2 Phan Mém (Soft Ware)
II Chương Trình Biến Dịch Từ FILE.ASM->FILE.HEX
IV Cách Viết Chương Trình Cho IC PIC 16F84
V Một Số Chương Trình Mẫu Dùng Cho Bộ Thí Nghiệm
1 Hiển Thị Led Đơn
1.1 Chớp Tất Hai PORTA Và PORTB
1⁄2 Đếm Nhị Phân (Đếm Lên)
2 Hiển Thị Led 7 Đoạn
Hiển Thị Trên Led Ma Trận
4 Điều Khiển Động Cơ Bước
Trang 12
Sơ Đồ Khối PICI6F8X
Chu Kỳ Xung Clock Và Chu Kỳ Lệnh
Sơ Đô Chân PIC
Mạch Reset Bên Trong
Hoạt Động Dùng Thạch Anh / Gốm Cộng Hưởng
(Cấu Hình HS, XT Hay LP) Hoạt Động Ngõ Vào Xung Clock Bên Ngoài (HS, XT Hay LP)
Kiểu Cộng Hưởng Song Song
Thạch Anh Mắc Kiểu Cộng Hưởng Nối Tiếp
Su Đó Bọ Nhớ Chương Trình Và Ngăn Xếp PIC16F83/CR83
Sơ Đó Bộ Nhớ Chương Trình Và Ngăn Xếp PIC16F84/CR84
Sơ Đồ Thanh Ghi PIC16F83
Sơ Đỏ Thanh Ghi PIC16F84
Sơ Đồ Khối Các Chán RA0 RA3
So Dé Khoi Chan RA4
Sơ Đồ Khối Các Chân RBO RB3
Sơ Đô Khối Các Chân RB4 RB7
Hoạt Động I/O Nối Tiế
Sơ Đổ Khối TIMERO
Hoạt Động Định Thời TMR0 Với Xung Clock Bên Trong/ Không Có Prescaler
Hoạt Động Định Thời TMRO Với Xung Ciock Bên Trong /
C6 Prescaler 1:2
Hoạt Động Định Thời Ngắt TMRI
Hoạt Động Định Thời TIMERO0 Với Xung Clock Bên Ngoài
Sơ Đồ Khối Của TMRO/WDT Prescaler
Configuration Word - PICI6CR83 Và PIC16CR84 Configuration Word — PIC16F83 Và PIC16F84
Sơ Đồ Khối Đơn Giản Của Mạch Reset Trên IC
Thời Gian Nghĩ Xãy Ra Trên Power Up ( Trường Hợp l)
Thời Gian Nghĩ Xãy Ra Trên Power Up ( Trường Hợp 2) 56
Thời Gian Nghĩ Xãy Ra Trên Power_Up
(Vdd Tăng Lên Nhanh)
Mach Reset Power-On Bên Ngoài (Cho Nguồn Vụ, Tăng
Trang 13
Hình 8.8 : Thời Gian Nghĩ Xãy Ra Trên Power Up
Hình !1.I ; Sơ Đồ Khối Chung Cho Bộ Thí Nghiệm .94
.94
Hình 11.2: sơ Đồ Khối BOARD Chinh
Hinh 11.3 Nguyên Lý BOARD Chính
Hình I1.4 : Sơ Đồ Khối Giao Tiếp Led 7 Đoạn
Hình 11.5 : Sơ Đỏ Nguyên Lý Giao Tiếp Led 7 Đoạn
Hình 11.6 : Sơ Đồ Khối Giao Tiếp Led Ma Trận
Hình 11.7:
Hình 11.8: 2 6
Hình 11.9 : Sơ Đổ Nguyên Lý Của Mạch Điều Khiển Động Cơ Bước
Hình 11.10 : Sơ Đổ Nguyên Lý Khối Nguồn
Hình 11.11 : Hình Dạng BOARD Nạp
Hình 11.12 : Sơ Đổ Mạch In Của BOARD Nạp
Hình 11.13 : Sơ Đồ Bố Trí Linh Kiện Của BOARD Nạp
Hình 11.14 : Cửa Sổ Chính Của Chương Trình
Hình 11.15 : Cửa Sổ Dữ Liệu
Hình 11.16 : Cửa Sổ Chương Trình MPLAB
Trang 14LIET KE CAC BANG
Bang 2
Bang 3
Các Vi Điều Khiển Thuộc Họ PIC16F8X
Giá Trị Của Tụ C1 Và C2 Ứng Với Khi Ding
Gốm Cộng Hưởng(PIC 16F83/ CR83/ F84/CR84 Bảng 3.2: Giá Trị Của Tụ C1 Và C2 Ứng Với Dao Động
'Thạch Anh (PIC 16F83/ CR83/ F84/CR84)
Bang 4.1: Dung Lugng Bộ Nhớ
Bang 4.2: Tóm Tắc Pay Đủ Các Thanh Ghi Đặc Biệt Có Trong Cả
Hai Bank0 Và BankI Của Họ Vi Điêu Khiển PIC16F8X
Bảng 5.1: Các Chức Náng Của PORTA
Bang 5.2: Bang 16m T4t Các Thanh Ghi Kết Hợp V6i PORT
Bang 5.3: Các Chức Náng Của PORTB
Bảng 54: Bảng Tóm Tất Các Thanh Ghi V6i PORT:
Bang 6.1: Ghi Kết Hợp Với Timer0 4 Bang 7.1: Quan Hệ Giữa Nhifng Bit Thanh Ghi V6i Di Ligu EEPROM 49
Bang 8.1: Trạng Thái Eeset Cho Bộ Đếm Chương Trinh Và Thanh
Ghi Trang Th
Bảng 8.2: Những Trạng Thái Reset Cho Tất Cả Cac Thanh GI
Bảng 8.3: Thời Gian Nghĩ Trong Những Trạng 'Thái Khác Nhau
Bảng 8.4: Nhing Bit STATUS Va Ý Nghĩa Của Chúng
Bảng 8.5: Tóm Tắt Những Thanh Ghi Kết Hợp Với Watchdog Timer
Bảng 9.1: Các Ký Hiệu Trong Cấu Trúc Lệnh
Bang 9.2: Diễn Tả Các Kiểu Lệnh
Trang 15
Luận văn tốt nghiệp GVHD: NGUYỄN ĐÌNH PHÚ
Sean Wii 0g
CHUONG I
GIỚI THIỆU
L DAT VANDE:
‘Trong những năm gan đây, ngành khoa học_kỹ thuật phát triển một cách
nhanh chóng, đặc biệt là ngành kỹ thuật điện điện tử Những tiến bộ này ngày
càng được ứng dụng rộng rãi trong công nghiệp cũng như trong đời sống sinh hoạt hing ngây của con người Hệ thống vi xử lý hay còn gọi là máy tính điện
tử là một trong những ứng dụng đó, nó là thiết bị xử lý thông tin, điều khiển
các thiết bị bến ngoái hay các thiết bị công nghiệp một cách tự động Khi cuộc
sông được nắng cao thì quá trình tự động là điều tất yếu
Các bộ vị điều khi eo thời gian cùng với sự phát triển của công nghệ
bán dẫn đã tiến triển rất nhanh, từ các bộ vi điều khiển 4 Bit đơn giản đến các
bộ vi điều khiển 32 Bit Với công nghệ tiên tiến ngày nay các máy tính có thể
đi đến việc suy nghĩ, trí thức các thông tin đưa vào, đó là các máy tính thuộc
thế hệ trí tuệ nhân tạo
Mặc dù vi điều khiển đã đi được những bước dài như vậy nhưng để tiếp
cận được với kỹ thuật này không thể là một việc có được trong một sớm một
chiều Việc hiểu được cơ chế hoạt động của bộ vi điều khiển 8 Bit là cơ sở để
chúng ta tầm hiểu và sử dụng các bộ vi điểu khiển tối tân hơn, đây chính là
bước đi đầu tiên khi chúng ta muốn xâm nhập sâu hơn vào lĩnh vực này 7
Để tìm hiểu bộ vi điều khiển một cách khoa học và mang lại hiệu quả cao làm nên tảng cho việc xâm nhập vào những hệ thống tối tân hơn Việc trang bị
những kiến thức về vi điều khiển cho sinh viên là điều hết sức cân thiết Xuất
phát từ thực tiển này em xin giới thiệu để tài “ KHẢO SÁT HỌ IC PIC VÀ
THI CONG CAC UNG DUNG DUNG IC PICI6F84 ” Đây chỉ là một số ít
kiến thức nhằm phục vu cho bạn đọc muốn tìm hiểu về vi điều khiển
nt
I GIGIHANDE TAI:
Mặc dù chúng em đã cố gắng rất nhiều để hoàn thành dé tai nay Nhung
do thời gian và kiến thức có hạn nên nội dung còn nhiều thiếu sót Rất mong sự
đóng góp ý kiến của quý thầy cô và các bạn sinh viên để tập luận án này được
hoàn thiện hơn Nội dung nghiên cứu gồm :
— Khảo sát chức năng và dic diém cla IC PICIOF8X
— Thi công các ứng dụng của IC PIC16F8X
———————
Chương I : Giới Thiệu 1 SVTH:Trương Minh Cường
:Lê Thị Tuyết Mai
Trang 16Luận văn tốt nghiệp GVHD: NGUYỄN ĐÌNH PHÚ
II MỤC ĐÍCH NGHIÊN CỨU :
Việc chon dé tài xuất phát từ hai lý do:
— Khách quan: hiện nay các nền công nghiệp có nhu câu hiện đại hóa các
thiết bị theo xu hướng cải tiến hóa các thiết bị bằng cơ khí sang thiết bị điều khiển tự động ứng dụng kỹ thuật điện tử
~ Chữ quan: do nhu cầu học tập, nghiên cứu, rèn luyện kỹ năng thực hành, ứng dụng vốn kiến thức khoa học kỹ thuật tiên tiến trực tiếp vào lĩnh vực
sắn xuất
Nhiệm vụ nghiên cứu nhằm đạt được các mục đích chủ yếu:
Mục dích trước mắt: thỏa mãn về cơ bẳn các yêu cầu để ra theo phương
châm “Hục đi đói với hành” Ta phải nắm vững lý thuyết và cách sử dụng
vị điều khiến mớt cách rõ ràng để vận dụng nó vào trong thực tế
— Mục đích láu dai : Tích lũy kinh nghiệm, rèn luyện và nâng cao năng lực,
tạo bản lĩnh để sẩn sảng tham gia lao động sản xuất, hòa nhập vào bước tiến của thế gi‹
© Cu thé khí nghiền cứu thực hiện để tài là chúng em muốn phát huy những thành quả ứng dụng của vi điều khiển nhằm tạo ra những sản phẩm, những thiết bị tiên tiến hơn, và đạt hiệu quả sản xuất cao hơn
© Mặt khác tập luận văn này cũng có thể làm tài liệu tham khảo cho những sinh viên khóa sau Giúp họ hiểu rõ hơn về những ứng dụng của
vi điều khiển
© Ngdai ra quá trình nghiên cứu thực hiện để tài là một cơ hội để chúng
em học hỏi thêm nhiều kiến thức, đồng thời phát huy tính sáng tạo, kha năng giải quyết mọi vấn để theo yêu câu đặt ra Và đây cũng là dịp để chúng em tự khẳng định mình trước khi ra trường để tham gia vào các
hoạt động sản xuất của xã hội
IV THỜI GIAN NGHIÊN CỨU:
—_ Tuần 1 : Lập để cương tổng quát
—_ Tuân 2: Thu thập tài liệu
— Tuần 3 : Lập đề cương chỉ tiết
—_ Tuần 4, 5, 6, 7 : Triển khai đề cương và đánh máy
~—_ Tuần 8 : Sửa chửa định dạng toàn bộ để tài
— Tuần9:in ấn
“_- Ồẹ<s.ăumaĩắẫắẫmaaaắ Chương : Giới Thiệu 2 SVTH:Trương Minh Cường
:Lê Thị Tuyết Mai
Trang 17PHẦN A
“
Ly
THUY EET
Trang 18Bộ vi điều khiển viết tắt là Micro-controller, là mạch tích hợp trên một chip có
thể lập trình được, dùng để điểu khiển hoạt động của một hệ thống Theo các tập lệnh của người lấp trình, bộ vi điều khiển tiến hành đọc, lưu trữ thông tin, xử lý
hành đóng mở một cơ cấu nào đó
thông tin, do thời gián và tiến
Trong các thiết bị điện và điện tử dân dụng, các bộ vi điều khiển, điều khiển
hoạt động của TV, máy z¡át, đâu đọc laser, điện thọai, lò vi-ba Trong hệ thống
sẵn xuất tự động, bộ vi điều khiến được sử dụng trong Robot, dây chuyển tự động
Các hệ thống càng “thông minh” thì vai trò của hệ vi điều khiển càng quan trọng
II LICH SU PHÁT TRIỂN CỦA CÁC BỘ VI ĐIỀU KHIỂN :
Năm 1971 xuất hiện bộ vi xử lí 4 bit loại TMS1000 do công ty texas
Instruments vừa là nơi phát minh vừa là nhà sản xuất Nhìn tổng thể thì bộ vi xử lí chỉ có chứa trên một chip những chức năng cần thiết để xử lí chương trình theo một
trình tự, còn tất cả bộ phận phụ trợ khác cân thiết như : bộ nhớ dữ liệu , bộ nhớ chương trình , bộ chuyển đổi A/D, khối điều khiển, khối hiển thị, điều khiển máy in,
khối đồng hồ và lịch là những linh kiện nằm ở bên ngoài được nối vào bộ vi xử lí
Mãi đến năm 1976 công ty INTEL (Interlligen-Elictronics) Mới cho ra đời bộ
vi điều khiển đơn chip đầu tiên trên thế giới với tên gọi 8048 Bên cạnh bộ xử lí
trung tâm 8048 còn chứa bộ nhớ dữ liệu, bộ nhớ chương trình, bộ đếm và phát thời
gian các cổng vào và ra Digital trên một chip
Các công ty khác cũng lần lượt cho ra đời các bộ vi điều khiển 8bit tương tự
như 8048 và hình thành ho vi diéu khiển MCS-48 (Microcontroller-sustem-48)
Đến năm 1980 công ty INTEL cho ra đời thế hệ thứ hai của bộ vi điều khiển
đơn chip với tên gọi 8051 Và sau đó hàng loạt các vi điều khiển cùng loại với 8051
ra đời và hình thành họ vi điều khiển MC§-51
:Lê Thị Tuyết Mai
Trang 19Luận văn tốt nghiệp GVHD : NGUYỄN ĐÌNH PHÚ Đến nay họ vi điều khiển 8 bit MCS51 đã có đến 250 thành viên và hầu hết
các công ty đều là hàng đầu thế giới chế tạo Đứng đầu là công ty INTEL và rất
nhiều công ty khác như : AMD, SIEMENS, PHILIPS, DALLAS, OKI
Ngoài ra còn có các công ty khác cũng có những họ vi điều khiển riêng như:
Họ 68HCOS của công ty Motorola
Họ ST62 - của công ty SGS-THOMSON
Họ H8 của công ty Hitachi
Họ PIC cuẩ công ty Microchip
Mỗi loại của mỗi hãng đều có những điểm mạnh riêng, tùy thuộc vào những, mục đích sử dụng mà ta có thể lựa chọn sao cho phù hợp Ngày nay trong lĩnh vực xắn xuất cũng như trong lĩnh vực dân dụng thì các ứng dụng của vi điều khiển là vô
hạn, nó vừa bảo đản được tính gọn nhẹ, giá thành cũng như thoã mãn được các yêu
cấu đật ra của người sứ dụng, Nấm được những yêu cầu sử dụng đó người nghiên
cứu đã chọn để tài n cứu của mình là khảo sát họ IC PIC (và tiêu biểu là IC
PICI6F84), là một trong những họ vi điểu khiển đã kể trên để góp một phân nào đó
vào việc nghiền cứu và phát triển các ứng dụng cho nghành điện tử nước ta, vốn
chỉ mới làm quen với vi điều khiển trong thời gian gần đây
II KHẢO SÁT HỌ VI ĐIỀU KHIỂN PICI6F8X :
1 GIỚI THIỆU CHƯNG :
Tất cả những ví điều khiển họ PIC16/17 đều sử dụng công nghệ RISC Những vi điều khiển thuộc họ PIC16CXX đều có những đặc điểm quan trọng,
đã được cải tiến, bộ nhớ ngăn xếp 8 cấp cùng nhiều nguồn ngắt bên trong và
bên ngoài Những lệnh độc lập và những bus dữ liệu thuộc công nghệ Harvard cho phép những từ lệnh mở rộng 14 bit với một bus dữ liệu 8 bit độc lập Với
đường ống dẫn lệnh hai giai đoạn sẽ cho phép tất cả các lệnh được thực thi
trong một chu kỳ đơn, chỉ ngoại trừ những lệnh phục vụ cho các nhánh chương trình (những lệnh này yêu cầu phải được thực hiện trong 2 chu kỳ) PIC 16F8X
đã có sẵn tập lệnh gồm 25 lệnh, hơn nữa một bộ thanh ghi lớn được dùng để đạt được một mức độ thực thi lệnh rất cao
Tất cá những vi điều khiển tiêu biểu thuộc họ PIC16F8X đều đạt được một hoạt động nén mã lệnh với ứ lệ 2:1 và việc cải tiến về tốc độ cũng với tỉ lệ 2:1
(đạt tới tốc độ 10MHz) hơn các vì điều khiển 8 bịt khác trong cùng một họ
PIC16F8X có dung lượng bộ nhớ RAM là 68 bytes, dung lương bộ nhớ dữ
liệu EEPROM là 64 bytes, có 13 chân ƯO , một bộ TIMER / COUNTER cũng
có sẵn
- Họ vi điều khiển PICI6CXX có những đặc điểm đặc biệt để giảm bớt các
bộ phận bên ngoài, vì thế giảm được giá thành, cải tiến được tính tin cậy của
Phần A : Lý Thuyết 5 SVTH :Trương Minh Cường
:Lê Thị Tuyết Mai
Trang 20Luận văn tốt nghiệp GVHD : NGUYỄN ĐÌNH PHÚ
hệ thống và giảm được sự tiêu thụ nguồn Họ này có 4 bộ phận dao động, mà trong đó chân dao động đơn RC cung cấp một giải pháp với giá thành thấp, chân dao động LP làm giẩm tối thiểu việc tiêu thụ nguồn, chân XT là một dao
động thạch anh chuẩn, và chân HS là những dao động thạch anh ở tốc độ cao Kiểu SLEEP (power — down) dành cho việc tiết kiệm nguồn Người sử dụng có
thể khởi động chip từ SLEEP qua các hoạt động reset và ngắt bên trong cũng như bên ngoài
Một bộ định thời (Watchdog Timer) có tính tin cậy cao với bộ dao động
RC bên trong của nó sẽ cung cấp cho việc bảo vệ để chống lại việc khoá các
phân mêm.,
Với bó nhớ chương trình Flash sẽ cho phép tính năng lập trình lại cập
nhật lại các mã lénh ma không phải loại bỏ thiết bị tif những ứng dung trước
Điều này thật sự hữu dụng cho việc phát triển của nhiễu ứng dụng mà đối với
thiết bị khác khóng thể thay đối được một cách dễ dàng
2 ĐẶC ĐIỂM CỦA HỌ PIC16F8X:
2.1 Những đặc điểm thực thi cao của RISC CPU:
> Chỉ gồm 35 lệnh từ đơn
> Chu kỳ đơn của tất cả các lệnh là 400ns ở tốc độ IOMHz ngoại trừ
những lệnh phục vụ cho các nhánh chương trình con đòi hỏi phải 2
Độ rộng của đường dẫn dữ liệu là 8 bit
15 thanh ghi chức năng đặc biệt phần cứng
— Ngắt khi có sự thay đổi ở các chân của PORTB (RB4 RB7)
— Ngắt sau khi hoàn thành việc ghi vào vùng nhớ EEPROM
> 1,000,000 chu kỳ cho hoạt động xoá/viết bộ nhớ dữ liệu EEPROM
>_ Tuổi thọ của dữ liệu EEPROM là trên 40 năm
VVVVVV
——ễễ-—ễ£ễ-_-
:Lê Thị Tuyết Mai
Trang 21Luận văn tốt nghiệp ee GVHD : NGUYỄN ĐÌNH PHÚ
2.2 Những đặc tính ngoại vi:
»_ 13 chân I/O với hướng điều khiển riêng biệt
>_ Nguồn dòng cao cho việc thúc Led trực tiếp:
= 25mA sink max cho mdi chân
— _ 20mA source max cho mỗi chân
> TMRO:8 bit Timer/Counter với 8 bit prescaler có thể lập trình được
2.3 Những đặc điểm đặc biệt của họ vi điều khiển PIC16F8X :
> Power-on Rcset (POR) : bộ phận reset mổ nguồn
> Power-up Timer (PWRT): bộ phận định thời mở nguồn
> Oscillator Start-up Timer (OST) : bộ định thời bắt đầu dao động
> Hộ định thơi Watchdog Timer (WDT) với bộ dao động RC bên trong
của nó cho những hoạt động đáng tin cậy
> Code-protection : bd phận bảo vệ mật mã
> Mode SLEEP tiét kiém nguồn
> Các bộ dao động có thể lựa chọn được
> Hệ thống chương trình nối tiếp qua hai chân (đó là những thiết bị của
ROM mà nó chỉ hỗ trợ cho chương trình dữ liệu EEPROM)
2.4 Những tính năng của cóng nghệ CMOS:
>_ Công nghệ CMOS Flash / EEPROM tiêu thụ nguồn thấp và tốc độ cao
»_ Việc thiết kế hoàn toàn tĩnh
> Độ rộng của vùng điện áp hoạt động :
—_ Trong thương mại: từ 2v đến 6v
—_ Trong công nghiệp: từ 2v đến 6v
> Tinh năng tiêu thụ nguồn thấp:
— <2mA cho loại 5v, 4MHz
— I5HA cho loại 2v, 32KHz
— <IHA cho loại dòng ở trạng thái chờ với điện áp 2v
3 CÁC LOẠI IC TRONG HỌ PIC :
PIC16F8X là một nhóm trong họ vi điều khiển PIC16CXX 8 bit, được chế
tạo theo công nghệ CMOS với sự thực thì ở tốc độ cao và giá thành rẻ Nhóm
này bao gồm những vi điểu khiển thuộc các họ sau:
Phần A : Lý Thuyết 7 SVTH :Trương Minh Cường
:Lê Thị Tuyết Mai
Trang 22Luận văn tốt nghiệp GVHD : NGUYỄN ĐÌNH PHÚ
Ngoài ra còn có những loại hoạt động với vùng điện áp được mở rộng như :
— PICI6LF8X
- PIC 16LCR8X
Sự đa dạng về vùng tấn số và việc lựa chọn các bộ phận đã sẵn có, tuỳ thuộc vào từng ứng dụng và nhu câu sắn xuất mà chúng ta lựa chọn thiết bị cho
phù hợp khi sử dụng các thông tin của hãng chế tạo Khi đặt hàng, hãy sử dụng
phân liệt kê về “Hệ thống nhận dang sản phẩm PICI6F8X ” được trình bày
dưới đầy để có những thông số phù hợp
a F, wong
Flash
bị PIC16F84 Những thiết bị này có bộ nhớ chương trình
a tâm hoạt động trên vùng điện áp chuẩn
bị PIC16LF84 Những thiết bị này có bộ nhớ chương,
rn hoạt động trên vùng điện áp được mở rộng
d LCR, trong thiết bị PIC16LCR84 Những thiết bị này có bộ nhớ chương
trình ROM và tắm hoạt động trên vùng điện áp được mở rộng
Khi bàn luận đến biểu đổ bộ nhớ và những đặc điểm về kỹ thuật khác thì việc sử dụng F và CR cũng bao hàm luôn cả các phiên bản LF và LCR Xem
BANG 2.1: CAC VI DIEU KHIEN THUQC HQ PIC16XX
PIC 16084 64 4 48-pin DIP, SOIC 1 Pic 1gFe4) 6 4 | 13 | 20-60 |18-pin DIP, SOIC
IPIC16CRBaff) 64 4 | 13 | 206.0 |18-pin DIP, SOIC
PIC1ôF832 4 | 13 | 20-6.0 |18-pin DIP, SOIC
IPIC16CR82/0 | 10 | — | — |512] 36 | 64] TMRO 4 | 13 | 20-80 |18-pinDIP,SOIC
Phần A : Lý Thuyết 8 SVTH :Trương Minh Cường
:Lê Thị Tuyết Mai
Trang 23Những loại IC này được đưa ra trong các liều vỏ bằng plastic với
giá thấp hơn, thậm chí có những thiết bị có thể xoá và lập trình lại
được trong mạch điện bởi bộ lập trình Điều này cho phép những thiết
bị giống nhau được dùng cho việc phát triển phiên bẩn gốc và các
chương trình thử nghiệm cũng như trong sắn xuất
3.2 Những Loại Sứ Dụng Bộ Nhớ Chương Trình ROM (ROM Devices):
Một vài loại IC của hãng Microchip có bộ nhớ chương trình là
bộ nhá ROM Những loại này sẽ giúp cho việc tiết kiệm chỉ phí hơn là
những luại mà bộ nhớ chương trình là EPROM hay EEPROM
Tuy nhiên những loại dùng bộ nhớ ROM này sẽ không cho phép
việc xuất thóng tin nối tiếp trong bộ nhớ chương trình Người sử dụng
có thể lập trinh những thông tỉn này vào trong bộ nhớ dữ liệu EEPROM
Trang 24Luận văn tốt nghiệp GVHD : NGUYỄN ĐÌNH PHÚ
Sự thực thi ở tốc độ cao của họ vi điều khiển PIC16CXX có thể được xem
là một trong số những đặc điểm cấu trúc mà thông thường nó được tìm thấy trong các ví xử lý thuộc họ RISC Họ vi điều khiển PIC16CXX thì sử dụng cấu
tric Harvard, clu trac nay có chương trình và dữ liệu được truy cập từ các bộ nhớ độc lập Vì thế các loại vi điều khiển này sẽ có một bus cho bộ nhớ dữ liệu
A mot bus cho bd nhớ chương trình Chính điều này sẽ cải thiện được tốc độ so
với kiến trúc truyền thống Neumann là chương trình và dữ liệu được truy cập
về từ cùng một bộ nhớ (truy cập trên cùng một bu§)
Hơn nữa nhỡ có bộ nhớ chương trình và bô dữ liệu độc lập này mà sẽ cho phép các lệnh có các kích cở lớn hơn 8 bit Các mã lệnh của PIC16CXX có độ rộng là 14 bit, cũng có thể là những lệnh từ đơn Với bus của bộ nhớ chương trình rộng 14 bit nến việc đem về một lệnh 14 bit chỉ trong một chu kỳ đơn Do
có hai đường truyền dẫn độc lập (cho dữ liệu và cho chương trình) nên hoạt động đem về và việc thực thi lệnh chỉ trong môt chu kỳ lệnh Kết quả là các
lệnh được thực thí trong một chu kỳ đơn (400ns, tốc độ 10MHz) chỉ ngoại trừ những lệnh phục vụ cho các nhánh chương trình con
PICI6F83 và PICI6CR83 có địa chỉ bộ nhớ chương trình là 512 x 14, PICI6F84 và PIC16CR84 có địa chỉ bộ nhớ chương trình là 1K x 14 tất cả bộ
nhớ chương trình đều nằm bên trong
PICI6CXX có thể sử dụng địa chỉ trực tiếp hoặc gián tiếp để làm việc
với các file thanh ghi của nó hoặc với bộ nhớ dữ liệu Một lệnh cụ thể sẽ làm
cho nó có thể phát ra bất cứ một hoạt động nào trên bất kỳ thanh ghỉ nào đang
sử dụng mode địa chỉ Bản chất đối xứng này và việc thiếu các tình huống tối ưu
đặc biệt sẽ làm cho chương trình đơn gidn và có hiệu quả hơn Hơn nữa, nó làm
cho việc học lòng vòng được rút ngắn một cách đáng kể
Các thiết bị thuộc họ PIC16CXX chứa đựng bên trong một bộ logic số học (ALU) 8 bit va thanh ghi W (Works) ALU 1a mét don vị số học đa chức năng, nó
có thể thực thi các tính toán số học và các hàm Boolean giữa các dữ liệu trong
thanh ghi W và dữ liệu trong bất kỳ thanh ghi nào
ll
Phan A : Ly Thuyét 10 SVTH :Trương Minh Cường
:Lê Thị Tuyết Mai
Trang 25Luận văn tốt nghiệp GVHD : NGUYỄN ĐÌNH PHÚ
ALU 8 bit có thể thực hiện hoạt động cộng, trừ, dịch chuyển, đảo logic
'Trong những lệnh 2 toán tử thì một toán tử là thanh ghi làm việc (W register) và
toán tử còn lại là file thanh ghi hoặc một hằng số tức thời nào đó Trong những
lệnh một toán tử thì toán tử đó hoặc là thanh ghỉ làm việc, hoặc là một file thanh ghi
“Thanh ghỉ W là một thanh ghi 8 bit được dùng cho những hoạt động của
ALU Nó không phải là một thanh ghi có địa chi cu thé
Thuỷ thuộc vào lệnh được thực thi mà ALU có thể tác động đến giá trị của
các bịt; carry(C), digit carry(DC), Zero(Z) nằm trong thanh ghi trạng thái
1IINH 3, 1 : SƠ ĐỒ KHỐI PIC16F8X
Phần A : Lý Thuyết 11 SVTH :Trương Minh Cường
:Lê Thị Tuyết Mai
Trang 26Luận văn tốt nghiệp GVHD : NGUYỄN ĐÌNH PHÚ
1 Gian Dé Xung Clock / Chu Ky Lénh (Clocking Scheme /Imstruction
Cycle):
Xung clock đưa vào OSCI được chia thành 4 chu ky nhỏ được đặt tên
lần lượt là Q1, Q2, Q3 và Q4 Bộ đếm chương trình được tăng lên sau mỗi chủ
kỳ Q1, lệnh được đem về từ bộ nhớ chương trình và được chốt vào thanh
phí lệnh ở chu kỳ Q4 Lệnh này được giải mã và thực thi trong suốt chu kỳ từ
QI đến Q4 Hình 3.2 minh hoạ các xung clock và lưu đồ thực thi lệnh
MINI 3.2: CHU KỲ XUNG CLOCK VÀ CHU KỲ LỆNH
động đem về và hoạt động thực thi, trong đó hoạt động đem về chiếm một chu
kỳ lệnh trong khi việc giải mã và thực thi lệnh chiếm một chu kỳ lệnh khác Tuy
nhiên, do đặc điểm cửa đường truyền dẫn, mỗi lệnh chỉ thực thi có hiệu quả trong một chu kỳ lệnh Nếu một lệnh nào đó mà làm cho bộ đếm chương trình thay đổi thì nó sẽ đòi hỏi phải mất 2 chu kỳ lệnh để hoàn thành lệnh đó
Chu kỳ Q1 bắt đầu với bộ đếm chương trình ( PC ) tăng dẫn và lệnh được
đem về được chốt vào thanh ghi lệnh Lệnh này sau đó được giải mã và thực thi
trong suốt các chu kỳ Q2, Q3, Q4 Bộ nhớ dữ liệu được đọc ra trong suốt chu kỳ Q2 và được viết vào trong suốt chu kỳ Q4
ễễễềễ -_ễ
Phần A : Lý Thuyết 12 SVTH :Trương Minh Cường
:Lê Thị Tuyết Mai
Trang 27Luận văn tốt nghiệp GVHD : NGUYỄN ĐÌNH PHÚ
` PIC16F8X có tổng cộng là 18 chân gồm 2 chân nguồn, 13 chân V/O (trong 13
chan I/O nay có các chân có chứ năng kép), 1 chan RESET, và hai chân cho bộ dao
động
Phần A : Lý Thuyết 13 SVTH :Trương Minh Cường
:Lê Thị Tuyết Mai
Trang 28Luận văn tốt nghiệp GVHD : NGUYỄN ĐÌNH PHÚ
II CHỨC NĂNG CÁC CHÂN PIC16F8X :
1 Chan RESET : MCLR (Chân 4): tích cực ở mức thấp Cách kết nối như
hình 3.4 Giá trị của R,C được lựa chọn thích hợp để tạo được xung RESET
khi mới bắt đầu cấp điện cho IC hoạt động Khi lập trình cho IC thì chân này là
chân ngõ vào điện áp lập trình
HÌNH 3.4: MẠCH RESET BÊN TRONG
Năm chân của portA từ RA0 RA4 đều có thể lập trình thành chân xuất
hoặc nhập dữ liệu (1O) một cách độc lập với nhau thông qua thanh ghi TRISA,
riêng chân RA4/T0CKI (chân số 3) có hai chức năng : Ngoài chức năng xuất
nhập dữ liệu còn có thêm chức năng là ngõ vào xung lock cho bộ timer/counter
của TMRO0 Chân này khi xác lập ở chế độ ngõ ra là cực máng, để hở
Tương tự như ở portA 8 chân của portB từ RB0 RB7 cũng có khả năng
xuất nhập dữ liệu một cách riêng rẽ, riêng chan RBO/INT (chan số 6) là chân
có hai chức năng vừa là chân I/O vừa là chân ngắt ngoài
—ễ-—ễễễễ———
Phan A : Lý Thuyết 14 SVTH :Trương Minh Cường
:Lê Thị Tuyết Mai
Trang 29Luận văn tốt nghiệp GVHD : NGUYỄN ĐÌNH PHÚ
3 Các ngõ vào của bộ dao động :
Gồm hai chân OSCI( chân 16) và chân OSC chân 15) PICl6 F8X có thể
hoạt động được trong 4 mode dao động khác nhau:
— LP :(Low Power Crystal) : Bộ dao động sử dụng tỉnh thể ở nguồn thấp
(32khz-200khz)
— XT :( Crystal / Resonator) : B6 dao động sử dụng thạch anh có tần số
chuẩn (100khz-4Mhz) / bộ dao động gốm cộng hưởng Ceramic
Sử dụng các kiéu XT, LP hay HS, dude nối với hai chan : OSC1/CKLIN
(chân 16) và chan OSC2/CKLOUT (chan 15) Xem hinh 3.5
HINH 3.5 : DAO DONG DUNG THACH ANH / GOM CONG HUGNG
(CAU HINH HS, XT HAY LP)
Phần A : Lý Thuyết 15 SVTH :Trương Minh Cường
:Lê Thị Tuyết Mai
Trang 30
|
Luận văn tốt nghiệp GVHD : NGUYỄN ĐÌNH PHÚ |
Ranges Tested: a Mode Freq | OSC1UC1 | OSi
XT 455 kHz |47-100pF léC7799pF
20MHz | 15-33 p| 38 pF 4.0MHz | 15-33 pE\ T833 pE
Those values areNQy deskan guidance only Since
JaakyAiPs its own characteristics, the user
flez Murata Erie CSA2.00MG £0.5%
6 rz Murata Erie CSA4.00MG £0.5%
Á lÁrz Murata Erie CSA8.00MT £0,5%
#urata Erie CSA10.00MTZ |+ 0.5%
soraiors had built-in capacltors
HS aMHz | 15-33
10MHz | 15- Nola: Higher capacitance in Nà
oscillator but also! ah
id consul the crystal
f appropriato values of external
WV, C1 = C2» 30 pF is recommended
3 X68 kHz |Epson C-001R32.768K-A | + 20 PM
100XHz _ |Epson C-2100.00KC-P |+20 PPM
200 KHz ‘STD XTL 200.000 KHz _|+ 20 PPM
1.0 MHz ECS ECS-10-13-2 +50 PPM 2.0 MHz ECS ECS-20-S-2 +50 PPM
4.0 MHz ECS ECS-40-S-4 +50 PPM
40.0MHz |ECS ECS-100-S-4 +50 PPM
Phần A : Lý Thuyết 16 SVTH :Trương Minh Cường
:Lê Thị Tuyết Mai
Trang 31Luận văn tốt nghiệp — ` GVHD : NGUYEN BINH PHU mm
Khi sử dụng các kiểu dao động : XT, LP, HS, ngoài cách mắc trực tiếp như trên còn có thể tạo một nguồn xung clock bên ngoài đưa vào chan OSC1/
Hai loại mạch dao động thạch anh bên ngoài được dùng là : một bộ cộng
hưởng nối tiếp và một bộ cộng hưởng song song
HINH 3.7: THACH ANH MẮC KIỂU CỘNG HƯỚNG SONG SONG
Hình 3.7 trình bày một mạch dao động cộng hưởng song song sử dụng tân
số chuẩn của thạch anh Cổng đảo 74AS04 thực hiện việc dịch pha 180 độ, điện trở 4.7KO cung cấp đường hồi tiếp âm cho việc ổn định mạch, cầu phân
thế điện trở 10kO tạo sự lệch điện áp với 74AS04 nằm trong vùng tuyến tính
Điều này có thể dùng cho việc thiết kế dao động bên ngoài
——
:Lê Thị Tuyết Mai
$KL001370
Trang 32Luận văn tốt nghiệp GVHD : NGUYỄN ĐÌNH PHÚ
HÌNH 3.8 : THẠCH ANH MẮC KIỂU CỘNG HƯỚNG NỔI TIẾP
Hình 3.# trình bày một mạch dao động cộng hưởng nối tiếp sử dụng tần số
chuẩn của thạch anh Cổng đảo thực hiện đảo pha 180 độ, điện trở 330 KO
cung cấp đương hôi uếp âm tạo sự lệch điện áp trong vùng tuyến tính của
chúng
c Mach Dao Bong RC ( RC Oscillator ) :
Mạch này được thiết kế cho những ứng dụng không cần độ chính xác cao
về thời gian và rất tiết kiệm chỉ phí Tần số của mạch dao động RC là một
hàm phụ thuộc vào: nguồn cung cấp, giá trị điện trổ, giá trị tụ điện và nhiệt độ
làm việc Hình 3.9 trình bày một mạch dao động RC được kết nối với
PIC16F8X Giá trị điện trở Rext nên giữ trong khoảng từ 5K@ đến 100KO để
khống chế mạch khong bị nhạy với nhiễu, độ ẩm và điện áp rò Tụ Cext có giá
trị 20 pF để lọc nhiễu làm cho mạch ổn định hơn Tần số dao động của mạch
này được chia 4 và đưa ra chân OSC2 / CLKOUT, có thể được dùng cho các
mục đích kiểm tra hoặc để đổng bộ các mạch logic khác
HÌNH 3.9: KIỂU DAO ĐỘNG RC
Vop Rext osct — Internal
ee clock Ged=Ƒ PIC16FXX
=———| O9C2!cLKOUT Fosc/4
Giá trị của điện trở Rext : 5KO-100KO Nếu Rext < 2.2KO thì tần số dao
động không ổn định hoặc là không dao động , còn néu Rext >1MQ thi mach
sẽ bị nhiễu
Riêng tụ Cext, Mặc dâu không gắn vào mạch vẫn chạy nhưng để tăng tính chống nhiễu ta nên gắn thêm vào một tụ có giá trị khoảng 20 pE
:Lê Thị Tuyết Mai
Trang 33kuận văn tốt nghiệp GVHD : NGUYỄN ĐÌNH PHÚ
Có 2 khối bộ nhớ trong họ vi điểu khiển PICI6F8X, đó là bộ nhớ chương trình
và bộ nhớ dữ liệu Mỗi khối có nhữnh bus riêng của nó để cho việc truy cập đến
mỗi khối có thể xẩy ra trong cùng chu kỳ dao động
II TỔ CHỨC BỘ NHỚ CHƯƠNG TRÌNH(PROGRAM MEMORY ORGANIZATION):
Họ vi điều khiển PIC16FEXX có thanh đếm chương trình 13 bit, có khả nămg
quần lý số lương các địa chỉ là 2'? địa chỉ tức 8k (8k word,1 word=14bit)
Đối với PIC16F83 và PICI6CR83 thì 512 word đầu tiên (0000h — 01FFh) là những vùng nhớ vật lý (hình 4.1) (1word=14bi)
————ễ
:Lê Thị Tuyết Mai
Trang 34Luận văn tốt nghiệp UR GVHD : NGUYEN DINH PHU
Vector Reset nằm ở vùng nhớ 0000h và vector ngắt nằm ở vùng nhớ 0004h
MÌNH 4.1 + SƠ ĐỒ BỘ NHỚ CHƯƠNG TRINH VA NGAN XEP PIC16F83/CR83
:Lê Thị Tuyết Mai
Trang 35Luận văn tốt nghiệp GVHD GUYỄN ĐÌNH PHÚ
PC<120>
Ậ By Slack Level
Stack Level 8
Resel Vecior øfal Invetrupl Vector
0000h 0004h
II CẤU TRÚC BỘ NHỚ DỮ LIỆU (DATA MEMORY ORGANIZATION):
Bộ nhớ dữ liệu được phân thành 2 vùng : vùng thứ nhất là các thanh ghi chức năng đặc biệt (SFR) và vùng thứ hai là các thanh ghi đa dụng (GPR) Trong
đó các thanh ghỉ chức năng đặc biệt sẽ điều khiển hoạt động của thiết bị Vùng
các thanh ghi đa dụng (GPR) được cho phép lưu trữ dung lượng lớn hơn 116 byte RAM đa dụng, còn vùng các thanh ghi chức năng đặc biệt được dùng cho các
thanh ghi điều khiển các chức năng ngoại vi Việc lưu trữ này yêu cầu phải sử dụng các bit điểu khiển cho việc lựa chon bank, va nhifng bit điều khiển này
thuộc thanh ghi trạng thái Hình 4.3 và hình 4.4 trình bày việc tổ chức của biểu
đồ bộ nhớ dữ liệu
a Phan A : Lý Thuyết 21 SVTH :Trương Minh Cường
:Lê Thị Tuyết Mai
Trang 36Luận văn tốt nghiệp GVHD : NGUYEN DINH PHU
SƠ ĐỒ THANH GHI
HINH 4.3: PICI6F83 HINH 4.4: PICI6F84
File Address lle Address Fla Address Filo Address
00h | Indiectaddr(Ð | Indiract addr{) |_ 80h 0h | Indirect adel’ | indirect addr!" | 80h,
oon [status _| status 83h oan [status | STATUS ean
wah LAI, ooh EEADR EECON2()) 89h
Bank 0 Bank 1 Bank 0 Bank 1
L Uimplementod data memory location; read as 0’ C1 Unimplemented data memory location; read as
Note 1: Nota physical ragistor Note 1: Nota physical registar
Các lệnh MOVWF và MOVF có thể copy các giá trị từ thanh ghi W vào bất
kỳ vũng nhớ nào trong file thanh ghi và ngược lại Toàn bộ bộ nhớ dữ liệu có thể được truy cập hoặc trực tiếp bằng cách sử dụng địa chỉ tuyệt đối của mỗi file
thanh ghi hay là được truy cập gián tiếp qua các thanh ghỉ lựa chọn (FSR -
File Select Register) Địa chỉ gián tiếp sử dụng giá trị hiện tại của các bit RP1:RP0 cho việc truy cập các vùng nhớ đã được lưu trữ của bộ nhớ dữ liệu
Bộ nhớ dữ liệu được phân thành 2 bank mà nó chứa đựng các thanh ghi đa dụng và các thanh ghi chức năng đặc biệt Bank 0 được sử dụng bằng cách clear
bit RP0 (STATUS<5>), cồn việc set bit RP0 sẽ cho phép Iya chon bank 1 Mỗi bank được kéo dài đến giá trị 7Fh (128 bytes) 12 ô nhớ đầu tiên của mỗi bank
———ễ
Phần A : Lý Thuyết 22 SVTH :Trương Minh Cường
:Lê Thị Tuyết Mai
Trang 37Luận văn tốt nghiệp GVHD : NGUYỄN ĐÌNH PHÚ
được đành cho các thanh ghi chức năng đặc biệt, phần còn lại là các thanh ghi đa dụng được dùng như RAM tĩnh
1 Cấu trúc bộ nhớ RAM bên trong vi điều khiển PIC16F8X / 16CR8X:
Chia làm hai Bank thanh ghỉ , bank 0 và bank 1 : sự lựa chọn Bank thanh ghi 0 hoặc 1 phụ thuộc vào bit RBO trong thanh ghỉ trạng thái STATUS ( có dia chi 03h hay 83h)
© PICI6VR3/16CR83:
+ Bank 0 từ : 00 h-2Fh
Các thanh ghi đặc biệt (SER) có địa chỉ từ : 00 h- 0B h
Karn da dung (GPR) cé địa chỉ từ : OC h-2F h(38 bytes)
+ Bank ] tư ; 80h- AFh
—_ Các thanh ghí có địa chỉ từ : 80 h-8B h
- Ram da dung c6 chỉ từ : 8C h-AF h(38 bytes) Tuy nhiên khi sử dụng Bank 1 và làm việc với Ram đa dụng thì nó dùng chung vũng Ram đa dụng (38bytes) của bank 0, có nghĩa là địa chỉ 8C h trùng với ÓC h và 8D h trùng với
© PIC16F84/16CR84:
+ Bank0 từ:00h-4Fh
—_ Các thanh ghi đặc biệt có địa chỉ từ : 00 h-0B h
— Ram da dung có địa chỉ từ : OC h- 4F h(68 bytes)
+ Bankl từ 80 h-CFh
—_ Các thanh ghi có địa chỉ từ : 80 h-8B h
—_ Ram đa dụng có địa chỉ từ : 8C h- CF h (38 bytes)
“Tương tự khi sử dụng Bank 1 khi làm việc với ving Ram da dung thi
nó vẫn sử dụng chung vùng nhớ Ram (68bytes) của bank 0 ,tức là địa
chỉ 8C h trùng với 0C h va
2 Các thanh ghỉ trong bộ nhớ dữ liệu :
2.1 File Thanh Ghi Da Dung : (General Purpose Register File):
Tat cA các thiết bị đều có một vài khu vực dành cho các thanh ghi đa
dụng (GPR) Mỗi thanh ghi đa dụng rộng 8 bịt và được truy cập trực tiếp hay
gián tiếp qua thanh ghi lựa chọn /(FSR) Các địa chỉ thanh ghi đa dụng
trong bank 1 được lên biểu đồ địa chỉ trong bank 0 Chẳng hạn như địa chỉ ô
nhớ 0Ch hay 08h sẽ được truy cập với cùng một thanh ghi đa dụng
———Ƒễ-—>>Ầ—
Phần A : Lý Thuyết 23 SVTH : Truong Minh Cường
:Lê Thị Tuyết Mai
Trang 38Luận văn tốt nghiệp GVHD : NGUYỄN ĐÌNH PHÚ
2.2 Các Thanh Ghi Chức Năng Đặc Biệt : (Special Function Registers):
BANG 4.2: TÓM TẮC ĐẦY ĐỦ CÁC THANH GHI ĐẶC BIỆT CÓ TRONG CẢ HAI
BANK0 VÀ BANK1 CỦA HỌ VI ĐIỀU K HIEN PIC16F8X
10 [WO Tees contents Of FSR Io 933cst đata memery (nota physical regieter) “| ==
gmấ——[tiu: Wi real-ima olock/counter yore soc | uuu ulna
Uw order B bite of the Program Countar (PC) 9090 0939 | 0099 gg00
wo | wer [apo | [pO] 2 | oo | 6 | mm =| mm
inter in my eden pater O Tene eee | eat ua
96h | PORTA [7 —_ | RZT0EM [ RA | RA2 | RAI | RAO [ ~-x => | can tam
‘gh | porte a — Ra RES | RR2 | Hồ | NBƯNT| xex xe | man mm
21221771 tạ54 5a 7 Sina
dit: tế
oan - |fCLKTH = —_| Hea ati for upper Stite of the PCO ==» coos | -9 000
[8n [ÏNTG2N Be wel] ĐỨC | REE | TP | HN | RĐỊP | g3ọp o3ox | noes com
Bank
ah [ND Toes carat APSE vs weve 225 arson (rata ppscalragiser) “| ==
ath [OPTION |FE27 nΣ22 [ Tre [psa | PS2 | PSI | PSO | muiama | tra an
aan [PEL Low ote Woe of Progen Carter PO 5899 aac | e008 2000
on |SAUO | mm] 5: 1Í Tế Ye Te [oe |e | oom te | oom aa
5h —|[TRSR = Saat crestor register cata | =a aan
mm Thimplemersed cain read 3s 0
wen |EEEOML | — | — | — | eer | WRERR] WREN | WR [RO
80A | ECON? _| EEPRON coed register 2 not a physical regisie)
Bah | PCLA _ _ — _ | Witte butter for upper & bite of the PC (1) = 0 aa00 | -0 0000
ten |NTCON | GE [ee [ Toe [ve [ Ree [ tar | ir [ RSF | S290 nonx | 59mm song
Q :giá trị còn phụ thuộc vào điều kiện
Các thanh ghi chức năng đặc biệt (SEFR) được sử dụng bởi CPU và các
thiết bị ngoại vi để điểu khiển hoạt động của thiết bị Các thanh ghi chức
năng đặc biệt này đêu là RAM tinh Các thanh ghi này có thể được phân làm
2 phần : phan chính và phần phụ Những phần này được kết hợp với các
chức năng chính được điễn tả trong mục này, và những phần này có quan hệ
với hoạt động của các đặc tính phụ được diễn tả trong phần các đặc tính đặc
biệt
`
ơẹx.mmaaaaamọẹ
Phin A : Lý Thuyết 24 SVTH :Trương Minh Cường
:Lê Thị Tuyết Mai
Trang 39Luận văn tốt nghiệp ; GVHD : NGUYEN DINH PHU
——ễ -ễ
2.3 Thanh Ghi STATUS ( Status Register) :
R/W-0 R/W:0 R/W:0 R-1 R1 R/W-+x R/W-x R/W-x
Bit7 Bit6 Bit 5 Bit 4 Bit 3 Bit2 Bitl Bito
Họ PICI6I:8X không sứ dụng bit IRP nay ,mac định luôn ở mức thấp
2, Bit 5-6: RPO- KPI: cling dude ding 4é chon bank thanh ghi (kiểu địa chỉ trực
Mỗi Bank là 12% bytes, họ PIC16F8X chỉ sử dụng bit RPO để lựa chọn bank
thanh ghi (0 hoặc 1 và không sử dụng bít RP1 ,mặc định luôn ở mức thấp)
3 Bit4: TO: Time-out bit:
1 = sau khi bật nguồn, dùng lệnh CLRWDT hay lệnh SLEEP
0 =khima WDT (watchdog timer) hoat d6ng
4 Bit 3: PD : Power-down pit
1 = khi bật nguồn hay khi dùng lệnh CLRWDT (xóa bit WDT)
0 = khi thực thi lệnh SLEEP
5 Bit2:Z: Zero bit
1 = Kết quả tính toán số học hay các phép logic là “0”
0= Kết quả tính toán số học hay các phép logic là khác “0”
6 Bit 1: DC : Digit carry/borrow bit (bit trào số hay mượn) dùng cho các lệnh
cộng hay khi xây ra sự đổi dấu trong các phép tính
1 = khi mà có sự trào số ở 4 bit thấp
0 = khi mà kết quả vẫn nằm trong 4 bit thấp
1 Bit0:C : Carry/Borrow bit : cũng dùng cho lệnh cộng (ADDWE vàADDLW)
1 = khi mà kết quả > bit thứ 7 ngược lại thì = 0
:Lê Thị Tuyết Mai
Trang 40Luận văn tốt nghiệp HD : NGUYEN DINH PHO
Thanh ghi STATUS cé thé bị tác động bởi một lệnh nào đó ,tức là các
lệnh này ảnh hưởng đến các bit :Z, DC, C, thì khi đó việc ghi vào 3 bit này
sẽ bị vô hiệu hóa Những bit này được set hay clear là tùy theo hoạt động,
logic của IC Hơn nữa, cdc bit TO va PD thi khong thể ghi vào được Vì thế,
kết quả của một lệnh với thanh ghi STATUS có thể khác đi so với dự định
s» Ví Dụ: lệnh CLRE STATUS sé clear 3 bit cao va set bit Z Diéu nay dẫn
đến kết quả của thanh ghi trạng thái là 000u uluu (u=unchange) Chỉ những
lệnh sau: BCF, BSF, SWAPF, MOVWF nên được dùng để thay đổi kết quả
của thanh ghi SFATUS bởi vì sự thực thi của những lệnh này không ảnh hưởng đến bất kỳ bị! ưạng thái nào (bit cd)
2.4 Thanh Ghỉ OPTION(OPTION Register) :
Thanh ghi OPTION lá một thanh ghi có thể đọc và viết được, nó bao
gồm những bit điều khiến da dạng để ấn định prescaler TMRO / WDT, việc
ngắt INT bên ngoài, TMEO, và weak pull-up (kéo lên) khi reset Power on (POR : power on reset)
R/W-I R/W-.I R/W:I R/W-i R/W-I R/W-I R/W-I R/W-L RBPU | INTEDG | TOCS | TOSE PSA PS2 PS1 PSO
Bit7 Bit 6 Bits Bit4 Bit3 Bit2 Bitl Bito
1 Bit7: RBPU :PORT B pull-up enable bit (bit cho phép kéo lên ở port B)
1 = chức năng kéo lên ở port B bị vô hiệu
0 = cho phép kéo lên ở port B (từng giá trị riêng lẽ được chốt)
2 Bit 6:INTEDG : Bit lựa chọn cạnh tác động ngắt
1= Ngắt ở cạnh lên của xung clock đưa vào chan RBO/INT
0 = Ngược lại ,ngắt trên cạnh xuống
3 Bit 5: TOCS : Bit lua chon nguồn xung clock cho TMRO
1 = Nhận xung clock từ chan RA4/TOCKI 0= Nhận xung clock bên trong có chu ky = chu ky lệnh (CLKOUT)
4 Bit 4: TOSE : Bit lựa chọn kiểu tác động cho TMRO
1 = Tác động khi xung cấp tới chân RA4/TOCKI ở cạnh lên
0 = Ngược lại tác động ở cạnh xuống
5 Bit3 :PSA :Bit ấn định cho chế độ PRESCALER (chia trước )
1 = chế độ PRESCALER làm việc với WDT
0 = chế độ PRESCALER làm việc với TMRO
:Lê Thị Tuyết Mai