《匠人手记》推荐网上购书渠道:
  互动出版网(china-pub)   >>>
  当当网(dangdang)   >>>
  卓越亚马逊网    >>>
  淘宝网(taobao)   >>>
  更多购书渠道……   >>> 

设为首页加入收藏联系匠人管理入口21IC首页21IC博客21IC社区侃单片机回复的贴参与的贴

天气预报
百宝日历
载入中...

百宝专栏

载入中...
最新货色

载入中...

粉丝评论

载入中...

载入中...



百宝信息

载入中...

百宝流量

(2006-07-01开始)


匠人手记

单片机初学应知
程序匠人 发表于 2006-1-26 23:31:00  阅读全文 | 回复(0) | 引用通告 | 编辑

单片机初学应知
skycanny 发表于 2006-1-18 23:31:00

 

当你有了学习单片机的愿望,接下来的问题就是从何学起,如何学。对于在校学生有老师指导,开始时的迷茫会少的多,而靠自学的朋友麻烦就多一些。例如从哪种单片机学起?需要哪些器材?买什么书籍有用?做些什么实验?... ...等等。这里就自学单片机过程中的方法和问题向初学者做一些引导和提示:

    学单片机之初,你必须懂一些数字电路,若对数字电路中的一般概念都很模糊,最好还是再补习一下再来学单片机。接下来你最好先选一种单片机机种进行学习,因为目前单片机种类较多,其结构和指令均不相同,若这种学两天,那种学两天往往会贪多嚼不烂。这里建议你最好先学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;当然Keil C51开发系统也有自己的编辑器,不必用Windows中的计事本。

    无论我们使用汇编语言,还是C语言编写的程序,只是给我们看的,这个程序还必须经过与该语言对应的软件将我们能看懂的汇编或C“翻译”(编译)成所用单片机可以识别的代码。将单片机可以识别的代码烧写(编程)到单片机程序存储器中,单片机装的实际电路中才能依你的“计划”去工作。

    对于8051系列单片机来说,Keil C开发系统具有编辑、编译、模拟单片机C语言程序的功能,也能编辑、编译、模拟汇编语言程序;对于初学者,开始编写的程序难免出现语法错误或其它不规范的语句,由于Keil C编译时对错误语句提示的是英文,不太好理解,若用汇编的话,可使用DOS下的宏汇编编译器ASM51;他可以对出错语句进行中文提示;你源程序的注释部分还可以使用中文,这更便于你今后对程序的维护。 编译出的代码一般扩展名为*.hex或*.bin;这个代码文件必须送到单片机中单片机在电路中才能按你的“计划”去工作。将这个代码文件送到单片机中的工具就是编程器,与电脑连接的编程器一般都通过并口或者串口与编程器的硬件连接,也有相应的服务程序;在连接好电脑与编程后运行其服务程序,在服务程序中先选择所要编程的单片机型号,再调入前面所得到的代码文件,接下来就用编程器将这个代码文件烧写到单片机中。到此,单片机开发的一个过程就大致完啦。

    当然,你不可能一次就把你的“计划”用单片机的语言完美正确的将源程序写好(就是我们平常制订的计划在实际中也有修改的),这就需要反复修改源程序,反复编译、烧写到单片机中、反复将单片机装到电路中去实验。由于单片机执行每一条语句所用的时间很短,有时你无法得到其中间的结果,也无法判断程序出错的位置,这时你可以使用软件模拟的方法,让程序一步一步的执行,每执行一步,通过查看单片机中各关键数据的变化情况,来找到错误或没按你“计划”执行的语句,从而达到排错的目的。若你资金不成问题的话,也可以购买单片机仿真器,他可以取代实际电路中的单片机,在电脑的控制下一步一步的去排错。实际上无论软件模拟(仿真)还是硬件仿真,其功能远不止这里讲的这一点点。

 

看《匠人手记》,与匠人同行!北航出版,正在热卖!

发表评论:
载入中...

芯片专题

器件专题

软件专题

硬件专题

综合专题

项目专题

原创专题

器件检测
LCD LED
按键 触摸键
E2PROM
电池 电机
电阻 电容 电感

指令系统
软件算法
编程规范
滤波算法
串行通讯

PCB设计
I2C PWM
红外遥控
充电技术
中断 ADC 

匠人手记
匠人夜话
网络心路
一周热点串烧
从零开始玩PIC
DIY旋转时钟

广告5号位 [投放]


学习板、开发板、编程器、下载器、仿真器(查看详情……)

广告3号位 [投放]

站内搜索


站外搜索


百度  google
mp3  歌词 
图片  FLASH 
知道  文档
新闻  词典 
地图  mp3 
软件  天网 
雅虎  爱问 
搜狗  讯雷 
网讯  华军 
天空 

21IC器件搜索
百宝箱分站
  • 《匠人的百宝箱》21IC站
  • 《匠人的百宝箱》21IC笔记团队
  • 《匠人手记》21IC书友会
  • 《匠人的百宝箱》MCUBLOG站
  • 《匠人的百宝箱》MCUBLOG笔记团队
  • 《匠人的百宝箱》EDN站
  • 《匠人手记》EDN书友会
  • 《匠人的百宝箱》与非网站
  • 《匠人的百宝箱》新浪站
  • 《匠人的百宝箱》百度站
  • 《匠人的百宝箱》网易126站
  • 《匠人的百宝箱》网易163站
  • 《匠人的百宝箱》互动出版网站
  • 广告4号位 [投放]

     
     

    匠人原创

    推荐阅读

    往日酷贴

     

    友情连接

     [更多酷站连接]

     

     

     

     

    [欢迎交换连接]

    [百宝箱之与非门分舵]

    [电脑圈圈的家当]

    [IC921的博客]

    [hotpower 的水潭]

    [八楼的呼吸]

    [柔月阁]

    [PIC论坛]

    [SMARTCODE电子书斋]

    [阿摆手记]

    [电子伙伴]

    [xwj的文君阁]

    [所长的BLOG]

    [海边淘沙]

    [单片机开发联盟]

    [数字电视之家]

    [软件开发之窗]

    [unaided的笔记]

    [小飞的笔记]

    [ICC AVR开发网]

    [我爱研发网]

    [infernal的笔记]

    [网址之家]

    [好东西网址大全]

    [美萍中文精选]

    [水牛的仓库]

    [逍遥电子]

    [ningpanda的博客]

    [雄鹰的空中加油站]

    [一网见天下]

    [Armoric]

    [股剩是怎样炼成的]

    [嵌入式365]

    [C-Design]

    [AVR猎手的地盘]

    [中国高校自动化网]

    [SunK]