成为订阅者(免费)

加入29,000名其他订阅者以获得用户销售折扣和 其他免费资源。
:
:
大学教师'担心 - 您的邮件地址完全是 安全的。我保证使用它 只要 to send you MicroZine.

为什么你需要一个图片编译器

什么'S programa pic micro的最简单方法? 

"Use a PIC Compiler"...

It's much 更轻松 使用高级语言(如C或C) 基本)因为它使用人类容易识别的单词。

这通常是 结果 在 a program 这更容易写和理解。

事实上,我会说它需要 1/10时间 与写入相同的程序相比,编写高级语言程序 汇编程序。这是因为共同组织隐藏了低级细节让您失望 继续解决问题。

你可以使用图片编译器 视觉描述 the 程序流使用选项卡和空格使其很容易查看程序 works.

一个好的图片编译器还包括一个 帮助系统 for 查找语言的元素和模拟器,这使得调试 code easy.

编译器或翻译?

编译器过于解释的其他优势 语言编译器是你可以得到的 最大的性能 out of 芯片。编译器创建直接在芯片上运行的可执行十六进制文件 而解释的语言系统使用中间步骤并存储一个 中间程序在芯片上或单独的存储设备中。 从内存中解释代码需要时间,因此您可以获得更少的性能 it.

解释系统的一个优点是 存储器设备是单独的,它可以根据需要制作,所以可以 create big programs.

解释语言慢的事实不是 宣传,您可以告诉差异,因为编译器将与任何作用 芯片但是对于解释的系统,您必须购买准备好的编程芯片 - 可能在PCB上。只要您拥有一个,编译器将与任何芯片一起使用 programmer.

这将我们带到下一个点 - 如果你想创造 那么很多项目然后是一个编译器,你有一次性不经常成本 - 编译器本身。但是对于解释的系统,您必须继续购买PCB 并支持芯片 - 所以您的项目将花费更多才能进行。

什么 is a pic compiler ?

pic编译器(或任何编译器)是一个翻译的程序 一个计算机程序进入另一台计算机程序。以高级语言编写的源代码 被翻译成微控制器理解的机器代码。这个 简化任务,因为您不必编写汇编程序 - 您是 只要 专注于高水平语言。

这是一个例子'C'程序及其汇编器输出 即PIC编译器的(机器代码)输出:

示例输出

示例高水平'C' language 源代码 为了 a pic compiler:

   void main() {
   PORTB = 0;
   TRISB = 0;
       
       do {
           switch (PORTB) {
               案例0x00:portb = 0xff;休息;
               案例0xff:portb = 0x00;
           }
           Delay_ms(1000);
       } while (1);
   }

由编译器生成的输出i.e. 机器代码 (and assembler) :

以下文本很长,请滚动到过去 它可以看到关于它并继续的评论。

