Download miễn phí PIC16F84 và một số ứng dụng


LỜI GIỚI THIỆU

Ngày nay, với tốc độ phát triển mạnh mẽ của công nghệ tự động trong tất cả mọi lĩnh vực thì việc tìm hiểu và ứng dụng các dòng chip Vi điều khiển là một vấn đề cần được quan tâm. Họ Vi điều khiển 8051 rất quen thuộc với chúng ta, và nó từng được xem là họ vi điều khiển rất ưu việt. Tuy nhiên với nhu cầu ngày càng cao về tính ổn định, tốc độ xử lý cũng như khả năng tiếp cận dễ dàng của người dùng, thì họ 8051 đã không phát huy được ưu thế của mình.
Các chip vi điều khiển thuộc dòng PIC của hãng Microchip có lẽ không quá xa lạ. Với công nghệ RISC (Reduced Instruction Set Computer) nâng cao đáng kể tốc độ xử lý, khả năng chống nhiễu, khả năng mở rộng tốt, khả năng nạp lại trên 1000 lần, tập lệnh đơn giản, được hỗ trợ lập trình dưới dạng Macro và đa dạng về chủng loại, thì dòng PIC là một dòng vi điều khiển tốt nhất trong các ứng dụng tự động từ đơn giãn đến phức tạp nhất. Tuy nhiên đến giờ nó còn khá mới mẻ và vẫn chưa được ứng dụng rộng rãi. Vì thế việc tìm hiểu dòng vi điều khiển này là một nhu cầu thực tế và nó hứa hẹn mang lại nhiều hiệu quả thiết thực phục vụ cho công nghệ tự động.
PIC16F84 là một tiêu biểu, có thể được coi là chip vi điều khiển đơn giản nhất của dòngï PIC. Với 2 Port, 18 chân và đầy đủ các tính chất ưu việt của dòng PIC, PIC16F84 phù hợp với các ứng dụng vừa và nhỏ, nhất là các thí nghiệm phục vụ học tập, nghiên cứu.
Chúng em mong rằng với đồ án “PIC16F84 và một số ứng dụng” sẽ là bước khởi đầu mở ra cái nhìn gần gũi hơn về dòng PIC để từ đó chúng ta có thêm một công cụ đắc lực trong điều khiển tự động.


MỤC LỤC
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 1
NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN 2
LỜI CẢM ƠN 3
LỜI GIỚI THIỆU 4
Phần I: GIỚI THIỆU VỀ PIC16F84 7
I.1. Tổng quan: 7
I.1.1. Cấu trúc 7
I.1.2. Sơ đồ chân 8
I.1.3. Bộ tạo xung 9
I.1.4. Reset 10
I.1.5. Bộ xử lý trung tâm (CPU) 10
I.1.6. Thanh ghi trạng thái status 10
I.1.7. Các port 11
I.1.8. PORTB và TRISB 12
I.2. Tổ chức bộ nhớ 13
I.2.1. Các thanh ghi SFR 14
I.2.2. Bộ đếm chương trình 15
I.2.3. Lập trình cho vi điều khiển 15
I.2.4. Các kiểu định địa chỉ 15
I.3. Các cơ chế ngắt 15
I.3.1. Thanh ghi điều khiển ngắt (INTCON ) 16
I.4. Timer TMR0 17
I.5. Thanh ghi OPTION 18
I.6. Bộ nhớ dữ liệu EEPROM 19
I.6.1. Thanh ghi EECON1 19
Phần II: LẬP TRÌNH HỢP NGỮ CHO PIC16F84 21
II.1. Giới thiệu: 21
II.1.1. Biểu diễn số trong trình biên dịch 21
II.1.2. Các yếu tố của hợp ngữ: 21
II.2. Tập lệnh của PIC: 22
Phần III: PHƯƠNG PHÁP NẠP CHIP 31
III.1. Giới thiệu phần mềm MPLAB 31
III.2. Phần mềm nạp chip IC – PROG: 31
III.3. Mach nạp JDM 32
Phần IV: ỨNG DỤNG 34
IV.1. Điều khiển LED 34
IV.1.1. Hoạt động 34
IV.1.2. Mạch điều khiển 34
IV.2. Điều khiển động cơ Servo 35
IV.2.1. Hoạt động 35
IV.2.2. Mạch điều khiển 38
IV.3. Điều khiển LCD 38
IV.3.1. Giới thiệu về LCD 38
IV.3.2. Hoạt động của LCD trong ứng dụng 41
IV.3.3. Sơ đồ mạch điều khiển LCD 42
IV.4. Mô hình tích hợp: 42
IV.5. Mã chương trình: 44


Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

