那种Keil软件最好用
没有最好用得软件,只有最习惯的,根据个人习惯,不是说最新版的就一定最适合自己,关键是使用软件的熟练程度,到目前,我一直用KEIL3,画图却一直用99SE,因为用得熟,暂时的应用用它来应对足以,所以也不想换,其实很多软件都有共性,等你真正的熟练了,其他的软件你也会了,一般上手都会很快的,勤加练习吧。
keil软件可以仿真么,protel呢,proteus呢,他们什么区别啊,哪个比较...
但使用并不是很多。
一般采用Proteus和Multism来进行设计仿真Keil是编译软件,可以仿真,应用场合不同。
如果写代码进行软件调试,选用Keil,可以进行软件仿真,也可以连接硬件,进行硬件仿真,不含单片机。
Protel是PCB绘制软件,虽然也有仿真功能,选用Multism如果对单片机进行硬件仿真。
Proteus和Multism都可以进行设计仿真,也是国内一般设计人员采用的。
其不同Proteus可以仿真单片机,也是目前唯一一款可以用纯软件来仿真硬件单片机(可加载Hex文件)的软件。
三者各有优点;如果对硬件电路进行仿真,选用Protues如果绘制电路图,生成PCB板,只是仿真单片机...
keil uvision4和keil for ARM是什么区别啊?
RVDK,RVDS.cn和论坛,例如PK51,PK166,keil for ARM,RealView MDK等等。
uVision3开发环境界面友好,链接设置等等,相当于一套华丽的服饰,成为众多MCU开发工程师的首选RealView是ARM公司的一系列开发工具的代表,简称RV。
Keil for ARM是keil公司早期针对于ARM7的一套开发工具,同时推出了RealView的中文官方网站www.realview,RVMDK等开发套件,同时也是ARM公司推出的针对ARM内核的编译器的名称://www,操作方便,性能稳定,该编译器交以前的ARM编译器,代码编译效率可提高30%以上,RVI,ARM和英蓓特公司共同推出MDK中国版,功能强大。
是ARM公司首推的编译器,采用KEIL的编译器。
Realview MDK是keil(an ARM company)公司推出的ARM开发工具,采用uVision3开发环境,用户可以下载该开发工具的评估版uVision3是KEIL(an ARM company)公司开发的一个IDE开发环境,包括工程管理
KeiluVision5编好的程序怎么进行软件仿真
其中CodeWarrior和IAR针对的单片机种类较多;R4);251/,适用面较广优秀不优秀,每个人的侧重点不同,无法一概而论。
至于编译器的效率方面这几方总在打嘴仗,也很难说清楚谁的编译器效率更高(因为要取决于具体的应用和源程序的书写)。
就我来看对于普通用户而言其实差别不是那么明显的。
从易用性和体验来说,个人觉得CodeWarrior > IAR >166以及部分ARM平台(7、9、Mx/。
Keil相对来说狭窄一些,主要面向51/ Keil...
ARM的开发软件,哪个比较好?
推荐ADS1.2 ADS1.2支持ARM10之前的所有ARM系列微控制器,支持软件调试及JTAG硬件仿真调试,支持汇编、C、C++源程序;具有编译效率高、系统库功能强等特点;可以在Windows 2000、XP以及RedHat Linux上运行。
uV3屏蔽了ARM开发中启动代码的编写,上手很快,但以后会比较麻烦。
而且支持的ARM芯片种类还不多,所带的编译器也并不完善。
keil软件的作用是什么?
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。
掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
Keil C51开发系统基本知识Keil C51开发系统基本知识 1. 系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
下面详细介绍Keil C51开发系统各部分功能和使用。
2. Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,如图(1)所示,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。
然后分别由C51及A51编译器编译生成目标文件(.OBJ)。
目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。
ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
使用独立的Keil仿真器时,注意事项 * 仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。
* 仿真器上的复位按钮只复位仿真芯片,不复位目标系统。
* 仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。
proteus和keil怎样联合使用?需要用什么软件?
假设Keil4和Proteus7.8分别安装在”D:\Keil4”和”D:\Proteus7.8”文件夹内。
1. 将文件夹内的VDM51.dll文件复制到”D:\Keil4\C51\BIN”目录下和”D:\Proteus7.8\ MODELS”目录下2. 用记事本打开D:\Keil4\TOOLS.INI文件,在TDRV8=BIN\UL2LPC9.DLL ("NXP LPC95x ULINK Driver")下一行新加一行:TDRV9=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver")其中“TDRV5”中的“9”事实上就是避免跟上面的标号重复。
(步骤1和2只需在初次使用设置。
)3.举个例子:用keil新建一个工程,比如起名为test,正常编译,并产生hex文件(这一部分不详述),源程序如下:#define LEDS 6#include "reg51.h"//led灯选通信号unsigned char code Select[]={0x01,0x02,0x04,0x08,0x10,0x20};unsigned char code LED_CODES[]= { 0xc0,0xF9,0xA4,0xB0,0x99,//0-4 0x92,0x82,0xF8,0x80,0x90,//5-9 0x88,0x83,0xC6,0xA1,0x86,//A,b,C,d,E 0x8E,0xFF,0x0C,0x89,0x7F,0xBF//F,空格,P,H,.,- };void main(){ char i=0; long int j; while(1) { P2=0; P1=LED_CODES[i]; P2=Select[i]; for(j=3000;j>0;j--); //该LED模型靠脉冲点亮,第i位靠脉冲点亮后,会自动熄来头。
//修改循环次数,改变点亮下一位之前的延时,可得到不同的显示效果。
i++; if(i>5) i=0; }}4.proteus的模拟器件摆放图123.DSN在文件夹内,将此文件保存在上面的keil新建的test工程的目录中。
(事实上只要保证proteus的模拟图和keil的工程文件在同一个目录下即可)5.在keil中的左侧,找到“目标1”,右键选择第一项,转到调试一栏,选中右侧“使用”小圆点,下拉菜单选中刚才新建的” Proteus VSM Monitor一51 Driver”, 再点击“Setting”按钮,设置通信接口,在“Host”后面添上“127.0.0.1”,如果使用的不是同一台电脑,则需要在这里添上另一台电脑的IP地址(另一台电脑也应安装Proteus)。
在“Port”后面添加“8000”。
6.Proteus中点击调试,选中使用远程调试监控。
7.在AT89C52上右键再左键,出现编辑元件窗口,在Programe File栏中选择刚才生成的hex文件,点击确定,然后运行,大功告成~~~~
keil软件里面c语言包含哪些头文件?做什么用的?尽量多列举点
我来回答你的问题吧,前几天对这个方面有一定的深入了解,也写下了大量的笔记 虽然C编程的时候,对于不同的芯片,有不同的头文件,但是,万变不离其宗。
只要学会了写自己的头文件,就可以应付各类型号单片机了,就算你用的是AT89C2052,还是AT89C51,STC12C等等,都可以用一个头文件reg51.h 不过要做相应的修。
以下是我对reg51.h个人的见解:(对于你很有用的) 后面带上了在编写C51时带用的头文件,及其内部函数和宏定义的详细解说。
想了解如下方面的知识来来邮amwjie72@163.com 一, C51内存结构深度剖析 二, reg51.头文件剖析 三, 浅淡变量类型及其作用域 四, C51常用头文件 五, 浅谈中断 六, C51编译器的限制 七, 小淡C51指针////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// reg51.头文件剖析 我们平时写单片机应用程序的时候,所使用的头文件大多都是用的的reg51.h或是用reg52.h。
会写C51的人都会用,但对其头文件内部的定义有所了解的人确并不多。
下面对其内部做详细解释,方便读者作进一步的了解,并能运用各类型号的单片机。
因为增强型号的单片机的增强功能都是通过特殊功能寄存器控制。
打开 reg52.h 头文件,会发现是由大量的 sfr ,sbit的声明组成,甚至于还有sfr16.其实这样的声明都是与单片机内部功能寄存器(特殊功能寄存器)联系起来的,下面对其做出详细解释sfr: 声明变量 SFR 声明一个变量,它的声明与其它的C变量声明基本相同,唯一的区别,SFR在声明的同时为其指定特殊功能寄存器作为存储地址,而不同于C变量声明的整型,字符型等等由编译器自动分配存储空间。
如reg52.h头文件,第一条声明就是sfr P0 = 0x80; 此处声明一个变量P0,并指定其存储地址为特殊功能寄存器0x80;,在加入reg52.h头文件后。
编写应用程序时P0就可以直接使用而无需定义,对P0的操作就是,对内部特殊功能寄存器(0x80对应用MCU的P0口)的操作,可进行读写操作。
如果将第一条声明改为sfr K0 = 0x80; 那么,如果要把单片机的P0口全部拉低,则不能写P0=0x00;而应保存后再在应用程序中写成K0=0x00;否则编译器会提示“P0为未定义标识符” 使用方法: sfr [variable] = [address] //为变量分配一个特殊功能寄存器。
1 等号右边,只能是十进制,十六进制整型的数据常量,,不允许带操作符的表达式 经典的8051内核支持的SFR地址从0x80H~0xFF 飞利浦80C51MX系列0x180H~0x1FF 2 SFR不能声明于任何函数内部,包括main函数。
只能声明于函数外。
3 用SFR声明一个变量后,不能用取地址运算符&获取其地址, 编译无法通过,编译器会提示非法操作。
4 有一点须特别注意,51内核0x80~0xff,为特殊功能寄存器地址区间,但并不是所有的地址都有定义,如果说你所用的MCU芯片上对于某个地址没有定义,那么用sfr在定义变量的时候,不要把变量的地址分配到未定义的特殊功能寄存器上,虽然编译时能通过,用KEIL仿真时貌似是没有问题,但下载到芯片里运行时,是会出问题的。
比如说,向一个未定义的特殊功能寄存器执行读操作,读出来的就是一个未知的数。
(读者可自行测试,先把串口通信调通,然后做一个简单的人机交互。
读出一个数后,再发给计算机,用串口调试助手或是串口监控查看。
这用方法在仿真的时候很有用。
)所以具体那些特殊功能寄存器能够用,就要查看你使用的芯片手册。
5 若遇到增强性的单片机,只要知道其扩展的特殊功能寄存器的地址,用SFR定就可以很方便进行编程。
sbit: 声明变量 sbit 同样是声明一个变量,和SFR 使用方法类似,但是SBIT是用来声明一个位变量,因为,在51系列的应用中,非常有必要对SFR的单个位进行存取,而通过bit 数据类型,使其具备位寻址功能。
如,在reg52.h中有如下声明 sfr IE = 0xA8; sbit EA = IE^7;sbit ET2 = IE^5; //8052 onlysbit ES = IE^4;sbit ET1 = IE^3;sbit EX1 = IE^2;sbit ET0 = IE^1;sbit EX0 = IE^0; 所以,对EA的操作即是对IE最高位的操作。
但如果想让 SP DPL DPH PCON TMOC TL0 TL1 TH0 TH1 SBUF这些特殊功能寄存器具备位寻址,采用上述如IE类似的定义,是不行的,虽然修改后,在编译的时候不会出现错误,但只要用到你定义的位变量名时就会出错。
原因是,只有特殊功能寄存器的地址是8的倍数(十六进制以0或8结尾)才能进行位寻址。
打开reg52.h头文件可以看到,所有用sbit声明了的特殊功能寄存器的地址均是以0或8结尾如硬要达到上述要求,可用带参的宏定义来完成。
此处不做详细说明(意义并不大)。
下面对sbit的使用做详细介绍:随着8051的应用,非常有必要对特殊功能寄存器的单个bit位进行存取,C51编译器通过sbit 数据类型,提供了对特殊功能寄存器的位操作。
以下是sbit的三种应用形式:一, sbit name = sfr-name^bit-position; sfr PSW =0xD0; sfr IE =0xA8; sbit OV= PSW^2; sbit CY=PSW^7; sbit EA= IE^7;二, sbit name= sft-address^bit-position; sbit OV =0xD0^2; sbit CY =0xD0^7; sbit EA =0xA8^7;三, sbit name= sbit-address; sbit OV =0xD2; sbit CY =0xD7; sbit EA =0xAF...
转载请注明出处51数据库 » 哪边的keil pk166软件比较好