;地址Opcode ASM                         
; ------------------------------------------------------------- 
$ 0000 $ 2804 goto _main       
$ 0004 $ _MAIN:              
$ 0004 $ 1303 BCF状态,RP1  
$ 0005 $ 1283 BCF状态,RP0  
$ 0006 $ 0186 CLRF PORTB       
$ 0007 $ 1683 BSF状态,RP0  
$ 0008 $ 0186 CLRF TRISB       
$ 0009 $ l_main_0:           
$ 0009 $ 1303 BCF状态,RP1  
$ 000A $ 1683 BSF状态,RP0  
$ 000b $ 2812 goto l_main_2    
$ 000c $ l_main_4:           
$ 000c $ 30ff movlw 255         
$ 000D $ 1283 BCF状态,RP0  
$ 000E $ 0086 MOVWF PORTB       
$ 000f $ 281f goto l_main_3    
$ 0010 $ l_main_5:           
$ 0010 $ 0186 CLRF PORTB       
$ 0011 $ 281f goto l_main_3    
$ 0012 $ l_main_2:           
$ 0012 $ 1303 BCF状态,RP1  
$ 0013 $ 1283 BCF状态,RP0  
$ 0014 $ 01F0 CLRF Stack_0     
$ 0015 $ 0870 MOVF Stack_0,W   
$ 0016 $ 0206 Subwf Portb,W     
$ 0017 $ 1903 btfsc状态,z    
$ 0018 $ 280c goto l_main_4    
$ 0019 $ 30ff movlw 255         
$ 001a $ 00f0 movwf stack_0     
$ 001b $ 0870 movf stack_0,w   
$ 001c $ 0206 Subwf Portb,W     
$ 001d $ 1903 btfsc状态,z    
$ 001e $ 2810 goto l_main_5    
$ 001f $ l_main_3:           
$ 001f $ 300b movlw 11          
$ 0020 $ 00f0 movwf stack_0     
$ 0021 $ 30ff movlw 255         
$ 0022 $ 00f1 movwf stack_1     
$ 0023 $ 30ff movlw 255         
$ 0024 $ 00f2 movwf Stack_2     
$ 0025 $ 0bf0 decfsz stact_0,f   
$ 0026 $ 2828转到$ + 2         
$ 0027 $ 282f goto $ + 8         
$ 0028 $ 0bf1 decfsz stack_1,f   
$ 0029 $ 282b goto $ + 2         
$ 002a $ 282e goto $ + 4         
$ 002b $ 0bf2 decfsz stack_2,f   
$ 002c $ 282b goto $ -1         
$ 002D $ 2828转到-5美元         
$ 002e $ 2825转到-9美元         
$ 002F $ 3033 MOVLW 51          
$ 0030 $ 00f3 movwf stack_3     
$ 0031 $ 30ff movlw 255         
$ 0032 $ 00f4 movwf Stack_4     
$ 0033 $ 0bf3 decfsz stack_3,f   
$ 0034 $ 2836 GOTO $ + 2         
$ 0035 $ 2839 GOTO $ + 4         
$ 0036 $ 0bf4 decfsz stack_4,f   
$ 0037 $ 2836 GOTO $ -1         
$ 0038 $ 2833转到-5美元         
$ 0039 $ 3088 MOVLW 136         
$ 003a $ 00f5 movwf stack_5     
$ 003b $ 0bf5 decfsz stack_5,f   
$ 003c $ 283b goto $ -1         
$ 003d $ 0000 nop                 
$ 003e $ 0000 nop                 
$ 003f $ 2809 goto l_main_0    
$ 0040 $ l_main_1:           
$ 0040 $ 2840 GOTO $

这向您展示了多少容易
它是使用编译的语言
原始装配者。

第二列是实际的机器代码 微控制器读取(操作码),而第三和第四则是汇编程序 翻译(比Opcode更可读)。

正如您所看到的,源代码比这更紧凑 汇编器输出并更可读。你也可以看到它正在做 带有波特布的东西,并且与机器一起包含延迟 code you can'真的讲述了什么发生了什么,有很多行 通过代码通过。

当然,评论是(希望)包括写的 汇编程序,但仍有相同数量的语句来理解。

什么 is the advantage of a pic compiler ?

编译器'语言让你...

  • 代码应用程序 更快速 - 少于代码行 assembler.
  • 写下程序 更容易理解.
  • 采用 准备好图书馆 - you don'需要写一下 code.
  • 专注于任务 - 它管理低级硬件 details.
  • 使用相同的源代码 不同的目标 micros.
  • 仅在高级语言工作 - 不需要汇编程序.
  • 轻松阅读代码 (请参阅上面示例的布局)。
  • 程序 不同的微控制器 在同一个家庭中。 PIC.
  • 学习标准语言,如C到 prof.

一个好的图片编译器也会让你......

  • 模拟来源 代码 - 无需汇编程序。
  • 查看程序内存 用法显示代码的效果 changes.

图片编译器的类型

用于PIC微控制器的两种主要语言 编程Basic和C.这些是迄今为止最流行的语言 是具有不同成本/性能比率的编译器。其他不太受欢迎的照片 编译器是帕斯卡,第四和jal。

可用于PIC Micro的高级语言编译器:

  • c使用最广泛的编程语言。
  • 基本初学者所有目的符号指令代码。
  • 帕斯卡基于藻类,以纪念Blaise Pascal命名。
  • 由Chuck Moore命名为适合第四代计算机的Chuck Moore。
  • JAL只是Wouter Van Ooijen(Pascal为基础)的另一种语言。

主要特征:

ANSI标准化

  • C具有ANSI标准,可用大量代码,广泛使用。
  • Pascal有一个ANSI标准,可用的大量代码,广泛使用。
  • 有一个ANSI标准。
  • 基本的主要缺点 - 它没有't follow a standard.
  • jal没有标准 - 但只有一个编译器,所以它没有 matter.

