新聞中心

PIC16F87x單片機(jī)I/O口

作者: 時(shí)間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
單片機(jī)I/O口(以16f87x為例)

1、默認(rèn)情況下A口跟E口是模擬信號輸入口,若要做數(shù)字輸入輸出口必須設(shè)置ADCON1寄存器(地址為9FH)的值為06H或者07H,之所以默認(rèn)情況下以上端口會處于這些狀態(tài),是因?yàn)樯想姀?fù)位后ADCON1的值為0,而此種組合下,正好A口跟E口的每一位都做模擬輸入口使用。

本文引用地址:http://butianyuan.cn/article/201611/316229.htm

2、RA4由于在結(jié)構(gòu)上是開漏極,所以使用時(shí)必須外接上拉電阻,否則得到不到想的高電平。

Mplab相關(guān)知識:

一、項(xiàng)目的建立和保存:在mplab里建立的項(xiàng)目文件名不能用中文(據(jù)說5.x版本的可以)且必須為西文半角格式;保存時(shí)路徑不能太深,以上兩點(diǎn)任何一條件不滿足時(shí)都將不能正確的保存。

二、項(xiàng)目的編譯過程:便宜完成后,mplab有可能給出如下3種信息。

1、 ERROR(xxx):……..當(dāng)出現(xiàn)錯(cuò)誤時(shí),最后將導(dǎo)致編譯失敗,此時(shí)可以雙擊該信息,將光標(biāo)定位到出處的位置改正,大部分情況是指令書寫錯(cuò)誤。

2、WARNING(xxx):……..當(dāng)出現(xiàn)警告信息時(shí),雖然不會影響編譯的結(jié)果,但是我們還是必須把問題干掉,方法同上。例如:

Warning[205] D:......xxx.ASM 6 : Found directive in column 1. (ORG) 這是因?yàn)镺RG出現(xiàn)在了第一列;

Warning[207] D:…….xxx.ASM 13 : Found label after column 1. (W_TEMP) 這是因?yàn)樽兞縒_TEMP沒有頂格寫

總結(jié):一般變量或者寄存器名稱在書寫時(shí)必須頂格寫(從第一列寫);而除變量和寄存器名稱外(如inlcude、org等偽指令、movlw等指令)書寫時(shí)前面至少空一列。否則將出現(xiàn)上面的warning。

3、MESSAGE(xxx):…….. 此信息一般都只是起提示作用,當(dāng)看到此信息時(shí)只需確定程序沒有錯(cuò)誤,就可以不管它。此信息一般都會出現(xiàn),除非你在程序開始時(shí)設(shè)置不顯示此信息。

Message[302] D:........Nxxx.ASM 13 : Register in operand not in bank 0.Ensure that bank bits are correct這只是提示你要確定使用的寄存器是否在bank0內(nèi),當(dāng)你bank選擇正確后可以忽略此信息。

Message[305] D:…….xxx.ASM 76 : Using default destination of 1 (file)這是因?yàn)樵谥噶钪袥]有指明操作結(jié)果的存放位置(incfxxx)而使用了系統(tǒng)默認(rèn)的寄存器本身。



關(guān)鍵詞: PIC16F87x單片機(jī)IO

評論


技術(shù)專區(qū)

關(guān)閉