想问一下,PIC可不可以像51一样,直接去判断脚位的状态来扫描,比如用: btfss portb,6
这样的指令可以吗?还是一定用中断。
还有这个指令:comf portb,w
这是在PIC官网下的AN552文件中看到,说是读取端口的指令,可PIC16F877A的DATASHEET里面介绍不是什么取反指令吗?
-
AN552.pdf
(2017-9-10 14:30 上传)
96.16 KB, 下载次数: 5
强烈向大家推荐一个好网站,
[我要自学网],教程由在校老师录制,有办公会计、平面设计、室内设计、机械设计、网页编程、影视动画等教程.....让你足不出门,都可以体验学校的专业教育!
PIC本身就是具有端口判断功能的
你的汇编也说明的这点:BTFSS PORTB,6(判断RB6端口为高电平否,是则跳过下一条指令)
另外C语言也可以:if(RB6) {...} //如果RB6为H,则执行函数内容
if(!RB6){...} //如果RB6为L,则执行函数内容
关于COMF PORTB,W
这条语句指的是将RB口的数据取反后存入W中,此时的RB口相关内容是不变的.
B口中断是不是一定要在SLEEP的前提下,如果前面没有SLEEP,设定RBIE后按下键后,B口会不会有中断使RBIF为1
B口的中断,只要中断使能(设置好的相关位后),就会立即工作,无论是否处于SLEEP状态.