学习单片机总共要用到那些软件
1、学习单片机最好从51系列开始2、过去普遍采用汇编,但建议用目前普遍的C语言3、开发环境用KEIL C4、会C不一定会开发单片机,况且单片机C语言与标准的ANSI C尚有一定区别5、掌握单片机原理是必要的,了解一些模拟元器件和集成电路也是有必要的你可以参考我空间的一些文章。
单片机开发要用那些软件
我也比较同意楼上的,但是如果你得会变语言基础不好的话,还是从C开始,C比较好学一些。
不过我还是非常支持楼上的,汇编是效率最高的,并且是和硬件层联系最紧密的,这样也有助于你掌握硬件的知识。
其实单软件和单硬件都不好,最好软硬兼施,这才是最NB的。
单片机开发要注意什么?
一、 如何提高C语言编程代码的效率邓宏杰指出,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。
他强调:“如果使用C编程时,要达到最高的效率,最好熟悉所使用的C编译器。
先试验一下每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道效率。
在今后编程的时候,使用编译效率最高的语句。
”他指出,各家的C编译器都会有一定的差异,故编译效率也会有所不同,优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程度长5-20%。
他说:“对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求你对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。
虽然C语言是最普遍的一种高级语言,但由于不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。
所以如果对这些特性不了解,那么调试起来问题就会很多,反而导致执行效率低于汇编语言。
”二、 如何减少程序中的bug?对于如何减少程序的bug,邓宏杰给出了一些建议,他指出系统运行中应考虑的超范围管理参数有:1.物理参数。
这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参数和处理结束的结果参数。
合理设定这些边界,将超出边界的参数都视为非正常激励或非正常回应进行出错处理。
2.资源参数。
这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、存储单元长度、堆叠深度。
在程式设计中,对资源参数不允许超范围使用。
3.应用参数。
这些应用参数常表现为一些单片机、功能单元的应用条件。
如E2PROM的擦写次数与资料存储时间等应用参数界限。
4.过程参数。
指系统运行中的有序变化的参数。
三、如何解决单片机的抗干扰性问题邓宏杰指出:防止干扰最有效的方法是去除干扰源、隔断干扰路径,但往往很难做到,所以只能看单片机抗干扰能力够不够强了。
单片机干扰最常见的现象就是复位;至于程序跑飞,其实也可以用软件陷阱和看门狗将程序拉回到复位状态;所以单片机软件抗干 扰最重要的是处理好复位状态.一般单片机都会有一些标志寄存器,可以用来判断复位原因;另外你也可以自己在RAM中埋一些标志。
在每次程序复位时,通过判断这些标志,可以判断出不同的复位原因;还可以根据不同的标志直接跳到相应的程序。
这样可以使程序运行有连续性,用户在使用时也不会察觉到程序被重新复位过。
四、 如何测试单片机系统的可靠性有读者希望了解用用什么方法来测试单片机系统的可靠性,邓宏杰指出:“当一个单片机系统设计完成,对于不同的单片机系统产品会有不同的测试项目和方法,但是有一些是必须测试的:1.测试单片机软件功能的完善性。
这是针对所有单片机系统功能的测试,测试软件是否写的正确完整。
2.上电、掉电测试。
在使用中用户必然会遇到上电和掉电的情况,可以进行多次开关电源,测试单片机系统的可靠性。
3.老化测试。
测试长时间工作情况下,单片机系统的可靠性。
必要的话可以放置在高温,高压以及强电磁干扰的环境下测试。
4、ESD和EFT等测试。
可以使用各种干扰模拟器来测试单片机系统的可靠性。
例如使用静电模拟器测试单片机系统的抗静电ESD能力;使用突波杂讯模拟器进行快速脉冲抗干扰EFT测试等等。
邓宏杰强调:“还可以模拟人为使用中,可能发生的破坏情况。
例如用人体或者衣服织物故意摩擦单片机系统的接触端口,由此测试抗静电的能力。
用大功率电钻靠近单片机系统工作,由此测试抗电磁干扰能力等。
”
pic单片机用什么开发软件
MALAB,在PIC的厂商微芯公司的主页上能下载(www.microchip.com.cn),免费的。
你说的仿真是软件仿真,还有硬件仿真,软件仿真可以用MALAB结合proteus。
硬件仿真可以用MALAB结合他们官方退出的仿真器ICD2来仿真。
(ICD2还能自己自制)。
另外,如果你习惯用C语言写程序的话,先告诫你,PIC系列的8位单片机很少用汇编写程序的。
微芯也没推出针对pic8位单片机的C语言编译器(PIC18除外)。
所以要用到C的时候,要用PICC这个编译器(这软件最便宜的也要五六百,但网上有破解)。
如果用pic18系列或者PIC的16位单片机的话,推荐用微芯出的C语言编译器。
(比PICC还贵,但也有破解的)。
怎么学习单片机?
学单片机最怕的就是只看书不动手,真的,我以前刚学单片机是也是一直看书,看理论知识,可是书看了好久还是感觉没学道什么,连最简单的编程都不会。
学单片机最重要的是自己动手做做,建议买块51的开发板,推荐郭天祥老师的,里面有随板赠送的光盘,光盘里有他讲的《十天教你学会单片机》和一些要用到的软件,如keil,stc,串口调试助手等。
跟着视频讲的一步一步做,如点亮发光二极管呀,数码管显示呀,液晶屏显示呀等等,这些都做完看完,恭喜你,你已经懂得单片机了,也已经知道如何走下去,但是不能说是高手,只能说是入门了,接下来你就知道自己怎么做了。
最重要的是多看多练,遇到问题就查资料,单片机是要动手做的,不只是理论知识。
...
怎么样才可以学好单片机的开发
先看下郭天祥老师的十天学会单片机C语言,这个视频网上很多,你搜索一下 开发板的话就选 郭天祥的 淘宝上很多的 也不贵1、熟悉单片机的原理,结构; 2、学好数电,模电,为设计电路打好基础; 3、熟练使用C语言,多学习别人的程序;4、对操作系统原理有一定的了解; 5、Protel至少要有点基础;6、要实际动手调试电路的能力。
学习单片机的步骤 当前的单片机种类很多,但是 51 是最基础的,因此单片机的学习最好也是从 51 开始,不仅容易上手,而且相当实用。
然而 51 单片机毕竟过于基础,后来的很多单片机在功能上都有很大的扩展,因此按照我们实验室多数人的路线接下来大多数人会学习 AVR 单片机, AVR 单片机在功能上较 51 有很大提升,集成了 A/D 、快速 PWM 等很多实用的功能,而且和很多大型的单片机在功能上有很多类似之处,因此如果以后还想掌握其他单片机 AVR 无疑是一个很好的跳板。
学习的过程 学习单片机最终要的是当然是练,我所说的学习跟课堂上的单片机学习不同,我以前也看过一些单片机教材,有些教材讲的是单片机的工作原理和内部结构,这些东西对于我们暂时并不需要,等以后开课的时候在学习好了。
现在要学习的是暂时抛开内部结构原理不谈,如何能用单片机写一些简单的小程序,是从实用性的角度出发,网上有一种说法称之为先实践后理论的学习方法。
因此我的观点如下,单片机的硬件结构首先要有一个基本的了解,最起码要知道各引脚的功能、区别,能自己动手搭一个单片机的最小系统,然后就可以直接从程序入手,程序最好还是用 C 语言编程,从简单的跑马灯做起,逐渐深入,陆续可以做一些数码管、液晶、 DS1302 、 DS18B20 等电子元器件的应用,在深入就可以结合一些具体实例扩展一些中断、串口通讯等功能。
还有一点要声明的是单片机里用到的 C 语言其实很有限,课堂上学习 C++ 的很大一部分内容在初期单片机编程中都用不到,因此没必要因为觉的自己的 C 语言基础不是很好而对单片机望而止步! 学习的工具 软件方面方面, 51 单片机用的是 KEIL 软件,这个软件在学校图书馆软件下载和其他网站上都有,具体用法自己查找相关资料, AVR 的软件就比较多了,我用的是 CVAVR ,另外还有 ICCAVR 等多款编译软件,这要看个人喜好了,建议有了一定的 51 基础再学。
另外就是烧写软件,烧写软件的作用就是将编译器生成的 HEX 文件烧写至单片机里,这要配合下载线实用,如果有并口的话最好用并口下载线,软件最好用广州双龙的 SLISP 软件,如果是笔记本没有并口的话则要自己买一个下载器了,名称为 USBASP ,网上电子市场有卖 20 块钱左右,软件会随光盘自带。
硬件方面,首先是要有单片机,对于单片机有一点要注意, 51 单片机最好买 89S51 、 89S52 这两种型号,上面我所说的烧写程序是 ISP 方式,这两种单片机支持 ISP 下载,所以如果买其他型号的烧写程序可能会不太方便, AVR 单片机常用的就是 ATmega16L 其它型号的区别也不是很大,甚至有些兼容。
至于单片机开发板,目前的价格都很贵,从一百到几百不等,不过像上次学校里广告的那个六十多块钱的最好还是免了,没什么作用。
能买一块当然好,没有的话也不要紧,自己动手买个电路板搭一下也很方便,引出 ISP 接口,烧写程序十分容易,然后将 I/O 口引出扩展也很方便。
学习单片机的其它几个注意点: 1 .理论与实践并重 对一个初学单片机的人来说,如果按教科书式的学法,上来就是一大堆指令、名词,学了半天还搞不清这些指令起什么作用,也许用不了几天就会觉得枯燥乏味以致半途而废。
所以学习与实践结合是一个好方法,边学习、边演练,循序渐进,这样用不了几次就能将所用到的指令理解、吃透、扎根于脑海,甚至 “ 根深蒂固 ” 。
也就是说,当你学习完几条指令后 ( 一次数量不求多,只求懂 ) ,接下去就该做实验了,通过实验,使你感受到刚才的指令产生的控制效果,眼睛看得见 ( 灯光 ) 、耳朵听得到 ( 声音 ) ,更能深刻理解指令是怎样转化成信号去实现控制的,通过实验看到自己所学的成果不仅有一种成就感也能提升你对单片机的兴趣。
说句实在话,单片机与其说是学出来的,还不如说是做实验练出来的,何况做实验本身也是一种学习过程。
因此边学边练的学习方法,效果特别好。
2 .合理安排时间持之以恒 学习单片机不能 “ 三天打鱼、两天晒网 ” ,要有持之以恒的毅力与决 4 心。
学习完几条指令后,就应及时做实验,融汇贯通,而不要等几天或几个星期之后再做实验,这样效果不好甚至前学后忘。
另外要有打 “ 持久战 ” 的心理准备,不要兴趣来时学上几天,无兴趣时凉上几星期。
学习单片机很重要的一点就是持之以恒。
3 .遇到问题耐心检查 单片机有软硬件两方面的内容,有时一个程序怎么调都不出效果,然而从理论分析却又是对的,这是就要仔细找原因了,学习单片机经常碰到很多问题,有时一两天都不能解决,这是就要有耐心,从底层找起,相信每找出一个错误都会有一个新的收获。
切不可轻言放弃!!! 4 .对只短暂学过一遍的知识,充其量只比浮光掠影稍好。
因此,较好的...
学习单片机需要什么基础课程
简单的说,编程就是为了借助于计算机来达到某一目的或解决某个问题,而使用某种程序设计语言编写程序代码,并最终得到结果的过程。
计算机虽然功能十分强大。
可以供你上网、打游戏、管理公司人事关系等等,但是没有程序,它就等于是一堆废铁,不会理会我们对它下达的“命令”。
于是,我们要驯服它,只有通过一种方式——程序,这也是我们和计算机沟通的唯一方式。
那程序到底是什么呢? 程序也就是指令的集合,它告诉计算机如何执行特殊的任务。
打个比方说,它好比指导你烹调菜品的菜谱或指挥行驶一路到达目的地的交警(或者交通路标)。
没有这些特殊的指令,就不能执行预期的任务。
计算机也一样,当你想让计算机为你做一件事情的时候,计算机本身并不能主动为我们工作,因此我们必须对它下达指令,而它根本不会也不可能听懂人类自然语言对事情的描述,因此我们必须使用程序来告诉计算机做什么事情以及如何去做?甚至对最简单的任务也需要指令,例如如何取得击键,怎样在屏幕上放一个字母,怎样在磁盘中保存文件等等。
这么麻烦,连这些东西编程都要考虑!怪不得人家说编程好难!你错了,其实许多这样的指令都是现成的,包含在处理芯片中内置于操作系统中,因此我们不必担心它们工作,他们都是由处理器和操作系统来完成的,并不需要我们来干预这些过程。
上面讲到的计算机本身不会主动的做任何事情。
因此我们要通过程序的方式来让计算机为我们“效劳”。
而这个过程就是我们“编”出来的。
编程可以使用某一种程序设计语言来实现,按照这种语言的语法来描述让计算机要做的事情。
我们这里所讲的语法和外语中的语法完全两码事,这里讲的语法只是读你的程序书写做出一写规定而已。
写出程序后,再由特殊的软件将你的程序解释或翻译成计算机能够识别的“计算机语言”,然后计算机就可以“听得懂”你的话了,并会按照你的吩咐去做事了。
因此,编程实际上也就是“人给计算机出规则”这么一个过程。
随计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。
电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。
所以人们要控制计算机一定要通过计算机语言向计算机发出命令。
计算机所能识别的语言只有机器语言,即由构成的代码。
但通常人们编程时,不采用机器语言,因为它非常难于记忆和识别。
目前通用的编程语言有两种形式:汇编语言和高级语言。
汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
它同样需要编程者将每一步具体的操作用命令的形式写出来。
汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
高级语言是目前绝大多数编程者的选择。
和汇编语言相比,它不但将许多相关的机器指令合成为单条指令并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。
由于省略了很多细节,所以编程者也不需要具备太多的专业知识。
高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。
(1)解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。
(2)编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。
但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(*.OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。
现在大多数的编程语言都是编译型的,例如Visual Basic、Visual C++、Visual Foxpro、Delphi等。
这个问题其实很简单。
前面我们讲到,程序是人与计算机进行沟通的唯一方式,因此我们要让计算机为我们服务,就必须有程序,而程序从哪里来?当然是由我们编写出来了。
或许你又会问到另一个问题:现在要什么程序有什么程序,我干嘛还要编程呢?这你就错了,现在的程序虽然很多,需要什么样的程序直接到网上不需要很长时间就可以找到类似的,而且有可能就是你所需要的。
但是,就好比去买衣服,虽然卖衣服的到处都是,但是哪一件是为你“量身定做”的呢! 程序还能够做很多事情不同的程序可以完成...
转载请注明出处51数据库 » 学单片机需要什么软件开发
老中医砖治吹牛逼