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