編寫PIC單片機的源程序,除了源程序的開始處需要嚴格的列表指令外,還須注意源程序中字母符號的大小寫規則,否則在PC機上匯編程序時不會成功。
PIC單片機振蕩器的配置以及時序的計算問題
PIC單片機可以工作于以下4種不同的振蕩器方式:LP(低功耗晶體振蕩器)、XT(晶體諧振器)、HS(高速晶體諧振器)和RC(阻容振蕩器)。用戶可以根據其系統設計的需要,通過對配置位(FOSC1和F0SC2)編程,選擇其中一種工作模式。
而一旦振蕩器配置完成,那么根據用戶的配置,可以輕松地計算出程序運行的時間以及A/D轉換所占用的時間,這樣就會很輕松地安排好單片機的時序。例如,如果采用4 MHz的HS振蕩模式,那么單片機的時鐘頻率為FOSC/4,也就是說執行一條指令需要1μs;對于需要兩個指令周期的指令,需要2μs。而對于A/D轉換,如果A/D轉換時鐘位選擇為FOSC/8,那么A/D轉換模塊轉換一個位的時間Tad就為2μs。對一個8位的轉換來說,需要的時間為9.5Tad,也就是完成一次A/D轉換的時間為19μs。這樣只需要查看源程序的行數并作簡要分析,就可以計算出程序運行的時間。
PIC單片機存儲體的選擇問題
PIC單片機的數據存儲器通常分為兩個存儲體,即存儲體O(Bank0)和存儲體1(Bankl)。每個存儲體都是由專用寄存器和通用寄存器兩部分組成的。兩個存儲體中的一氈寄存器單元實際上是同一個寄存器單元,卻又具有不同的地址。
不同型號的PIC單片機,其數據存儲器的組成(即功能)是不完全相同的,所以設計人員一旦選用了某個PIC單片機的型號后,就要查找該單片機的數據存儲器資料,以便編程使用。
PIC單片機 GOTO和CALL指令的不同使用問題
在PIC的匯編程序中,CALL與GOT0指令使用的場臺不同。由于PIC單片機的堆棧有限,在程序中不能無止境地使用GOTO指令,否則會使堆棧溢出,程序無法正常運行。但是在有些時候,例如當程序出現分支時,則不得不使用GOTO指令。
本文來自: 賽微電子網-電子工程師社區 原文地址:http://www.srvee.com/embed/apply/PICdpjysjmmgzjs_61540_2.html
相關閱讀:淺析嵌入式系統能耗的動態管理設計:http://www.srvee.com/embed/apply/qxqrsxtnhddtglsj_62070.html
| 歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |