Giáo trình nghề Điện tử công nghiệp - Môđun: Kỹ thuật vi điều khiển

BỘ CÔNG THƯƠNG  
TRƯỜNG CAO ĐẲNG CÔNG NGHIP VÀ THƯƠNG MI  
GIÁO TRÌNH  
Tên mô đun: Kthut Vi điều khin  
NGH: ĐIỆN TCÔNG NGHIP  
TRÌNH ĐỘ TRUNG CP/CAO ĐẲNG NGHỀ  
Ban hành kèm theo Quyết định s:  
/QĐ-CĐCNPY, ngày tháng năm 2018  
của Hiu trưởng trường Cao đẳng Công nghip và Thương mi  
nh Phúc, năm 2018  
1
MỤC LC  
ĐỀ MC  
MỤC LC  
TRANG  
2
CHƯƠNG TRÌNH ĐUN  
Bài 1. ĐIỀU KHIN PIC 18f4520:  
ĐẶC TÍNH, CU TRÚC, CHC NĂNG CÁC PORT  
4
8
8
1.1. Gii thiu................................................................................................................8  
1.1.1. Cấu to vi điều khin. ..........................................................................................8  
1.1.2. Nguyên lý hot động ca Vi điều khin ..............................................................8  
1.1.3. nh vc và ng dng........................................................................................11  
1.1.4. Sản phm dân dng. ..........................................................................................12  
1.2. Kho sát vi điều khin Microchip .......................................................................12  
1.2.1. Cấu hình vi điều khin PIC 18f4520. ................................................................12  
1.2.2. Cấu trúc ca vi điều khin PIC 18f4520. ..........................................................13  
1.2.3. Kho sát sơ đồ chân vi điều khin PIC 18f4520. ..............................................15  
Bài 2. TCHC BNHTHANH GHI  
2.1. Gii thiu.  
22  
22  
2.2. Kiến trúc bnh. .................................................................................................22  
2.3. Tổ chc bnhca vi điều khin PIC 18f4520. .................................................23  
2.3.1. Tổ chc bnhchương trình............................................................................23  
2.3.2. Khi to dao động..............................................................................................24  
2.3.3. Kho sát bnhdliu và thanh ghi trng thái..............................................26  
Bài 3: LP TRÌNH ĐIỀU KHIN VI VĐK PIC 18F4520  
30  
3.1. Các thành phn cơ bn ca ngôn nglp trình C..............................................30  
3.1.1. Các kiu dliu ca biến...................................................................................30  
3.1.2. Các toán t. ........................................................................................................31  
3.1.3. Các lnh C cơ bn..............................................................................................33  
3.2. Trình biên dch C.................................................................................................36  
3.2.1. Các thành phn mrng ca trình biên dch C...............................................36  
3.2.2. Khai báo biến và hng s...................................................................................37  
3.2.3. Khai báo các biến truy xut bit.........................................................................38  
3.2.4. Khai báo con tr, mng. ....................................................................................39  
3.2.5. Khai báo và sdng hàm. .................................................................................39  
3.2.6. Khai báo chương trình con phc vngt. ........................................................40  
3.2.7. Cấu trúc ca mt chương trình C cho vi điều khin PIC ................................56  
3.2.8. File thư vin ca vi điều khin PIC...................................................................57  
3.3. Phn mm MPLAB_IDE_v8_70 .........................................................................60  
Bài 4: PORT XUT NHP, TIMER – COUNTER  
68  
4.1. Cấu hình, thông số điện áp, dòng ca các port...................................................68  
4.2. Các ng dng dùng port điều khin ca vi điều khin 8 bit. .............................70  
2
4.2.1. Các ng dng điều khin led đơn.........................................................................70  
4.2.2. Các ng dng điều khin led 7 đoạn trc tiếp.......................................................73  
4.2.3. Các ng dng điều khin led 7 đoạn quét.............................................................74  
4.2.4. Giao tiếp vi điều khin 8 bit vi LCD ..................................................................76  
4.3. Timer/counter ca vi điều khin PIC 18f4520....................................................79  
4.3.1. Kho sát các timer ca vi điều khin PIC 18f4520...........................................79  
4.3.2. Cách truy xut các thành phn ca timer trong ngôn nglp trình C...........91  
4.3.3. ng dng timer/counter ca vi điều khin PIC 18f4520.......................................93  
a. Giao tiếp DS1307 ..................................................................................................93  
b. ng dng 1………………………………………………………………………….…98  
c. ng dng 2…………………………………………………………………………...101  
3
CHƯƠNG TRÌNH ĐUN  
Tên mô đun: KTHUT VI ĐIỀU KHIN  
Mã mô đun: MĐTC14020040  
Thi gian thc hin mô đun: 75 gi(Lý thuyết: 15 gi; Thc hành, thí nghim,  
tho lun, bài tp 57 gi; Kim tra : 3 gi)  
I. Vtrí, tính cht mô đun  
- Vị trí: Đây là mô đun chuyên ngành cho hc sinh ngành điện t, vin thông. Mô  
đun này phi hc sau khi đã hc xong các mô đun: Kthut vi xlý.  
- Tính cht: Bt buc  
II. Mc tiêu mô đun  
- Kiến thc:  
+ Mô tả được cu trúc bên trong, chc năng các chân ca hvi điều khin PIC  
18F4520.  
+ Trình bày được các lnh lp trình C ca hvi điều khin PIC 18F4520  
+ Trình bày được mt số ứng dng ca hvi điều khin  
- Kỹ năng:  
+ Lập được lưu đồ thut toán ca mt số ứng dng cơ bn  
+ Lập trình trên ngôn nglp trình C và np được vào trong chip mt sbài tp  
ng dng ca vi điều khin PIC 18F4520  
- Về năng lc tchvà trách nhim:  
+ Dự lp đầy đủ theo quy định, rèn luyn tác phong công nghip, biết cách làm  
vic nhóm.  
III. Ni dung mô đun  
1. Ni dung tng quát và phân bthi gian  
Thi gian (gi)  
Thc  
hành,  
Số  
TT  
thí  
nghim,  
tho  
lun,  
bài tp  
6
Tên các bài trong mô đun  
VI ĐIỀU KHIN PIC  
18f4520: ĐẶC TÍNH, CU TRÚC,  
CHC NĂNG CÁC PORT  
1.1. Gii thiu  
Tổng  
số  
Lý  
thuyết  
Kim  
tra  
1. Bài 1.  
9
3
3
1.2. Kho sát vi điều khin Microchip  
2. Bài 2.  
TỔ CHC BNH16  
12  
1
THANH GHI  
2.1. Gii thiu.  
4
2.2. Kiến trúc bnh.  
2.3. Tổ chc bnhca vi điều khin  
PIC 18f4520.  
3. Bài 3.  
LẬP TRÌNH ĐIỀU KHIN 20  
3
6
16  
23  
1
1
VỚI VĐK PIC 18F4520,  
3.1. Các thành phn cơ bn ca ngôn  
nglp trình C  
3.2. Trình biên dch C.  
3.3. Phn mm MPLAB_IDE_v8_70  
4. Bài 4.  
PORT  
XUT  
NHP, 30  
TIMER – COUNTER  
4.1. Cấu hình, thông số điện áp, dòng  
của các port  
4.2. Các ng dng dùng port điều  
khin ca vi điều khin 8 bit.  
4.3. Timer/counter ca vi điều khin  
PIC 18f4520  
Cng  
75  
15  
27+30  
3
2. Ni dung chi tiết  
Bài 1. ĐIỀU KHIN PIC 18f4520: ĐẶC TÍNH, CU TRÚC, CHC NĂNG  
CÁC PORT (Thi gian: 9 gi)  
* Mc tiêu ca bài: Sau khi hc xong bài hc này, sinh viên có thể  
- Trình bày được vsơ đồ câu trúc điều khin và các ngoi vi tích hp ca vi điều  
khin PIC 18f4520  
- Phân tích được sơ đồ chân vi điều khin PIC 18f4520.  
- Cẩn thn, sáng to đảm bo an toàn thiết bvà dng c.  
- Nghiêm túc, khoa hc, tm.  
* Ni dung ca bài:  
1.1. Gii thiu  
1.2. Kho sát vi điều khin Microchip  
1.2.1. Cấu hình vi điều khin PIC 18f4520.  
1.2.2. Sơ đcu trúc ca vi điều khin PIC 18f4520.  
1.2.3. Kho sát sơ đồ chân vi điều khin PIC 18f4520.  
Bài 2. TCHC BNHTHANH GHI  
(Thi gian: 16 gi)  
* Mc tiêu ca bài: Sau khi hc xong bài hc này, sinh viên có th:  
- Trình bày được vkiến trúc bnh, tchc bnhvi điều khin PIC 18f4520  
- Vẽ được tchc bnhvi điều khin PIC 18f4520.  
- Kho sát vic kết ni vi các linh kin cơ bn như led đơn, nút nhn, led 7 đoạn,  
LCD  
5
- Cẩn thn, sáng to đảm bo an toàn thiết bvà dng c.  
- Nghiêm túc, khoa hc, tm.  
* Ni dung ca bài:  
2.1.Gii thiu.  
2.2.Kiến trúc bnh.  
2.3.Tổ chc bnhca vi điều khin PIC 18f4520.  
2.3.1. Tổ chc bnhchương trình.  
2.3.2. Mã lnh 14 bit.  
2.3.3. Kho sát bnhdliu và thanh ghi trng thái.  
2.3.4. Bộ nhdliu EEPROM.  
Bài 3: LP TRÌNH ĐIỀU KHIN VI VĐK PIC 18F4520 (Thi gian: 20 gi)  
* Mc tiêu ca bài: Sau khi hc xong bài hc này, sinh viên có th:  
- Trình bày được lnh cơ bn ca vi điêu khiên PIC 18f4520  
- Lập trình điều khin được khi dùng ngôn ngC cho các hthng điều khin  
dùng vi điều khin PIC 18f4520  
- Phân tích được thư vin ca vi điều khin PIC 18f4520.  
- Cẩn thn, sáng to đảm bo an toàn thiết bvà dng c.  
- Nghiêm túc, khoa hc, tm.  
* Ni dung ca bài:  
3.1. Các thành phn cơ bn ca ngôn nglp trình C  
3.1.1. Các kiêu dliu ca biến.  
3.1.2. Các toán t.  
3.1.3. Các lnh C cơ bn  
3.2. Trình biên dch C.  
3.2.1. Các thành phn mrng ca trình biên dch C  
3.2.2. Khai báo biến và hng số  
3.2.3. Khai báo các biến truy xut bit  
3.2.4. Khai báo con tr, mng.  
3.2.5. Khai báo và sdng hàm  
3.2.6. Khai báo chương trình con phc vngt.  
3.2.7. Cấu trúc ca mt chương trình C cho vi điêu khin PIC  
3.2.8. File thư vin ca vi điều khin PIC  
3.3. Phn mm MPLAB_IDE_v8_70  
Bài 4: PORT XUT NHP, TIMER – COUNTER (Thi gian: 30 gi)  
* Mc tiêu ca bài: Sau khi hc xong bài hc này, sinh viên có thể  
- Trình bày được vcu hình, thông số điện áp, dòng ca các port vi điều khin  
PIC 18f4520  
- Trình bày được cách truy xut port điều khin PIC 18f4520  
- Lập trình được các ng dng truy xut port bng ngôn ngC vi LED đơn, 7  
thanh, LCD  
- Lập trình được các ng dng Timer/counter ca vi điều khin PIC 18f4520  
6
- Cẩn thn, sáng to đảm bo an toàn thiết bvà dng c.  
- Nghiêm túc, khoa hc, tm.  
* Ni dung ca bài:  
4.1. Cấu hình, thông số điện áp, dòng ca các port  
4.1.1. Truy xut port điều khin ca vi điều khin 8 bit.  
4.1.2. Định cu hình cho port  
4.1.3. Lập trình truy xut port bng ngôn ngC  
4.2. Các ng dng dùng port điều khin ca vi điều khin 8 bit.  
4.2.1. Các ng dng điều khin led đơn.  
4.2.2. Các ng dng điều khin led 7 đoạn trc tiếp.  
4.2.3. Các ng dng điều khin led 7 đoạn quét.  
4.2.4. Giao tiếp vi điều khin 8 bit vi LCD  
4.3. Timer/counter ca vi điều khin PIC 18f4520  
4.3.1. Kho sát các timer ca vi điều khin PIC 18f4520.  
4.3.2. Cách truy xut các thành phn ca timer trong ngôn nglp trình C.  
4.3.3. ng dng timer/counter ca vi điều khin PIC 18f4520  
7
Bài 1. ĐIỀU KHIN PIC 18f4520:  
ĐẶC TÍNH, CU TRÚC, CHC NĂNG CÁC PORT  
* Mc tiêu  
- Trình bày được vsơ đồ cu trúc điều khin và các ngoi vi tích hp ca vi điều  
khin PIC 18f4520  
- Phân tích được sơ đồ chân vi điều khin PIC 18F4520.  
- Cẩn thn, sáng to đảm bo an toàn thiết bvà dng c.  
- Nghiêm túc, khoa hc, tm.  
* Ni dung ca bài:  
1.1. Gii thiu  
1.1.1. Cấu to vi điều khin.  
- Vi điều khin là mt máy tính được tích hp trên mt chíp, nó thường được sử  
dụng để điều khin các thiết bị điện t. Vi điều khin thc cht gm mt vi xlý  
có hiu sut đủ cao và giá thành thp (so vi các vi xđa năng dùng trong máy  
tính) kết hp vi các thiết bngoi vi như các bnh, các mô đun vào/ra, các mô  
đun biến đổi tssang tương tvà ttương tsang s, mô đun điều chế độ rng  
xung (PWM)...  
- Vi điều khin thường được dùng để xây dng hthng nhúng. Nó xut hin  
nhiu trong các dng cụ điện t, thiết bị điện, máy git, lò vi sóng, điện thoi, dây  
truyn tự đng...  
- Hầu hết các loi vi điều khin hin nay có cu trúc Harvard là loi cu trúc mà  
bộ nhchương trình và bnhdliu được phân bit riêng.  
- Cấu trúc ca mt vi điều khin gm CPU, bnhchương trình (thường là bộ  
nhROM hoc bnhFlash), bnhdliu (RAM), các bộ định thi, các cng  
vào/ra để giao tiếp vi các thiết bbên ngoài, tt ccác khi này được tích hp trên  
một vi mch.  
Các loi vi điều khin trên thtrường hin nay:  
- VDK MCS-51: 8031, 8032, 8051, 8052,...  
- VDK ATMEL: 89Cxx, AT89Cxx51...  
- VDK AVR AT90Sxxxx  
- VDK PIC 16C5x, 17C43, 18F4520,  
1.1.2. Nguyên lý hot động ca Vi điều khin  
Mặc dù đã có rt nhiu hvi điều khin được phát trin cũng như nhiu chương  
trình điều khin to ra cho chúng, nhưng tt cchúng vn có mt số điểm chung  
bn. Do đó nếu ta hiu cn kmt hthì vic tìm hiu thêm mt hvi điều  
khin mi là hoàn toàn đơn gin. Mt kch bn chung cho hot động ca mt vi  
điều khin như sau:  
- Khi không có ngun điện cung cp, vi điều khin chlà mt con chip có  
chương trình np sn vào trong đó và không có hot động gì xy ra.  
- Khi có ngun điện, mi hot động bt đầu được xy ra vi tc độ cao. Đơn vị  
điều khin logic có nhim vụ điều khin tt cmi hot động. Nó khóa tt ccác  
mạch khác, trmch giao động thch anh. Sau vài mili giây đầu tiên tt cả đã sn  
8
sàng hot động.  
- Điện áp ngun nuôi đạt đến giá trti đa ca nó và tn sgiao động trnên n  
định. Các bit ca các thanh ghi SFR cho biết trng thái ca tt ccác mch trong vi  
điều khin. Toàn bvi điều khin hot động theo chu kca chui xung chính.  
- Thanh ghi bộ đếm chương trình (Program Counter) được xóa v0. Câu lnh từ  
địa chnày được gi ti bgii mã lnh sau đó được thc thi ngay lp tc.  
- Giá trtrong thanh ghi PC được tăng lên 1 và toàn bquá trình được lp li  
vài … triu ln trong mt giây.  
Hình 1.1 Cấu trúc bên trong ca vi điều khin.  
- Memory (bnh): là ROM/RAM lưu trchương trình hay các kết qutrung  
gian.  
+ Read Only Memory (ROM): Read Only Memory (ROM) là mt loi bnhớ  
được sdng để lưu vĩnh vin các chương trình được thc thi. Kích cca  
chương trình có thể được viết phthuc vào kích cca bnhnày. ROM có thể  
được tích hp trong vi điều khin hay thêm vào như là mt chip gn bên ngoài,  
tùy thuc vào loi vi điều khin. Chai tùy chn có mt snhược điểm. Nếu ROM  
được thêm vào như là mt chip bên ngoài, các vi điều khin là rhơn và các  
chương trình có thtn ti lâu hơn đáng k. Đồng thi, làm gim slượng các  
9
chân vào/ra để vi điều khin sdng vi mc đích khác. ROM ni thường là  
nhhơn và đắt tin hơn, nhưng có thêm lá ghim sn để kết ni vi môi trường  
ngoi vi. Kích thước ca dãy ROM t512B đến 64KB.  
+ Random Access Memory (RAM): Random Access Memory (RAM) là mt loi  
bộ nhsdng cho các dliu lưu trtm thi và kết qutrung gian được to ra  
được sdng trong quá trình hot động ca bvi điều khin. Ni dung ca bộ  
nhnày bxóa mt khi ngun cung cp btt.  
- Electrically Erasable Programmable ROM (EEPROM) (hình 1.2)  
EEPROM là mt kiu đặc bit ca bnhchmt sloi vi điều khin. Ni  
dung ca nó có thể được thay đổi trong quá trình thc hin chương trình (tương tự  
như RAM), nhưng vn còn lưu givĩnh vin, ngay csau khi mt điện  
(tương tnhư ROM). Nó thường được dùng để lưu trcác giá trị được to ra và  
được sdng trong quá trình hot động (như các giá trhiu chun, mã, các giá trị  
để đếm, v.v..), mà cn phi được lưu sau khi ngun cung cp ngt. Mt bt li  
của bnhnày là quá trình ghi vào tương đối chm.  
Hình 1.2 Giao tiếp bnhớ  
- Bộ đếm chương trình (PC:Program Counter): Bộ đếm chương trình cha địa  
chchđến ô nhcha câu lnh tiếp theo sẽ được kích hot. Sau mi khi thc  
hức năng ca  
hin lnh, giá trca bộ đếm được tăng lên 1. C  
CPU là tiến hành các  
thao tác tính toán xlý, đưa ra các tín hiu địa ch, dliu và điều khin nhm  
thc hin mt nhim vnào đó do người lp trình đưa ra thông qua các lnh  
(Instructions).  
hức năng ca  
- CPU-Central Processing Unit(Đơn vxlý trung tâm): C  
CPU là  
tiến hành các thao tác tính toán xlý, đưa ra các tín hiu địa ch, dliu và điều  
khin nhm thc hin mt nhim vnào đó do người lp trình đưa ra thông qua  
các lnh (Instructions).  
+ Bộ gii mã lnh có nhim vnhn dng câu lnh và điều khin các mch khác  
theo lnh đã gii mã. Vic gii mã được thc hin nhcó tp lnh “instruction set”.  
Mỗi hvi điều khin thường có các tp lnh khác nhau.  
10  
+ Thanh ghi tích lũy (Accumulator) là mt thanh ghi SFR liên quan mt  
thiết vi hot động ca ALU. Nó lưu trtt ccác dliu cho quá trình tính toán  
và lưu giá trkết quả để chun bcho các tính toán tiếp theo. Mt trong các thanh  
ghi SFR khác được gi là thanh ghi trng thái (Status Register) cho biết trng  
thái ca các giá trlưu trong thanh ghi tích lũy.  
+ Arithmetical Logical Unit (ALU): Thc thi tt ccác thao tác tính toán shc và  
logic.  
- Các thanh ghi chc năng đặc bit (SFR): Thanh ghi chc năng đặc bit (Special  
Function Registers) là mt phn ca bnhRAM. Mc đích ca chúng được định  
trước bi nhà sn xut và không ththay đổi được. Các bit ca chúng được liên kết  
vật lý ti các mch trong vi điều khin như bchuyn đổi A/D, modul truyn thông  
nối tiếp,… Mi sthay đổi trng thái ca các bit stác động ti hot động ca vi  
điều khin hoc các vi mch.  
- Các cng vào/ra (I/O Ports): Để vi điều khin có thhot động hu ích, nó cn  
có skết ni vi các thiết bngoi vi. Mi vi điều khin scó mt hoc mt số  
thanh ghi (được gi là cng) được kết ni vi các chân ca vi điều khin. Chúng có  
ththay đổi chc năng, chiu vào/ra theo yêu cu ca người dùng.  
Address bus(  
địa ch): Là các đường tín hiu song song 1 chiu ni từ  
CPU  
-
Bus  
đến bnh, CPU gi giá trị địa chca ô nhcn truy nhp (đọc/ghi) trên các  
đường tín hiu này. Độ rng ca bus địa chlà n (là scác đường tín hiu, vi n có  
thlà 8, 18, 20, 24, 32 hay 64), khi đó sô nhmà CPU có thể địa chhố đưc sẽ  
n
là 2  
- Data bus(Bus dliu): Là các đường tín hiu song song 2 chiu, nhiu thiết bị  
khác nhau có thể được ni vi bus dliu, nhưng ti mt thi điểm chcó 1 thiết  
bị duy nht có thể được phép đưa dliu lên bus. Độ rng Bus dliu là m(vi  
m có thlà 4, 8, 16, 32 hay 64), khi đó sbit mà môi mt chu kỳ đọc/ghi có thể  
truyn trên trên bus là m bits.  
- Control bus(Bus điều khin): CPU gi tín hiu thông qua bus này để điều khin  
mọi hot động ca hthng. Các tín hiu điều khin thường là: đọc/ ghi bnh,  
đọc/ ghi cng vào/ra,…  
1.1.3. nh vc và ng dng.  
Về cơ bn, vi điều khin rt đơn gin. Chúng chbao gm ti thiu mt số  
thành phn sau:  
- Một bvi xlý ti gin được sdng như bnão ca hthng.  
- Tùy theo công nghca mi hãng sn xut, có thcó thêm bnh, các chân  
nhp/xut tín hiu, bộ đếm, bộ định thi, các bchuyn đổi tương t/s(A/D), …  
- Tất cchúng được đặt trong mt vchíp tiêu chun.  
- Một phn mm đơn gin có thể điều khin được toàn bhot động ca vi điều  
khin và có thddàng cho người sdng nm bt.  
Dựa trên nguyên tc cơ bn trên, rt nhiu hvi điều khin đã được phát trin và  
ng dng mt cách thm lng nhưng mnh mvào mi mt ca đời sng ca con  
người. Mt số ứng dng cơ bn thành công có thkra sau đây.  
11  
1.1.4. Sản phm dân dng.  
+ Nhà thông minh: Ca tự đng, khóa s, tự động điều tiết ánh sáng thông minh  
(bt/tt đèn theo thi gian, theo cường độ ánh sáng,...), điều khin các thiết btừ  
xa (qua điều khin, qua tiếng vtay,...), điều tiết hơi m, điều tiết nhit độ, điều tiết  
không khí, gió. Hthng vsinh thông minh.  
+ Các máy móc dân dng: Máy điều tiết độ ẩm cho vườn cây,bung p trng  
gà/vt.Đồng hs, đồng hsđiều khin theo thi gian.  
+ Các sn phm gii trí: Máy nghe nhc, m áy chơi game, Đầu thu kthut s, đầu  
thu set-top-box,...  
Trong các thiết by tế.  
+ Máy móc thiết bhtr: máy đo nhp tim, máy đo đường huyết, máy đo huyết  
áp, điện tim đồ, điện não đồ,…  
+ Máy ct/mài kính.  
+ Máy chp chiếu (city, X-quang,...)  
Các sn phm công nghip.  
+ Điều khin động cơ  
+ Đo lường (đo điện áp, đo dòng điện, áp sut, nhit độ,...)  
+ Cân băng ti, cân toa xe, cân ô tô,...  
+ Điều khin các dây truyn sn xut công nghip  
+ Làm bộ điu khin trung tâm cho Robot  
Hướng phát trin.  
+ Kết hp các bvi xlý và vi điều khin trong các sn phm hthng nhúng.  
+ Sử dng tt nht các tính năng ca vi điều khin: tc độ mà bvi điều khin hỗ  
tr, dung lượng bnhRAM và ROM trên chíp,...  
+ Tìm hiu được khnăng phát trin các sn phm xung quanh.  
+ Nghiên cu các bvi điều khin 8051 tcác hãng khác nhau: 8751, AT89C51,  
DS500,...  
1.2. Kho sát vi điều khin Microchip  
1.2.1. Cấu hình vi điều khin PIC 18f4520.  
12  
Hình 1.3 Sơ đồ khi ca PIC18F4520  
1.2.2.  
Cấu trúc ca vi điều khin PIC 18f4520.  
Các khi chính trên PIC 18F4520 bao gm:  
Bộ xlý trung tâm CPU(Central Processing Unit):  
- Tần slàm vic ti đa 40 MHz, sn xut bng công nghnanoWatt.  
- Thiết kế theo kiến trúc Havard, tp lnh RISC.  
- Sử dng kthut đường ng lnh (Instruction Pipelining).  
13  
- Đơn vlogic hc (ALU: Arithmetic Logical Unit).  
- Thanh ghi làm vic (WREG: work register ).  
- Bộ nhân bng phn cng (8x8 Multiply), kết quả được cha trong cp thanh ghi  
(PRODH, PRODL).  
- Thanh ghi đếm chương trình (PC: Program Counter) có 21 bit bao gm thanh  
ghi PCL(PC-Low) cha các bit t7-0, thanh ghi PCH(PC-High) cha các bit từ  
15-8, thanh ghi PCU(PC-upper) cha các bit t20-16.  
- Thanh ghi con trngăn xếp STKPTR (Stack Pointer).  
- 31 mc ngăn xếp (31 level stack).  
- Thanh ghi la chn băng (BSR: Bank Select Register).  
- Thanh ghi con trdliu gián tiếp FSR (Indirect Data Memory Address  
Pointer).  
Bộ nh(Memory):  
- Bộ nhchương trình (Program Memory) bao gm 32 Kbytes bnhROM  
(Read-only Memory) kiu Flash.  
- Bộ nhdliu (Data Memory) bao gm 1536 byte SRAM (Static Random  
Access Memory), 256 byte EEPROM.  
Bộ phát xung hthng (Oscillator): Ngun xung tbên ngoài hoc tbphát  
xung ca hthng sẽ được đi qua bnhân hoc chia tn số để la chn ly tn số  
thích hp để làm xung hthng.  
- Ngun xung chính được đưa vào chip qua chân OSC1 và OSC2.  
- Ngun xung phụ được đưa vào chip qua các chân T1OSI, T1OSO.  
- Bộ phát xung ni INTRC tn s31 kHz.  
- Bộ phát xung ni trên chíp tn s8 MHz.  
Watch dog Timer (WDT): WDT là mt btimer có chc năng đặc bit. Nếu  
được cho phép WDT shot động và khi tràn skhi động li hthng. Thi  
gian khi động li hthng có thla chn được t4ms đến 131,072s. WDT sẽ  
được khi to ở đầu cơng trình, trong thân chương trình sẽ được chènǁ các lnh  
reset WDT sao cho khi MC thc hin các đúng tun tcác lnh, WDT chưa bị  
tràn. Mc đích chính ca vic sdng WDT là tránh cho vi điều khin vô tình thc  
hin phi mt vòng lp chết (dead loop) mà không thoát ra được. Khi đó do  
không thc hin được các lnh reset WDT nên MC stràn, tự động reset li hệ  
thng, thoát khi tình trng "btreo" trong vòng lp chết. Ngoài ra do có thể  
hot động trong khi MC ngǁ (Sleep Mode) nên WDT còn được sdng trong  
các ng dng tiết kim năng lượng.  
Bộ np chương trình: Bnp chương trình ni tiếp trên chip (Single - Supply In  
- Circuit Serial Programming) sgiúp np chương trình tmch np vào bnhớ  
ROM qua các chân PGM, PGC và PGD.  
Bộ Debugger (In-Circuit Debugger): Mch Debugger trên chíp sgiúp người lp  
trình kim soát li chương trình bng cách cho vi điều khin hot động chế độ  
chy tng lnh, nhóm lnh hay toàn bchương trình.  
Khi phát hin tín hiu reset: Mch phát hin tín hiu reset có khnăng phát  
14  
hin 03 ngun reset:  
- Reset tchân MCLR.  
- Reset khi bt ngun (POR: Power-on Reset).  
- Reset khi ngun yếu (BOR : Brown-out Reset).  
Khi qun lý li bphát xung (Fail-Safe Clock Monitor): Khi này được sự  
dụng để qun lý an toàn bphát xung hthng.  
Khi định thi khi động bphát xung (Oscillator Start-up Timer): Khi này sử  
dụng để to thi gian trchcho bphát xung n định.  
Thiết bngoi vi (Peripheral): PIC18f4520 được tích hp các thiết bngoi vi  
sau:  
- Bộ phát hin điện áp cao/thp HLVD(High/low-Voltage Detect).  
- Bộ nhlưu dliu khi tt ngun EEPROM.  
- 04 bộ đếm, định thi 16 bit: Timer0, Timer1, Timer2 và Timer3.  
- 01 bso sánh tín hiu tương t(Comparator).  
- 02 bCCP1, CCP2 (Capture, Compare, Pwm : Chp, So sánh, xung Pwm); 01  
bộ ECCP (Enhanced CCP).  
- 01 cng truyn thông ni tiếp đồng b(Master Synchronous Serial Port) có thể  
hot động được chế độ SPI hoc I2C.  
- 01 cng truyn thông ni tiếp đồng b/không đồng btăng EUSART (Enhanced  
Universal Synchronous Asynchronous Receiver Transmitter), giúp vi điều khin  
PIC có thgiao tiếp vi nhau hoc giao tiếp vi cng COM ca máy tính.  
- 13 kênh biến đổi tương t- s(ADC) độ phân gii 10 bit.  
Khi giao tiếp vào/ra s:  
Vi điều khin PIC18F4520 có 5 cng vào/ra A, B, C, D và E. Mi cng có mt  
thanh ghi đệm dliu tương ng là PORTA, PORTB, PORTC, PORTD và  
PORTE, các thanh ghi này được định địa chtheo byte và theo bit.  
- PORTA : RA7 - RA0.  
- PORTB : RB7 - RB0.  
- PORTC : RC7 - RC0.  
- PORTD : RD3 - RD0.  
- PORTE : RE3-RE0.  
1.2.3. Kho sát sơ đồ chân vi điều khin PIC 18f4520.  
- Sơ đồ chân dng PDIP (Lead Plastic Dual In-Line Package) hai hàng chân cm  
hai bên.  
15  
Hình 1.4 Sơ đồ chân PIC 18F4520 dng PDIP  
- TQFP (Thin Quad Flat Package) bn hàng chân dán vmng  
Hình 1.5 Sơ đồ chân PIC 18F4520 dng TQFP  
- Sơ đồ chân dng QFN (Quad Flat No-lead) bn hàng chân dán dưới đế  
16  
Hình 1.6 Sơ đồ chân PIC 18F4520 dng QFN  
Pin Number  
Pin  
Pin Name  
Description  
Type  
PDIP QFN TQFP  
1
18  
18  
MCLR/VPP/RE3  
MCLR  
Master Clear (input) or programming voltage (input).  
Master Clear (Reset) input. This pin is an active-low  
Reset to the device.  
I
VPP  
RE3  
Programming voltage input.  
P
I
I
Digital input.  
OSC1/CLKI/RA7  
OSC1  
13  
32  
30  
Oscillator crystal or external clock input.  
Oscillator crystal input or external clock source input.  
ST buffer when configured in RC mode; analog  
otherwise.  
I
CLKI  
RA7  
External clock source input. Always associated with  
pin function OSC1. (See related OSC1/CLKI,  
OSC2/CLKO pins.)  
I/O  
General purpose I/O pin.  
OSC2/CLKO/RA6  
OSC2  
14  
33  
31  
O
O
Oscillator crystal or clock output.  
Oscillator crystal output. Connects to crystal or  
resonator in Crystal Oscillator mode. In RC mode,  
OSC2 pin outputs CLKO which has 1/4 the frequency  
of OSC1 and denotes the instruction cycle rate.  
General purpose I/O pin.  
CLKO  
I/O  
RA6  
Pin Number  
Pin  
Type  
Pin Name  
Description  
PDIP QFN TQFP  
17  
PORTA is a bidirectional I/O port.  
RA0/AN0  
RA0  
2
3
4
19  
20  
21  
19  
20  
21  
I/O  
I/O  
I/O  
Digital I/O.  
AN0  
I
I
Analog input 0.  
RA1/AN1  
RA1  
Digital I/O.  
Analog input 1.  
AN1  
RA2/AN2/VREF-/CVREF  
RA2  
Digital I/O.  
AN2  
VREF-  
I
I
Analog input 2.  
A/D reference voltage (low) input.  
CVREF  
RA3/AN3/VREF+  
RA3  
AN3  
VREF+  
RA4/T0CKI/C1OUT  
O
Comparator reference voltage output.  
5
6
7
22  
23  
24  
22  
23  
24  
I/O  
Digital I/O.  
Analog input 3.  
A/D reference voltage (high) input.  
I
I
RA4  
T0CKI  
I/O  
Digital I/O.  
Timer0 external clock input.  
I
C1OUT  
RA5/AN4/SS/HLVDIN/  
O
Comparator 1 output.  
C2OUT  
RA5  
I/O  
Digital I/O.  
Analog input 4.  
SPI slave select input.  
High/Low-Voltage Detect input.  
AN4  
SS  
HLVDIN  
I
I
I
C2OUT  
RA6  
O
Comparator 2 output.  
See the OSC2/CLKO/RA6 pin.  
RA7  
See the OSC1/CLKI/RA7 pin.  
Pin Number  
Pin  
Type  
Pin Name  
Description  
PDIP QFN TQFP  
PORTB is a bidirectional I/O port. PORTB can be  
software programmed for internal weak pull-ups on all  
inputs.  
33  
9
8
RB0/INT0/FLT0/AN12  
Digital I/O.  
RB0  
External interrupt 0.  
PWM Fault input for Enhanced CCP1.  
Analog input 12.  
INT0  
FLT0  
AN12  
I/O I I I  
34  
35  
36  
10  
11  
12  
9
RB1/INT1/AN10  
RB1  
I/O  
I
I
Digital I/O.  
External interrupt 1. Analog input 10.  
INT1  
AN10  
10  
11  
RB2/INT2/AN8  
RB2  
I/O  
I
I
Digital I/O.  
External interrupt 2.  
Analog input 8.  
INT2  
AN8  
RB3/AN9/CCP2  
RB3  
Digital I/O.  
Analog input 9.  
Capture 2 input/Compare 2 output/PWM2 output.  
I/O I  
I/O  
AN9  
CCP2(1)  
18  
37  
38  
39  
14  
15  
16  
14  
15  
16  
RB4/KBI0/AN11  
RB4  
I/O  
Digital I/O.  
KBI0  
I
I
Interrupt-on-change pin.  
Analog input 11.  
AN11  
RB5/KBI1/PGM  
RB5  
I/O I  
I/O  
Digital I/O. Interrupt-on-change pin.  
Low-Voltage ICSP™ Programming enable pin.  
KBI1  
PGM  
RB6/KBI2/PGC  
RB6  
I/O I  
I/O  
KBI2  
PGC  
Digital I/O.  
Interrupt-on-change pin.  
In-Circuit Debugger and ICSP programming clock pin.  
RB7/KBI3/PGD  
RB7  
40  
17  
17  
I/O I  
I/O  
KBI3  
Digital I/O.  
Interrupt-on-change pin.  
In-Circuit Debugger and ICSP programming data pin.  
PGD  
Pin Number  
Pin  
Type  
Pin Name  
Description  
PDIP QFN TQFP  
PORTC is a bidirectional I/O port.  
RC0/T1OSO/T13CKI  
RC0  
15  
16  
17  
18  
34  
35  
36  
37  
32  
35  
36  
37  
I/O  
O
Digital I/O.  
Timer1 oscillator output.  
T1OSO  
T13CKI  
I
Timer1/Timer3 external clock input.  
RC1/T1OSI/CCP2  
RC1  
T1OSI  
CCP2(2)  
RC2/CCP1/P1A  
RC2  
I/O  
I
Digital I/O.  
Timer1 oscillator input.  
I/O  
Capture 2 input/Compare 2 output/PWM2 output.  
I/O  
I/O  
O
Digital I/O.  
CCP1  
P1A  
Capture 1 input/Compare 1 output/PWM1 output.  
Enhanced CCP1 output.  
RC3/SCK/SCL  
RC3  
SCK  
I/O  
I/O  
Digital I/O.  
Synchronous serial clock input/output for SPI mode.  
Synchronous serial clock input/output for I2C™ mode.  
SCL  
I/O  
RC4/SDI/SDA  
RC4  
23  
42  
42  
I/O  
I
Digital I/O.  
SDI  
SPI data in.  
SDA  
I/O  
I2C data I/O.  
RC5/SDO  
RC5  
24  
25  
43  
44  
43  
44  
I/O  
O
Digital I/O.  
SPI data out.  
SDO  
RC6/TX/CK  
RC6  
I/O  
O
Digital I/O.  
EUSART asynchronous transmit.  
TX  
CK  
I/O  
EUSART synchronous clock (see related RX/DT).  
RC7/RX/DT  
26  
1
1
RC7  
RX  
I/O  
I
Digital I/O.  
EUSART asynchronous receive.  
DT  
I/O  
EUSART synchronous data (see related TX/CK).  
19  
Pin Number  
Pin  
Type  
Pin Name  
Description  
PDIP QFN TQFP  
PORTD is a bidirectional I/O port or a Parallel Slave Port  
(PSP) for interfacing to a microprocessor port. These  
pins have TTL input buffers when PSP module is  
enabled.  
RD0/PSP0  
19  
20  
21  
22  
27  
28  
38  
39  
40  
41  
2
38  
39  
40  
41  
2
RD0  
PSP0  
RD1/PSP1  
RD1  
PSP1  
RD2/PSP2  
RD2  
PSP2  
RD3/PSP3  
RD3  
I/O  
I/O  
Digital I/O.  
Parallel Slave Port data.  
I/O  
I/O  
Digital I/O.  
Parallel Slave Port data.  
I/O  
I/O  
Digital I/O.  
Parallel Slave Port data.  
I/O  
I/O  
Digital I/O.  
Parallel Slave Port data.  
PSP3  
RD4/PSP4  
RD4  
I/O  
I/O  
Digital I/O.  
Parallel Slave Port data.  
PSP4  
RD5/PSP5/P1B  
RD5  
3
3
I/O  
I/O  
Digital I/O.  
Parallel Slave Port data.  
PSP5  
P1B  
O
Enhanced CCP1 output.  
RD6/PSP6/P1C  
RD6  
29  
30  
4
5
4
5
I/O  
I/O  
O
Digital I/O.  
PSP6  
Parallel Slave Port data.  
P1C  
Enhanced CCP1 output.  
RD7/PSP7/P1D  
RD7  
I/O  
I/O  
Digital I/O.  
Parallel Slave Port data.  
PSP7  
P1D  
O
Enhanced CCP1 output.  
Pin Number  
Pin  
Type  
Pin Name  
Description  
PDIP QFN TQFP  
PORTE is a bidirectional I/O port.  
8
25  
26  
27  
25  
26  
27  
RE0/RD/AN5  
RE0  
Digital I/O.  
I/O  
I
RD  
Read control for Parallel Slave Port (see also WR and  
CS pins).  
Analog input 5.  
AN5  
I
9
RE1/WR/AN6  
RE1 WR  
Digital I/O.  
I/O  
I
Write control for Parallel Slave Port (see CS and RD  
pins).  
Analog input 6.  
AN6  
I
10  
Digital I/O.  
I/O  
I
RE2/CS/AN7 RE2 CS  
Chip Select control for Parallel Slave Port (see related  
RD and WR).  
Analog input 7.  
AN7  
RE3  
I
See MCLR/VPP/RE3 pin.  
20  
Tải về để xem bản đầy đủ
pdf 102 trang Thùy Anh 05/05/2022 5660
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình nghề Điện tử công nghiệp - Môđun: Kỹ thuật vi điều khiển", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_nghe_dien_tu_cong_nghiep_modun_ky_thuat_vi_dieu_k.pdf