天堂草原最受欢迎的角色,天堂动漫,天堂在线,色天堂下载,天堂中文在线资源,亚洲男人天堂

技術熱線: 4007-888-234

技術支持

PIC16C71,16C84單片機應用中問題和對策

更新時間: 2019-03-22

單片機方案開發商深圳英銳恩分享PIC16C71,16C84單片機應用中問題和對策。

一: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

…………..

問題4:當芯片電壓VDD加電上升時間大于100μs時,電源上電復位電路POR和電源上電延時器PWRT可能不能起正常的作用,而使芯片的復位出現不正常(即PC≠復位地址)。一般在這種情況下建議不要采用PWRT。

對策:如果VDD上升時間很長,此芯片一般需較長的電源上電延時,可靠的電

源上電延時方法如圖1所示,在MCLR端外接復位電路。

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

表1 A/D滿量程誤差表

VREF源
(5.12V)

滿量程誤差
(NFS)

VDD

<±1 LSb

RA3

<±2.5 LSb

二:PIC16C84單片機的問題和對策

問題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

404
返回首頁 |  返回上一頁
联系我们: 特克斯县| 天长市| 安溪县| 民乐县| 莱西市| 隆回县| 涪陵区| 汝州市| 潜山县| 潼南县| 攀枝花市| 武平县| 论坛| 西畴县| 兴城市| 东明县| 陵川县| 崇明县| 永胜县| 临江市| 腾冲县| 天镇县| 崇州市| 沽源县| 连南| 全椒县| 青岛市| 临潭县| 新营市| 绥化市| 广德县| 巴林右旗| 青浦区| 东城区| 大安市| 宣汉县| 大庆市| 普兰店市| 哈巴河县| 奈曼旗| 定陶县|