PIC单片机入门_汇编/混编/C编比较

发布者:科技奇才最新更新时间:2018-07-30 来源: eefocus关键字:PIC单片机  汇编  混编  C编 手机看文章 扫描二维码
随时随地手机看文章

1.问题描述:


对RAM中从30h开始的50个单元清零。


2.汇编方法


 COUNT EQU 20H               ;指定20H寄存器为循环变量

FSR   EQU 04H               ;指定FSR为04H

INDF  EQU 00H               ;指定INDF为00H

      MOVLW  D’50          ;给循环变量赋初值

      MOVWF  COUNT   

      MOVLW   30H           ;将30H →FSR

      MOVWF    FSR        

NEXT  CLRF   INDF           ;间接寻址   

      INCF  FSR,1           ;地址指针内容加1,指向下一单元 

      DECFSZ  COUNT,1       ;计数值减1,结果为0就 

                            ;跳过下一条指令到STOP处

      GOTO  NEXT            ;跳转回去并执行下一次循环 

STOP  GOTO  STOP            ;停机

3.混编方法


 #include

char COUNT;   //定义全局变量

main(){ 

    COUNT=50;     

    FSR=0x30;

  #asm

        INDF   EQU 00H    

  NEXT  CLRF   INDF 

        INCF  _FSR, F

        DECFSZ  _COUNT,F  

        GOTO  NEXT

  #endasm

  while(1){  ; 

 }

}

注意:只要是C语言中定义的变量,在汇编中对其寻址时一定要用下划线。

4.C语言编程


 #include

char COUNT;   //定义全局变量

main(){ 

COUNT=50;     

FSR=0x30;

INDF=0;

NEXT:  INDF=0;

       FSR++;

       if (COUNT-- >0) 

       goto NEXT;

while(1){  ;   }

}

注意:用C语言编写可读性强,但是占用的资源会多。


关键字:PIC单片机  汇编  混编  C编 引用地址:PIC单片机入门_汇编/混编/C编比较

上一篇:PIC单片机入门_PICC的指向RAM的指针
下一篇:PIC单片机入门_PICC头文件介绍

推荐阅读最新更新时间:2024-03-16 16:10

ARM汇编快速入门
前言: 以前用ARM的IDE工具,使用的是ARM标准的汇编语言。现在要使用GNU的工具,当然要了解一点GNU ARM汇编的不同之处。其实非常的简单,浏览一下文档然后再看看程序就完全可以搞定了,或者你硬着头皮看GNU ARM的汇编程序,用不了多少时间你就就可以无师自通了。个人比较健忘,还是把文档翻译了一下,算是给自己一个避免遗忘的理由吧。 ARM汇编语言源程序语句,一般由指令,伪操作,宏指令和伪指令作成.ARM汇编语言的设计基础是汇编伪指令,汇编伪操作和宏指令. 目前常用的ARM编译环境有2种: ARMASM: ARM公司的IDE中使用了CodeWarrior的编译器,绝大多数windows下的开发者都在使用这一环境,完全按照
[单片机]
MPLAB X IDE -1:如何反汇编PIC的二进制代码
步骤: 1 准备好需要反汇编的代码文件.hex ; 2 File -- Import-- Hex File ; 3 按下图填好; 4 点击Finish; 5 选择Production-- Set Configuration Bits后,就会弹出下图;然后在红色圈处就可以选择Program Memory 6 在下图红色圈处选择Code后即出现Disassembly Code 二 程序 1 最初的程序: #include pic.h void delay(long i); void main(void) { __CONFIG(OSC_IntRC&WDT_OFF&CP_OFF&MCLR
[单片机]
MPLAB X IDE -1:如何反<font color='red'>汇编</font>PIC的二进制代码
数码管显示的电子时钟汇编程序
;************************************************************* ;功能: ;实现电子时钟显示(汇编) ;定义: ;    P3口位选,P1口段选,P0.0,P0.1,P0.2为调时口 ;时间: ;    2010 11 26 ;************************************************************* SECOND EQU 30H MINITE EQU 31H HOUR EQU 32H HOURK BIT P0.0 MINITEK BIT P0.1 SECONDK BIT P0.2 DISPBUF EQU 40H DIS
[单片机]
PIC单片机内部寄存器信息汇总
配置字(__CONFIG): 1) 芯片的振荡模式选择。 2) 片内看门狗的启动。 3) 上电复位延时定时器PWRT的启用。 4) 低电压检测复位BOR模块的启用。 5) 代码保护。 __CONFIG_CP_OFF &_WDT_OFF &_BODEN_OFF &_PWRTE_ON &_XT_OSC &_WRT_OFF &_LVP_OFF &_CPD_OFF ; _CP_OFF 代码保护关闭 _WDT_OFF 看门狗关闭 _BODEN_OFF _PWRTE_ON 上电延时定时器打开 _XT_OSC XT振荡模式 _WRT_OFF
[单片机]
<font color='red'>PIC单片机</font>内部寄存器信息汇总
ARM汇编C混合编程
GNU内联汇编 内联汇编即在C中直接使用汇编语句进行编程,使程序可以在C程序中实现C语言不能完成的一些工作,例如,在下面几种情况中必须使用内联汇编或嵌入型汇编 程序中使用饱和算术运算(Saturating Arithmetic) 程序需要对协处理器进行操作 在C程序中完成对程序状态寄存器的操作 __asm__ __volatile__( asm code :output:input:changed registers); Note: 使用__asm__和__volatile__表示编译器将不检查后面的内容,而是直接交给汇编器。 如果希望变压器你优化,__volatile__可以不加 没有asm code也不能省略 没有前
[单片机]
C语言和汇编语言在单片机开发中的特点分别是什么
汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。 C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。 对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什幺动作都很清楚,并且程序大小和堆栈
[单片机]
PIC单片机的程序设计经验分享
PIC单片机(Peripheral Interface Controller)是一种用来开发去控制外围设备的集成电路(IC)。一种具有分散作用(多任务)功能的CPU。本内容讲述了PIC单片机中的程序设计方面的学习 1、PIC单片机程序的基本格式 先介绍二条伪指令: EQU ——标号赋值伪指令 ORG ——地址定义伪指令 PIC16C5X单片机在RESET后指令计算器PC被置为全“1”,所以PIC16C5X几种型号芯片的复位地址为: PIC16C54/55:1FFH PIC16C56:3FFH PIC16C57/58:7FFH 一般来说,PIC单片机的源程序并没有要求统一的格式,大家可以根据自己的风格来编写。但这里我们推荐一种清
[单片机]
<font color='red'>PIC单片机</font>的程序设计经验分享
PIC单片机驱动RT1602C程序
P IC 单片机 驱动RT1602C程序 RT1602C驱动 UART 串口输出,波特率为19200 按键扫描: 键1控制 LCD 的显示状态,接收状态或是发送状态 键2循环控制UART将要输出的子串口 AD转换功能 UART串口接收中断 TIME1定时器中断 具体请参考硬件连接图,(注意按键部分的硬件设计有些问题,请自行修改,但不影响软件功能) 你可以学到: 1.良好的程序书写习惯 2. 多任务程序设计基础 3. 模块化程序设计 同时,欢迎各路高手指教,谢谢! 非常抱歉的告诉大家,我的2007年度巨献中可能有一个宏BUG,该BUG是非常难以发现的, 但却存在BUG产生的可能: 在中断进入和退出的压栈和出
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved