歡迎您光臨本站 登入註冊首頁

概述

福州高奇電子科技有限公司李東星陳小牧一:PIC16C71的問題和對策問題1:在晶元進入低功耗睡眠模式(SLEEPMODE)后,其振蕩腳將處於浮態,這將使晶元的睡眠功耗上升,比原手冊中的指標高了10&m……

福州高奇電子科技有限公司 李東星 陳小牧

一:PIC16C71的問題和對策

問題1:在晶元進入低功耗睡眠模式 (SLEEP MODE)后,其振蕩腳將處於浮態,這將使晶元的睡眠功耗上升,比原手冊中的指標高了10μA以上。

對策:在振蕩腳OSC1和地 (GND)之間加一10MΩ電阻可防止OSC1進入浮態,且不會影響正常振蕩。

問題2:RA口方向寄存器TRISA目前只是一個4位寄存器,對應於RA0~RA3,並非手冊中所言是8位寄存器,對應於RA0~RA4,即RA4並沒有相應的輸入/輸出方向控制位,它是一個具有開極輸出,施密特輸入I/O腳。

對策:避免使用對RA口進行讀-修改-寫指令(如BCF RA, BSF RA),以免非意願地改變RA4的輸入/輸出狀態。對於RA口的操作應採用寄存器的操作方式(MOVWF RA)。

問題3:當CPU正在執行一條對INTCON寄存器進行讀-修改-寫指令時,如果發生中斷請求,則讀中斷常式會被執行二次。這是因為當中斷請求發生后INTCON寄存器中的GIE位會被硬體自動清零(屏蔽所有中斷),並且程序轉入中斷常式入口(0004H)。當GIE位被清零后,如果這時正好CPU在執行一條對INTCON的讀-修改-寫指令(如BSF INTCON等),則 GIE位還會被寫回操作重新置1,這樣會造成CPU二次進入中斷常式。

對策:如果在程序中需對INTCON的某一中斷允許位進行修改,則應事先置GIE=0

,修改完成後再恢復GIE=1。

…………..

BCF INTCON, GIE

BSF INTCON, ×××

BSF INTCON, GIE

…………..


ͼ1

問題4:當晶元電壓VDD

對策:如果VDD上升時間很長,此晶元一般需較長的電源上電延時,可靠的電源上電延時方法如圖1所示,在MCLR端外接複位電路。

問題5:如果在A/D轉換中用RA3作為參考電壓輸入,則最大滿量程誤差(NFS)要大於手冊中的指標。實際情況如表1所示。

表1 A/D滿量程誤差表

VREFԴ
(5.12V)
滿量程誤差
(NFS)
VDD
<±1 LSb
RA3
<±2.5 LSb

問題1:PIC16C84的內部的E2PROM數據存儲器的E/W周期偶爾會超出最大值(10ms)。

對策:在程序中應該用EECON1寄存器中的WR位來判斷寫周期的完成,或是啟用“寫周期完成中斷”功能,這兩種方法可保證寫入完成。

問題2:VDD和振蕩頻率的關係如表2所示。

VDD
振蕩方式
最高頻率
2V-3V
RC, LP
2MHZ,200MHZ
3V-6V
RC,XT,LP
4MHZ,200MHZ
4.5V-5.5V
HS
10MHZ

二:PIC16C84的問題和對策

[admin via 研發互助社區 ] PIC16C71/PIC16C84單片機應用中問題和對策已經有2009次圍觀

http://cocdig.com/docs/show-post-637.html