具有与语言相关联的ANSI标准意味着 任何PIC编译器都可用于编译源代码 - 并且编译器将 接受该源代码,无论目标微族如何。请注意 必须进行一些调整。寄存器名称,硬件操作等

这是基本的问题,因为没有标准 - 所以如果你 使用一个编译器写出基本源代码,它很可能会 不行 如果您使用不同的编译器。

便于使用

  • C容易 - 困难。
  • 帕斯卡容易 - 困难。
  • 非常困难。
  • 基本容易。
  • jal容易。

主要福利:

  • C可以访问低电平硬件,结构化布局。
  • 帕斯卡尔易写,结构布局。
  • 紧凑的代码,非常快 - 不是如上所结构。
  • 基本易于写入,可以根据编译器构建。
  • jal基于pascal,结构化布局。

主要缺点:

  • C取决于它的写作方式可能是极其密码。
  • 帕斯卡尔冗长写作并区分 程序/功能。
  • Forth使用反向波兰表示法,代码很难 read.
  • 基本不遵循标准。
  • jal只有一个编译器 - 否其他选择即,没有支持。

pic MICRO的可用性:

  • C有大量的编译器。
  • 帕斯卡尔只有一个或两个编译器。
  • 有几个编制者可用。
  • 基本大量编译器可用。
  • jal只有一个编译器可用。

什么 to look for in a compiler.

开始时,您应该使用具有文本的PIC编译器 编辑器和模拟器内置IDE(集成开发 Environment).

一个很好的帮助系统将赋予语言的示例 保存收到文本预订(某些帮助文件也有典型的示例 hardware solutions).

显然成本是考虑因素 - 最好的是成本 更多的。但是,您可以使用一些非常低成本并表现良好的一些。


跳跃 pic编译器 page to
最佳微控制器 - 项目主页

新的! Comments

让你说到你刚刚阅读的东西!留下下面的框中的评论。



隐私政策 | 接触 | 关于我

网站地图 | 使用条款


ezoic.报告此广告

访问我们的Facebook页面:

   点击这里



最近的文章

  1. 如何使用ADS1115

    使用ADS1115精度16位ADC进行教程进行低功耗。

    阅读更多

  2. arduino.模拟输出...易模拟输出生成

    arduino.模拟输出:如何创建最精确的PWM模拟输出以及如何创建模拟PWM正弦波。

    阅读更多

  3. 数号和等效的快速宏。加快代码!

    了解DigitalWrite()的工作原理......现在使用17倍宏宏!

    阅读更多

  4. TCS230颜色传感芯片:如何运作以及如何使用它。

    如何使用TCS230(/ TCS3200)彩色检测器芯片并轻松将其添加到您的任何项目中。

    阅读更多

  5. 如何使用ADXL345进行运动感测等。

    使用ADXL345 Acellerometer,您可以检测到16G!您还可以了解如何使用它来点击检测等。

    阅读更多

  6. HMC5883L 3轴数字MAGENTOMTER如何运作

    HMC5883L - 如何制作数字罗盘,了解HMC5883L和QMC5883L之间的差异以及它们是否兼容。

    阅读更多



读者 Comments

"I wanted to thank
你这么好
对于所有信息
你已经提供了
你的网站's

高超极好的."

- 逃亡Potthath.

"This site really is
最好的和我最喜欢的。
我发现这里有很多很有用
项目和提示。"

- 米兰

Bursach.<at>gmail.com<

"Awesome site,
非常,非常容易和好
导航!"


-
镭_tr.<at>
wolf359.cjb.net.


学习微控制器

"Interested in
微控制器?"

注册
免费7天指南:

自由 GUIDE : CLICK HERE


"I am a newbie to PIC
我想说
 how great your
网站一直在为我。"


- 戴夫

de_scott.<at>bellsouth.net

"Your site is a great
和完美的工作。
恭喜。"


- SURESH.

IntegratedInfosys.<at>
Yahoo.com.

"I couldn't find the correct
要定义的词语
你的网页。

非常有用,揭开,
诚实明确。

非常感谢
你的时间和作品。
问候。"


- Anon.

回到顶部