PIC16F87x單片機I/O口
1、默認情況下A口跟E口是模擬信號輸入口,若要做數字輸入輸出口必須設置ADCON1寄存器(地址為9FH)的值為06H或者07H,之所以默認情況下以上端口會(huì )處于這些狀態(tài),是因為上電復位后ADCON1的值為0,而此種組合下,正好A口跟E口的每一位都做模擬輸入口使用。
本文引用地址:http://dyxdggzs.com/article/201611/316229.htm2、RA4由于在結構上是開(kāi)漏極,所以使用時(shí)必須外接上拉電阻,否則得到不到想的高電平。
Mplab相關(guān)知識:
一、項目的建立和保存:在mplab里建立的項目文件名不能用中文(據說(shuō)5.x版本的可以)且必須為西文半角格式;保存時(shí)路徑不能太深,以上兩點(diǎn)任何一條件不滿(mǎn)足時(shí)都將不能正確的保存。
二、項目的編譯過(guò)程:便宜完成后,mplab有可能給出如下3種信息。
1、 ERROR(xxx):……..當出現錯誤時(shí),最后將導致編譯失敗,此時(shí)可以雙擊該信息,將光標定位到出處的位置改正,大部分情況是指令書(shū)寫(xiě)錯誤。
2、WARNING(xxx):……..當出現警告信息時(shí),雖然不會(huì )影響編譯的結果,但是我們還是必須把問(wèn)題干掉,方法同上。例如:
Warning[205] D:......xxx.ASM 6 : Found directive in column 1. (ORG) 這是因為ORG出現在了第一列;
Warning[207] D:…….xxx.ASM 13 : Found label after column 1. (W_TEMP) 這是因為變量W_TEMP沒(méi)有頂格寫(xiě)
總結:一般變量或者寄存器名稱(chēng)在書(shū)寫(xiě)時(shí)必須頂格寫(xiě)(從第一列寫(xiě));而除變量和寄存器名稱(chēng)外(如inlcude、org等偽指令、movlw等指令)書(shū)寫(xiě)時(shí)前面至少空一列。否則將出現上面的warning。
3、MESSAGE(xxx):…….. 此信息一般都只是起提示作用,當看到此信息時(shí)只需確定程序沒(méi)有錯誤,就可以不管它。此信息一般都會(huì )出現,除非你在程序開(kāi)始時(shí)設置不顯示此信息。
Message[302] D:........Nxxx.ASM 13 : Register in operand not in bank 0.Ensure that bank bits are correct這只是提示你要確定使用的寄存器是否在bank0內,當你bank選擇正確后可以忽略此信息。
Message[305] D:…….xxx.ASM 76 : Using default destination of 1 (file)這是因為在指令中沒(méi)有指明操作結果的存放位置(incfxxx)而使用了系統默認的寄存器本身。
評論