intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

GIÁO TRÌNH VI XỬ LÝ 2 - CHƯƠNG 3. CHƯƠNG TRÌNH BIÊN DỊCH VÀ NẠP PIC16F877A

Chia sẻ: Nguyễn Nhi | Ngày: | Loại File: PDF | Số trang:113

445
lượt xem
202
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

CHƯƠNG TRÌNH BIÊN DỊCH: Hiện nay có rất nhiều chương trình biên dịch cho PIC viết trên nhiều ngôn ngữ khác nhau như ASM, BASIC, C,… hai phần mềm MPLAB của hãng Microchip và phần mềm CCS C. Ngoài ra còn có các phần mềm biên dịch khác như: Mikro BASIC, Mikro C, HI-TECH,

Chủ đề:
Lưu

Nội dung Text: GIÁO TRÌNH VI XỬ LÝ 2 - CHƯƠNG 3. CHƯƠNG TRÌNH BIÊN DỊCH VÀ NẠP PIC16F877A

  1. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn Chöông 3 CHÖÔNG TRÌNH BIEÂN DÒCH VAØ NAÏP CHO VI ÑIEÀU KHIEÅN PIC16F877A CHÖÔNG TRÌNH BIEÂ N DÒCH C HÖÔNG TRÌNH BIEÂN DÒCH MPLAB IDE C HÖÔNG TRÌNH BIEÂN DÒCH CCS C M P. HC uat T CHÖÔNG TRÌNH NAÏ P CHO PIC y th K C HÖÔNG TRÌNH NAÏP WINPIC800 pham H Su C HÖÔNG TRÌNH NAÏP IC-PRO ng D uo © Tr NGOÂN NGÖÕ LAÄP TRÌNH ASM CUÛ A MPLAB yen C AÙC QUY ÖÔÙC CUÛA NGOÂ N NGÖÕ u q MPLAB Ban [nhaõn] Leän h vaø caùc tham soá Quy öôù c kí hieäu trong MPLAB DIEÃ N TAÛ CAÙC LEÄ NH Leän h: ADDLW Leän h: ADDWF Leän h: ANDLW Leän h: ANDWF Leän h: B CF Leän h: BSF Leän h: B TFSS Leän h: B TFSC Leän h: C ALL Leän h: C LRF Leän h: C LRW Leän h: C LRWDT Leän h: COMF Leän h: D ECF Leän h: D ECFSZ Leän h: G OTO Leän h: INCF Leän h: INCFSZ Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
  2. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn C höông 3. Chöông trình bieâ n dòch vaø naïp cho Vi ñieàu khieån PIC16F877A. SPKT – Nguyeã n Ñình Phuù Leän h: IORLW Leän h: IORWF Leän h: M OVLW Leän h: M OVF Leän h: M OVWF Leän h: R ETFIE Leän h: R ETLW Leän h: R LF Leän h: R ETURN Leän h: R RL Leän h: S LEEP Leän h: SUBLW Leän h: SUBWF Leän h: SWAPF Leän h: XORLW Leän h: XORWF HCM TP. NGOÂN NGÖÕ LAÄP TRÌNH C CUÛ A CCS C huat Ky t GIÔÙ I THIEÄ U CCS C pham H Su NGOÂ N NGÖÕ LAÄP TRÌNH C TREÂN CCS C D K HAI BAÙO VAØ SÖÛ DUÏ NG BIEÁN, HAÈ NG, MAÛTGuong Nr en © Khai baù o bieán , haènquy n g an g, maû B Caù ch söû duï ng bieá n C AÙC CAÁU TRUÙC LEÄ NH C HÆ THÒ TIEÀN XÖÛ LYÙ #ASM vaø #ENDASM #INCLUDE # BIT, #BYTE, #LOCATE vaø #DIFINE #DEVICE #ORG #USE Moät soá chæ thò tieà n xöû lyù khaùc C AÙC HAØM XÖÛ LYÙ SOÁ, XÖÛ LYÙ BIT, DELAY Caù c haøm xöû lyù soá Caù c haøm xöû lyù bit vaø caù c pheù p toaùn Caù c haøm xöû lyù bit vaø caù c pheù p toaùn X ÖÛ LYÙ ADC VAØ CAÙC HAØM IO TRONG C Caù c haøm xöû lyù ADC SETUP_ADC_port (value) SETUP_ADC_channel (channel) Read_ADC (mode) Caù c haøm IO trong C K HAI BAÙO NGAÉT VAØ CAÙC HAØM THIEÁT LAÄP HOAÏT ÑOÄ NG NGAÉT 124 V i xöû lyù Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
  3. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn C höông 3. Chöông trình bieâ n dòch vaø naïp cho Vi ñieàu khieån PIC16F877A. SPKT – Nguyeã n Ñình Phuù Khai baù o ngaét Caù c haøm thieát laä p hoaït ñoän g ngaé t Caù c haøm giao tieá p vôùi maù y tính qua coån g COM CAÙ C CHÖÔNG TRÌNH VÍ DUÏ C HÖÔNG TRÌNH ÑIEÀ U KHIIEÅ N 8 LED ÑÔN CHOÙ P TAÉT C HÖÔNG TRÌNH ÑIEÀ U KHIIEÅ N 1 ÑIEÅM SAÙ NG DI CHUYEÅN TÖØ TRAÙI SANG PHAÛI C HÖÔNG TRÌNH ÑIEÀ U KHIIEÅ N 8 LED SAÙ NG DOÀ N C HÖÔNG TRÌNH ÑIEÀ U KHIIEÅ N ÑEÁM TÖØ 0 ÑEÁ N 9999 TREÂN LED 7 ÑOAÏN C HÖÔNG TRÌNH ÑIEÀ U KHIIEÅ N LED MA TRAÄ N HIEÅ N THÒ CHUOÃI “SPKT” Hình vaø baûng Hình 3-1. Cöû a soå khôûi ñoän g. Hình 3-2. Cöû a soå laøm vieä c cuû a MPLAB. Hình 3-3. Maøn hình khôû i ñoä ng cuû a CCS C. HCM Hình 3-4. Löu file. TP. huat Hình 3-5. Taïo Project môùi . Ky t pham Hình 3-6. Cöû a soå laøm vieä c cuû a CCSC. H Su Hình 3-7. Thoâng baùo sau khi bieân dòch. g D uon Hình 3-8. Cöû a soå cuû a WINPIC800. © Trn quye Ban Hình 3-9. Cöû a soå Hardware Setting. Hình 3-10. Maøn hình cuû a IC-Pro. Hình 3-11. Cöû a soå Hardware Setting. Hình 3-12. Cöû a soå Setting. Hình 3-13. Cöû a soå löï a choïn . Hình 3-14. Cöû a soå löï a choïn . Hình 3-15. Caø i ñaët Driver. Hình 3-16. Choï n PIC caàn naï p. Hình 3-17. Ñònh daï n g chung cho moä t soá leänh cuûa PIC 16F877A. Baû n g 3-1. Kí hieäu caùc thanh ghi trong MPLAB. Baû n g 3-2. Toùm taé t taä p leänh. Baû n g 3-3. Taä p leä n h ngoân ngöõ C. Baû n g 3-4. Keát quaû ñoïc ADC. 125 V i xöû lyù Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
  4. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn C höông 3. Chöông trình bieâ n dòch vaø naïp cho Vi ñieàu khieån PIC16F877A. SPKT – Nguyeã n Ñình Phuù I. CHÖÔNG TRÌNH BIEÂ N DÒCH: Hieä n nay coù raá t nhieàu chöông trình bieân dòch cho PIC vieá t treân nhieàu ngoân ngöõ khaù c nhau nhö ASM, BASIC, C,… hai phaà n meàm MPLAB cuû a haõn g Microchip vaø phaà n meàm CCS C. Ngoaøi ra coøn coù caù c phaàn meàm bieân dòch khaù c nhö: Mikro BASIC, Mikro C, HI-TECH, … 1. C HÖÔNG TRÌNH BIEÂN DÒCH MPLAB ID E: Chöông trình bieân dòch MPLAB IDE cuû a haõng Microchip cho mieãn phí taï i website http://www.microchip.com. Phaà n meàm MPLAB IDE töông thích vôùi heä ñieàu haønh: Windows 98 SE Windows ME Windows NT 4.0 SP6a Workstations (NOT Servers) Windows 2000 SP2 Windows XP Home and Professional HM thì maø n hình seõ xuaá tC n bieå u töôïng: TP. hieä Sau khi caøi ñaët xong thì click vaøo bieåu töôï ng huat Ky t am u ph HS ng D ruo n©T quye an B Hình 3-1. Cöû a soå khôû i ñoä n g. Sau ñoù coù maøn hình soaïn thaûo nhö sau: 126 V i xöû lyù Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
  5. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn C höông 3. Chöông trình bieâ n dòch vaø naïp cho Vi ñieàu khieån PIC16F877A. SPKT – Nguyeã n Ñình Phuù M P. HC uat T y th K pham H Su ng D ruo T en © Hìnhuy q 3-2. Cöû a soå laøm vieä c cuû a MPLAB. Ban Khi muoán bieân dòch töø file .ASM sang file .HEX vaø o menu Project roà i choïn Build all hoaë c QuickBuild ñeå bieâ n dòch. Neáu chöông trình vieá t bò loã i thì taïi cöûa soå Output seõ xuaá t hieän moät thoâng baùo laø bieân dòch thaát baï i (BUILD FAILED) vaø soá loãi cuû a chöông trình vôùi vò trí cuû a töøng loã i naèm trong chöông trình. Khi duø ng MPASM, caù c soá coù theå ñöôï c bieâ n dòch moä t trong caù c heä thoán g soá cô baûn. Maëc ñònh cho file nguoàn coù theå ñöôï c thieát laäp baè ng chæ daãn Radix: Radix dec Beân trong file nguoà n, giaù trò maõ coù theå nhaäp vaø o caù c cô soá khaùc nhau söû duïng caáu truù c sau: D‘123’ .123 ; thaäp phaân H‘1AF’ 0x1F ; thaäp luï c phaân O‘777’ ; baù t phaân B ‘00111001’ ; nhò phaân 0B00111001 ; nhò phaân ‘A’ ‘C’ ; 7-bit ASCII dt ‘This is a string’ ; daõy ASCII Caáu truù c moä t chöông trình ASM trong MPLAB nhö sau: Title “teân goïi cuû a chöông trình” Include ; Teân PIC caàn vieát chöông trình _CONFIG CP_OFF &…… ; khai baùo cho PIC ;-------- Khai baùo bieá n--------------------- temp EQU 0x20 ; ñaët bieán coù teân temp coù ñòa chæ laø oâ nhôù 0x20 127 V i xöû lyù Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
  6. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn C höông 3. Chöông trình bieâ n dòch vaø naïp cho Vi ñieàu khieån PIC16F877A. SPKT – Nguyeã n Ñình Phuù ;------------------------------------------------ ORG 0x0000 ;vector reset GOTO START ;----------------Chöông trình ngaét--------- ORG 0x0004 ;vector interrupt ; ….maõ ngaé t ôû ñaây. RETFIE ; thoaùt khoû i chöông trình ngaét ;-----------------Keá t thuù c chöông trình ngaé t----- ;==========Chöông trình chính========= Start maõ chöông trình chính ôû ñaây END ;keá t thuù c chöông trình chính ;================================= Coâng cuï MPLAB SIM trong MPLAB IDE (coâ ng cuï moâ phoûng cho chöông trình): Choïn Debugger  Select Tool ñeå choïn coân g cuï, sau ñoù choï n MPLAB SIM. Ñaây laø coâ ng cuï HCM TP. moâ phoûn g duøng ñeå giaû laäp tín hieäu ñieän cuû a caùc chaân vaø traïn g thaùi caù c thanh ghi cuûa con chip ñöôï c huat Ky t duøng. Coù hai loaïi: ñoàng boä vaø khoâng ñoà ng boä. am u ph Ñoàng boä: tín hieä u ñöôï c giaû laäp ñoàng boä vôù i H S ng voøng leänh cuû a chip. D nhöõ ong c pu Khoâng Ñoàng boä : tín hieäu ñöôïn ©aùTrñaë t bôûi ngöôøi duøng trong thôøi gian thöïc (real time) khi ye MPLAB SIM ñang chaïy. Ban qu 2. C HÖÔNG TRÌNH BIEÂN DÒCH CCS C: Chöông trình bieân dòch CCS C ñöôï c cung caáp taï i ñòa chæ: http://www.ccsinfo.com/download.shtml. Vì laø trình bieân dòch coù thu phí neân phieân baûn demo coù moä t soá haïn cheá so vôùi phieân baûn coù thu phí. CCS laø trình bieân dòch laäp trình ngoân ngöõ C cho Vi ñieàu khieån PIC cuû a haõng Microchip. Chöông trình laø söï tích hôïp cuû a 3 trình bieâ n dich rieâng bieät cho 3 doøng PIC khaùc nhau ñoù laø :  PCB cho doøng PIC 12bit opcodes  PCM cho doøng PIC 14bit opcodes  PCH cho doøng PIC 16 vaø 18bit Taát caû 3 trình bieân dòch naøy ñuôïc tích hôï p laï i vaøo trong moä t chöông trình bao goàm caû trình soaï n thaû o vaø bieân dòch laø CCS. Gioá ng nhö nhieàu trình bieân dòch C khaùc cho PIC, CCS giuùp cho ngöôøi söû duï ng naém baé t nhanh ñöôïc vi ñieàu khieån PIC vaø söû duï ng PIC trong caùc döï aùn. Caù c chöông trình ñieàu khieån seõ ñöôï c thöï c hieän nhanh choù ng vaø ñaït hieäu quaû cao thoâng qua vieä c söû duïng ngoâ n ngöõ laäp trình caáp cao – ngoân ngöõ C. Khi khôû i ñoä ng chöông trình CCS thì cöûa soå chöông hình nhö hình döôùi: 128 V i xöû lyù Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
  7. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn C höông 3. Chöông trình bieâ n dòch vaø naïp cho Vi ñieàu khieån PIC16F877A. SPKT – Nguyeã n Ñình Phuù Hình 3-3. Maø n hình khôû i ñoä n g cuûa CCS C. . HCM t TP thua Ky Höôùng daãn taïo moä t Project môù i trong CCS: pham duøng Project Wizard, Manual Create, Ñeå taïo moät Project trong CCS coù nhieàu DH h,ucoù theå caùc S ngkhai baùo ban ñaàu caàn thieát. Vaøo Project choïn PIC hay laø taïo moä t Files môù i vaø theâm vaøo©ñoùruo c T caù yenra yeâu caàu nhaäp teân file caàn taïo nhö hình sau: Wizard sau khi choïn moä t cöûaasoåqu n Bn hieä Hình 3-4. Löu file. Choïn Save moä t cöûa soå môù i hieän ra nhö hình sau: 129 V i xöû lyù Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
  8. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn C höông 3. Chöông trình bieâ n dòch vaø naïp cho Vi ñieàu khieån PIC16F877A. SPKT – Nguyeã n Ñình Phuù M P. HC uat T y th K pham H Su ng D uo © Tr yen 3-5. Taïo Project môùi. Hình qu Ban Sau ñoù nhaáp OK laø ñaõ taïo ñöôï c moä t Project môù i vaø coù cöû a soå laøm vieä c môù i nhö hình sau: Hình 3-6. Cöû a soå laøm vieä c cuû a CCSC. Nhö vaäy, chuùng ta ñaõ taïo ñöôï c moät Project môùi vaø tieán haønh vieá t chöông trình cho PIC. 130 V i xöû lyù Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
  9. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn C höông 3. Chöông trình bieâ n dòch vaø naïp cho Vi ñieàu khieån PIC16F877A. SPKT – Nguyeã n Ñình Phuù Khi muoán bieân dòch töø file *.c sang file *.Hex thì vaøo Compile  choï n Compile hoaëc baám F9 thì CCS seõ tieán haønh bieân dòch file *.c sang file *.Hex ñeå naïp cho PIC. Khi bieân dòch thì trình bieân dòch seõ xuaát hieän cöûa soå nhö hình sau laø chöông trình bieân dòch thaøn h coâng (chöông trình khoâng coù loã i veà caáu truù c leänh). Hình 3-7. Thoâng baùo sau khi bieân dòch. HCM TP. troû ôû trong chöông trình. huat Neáu chöông trình vieá t coù loã i thì khi bieân dòch seõ baùo loã i taï i vò trí con Ky t pham H Su II. CHÖÔNG TRÌNH NAÏ P CHO PIC: gD Hieä n nay coù raá t nhieàu phaàn meàmTrup n c nhau cho PIC nhö phaàn meàm naïp Winpic800 vaø naï o khaù en © IC-Pro ñeå giôù i thieäu vì hai phaàquy m naøy ñöôïc söû duïn g nhieàu vaø ñöôï c coäng ñoàng söû duïng PIC an n meà B ñaùnh giaù toá t. 1. C HÖÔNG TRÌNH NAÏP WINPIC800: Höôùng daãn caøi ñaët Winpic800: chaïy file WinPic800_V3_59.exe ñeå caø i ñaë t Winpic800, sau ñoù choïn next ñeå tieán haøn h caø i ñaë t. Khi caøi ñaë t xong thì treân maø n hình desktop xuaát hieän bieå u töôïng Winpic800, click vaøo bieåu töôïn g Winpic800 ñeå chaïy chöông trình naïp, cöû a soå cuû a Winpic800 nhö hình sau: Hình 3-8. Cöû a soå cuû a WINPIC800. 131 V i xöû lyù Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
  10. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn C höông 3. Chöông trình bieâ n dòch vaø naïp cho Vi ñieàu khieån PIC16F877A. SPKT – Nguyeã n Ñình Phuù Sau ñoù vaø o Settings  choïn Hardware ñeå tieán haønh caøi ñaë t phaàn cöùng cho chöông trình naïp, maøn hình hardware settings xuaát hieän nhö sau: Hình 3-9. Cöû a soå Hardware Setting. Choïn hardware laø JMD Programmer, choïn Apply Edits ñeå chaáp nhaän. CM P. H uat T duï nhö muoán naïp cho Sau ñoù choïn hoï PIC vaø teân PIC muoán naïp chöông th y trình. Ví am K PIC16F877A thì choïn hoï 16F teân PIC laø 16F877A. u ph HS ng D Höôùng daãn naïp chöông trình cho PIC16F877A baèng Winpic800: ruo n © T ñeå choïn file *.Hex caàn naïp. Sau ñoù choïn Device  yen u Choïn File  Open hoaëcqchoï Ban Program All (Ctrl+P) hoaë c choïn ñeå naï p chöông trình. 2. C HÖÔNG TRÌNH NAÏP IC-PRO: Höôùng daãn caøi ñaët IC-Pro: giaûi neùn file IC-pro vaøo thö muï c baát kì nhö IC-Pro sau ñoù chaïy file ICProg.exe boû qua taá t caû caùc loãi ñeå môû chöông trình ra. Sau ñoù choï n Settings >> Clear Settings nhö hình sau: Hình 3-10. Maøn hình cuû a IC-Pro. Sau khi nhaán Yes lieân tuï c, moä t maøn hình Hardware settings seõ hieän ra nhö sau: 132 V i xöû lyù Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
  11. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn C höông 3. Chöông trình bieâ n dòch vaø naïp cho Vi ñieàu khieån PIC16F877A. SPKT – Nguyeã n Ñình Phuù Hình 3-11. Cöû a soå Hardware Setting. Do chuùng ta choïn duøng boä naïp PG1A laø moä t boä naïp ñöôïc phaù t trieån cuû a JDM, cho neâ n phaàn Programmer chuùng ta seõ choïn JDM Programmer. Phaà n coån g, chuùng ta seõ choïM COM1, COM2 hoaë c n HC TP. vaø phaàn Communication COM3 tuøy theo maùy tính. Phaàn Interface, caùc baïn choï n Windowst API hua Ky t pham khoâng ñaùnh daáu gì caû, sau ñoù choïn OK. Khi söû duïng Windows API, khoâ ng caàn quan taâm ñeán phaàn H Su ng D I/O Delay. Truo Maøn hình ban ñaàu sau khiukhôûi© ñoäng laïi IC-Prog hieän ra nhö hình döôù i. Chuùng ta seõ choïn n q ye ancaøi ñaë t cho IC-Prog. B Settings Options ñeå tieáp tuï c Hình 3-12. Cöû a soå Setting. Maøn hình Options seõ hieän ra. Chæ quan taâm tôù i phaàn Misc, coøn caù c phaàn khaù c khoâng caàn quan taâm. Cöù ñeå maëc ñònh nhö chöông trình ban ñaàu ñaõ coù. 133 V i xöû lyù Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
  12. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn C höông 3. Chöông trình bieâ n dòch vaø naïp cho Vi ñieàu khieån PIC16F877A. SPKT – Nguyeã n Ñình Phuù Hình 3-13. Cöû a soå löï a choïn. Choïn Enable Vcc control for JDM, sau ñoù môù i choïn tieáp Enable NT/2000/XP Driver. Khi choïn Enable Driver xong, ngay laäp töùc seõ coù moä t maøn hình Confirm hieän leân nhö trong hình beân döôùi nhaán Yes ñeå caø i ñaët. HCM TP. Löu yù raèng, driver ñaõ naèm saün trong thö muï c ICProg. Do vaäy,t ICProg seõ töï ñoäng nhaän ra vaø hua Ky t khôûi ñoäng laï i ICProg. pham H Su ng D Truo © uyen an q B Hình 3-14. Cöû a soå löï a choïn. M oät maøn hình Confirm khaùc seõ hieä n ra ñeå yeâ u caàu xaùc nhaän vieäc caø i ñaë t driver cho Windows NT/2000/XP,choï n Yes. 134 V i xöû lyù Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
  13. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn C höông 3. Chöông trình bieâ n dòch vaø naïp cho Vi ñieàu khieån PIC16F877A. SPKT – Nguyeã n Ñình Phuù Hình 3-15. Caø i ñaët Driver. Nhö vaäy coân g vieäc caø i ñaët ñaõ hoaøn taá t. Höôùng daãn naïp cho PIC16F877A baèng maï ch naïp PG1A: Khôû i ñoän g chöông trình naïp IC-Pro sau ñoù choïn teân PIC caàn naïp nhö hình sau: M P. HC uat T y th K pham H Su ng D ruo n©T quye an B Hình 3-16. Choï n PIC caàn naï p. Ví duï nhö choïn PIC16F877A, sau ñoù vaøo File -> choïn Open file hoaë c choïn ñeå choïn file .HEX caàn naïp. Sau ñoù choï n Command ->Program All (F5) hoaëc choïn ñeå naï p chöông trình cho PIC16F877A. III. NGOÂN NGÖÕ LAÄP TRÌNH ASM CUÛ A MPLAB: 1. C AÙC QUY ÖÔÙC CUÛA NGOÂ N NGÖÕ MPLAB: [nhaõn] LEÄ NH tham soá 1, tham soá 2 M oät doøn g nhö treân goï i laø moät doøng leän h. Chöông trình MPLAB ñöôï c chia laøm 4 coä t roõ raøng:  Coät thöù nhaát ñeå vieá t nhaõn.  Coät thöù hai ñeå vieá t teân leänh muoán thöï c hieän.  Coät thöù 3 laø tham soá thöù nhaát cuûa leänh.  Coät thöù tö laø tham soá thöù hai cuû a leänh. 135 V i xöû lyù Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
  14. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn C höông 3. Chöông trình bieâ n dòch vaø naïp cho Vi ñieàu khieån PIC16F877A. SPKT – Nguyeã n Ñình Phuù Giöõ a tham soá thöù nhaát vaø tham soá thöù 2 luoân caùch nhau moä t daáu phaåy (,). Caù c coät ñöôï c caù ch nhau baèng ít nhaát moä t kyù töï TAB (khoaûng traéng roäng) hay moä t kí töï traé ng. a. [nhaõn]: [nhaõn ] laø moä t chuoãi kyù töï ñeå ñaùnh daá u moä t ñieåm naøo ñoù trong chöông trình, thay vì phaûi ghi ñòa chæ boä nhôù thì chuùng ta thay ñòa chæ ñoù baèng moä t caù i [nhaõn] . [nhaõ n] n aøy thöôøng ñöôï c goï i laïi baèng leä nh GOTO hoaëc CALL. Moãi caâu leän h, coù theå coù hoaëc khoâ ng coù [nhaõn]. Tuy nhieân, neân vieá t sao cho soá [nhaõn] laø ít nhaát ñeå traùn h söï laàm laãn vaø roái maét khi laäp trình. [nhaõn ] ñöôï c vieát trong coä t thöù nhaát cuû a doøng leä nh. [nhaõn] khoâng ñöôï c baét ñaà u baèng caùc kyù töï ñaëc bieä t nhö: *,&, khoaû ng traén g, caù c con soá (0,1,2…)… Giöõa caùc kyù töï cuû a nhaõn cuõng khoâng ñöôï c coù caù c kyù töï ñaëc bieä t *,^,… Ñoä daø i cuûa moä t [nhaõn] khoâng giôù i haï n, tuy nhieân, chuù ng ta phaû i vieát sao cho [nhaõn] luoân naèm trong coät thöù nhaá t cuûa doøng leänh, ñoä daøi nhaõn vöøa phaû i ñeå deã quan saù t, ñuû thoâng tin gôïi nhôù vaø thuaän tieän khi laäp trình. HCM TP. Chuùng ta hoaøn toaøn coù theå kyù hieäu caù c [nhaõn] laø NHAN_1, NHAN_2… nhöng noä i dung thoâng uat hieä h tin cuûa nhaõn khoâng ñuû ñeå theå hieän coân g vieä c seõ ñöôï c thöïc Ky tn, nhö vaä y seõ raá t khoù nhôù khi laäp pham H Su trình, nhaát laø khi chöông trình vieát daø i vaø coù ñeá n haøng chuï c haøng traêm nhaõn trong chöông trình. ng D Truo Ví duï: © uyen an q Nhaõn ñuùng: B Good_bye Exit KHOIDONG Lap_1 Nhaõn sai: 1Exit Good^bye Khoi dong b. Leän h vaø caùc tham soá : LEÄNH laø teân cuû a caù c leä nh gôï i nhôù ñöôï c lieä t keâ theo baûng beâ n döôù i. LEÄ NH ñöôïc vieát vaøo coä t thöù hai, moã i doøng leänh phaûi coù teân LEÄN H, neáu khoâng coù thì seõ khoân g bieá t doøng leänh ñoù laøm vieäc gì. LEÄ NH theå hieän coâng vieä c phaûi laøm cuû a doøng leänh. Tuøy theo LEÄ NH maø coù theå coù tham soá 1 vaø tham soá 2, hoaëc chæ coù tham soá 1, hoaëc khoâng coù tham soá naøo heá t. Trong moä t doøng leänh, phaûi vieát ñuû tham soá cuû a LEÄN H ñoù. c. Quy öôù c kí hieäu trong MPLAB: Baû ng 3-1: K í hieäu quy öôù c caáu truùc leänh Kí hieäu Chöùc naêng f Ñòa chæ cuûa file thanh ghi töø 0×00 ñeán 0×7F w Thanh ghi W - Working register (accumulator) 136 V i xöû lyù Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
  15. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn C höông 3. Chöông trình bieâ n dòch vaø naïp cho Vi ñieàu khieån PIC16F877A. SPKT – Nguyeã n Ñình Phuù b Laø ñòa chæ naèm trong file thanh ghi 8 bit k Haèng soá hoaëc nhaõ n x Khoâng quan taâm laø 0 hay 1 d Löï c choïn nôi nhaän döõ lieäu d =0 löu keát quaû vaøo thanh ghi W d =1 löu keát quaû vaøo trong thanh ghi f Maëc ñònh d = 1 PC Boä ñeám chöông tr ình TO Bit Time-out PD Bit Power-down Baû n g 3-1. Kí hieäu caùc thanh ghi trong MPLAB. M P. HC uat T y th K pham H Su ng D ruo n©T quye an B Hình 3-17. Khuoân khoå chung cho moät soá leä nh cuû a PIC 16F877A. 137 V i xöû lyù Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
  16. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn C höông 3. Chöông trình bieâ n dòch vaø naïp cho Vi ñieàu khieån PIC16F877A. SPKT – Nguyeã n Ñình Phuù Baûng 3-2: Taäp leä nh cuûa PIC16F877A: M P. HC uat T y th K pham H Su ng D ruo n©T quye an B Baû ng 3-2. Toùm taé t taä p leä nh. Chuù yù (1): khi thanh ghi IO bò thay ñoå i (ví duï nhö leän h MOVF PORT, 1) thì giaù trò duø ng trong leänh laø giaù trò xuaá t hieän ôû ngoõ ra. Ví duï thanh ghi choá t döõ lieäu laø ‘1’ ñeå ñònh caáu hình laø ngoõ ra vaø ñöôïc ñieàu khieå n xuoán g möù c thaá p bôû i thieát bò beân ngoaøi thì döõ lieä u ñoï c vaøo laø möùc. Chuù yù (2): neá u leänh naøy ñöôïc thöïc hieän cho thanh ghi TMR0 thì boä chia tröôù c seõ bò xoaù neáu gaùn cho khoá i Timer0. Chuù yù (3): neáu thanh ghi PC bò thay ñoåi thì caàn 2 chu kyø, chu kyø thöù 2 thöï c hieän leä nh NOP. 2. DIEÃ N TAÛ CAÙC LEÄ NH: a. Leän h: ADDLW Coän g haè ng soá k vaøo W  Cuù phaùp : ADDLW k  Taùc toá : 0 ≤ k ≤ 255 138 V i xöû lyù Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
  17. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn C höông 3. Chöông trình bieâ n dòch vaø naïp cho Vi ñieàu khieån PIC16F877A. SPKT – Nguyeã n Ñình Phuù Thöï c thi: (W) + k  (W)  Côø aûnh höôûn g: C,DC,Z  Chöùc naêng: coäng noäi dung thanh ghi W vôù i haèng soá k 8 bit vaø keát quaû löu vaøo W.  Chu kyø thöï c hieä n: 1.  b. Leän h: ADDWF Coäng W vôù i f  Cuù phaùp : ADDWF f,d  Taùc toá : 0 ≤ f ≤ 127, d  [0,1]  Thöï c thi: (W) + (f)  (dest)  Côø aûnh höôûn g: C,DC,Z  Chöùc naêng: coäng noäi dung thanh ghi W vôù i thanh ghi f. Neáu d= 0 thì löu keát quaû vaøo thanh ghi W, coøn d=1 thì löu vaøo thanh ghi f.  Chu kyø thöï c hieä n: 1. c. Leän h: ANDLW Anal haèng soá vôù i W  Cuù phaùp : ADDLW k HCM  Taùc toá : 0 ≤ k ≤ 255 TP. huat  Thöï c thi: (W) AND (k) (W) Ky t pham  Côø aûnh höôûn g: Z H Su c AND vôùi haèng soá k 8 bit, keá t quaû löu vaøo nD  Chöùc naêng: noä i dung thanh ghigW ñöôï Truo © uyen thanh ghi W  Chu kyø thöï c hieä n:q1. an B d. Leän h: ANDWF A nal W vôùi F  Cuù phaùp : ANDWF f,d  Taùc toá : 0 ≤ f ≤ 127, d  [0,1]  Thöï c thi: (W) AND (f)  (dest)  Côø aûnh höôûn g: Z  Chöùc naêng: AND thanh ghi W vôù i thanh ghi f. Neáu d = 0 thì keá t quaû löu vaøo thanh ghi W, neáu d=1 thì keát quaû löu vaøo thanh ghi f.  Chu kyø thöï c hieä n: 1. e. Leän h: B CF xoaù bit trong thanh ghi F  Cuù phaùp : BCF f,d  Taùc toá : 0 ≤ f ≤ 127, 0 ≤ b
  18. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn C höông 3. Chöông trình bieâ n dòch vaø naïp cho Vi ñieàu khieån PIC16F877A. SPKT – Nguyeã n Ñình Phuù Côø aûnh höôûn g: khoâng  Chöùc naêng: bit b trong thanh ghi f ñöôïc set leân 1.  Chu kyø thöï c hieä n: 1.  g. Leän h: B TFSS kieåm tra 1 bit trong thanh ghi F vaø nhaûy neá u baèng 1  Cuù phaùp : BTFSS f,d  Taùc toá : 0 ≤ f ≤ 127, 0 ≤ b
  19. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn C höông 3. Chöông trình bieâ n dòch vaø naïp cho Vi ñieàu khieån PIC16F877A. SPKT – Nguyeã n Ñình Phuù Côø aûnh höôûn g: Z  Chöùc naêng: xoaù thanh ghi W vaø bit Z leân 1.  Chu kyø thöï c hieä n: 1.  l. Leän h: C LRWDT xoaù WDT  Cuù phaùp : CLRWDT  Taùc toá : khoâng  Thöï c thi: 00  WDT; 0  Boä ñeám chia tröôùc cuû a WDT; 1  TO ; 1  PD  Côø aûnh höôûn g: TO , PD  Chöùc naêng: leänh CLRWDT seõ xoaù boä ñònh thôø i WDT vaø xoaù luoân boä ñeám chia tröôù c cuû a WDT. Caù c bit PD , TO ñöôïc set leân 1.  Chu kyø thöï c hieä n: 1. m. Leän h: COMF buø thanh ghi f  Cuù phaùp : COMF f,d  Taùc toá : 0 ≤ f ≤ 127, d  [0,1] HCM TP.  Thöï c thi: ( f )  (dest) huat Ky t  Côø aûnh höôûn g: Z am  Chöùc naêng: buø 1 noä i dung thanh ghi f. u ph d=0 thì keát quaû löu vaøo thanh ghi W. Neáu H SNeáu ng D d=1 thì keá t quaû löu vaøo thanhoghi f. Tru ©  Chu kyø thöï c hieä n:q1. en uy an B n. Leän h: D ECF g iaûm noä i dung thanh ghi f  Cuù phaùp : DECF f,d  Taùc toá : 0 ≤ f ≤ 127, d  [0,1]  Thöï c thi: (f) – 1  (dest)  Côø aûnh höôûn g: Z  Chöùc naêng: giaûm noäi dung thanh ghi f ñi 1. Neá u d= 0 thì keá t quaû löu vaøo thanh ghi W. Neáu d= 1 thì keá t quaû löu vaøo thanh ghi f.  Chu kyø thöï c hieä n: 1. o. Leän h: D ECFSZ g iaûm noä i dung thanh ghi f vaø nhaûy neáu baèng 0  Cuù phaùp : DECFSZ f,d  Taùc toá : 0 ≤ f ≤ 127, d  [0,1]  Thöï c thi: (f) – 1  (dest); Nhaûy neáu keá t quaû = 0  Côø aûnh höôûn g: khoâng  Chöùc naêng: noä i dung thanh ghi f giaûm ñi 1. Neáu d = 0 thì keá t quaû löu vaøo thanh ghi f. Neáu d = 1 thì keát quaû löu vaøo thanh ghi W. Neáu keá t quaû baèng 0 thì boû qua leänh keá vaø thay baèng leä nh NOP (do maõ ñoùn veà trong luù c leän h ñang thöï c hieän ).  Chu kyø thöï c hieä n: 1(2). p. Leän h: G OTO leänh reõ nhaùnh khoâng ñieàu kieä n  Cuù phaùp : GOTO k  Taùc toá : 0 ≤ k ≤ 2047 141 V i xöû lyù Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
  20. Truong DH SPKT TP. HCM http://www.hcmute.edu.vn C höông 3. Chöông trình bieâ n dòch vaø naïp cho Vi ñieàu khieån PIC16F877A. SPKT – Nguyeã n Ñình Phuù Thöï c thi: k  PC; PCLATH  PC  Côø aûnh höôûn g: khoâng  Chöùc naêng: GOTO laø leä nh nhaûy khoâng ñieàu kieän. Giaù trò cuûa 11bit ñöôï c taûi  vaøo PC. Caù c bit cao cuû a PC ñöôï c taûi töø PCLATH. Chu kyø thöï c hieä n: 2.  q. Leän h: INCF leä nh taên g noä i dung thanh ghi f  Cuù phaùp : INCF f,d  Taùc toá : 0 ≤ f ≤ 127, d  [0,1]  Thöï c thi: (f) + 1  (dest)  Côø aûnh höôûn g: Z  Chöùc naêng: noä i dung cuû a thanh ghi f taêng leâ n 1. Neáu d = 0 thì keá t quaû löu vaøo thanh ghi W. Neáu d = 1 thì keá t quaû löu trôû laïi vaøo thanh ghi f.  Chu kyø thöï c hieä n: 1. r. Leän h: INCFSZ leänh taê ng noä i dung thanh ghi f vaø nhaûy neáu baèng 0 HCM  Cuù phaùp : INCFSZ f,d TP. huat  Taùc toá : 0 ≤ f ≤ 127, d  [0,1] Ky t pham  Thöï c thi: (f) + 1 (dest) H Su ng D  Côø aûnh höôûn g: khoâng. Truo ghi f taên g. Neáu d= 0 thì keá t quaû löu vaøo thanh ghi W. cuû ©  Chöùc naêng: noä i dung en a thanh uy an q B Neáu d= 1thì keá t quaû löu vaøo thanh ghi f. Neáu keá t quaû laø baèng 0 thì boû qua leänh keá vaø ñöôïc thay baè ng leänh NOP.  Chu kyø thöï c hieä n: 1(2). H ERE INCFSZ CNT,1 Ví duï: GOTO LOOP CONTI … … Tröôø ng hôïp 1: Tröôùc khi thöïc hieän leän h thì PC=ñòa chæ HERE, CNT = 0×FF. Sau khi thöï c hieän leän h thì PC=ñòa chæ CONTI, CNT = 0×00. Boû qua leänh GOTO Tröôø ng hôïp 2: Tröôùc khi thöïc hieän leän h thì PC=ñòa chæ HERE, CNT = 0×00. Sau khi thöï c hieän leän h thì PC=ñòa chæ HERE+1, CNT = 0×01. Leänh GOTO ñöôï c thöï c hieän . s. Leän h: IORLW leänh OR haèng soá vôùi W  Cuù phaùp : IORLW k  Taùc toá : 0 ≤ k ≤ 255  Thöï c thi: (W) OR k  W  Côø aûnh höôûn g: Z  Chöùc naêng: OR haèng soá k 8 bit vôù i W. Neáu d= 0 thì keát quaû ñöôï c löu vaøo thanh ghi W. Neáu d= 1 thì keát quaû löu vaøo thanh ghi f.  Chu kyø thöï c hieä n: 1. 142 V i xöû lyù Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2