微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > PIC16F887与MPLAB之应用设计

PIC16F887与MPLAB之应用设计

时间:02-24 来源:互联网 点击:
  由於堆疊有八層深,因此程式可以有八層的「跳躍─返回」的動作,依照跳躍的順序先後,將跳躍位置的PC值存入堆疊中,取出PC值時則依相反的順序,先進後出,後進先出的方式取出PC值。如果已經PUSH了八個PC值到堆疊中之後,再PUSH一個PC值到堆疊中,這個PC值會放到第一個放入PC值得位置,也就是以循環的方式來存入PC值,不過PIC的堆疊並沒有任何溢位旗標或警告,因此在有好幾層副程式呼叫時,要注意一下堆疊的使用是否溢位。
2.6中斷
  在单片机內軟體的流程處理,中斷有其非常重要的角色,中斷允許在主要程式流程中,插入其他事件處理的副程式作優先運算,並且把運算結果回存到特定暫存器,供主程式運算。PIC16F877提供了14個中斷源,每一個中斷都有一個中斷旗標位元和一個中斷致能位元,中斷旗標位元表示中斷元是否產生這個中斷,中斷致能位元決定要不要使用這個中斷,可經使用者利用致能位元作需要的規劃。這14個中斷中11個中斷源屬於週邊模組的中斷,由一個週邊中斷致能位元PEIE來統一控制所有週邊有關的中斷使用與否,另外還有3個中斷位元加上這個週邊中斷致能位元再由一個全域中斷致能位元GIE來控制,圖2.9中斷元控制流程。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top