PIC16F87x单片机I/O口
1、默认情况下A口跟E口是模拟信号输入口,若要做数字输入输出口必须设置ADCON1寄存器(地址为9FH)的值为06H或者07H,之所以默认情况下以上端口会处于这些状态,是因为上电复位后ADCON1的值为0,而此种组合下,正好A口跟E口的每一位都做模拟输入口使用。
本文引用地址:https://www.eepw.com.cn/article/201611/316229.htm2、RA4由于在结构上是开漏极,所以使用时必须外接上拉电阻,否则得到不到想的高电平。
Mplab相关知识:
一、项目的建立和保存:在mplab里建立的项目文件名不能用中文(据说5.x版本的可以)且必须为西文半角格式;保存时路径不能太深,以上两点任何一条件不满足时都将不能正确的保存。
二、项目的编译过程:便宜完成后,mplab有可能给出如下3种信息。
1、 ERROR(xxx):……..当出现错误时,最后将导致编译失败,此时可以双击该信息,将光标定位到出处的位置改正,大部分情况是指令书写错误。
2、WARNING(xxx):……..当出现警告信息时,虽然不会影响编译的结果,但是我们还是必须把问题干掉,方法同上。例如:
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没有顶格写
总结:一般变量或者寄存器名称在书写时必须顶格写(从第一列写);而除变量和寄存器名称外(如inlcude、org等伪指令、movlw等指令)书写时前面至少空一列。否则将出现上面的warning。
3、MESSAGE(xxx):…….. 此信息一般都只是起提示作用,当看到此信息时只需确定程序没有错误,就可以不管它。此信息一般都会出现,除非你在程序开始时设置不显示此信息。
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)这是因为在指令中没有指明操作结果的存放位置(incfxxx)而使用了系统默认的寄存器本身。
评论