PIC單片機之16C84單片機介紹(二)
3.PORTB中斷
在端口B的7~4位的輸入改變,就置1 RBIF(INTCON0>)位。 這個中斷可以對RBIE(INTCON3>)位置1或清0而開放或關閉。
注意 :當正在對RB端口進行讀操作時,RB7~RB4發(fā)生改變,RBIF標志位可 能不被置1。
4.中斷時如何保存W和STATUS寄存器。
中斷時,硬件自動將PC的值壓入堆棧,這叫保存斷點,用戶經常希望保存關鍵的寄存器的內容,(如W和STATUS寄存器)。為此,執(zhí)行如下一段程序。
MOVWF W-TEMP ;將W寄存拷貝到W-TEMP寄存器,W-TEMP寄存器 可在1塊或0塊
SWAPF STATUS,W;狀態(tài)寄存器內容送入W
BCF STATUS,RPO;選0塊
MOVWF STATUS-TEMP;將狀態(tài)寄存器的內容(現在在W中的STATUS-TEMP寄存器中斷服務程序
SWAPF STATUS-TEMP,W;將STATUS-TEMP送入W(設置塊到原來 的狀態(tài))
MOVWF STATUS ;W送入STA?TUS(恢復STATUS)
SWAPF W-TEMP,0;W-TEMP送W(恢復W的內容)
在上面這段程序中,W-TEMP寄存器,必須定義在兩個塊中,且要在定在同樣的塊基地址。例如將W-TEMP定義在0塊的20H,同時它也應定義在1塊的A0H。寄存器STATUS-TEMP必須定義在0塊。
5.看門狗計時器(WDT)
看門狗計時器實際使用的是在芯片上的RC振蕩器,這不要求任何外部元件。這個RC振蕩器與OSC1/CLKIN引腳上接的RC振蕩器(主振時鐘)是分開的。這樣即使OSC1/CLKIN和OSC2/CLKOUT引腳停振,(例在執(zhí)行SLEEP指令后)WDT仍然能夠工作。在正常工作時,WDT計時器的輸出產生器件的RESET信號。如果器件處于SLEEP狀態(tài)下,WDT計時器的輸出將喚醒器件,使器件繼續(xù)正常的工作。WDT也可以通過編程的配置來關閉。其內容的框圖與PIC16C6X系列相同。
九、PIC16C84單片機的指令系統(tǒng)共有35條指令。與PIC16C6X系列的指令完全相同。
評論