應用義隆單片機編程時應注意以下幾點:
1.當程序多于1K時,將出現(xiàn)跳頁情況,這時如果有開中斷處理程序,在進入中斷后,一定要把STATUS的PS0、PS1位復位為0(即回到第0頁ROM),否則當遇到有JMP或CALL等跳轉(zhuǎn)指令時,程序?qū)鲥e!
2.當程序多于1K而使用跳轉(zhuǎn)指令BS STATUS PS0或BS STATUS,PS1時,將會影響到中斷程序的中斷時間,期分頻系數(shù)不預計(即TCON受影響);并且中斷自動關(guān)閉。跳轉(zhuǎn)返回后,一定要重新開中斷(如ENI)。
3.注意子程序的嵌套級數(shù)。一般硬件所允許的X級堆棧至少減去一個中斷程序所用,即子程序最好使用X-1個嵌套;否則將會出錯。
4.任何對R2(即PC)進行直接修改的指令,如:ADD R2,A | MOV R2,A | BC R2,x 等都將會使PC的第9位、10位清零,因此產(chǎn)生的跳轉(zhuǎn)只限于一個程序的前256個地址。TBL指令即除外,不會改變PC的9位、10位;執(zhí)行TBL==PC+1+A;可以解決以前對R2(即PC)直接修改所產(chǎn)生的后果。一般查表子程序放于程序最前端,就是為了避開9位、10位清零。
5.八位 單片機 的高電平一般為4.5~5V,而低電平一般為1V以下;如何讓單片機產(chǎn)生一個2.5V電壓呢?可以把要輸出2.5V電平的I/O口設置為輸出狀態(tài),并置為高電平;接著把該輸出口設置為輸入狀態(tài),這時將輸出一個2.5V電平電壓。
6.由于一個中文為兩個字節(jié),所以在注釋時應當小心注意,避免在程序的注釋出現(xiàn)半個中文字的亂碼現(xiàn)象;一旦出現(xiàn)這樣的問題,可以導致編譯出錯或功能不正常。