❶ C语言与单片机C语言的区别 急求
单片机c语言比起普通C语言增加了一些基本的指令,变量的赋值是16进制,当然单片机c语言只牵涉到普通c语言的基础部分。具体体现在:
1、单片机中C的语法一般都对 ANSI C有些扩展,及一些特殊写法 如C51扩展的 data xdata bit sbit 一类的,还有一些中断程序写法 void int() interrput 1 一类的。
2、C是一门语言,由对应平台的编译器编译成对应平台汇编的程序,各平台的汇编不一样,当然编译器也不一样 DOS上的TC2 TC3 WINDOWS上的VC 8051的C51都有自已的编译器 。具体区别是由编译器决的,只能参考对应的编译手册,即使同种平台不同的编译器对C的扩展也有不同。
3、单片机c语言编程是基于C语言的单片机编程。单片机的C语言采用C51编译器(简称C51)。由C51产生的目标代码短,运行速度高,存储空间小,符合C语言的ANSI标准,生成的代码遵循Intel目标文件格式,而且可与A51汇编语言PL/M51语言目标代码混合使用。
C51本质就是C,是为在单片机上使用C而出来的,如果C不牢固,还是多掌握一点C再学C51,不过新增的知识也不少,而且基本上跟C无关。
4、C只是一种高级语言。它除具有一般高级语言的功能特性外,它可以很好的操作底层的硬件接口。在C语言的基础上,如果你把一些单片机的端口或特殊功能寄存器加于定义,使之方便于在 写语句的时候,直接直观的编写。这样就差不多是单片机C语言。
C语言的特性差不多都可以用于单片机C语言,因为它们的编译机理都是一样的。
(1)单片机自带编译器扩展阅读:
C语言:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
单片机的C语言:
单片机软件设计使用C语言作为编程开发软件,采用模块化的程序结构,设计了按键模块程序、RFID模块程序、日历时钟模块程序、GPRS模块程序、显示存储模块程序等,并编写系统主程序,将五个程序模块组合在一起,实现单片机控制系统的整体功能。
51单片机支持三种高级语言,即PL/M,C和BASIC。C语言是一种通用的程序设计语言,其代码率高,数据类型及运算符丰富,并具有良好的程序结构,适用于各种应用的程序设计,是目前使用较广的单片机编程语言。
单片机的C语言采用C51编译器(简称C51)。有C51产生的目标代码短,运行速度高,所需存储空间小,符合C语言的ANSI标准,生成的代码遵循Intel目标文件格式,而且可与A51汇编语言或PL/M51语言目标代码混合使用
C语言-网络
单片机C语言-网络
❷ 用单片机进行编程,用什么软硬件,在哪里编,电脑上吗
硬件就是PC,你的电路板,还有程序下载线或烧写器之类
软件,就是各种编程软件了,比如IAR,Keil等
在PC上编程,然后编译成诸如HEX之类的文件,再通过程序下载线下载到芯片上。有的芯片不支持ISP之类的下载方式,那就要专门的烧写器了。
可以用C编程,甚至有的软件支持类BASIC的语言,看你用什么编程软件。
❸ AVR单片机用哪个编译器好
IAR效率最高,但收费。atmel studio是atmel自己的编译器,基于gcc,免费。
不二选择:AVR Studio 4.19 + AVR toolchain。
AVR toolchain 是 atmel 官方制作的 GCC 工具链,专门与 AVR Studio 相配。
AVR Studio 支持调试插件(plugins),proteus 专门有针对 AVR Studio 的插件,非常好用。
❹ 有关单片机编译器的问题
编译器,是将便于人编写,阅读,维护的高级计算机语言翻译为计算机能识别,运行的低级机器语言的程序。编译器将源程序(Source program)作为输入,翻译产生使用目标语言(Target language)的等价程序。源程序一般为高级语言(High-level language),如Pascal,C++等,而目标语言则是汇编语言或目标机器的目标代码(Object code),有时也称作机器代码(Machine code)。
一个现代编译器的主要工作流程如下:
源程序(source code)→预处理器(preprocessor)→编译器(compiler)→汇编程序(assembler)→目标程序(object code)→连接器(链接器,Linker)→可执行程序(executables])
可见,虽然高级语言都是c,但目标代码是基于机器平台的-c51,atmel,arm,motorola/freescale......同一个编译器也有针对不同平台的版本,如keil有arm的版本,icc也支持freescale.
❺ 单片机内部基本原理 bin文件如何跑起来 编译器做了什么
无论是单片机还是cpu内部主要有三种部件 ALU 控制器 寄存器。
这个要从编译器开始讲起,编译器会给你编写的软件增加一个头部,无论是MDK还是IAR等等,这个头部是做了什么工作那?头部主要利用单片机寄存器上电后从FLASH将全局变量以及全局未初始化变量搬移倒RAM,增加堆栈 复位 中断向量表 才开始从flash读取你编写的程序,因为编译器已经把程序整个编码为机器码放在flash,有不太了解机器码的可以再去了解,机器码主要是运算加减搬移的那些操作,只不过单片机它就认识了。
单片机内部的控制器读取flash的机器码,通过内部R0-R15做数据中转和RAM交换数据,通过ALU做运算,ALU非常擅长做逻辑的运算,寄存器是存放需要暂存处理的数据,使得它跑了起来。
编译器----编译器的程序----bin文件----机器码----运行
❻ 单片机有哪些开发工具
不同的型号的单片机需要不同的开发软件。我们以80C51系列、PIC系列和AVR系列为例分别说明。
单片机程序的编写不需要任何特殊的软件,只要是文本编缉软件就可以了,如WINDOWS自带的记事本,WORD等,不过这些软件编写并不方便,有一些更好的文本编缉器可供选择,如UltraEdit,PE2等。当然,人们最常用的还是使用开发软件自带的编缉器来进行编写。以80C51系列单片机为例,最为流行的软件是Keil软件。Keil软件是一款综合开发工具,内置了编缉器,ASM汇编器,C51编译器,调试器等部分.