服务热线
0755-88364040
18902464556
1.当程序多于1K时,将出现跳页情况,这时如果有开中断处理程序,在进入中断后,一定要把STATUS的PS0、PS1位复位为0(即回到第0页ROM),否则当遇到有JMP或CALL等跳转指令时,程序将会出错!
2.当程序多于1K而使用跳转指令BS STATUS PS0或BS STATUS,PS1时,将会影响到中断程序的中断时间,期分频系数不预计(即TCON受影响);并且中断自动关闭。跳转返回后,一定要重新开中断(如ENI)。
3.注意子程序的嵌套级数。一般硬件所允许的X级堆栈至少减去一个中断程序所用,即子程序最好使用X-1个嵌套;否则将会出错。
4.任何对R2(即PC)进行直接修改的指令,如:ADD R2,A | MOV R2,A | BC R2,x 等都将会使PC的第9位、10位清零,因此产生的跳转只限于一个程序的前256个地址。TBL指令即除外,不会改变PC的9位、10位;执行TBL==PC+1+A;可以解决以前对R2(即PC)直接修改所产生的后果。一般查表子程序放于程序最前端,就是为了避开9位、10位清零。
5.八位 单片机 的高电平一般为4.5~5V,而低电平一般为1V以下;如何让单片机产生一个2.5V电压呢?可以把要输出2.5V电平的I/O口设置为输出状态,并置为高电平;接着把该输出口设置为输入状态,这时将输出一个2.5V电平电压。
6.由于一个中文为两个字节,所以在注释时应当小心注意,避免在程序的注释出现半个中文字的乱码现象;一旦出现这样的问题,可以导致编译出错或功能不正常。
上一条: EMC单片机编程技巧集锦
下一条: 义隆单片机 多字节二进制加法