ûi ñöôïc dòch thaønh moät chuoãi caùc soá 0 vaø 1, goïi laø maõ leänh ( opcode ). Vieäc dòch töø daïng chöõ sang thaønh maõ leänh ñöôïc thöïc hieän bôûi caùc trình bieân dòch, chaúng haïn nhö trình dòch hôïp ngöõ. Sau ñoù CPU seõ giaûi maõ vaø thöïc thi caùc leänh.
Thanh ghi traïng thaùi status
Hình I5: Thanh ghi traïng thaùi
Bit 7_ IRP( Register bank Select bit ): laø bit thöù 8 cuûa thanh ghi STATUS laøm nhieäm vuï ñònh ñòa chæ giaùn tieáp cho RAM noäi.
IRP = 1: bank 2 vaø 3
IRP = 0 bank 1 vaø 0 ( töø ñòa chæ 00h ñeán FFh).
Bit 6:5 _ RP1: RP0 ( Register Bank Select Bits ): Hai bit naøy duøng ñeå choïn bank thanh ghi.
01 = Bank 1
00 = Bank 0
Bit 4 _TO (Time – out ): bit naøy ñöôïc set baèng 1 moãi khi WDT bò traøn.
1 = Chöa traøn
0 = Bò traøn
Bit 3_ PD ( Power – down bit ) bit naøy ñöôïc set moãi khi vi ñieàu khieån ñöôïc caáp nguoàn, khi baét ñaàu chaïy, sau khi reset, vaø sau khi thöïc hieän leänh CLRWDT
Bit 2_ Z ( Zero bit ) Duøng ñeå chæ keát quaû ra 0, ñöôïc set moãi khi keát quaû traû veà cuûa moät pheùp toaùn soá hoïc hay luaän lyù coù giaù trò laø 0.
Bit 1_ DC ( Digit Carry ) Bò aûnh höôûng bôûi caùc pheùp toaùn coäng, tröø. Noù ñöôïc set khi ta tröø moät soá cho moät soá lôùn hôn.Vaø ñöôïc reset trong tröôøng hôïp ngöôïc laïi.
Bit 0_ C (Carry )aûnh höôûng bôûi caùc leänh ADDWF, ADDLW, SUBLW, SUBWF.
Caùc port
Port duøng ñeå chæ moät nhoùm caùc chaân treân vi ñieàu khieån coù theå truy xuaát ñoàng thôøi, hoaëc coù theå set moät bit mong muoán leân 1 hay xuoáng 0, hoaëc ñoïc töø chuùng traïng thaùi ñang toàn taïi. Veà maët vaät lyù, Port laø moät thanh ghi beân trong vi ñieàu khieån ñöôïc noái bôûi daây daãn vôùi caùc chaân cuûa vi ñieàu khieån. Noù ñaïi dieän cho söï keát noái vaät lyù giöõa boä xöû lyù trung taâm vôùi theá giôùi beân ngoaøi. Vi ñieàu khieån duøng chuùng ñeå hieån thò hay ñieàu khieån caùc caùc thaønh phaàn hay thieát bò khaùc. Tuyø theo chöùc naêng, maø moät vaøi chaân coù theå ñaûm nhieäm caû vai troø, chaúng haïn nhö chaân RA4/TOCKI, vöøa laø bi thöù 4 cuûa Port A, laïi vöøa laø ngoõ vaøo töø beân ngoaøi cho boä ñeám. Vieäc löïa choïn moät trong hai chöùc naêng naøy ñöôïc thöïc hieän qua vieäc thay ñoåi giaù trò cho caùc thanh ghi chuyeân duïng, chaúng haïn ôû ñaây laø bit thöù 5 TOSC trong thanh ghi OPTION. Khi ta choïn moät trong hai chöùc naêng thì chöùc naêng coøn laïi seõ khoâng hoaït ñoäng ñöôïc.
Taát caû caùc chaân trong port ñeàu coù theå ñöôïc duøng nhö caùc ngoõ xuaát hay nhaäp, tuyø thuoäc vaøo yeâu caàu cuûa thieát bò caàn ñieàu khieån. Ñeå ñònh nghóa moät chaân laø xuaát hay laø nhaäp, thì ta söû duïng caùc thanh ghi TRIS ôû bank1. Neáu moät bit trong thanh ghi TRIS baèng 1, thì bit töông öùng vôùi vò trí ñoù trong port luùc naøy seõ laø ngoõ nhaäp, vaø ngöôïc laïi.Moãi moät port coù moät thanh ghi TRIS rieâng cho noù, port A öùng vôùi TRISA, port B öùng vôùi TRISB.Thanh ghi Port A vaø B naèm trong bank 0, trong khi TRISA vaø TRISB naèm trong bank1.
PORTB vaø TRISB
Port B goàm 8 chaân. Thanh ghi töông öùng cho vieäc xaùc ñònh chieàu döõ lieäu laø TRISB.
Hình I6: Caáu truùc PORTB & TRISB
Moãi chaân trong Port B ñeàu coù saün moät ñieän trôû keùo leân coù giaù trò nhoû ôû ngay beân trong (duøng ñeå noái ngoõ leân möùc logic 1 ) coù theå ñöôïc kích hoaït baèng caùch reset bit thöù 7 RBPU trong thanh ghi OPTION. Caùc ñieän trôû keùo leân naøy töï ñoäng taét khi caùc chaân cuûa port ñöôïc ñònh nghóa laø caùc ngoõ xuaát. Khi vi ñieàu khieån baét ñaàu hoaït ñoäng, caùc ñieän trôû naøy khoâng ñöôïc kích hoaït.
Caùc chaân töø RB4 ñeán RB7 cuûa port B coù theå gaây ra ngaét khi traïng thaùi cuûa noù thay ñoåi töø möùc 0 leân möùc 1 vaø ngöôïc laïi. Chæ coù nhöõng chaân naøo ñöôïc ñònh nghóa laø ngoõ nhaäp môùi coù theå gaây ra ngaét ñöôïc.
PORTA vaø TRISA
Port A coù 5 chaân xuaát nhaäp, thanh ghi töông öùng cuûa noù laø TRISA coù ñòa chæ 85h. Cuõng gioáng nhö port B, vieäc set moät bit trong thanh ghi TRISA seõ ñònh nghóa bit töông öùng trong port A laø xuaát hay laø nhaäp.
Moät ñieàu quan troïng caàn chuù yù laø chaân RA4 cuûa port A chæ coù theå döøng ñeå nhaäp maø thoâi. Noù cuõng duøng ñeå nhaäp töø ngoaøi cho boä ñònh thôøi TMR0.
Hình I7: Caáu truùc PORTA & TRISA
Toå chöùc boä nhôù
PIC16F84 coù hai khoái boä nhôù phaân caùch nhau, moät cho döõ lieäu vaø caùi coøn laïi cho chöông trình. Boä nhôù EPPROM vôùi caùc thanh ghi GPR vaø SFR trong boä nhôù RAM seõ quaûn lyù khoái döõ lieäu, coøn boä nhôù FLASH quaûn lyù khoái chöông trình.
Boä nhôù chöông trình
Boä nhôù chöông trình ñöôïc cheá taïo baèng coâng ngheä FLASH, noù cho pheùp laäp trình cho vi ñieàu khieån ñöôïc nhieàu laàn tröôùc khi noù ñöôïc laép ñaët vaøo thieát bò, hoaëc ngay caùc sau khi noù ñöôïc laép ñaët maø coù moät söï coá naøo ñoù xaûy ra. Dung löôïng cuûa boä nhôù chöông trình naøy laø 1024 doøng leänh vôùi ñoä daøi 14 bit, trong ñoù caùc vò trí töø 0h ñeán 4h ñöôïc duøng cho caùc vector reset vaø ngaét.
Boä nhôù döõ lieäu
Boä nhôù döõ lieäu bao goàm boä nhôù RAM vaø EPPROM. Boä nhôù EPPROM bao goàm 64 byte, noäi dung cuûa noù khoâng bò maát ñi neáu lôõ nhö maát nguoàn. EPPROM khoâng ñöôïc ñònh ñòa chæ tröïc tieáp, maø ñöôïc truy xuaát giaùn tieáp thoâng qua 2 thanh ghi laø EEADR vaø EEDATA. Bôûi vì boä nhôù EPPROM ñöôïc duøng cho vieäc löu tröõ nhöõng thoâng soá quan troïng, cho neân ngöôøi laäp trình caàn phaûi tuaân theo moät soá quy taéc ñeå traùnh maéc loãi trong luùc vieát. Boä nhôù Ram coù ñòa chæ töø 0x0C ñeán 0x4F, bao goàm 68 oá nhôù 8 bit. Vieäc xaùc ñònh vò trí cuûa RAM cuõng ñöôïc thöïc hieän thoâng qua thanh ghi GPR
Caùc thanh ghi SFR
Ñaây laø caùc thanh ghi coù chöùc naêng ñaëc bieät, chieám 12 oâ nhôù ñaàu tieân trong caùc bank 0 vaø bank 1.
Hình I8: Toå chöùc boä nhôù PIC16F84
Boä ñeám chöông trình
Boä ñeám chöông trình (PC ) laø moät thanh ghi 13 bit, noù chöùa ñòa chæ cuûa caùc leänh caàn thöïc thi. Noù ñöôïc xaùc ñònh baèng caùch keát hôïp cuûa thanh ghi 5 bit PCLATCH cho 5 bit cao caû ñòa chæ vôùi thanh ghi 8 bit PCL cho 8 bit thaáp cuûa ñòa chæ.
Baèng caùch taêng daàn noäi dung cuûa PC, vi ñieàu khieån seõ töøng böôùc thöïc hieän caùc leänh coù trong chöông trình.
Laäp trình cho vi ñieàu khieån
Ñeå laäp trình vaøo boä nhôù chöông trình,vi ñieàu khieån phaûi ñöôïc set ôû cheá ñoä laøm vieäc ñaëc bieät, cuï theå khi ñoù chaân MCLR seõ ñöôïc noái vôùi aùp 13,5V, vaø nguoàn cung caáp phaûi oån ñònh. Boä nhôù chöông trình coù theå ñöôïc laäp trình noái tieáp söû duïng 2 chaân “ data / clock “.
Caùc kieåu ñònh ñòa chæ
Ñòa chæ oâ nhôù trong RAM coù theå ñöôïc truy xuaát baèng hai caùch:
_Ñònh ñòa chæ tröïc tieáp.
_Ñònh ñòa chæ giaùn tieáp.
Caùc cô cheá ngaét
Ngaét laø moät ñaëc tính cuûa vi ñieàu khieån maø cho pheùp noù ñaùp öùng ñöôïc vôùi nhöõng söï kieän taïi luùc noù xaûy ra, vaø xaùc ñònh xem vi ñieàu khieån seõ laøm gì tieáp theo sau ñoù. Ñaây laø moät chöùc naêng voâ cuøng quan troïng, bôûi vì noù taïo neân söï gaén keát giöõa vi ñieàu khieån vôùi theá giôùi xung quanh noù. Thoâng thöôøng thì ngaét seõ laøm ngöng chöông trình ñang thöïc hieän, coøn goïi laø chöông trình neàn, vaø thöïc hieän tieáp chöông trình ngaét töông öùng vôùi nguyeân nhaân gaây ra ngaét.
Hình I9: Caáu truùc ngaét
Thanh ghi ñieàu khieån ngaét (INTCON )
Thanh ghi ñieàu khieån ngaét (INTCON) ñöôïc truy xuaát baèng caùch choïn bank töông öùng. Noù coù chöùc naêng cho pheùp hay laø caám xaûy ra ngaét, vaø xaùc ñònh caùc nguyeân nhaân ngaét.
Hình I10: Thanh ghi ñieàu khieån ngaét
Bit 7_ GIE ...
 

Kiến thức bôn ba

Các chủ đề có liên quan khác

Các chủ đề có liên quan khác

Top