PIC单片机入门_汇编/混编/C编比较
生活随笔
收集整理的这篇文章主要介绍了
PIC单片机入门_汇编/混编/C编比较
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1.问题描述:
对RAM中从30h开始的50个单元清零。
2.汇编方法
<span style="font-size:18px;">COUNT EQU 20H ;指定20H寄存器为循环变量 FSR EQU 04H ;指定FSR为04H INDF EQU 00H ;指定INDF为00HMOVLW D’50 ;给循环变量赋初值MOVWF COUNT MOVLW 30H ;将30H →FSRMOVWF FSR NEXT CLRF INDF ;间接寻址 INCF FSR,1 ;地址指针内容加1,指向下一单元 DECFSZ COUNT,1 ;计数值减1,结果为0就 ;跳过下一条指令到STOP处GOTO NEXT ;跳转回去并执行下一次循环 STOP GOTO STOP ;停机 </span>3.混编方法
<span style="font-size:18px;">#include<pic.h> char COUNT; //定义全局变量 main(){ COUNT=50; FSR=0x30;#asmINDF EQU 00H NEXT CLRF INDF INCF _FSR, FDECFSZ _COUNT,F GOTO NEXT#endasmwhile(1){ ; } }</span> 注意:只要是C语言中定义的变量,在汇编中对其寻址时一定要用下划线。4.C语言编程
<span style="font-size:18px;">#include<pic.h> char COUNT; //定义全局变量 main(){ COUNT=50; FSR=0x30; INDF=0; NEXT: INDF=0;FSR++;if (COUNT-- >0) goto NEXT; while(1){ ; } }</span> 注意:用C语言编写可读性强,但是占用的资源会多。总结
以上是生活随笔为你收集整理的PIC单片机入门_汇编/混编/C编比较的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Google走了 站长应该更相信百度
- 下一篇: PIC单片机入门_PICC的指向RAM的