如何才能快速入门单片机详细方法教程说明

当你有了学习单片机的愿望,接下来的问题就是从何学起,如何学? 对于在校学生有老师指导,开始时的迷茫会少的多,而靠自学的朋友麻烦就多一些。
例如从哪种单片机学起?
需要哪些器材?
买什么书籍有用?
做些什么实验?。.. 。..等等。
这里就自学单片机过程中的方法和问题向初学者做一些引导和提示:
学单片机之初,你必须懂一些数字电路,若对数字电路中的一般概念都很模糊,最好还是再补习一下再来学单片机。接下来你最好先选一种单片机机种进行学习,因为目前单片机种类较多,其结构和指令均不相同,若这种学两天,那种学两天往往会贪多嚼不烂。这里建议你最好先学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;这个代码文件必须送到单片机中单片机在电路中才能按你的“计划”去工作。将这个代码文件送到单片机中的工具就是编程器,与电脑连接的编程器一般都通过并口或者串口与编程器的硬件连接,也有相应的服务程序;在连接好电脑与编程后运行其服务程序,在服务程序中先选择所要编程的单片机型号,再调入前面所得到的代码文件,接下来就用编程器将这个代码文件烧写到单片机中。
到此,单片机开发的一个过程就大致完啦。 当然,你不可能一次就把你的“计划”用单片机的语言完美正确的将源程序写好(就是我们平常制订的计划在实际中也有修改的),这就需要反复修改源程序,反复编译、烧写到单片机中、反复将单片机装到电路中去实验。由于单片机执行每一条语句所用的时间很短,有时你无法得到其中间的结果,也无法判断程序出错的位置,这时你可以使用软件模拟的方法,让程序一步一步的执行,每执行一步,通过查看单片机中各关键数据的变化情况,来找到错误或没按你“计划”执行的语句,从而达到排错的目的。若你资金不成问题的话,也可以购买单片机仿真器,他可以取代实际电路中的单片机,在电脑的控制下一步一步的去排错。实际上无论软件模拟(仿真)还是硬件仿真,其功能远不止这里讲的这一点点。
单片机是一门实践性很强的课程(是半软半硬的东西),所以必须是理论联系实践,我试过很多种教学法,还是觉得平凡老师创立的“任务教学法”的效果最好。同时我也接触了德国最先进的教学法:行动导向教学法。因此本人的课程将按行动导向教学法、项目教学法“任务教学法”这个教学思路来编写。
个人认为平凡单片机教程有些不足的地方,所以我也是改革的写教程了,完全按照人的认知规律来写,和平凡老师的教程在很大程度上不同,更注重对学者的能力的培养。也是我提到的“学习的知识不如学习知识的能力重要”。
好,下面我们开始学习了!请大家认真看!
一、什么是单片机呢?
1、和我们的计算机(电脑)差不多,大家都知道,我们的计算机(电脑)里面有
(1)cpu
(2)硬盘
(3)内存
(4)主板
(5)等等。
这些东西是装在一个叫主机的里面的。好大!一个cpu大概要400块,硬盘也要500左右,内存200左右,主板500左右,这些东西加在一起大概要1600块左右。如果配上其他的,一台电脑要3000到4000左右吧。
2、但是把这些东西(cpu,硬盘,内存,主板等等)用集成块做好后,如下图所视:
就成了我们要学习的“单片机”了。
3、请大家想想看这个集成块值多少钱?它可是具备了计算机的功能啊。是不是很贵啊?
不,价格并不高,从几元人民币到几十元人民币,体积也不大,一般用40脚封装,当然功能多一些单片机也有引脚比较多的,如68引脚,功能少的只有10多个或20多个引脚,有的甚至只8只引脚。
4、当然,在单片机机内部,cpu,硬盘,内存,主板等等东西要改个名字了。
(1)cpu,它的名字没有改,还是叫cpu(central processing unit)。它是单片机的核心部件,包括运算器和控制器。运算器既是算术逻辑单元alu(arithmetic logic unit),其功能是进行算术运算和逻辑运算。控制器一般由指令寄存器、指令译码器、时序电路和控制电路组成。起作用是完成取指令、将指令译码形成各种微操作并执行指令,同时控制计算机的各个部件有条不紊地工作。
(2)“硬盘”,改了名字,叫程序存储器,也叫只读存储器。用rom(read only memery)表示。其作用和硬盘差不多,用来存放用户程序。特点是:掉电后不会丢失数据。
(3)“内存”,也改了名字,在单片机里叫数据存储器,也叫随机存储器。用ram(random access memery)表示。其作用是用于存放运算的中间结果,数据暂村和缓冲,标志位等。特点是:掉电后会丢失数据。
(4)“主板”,也改了名字,叫做i/o(输入输出设备)当然也包含了串行口,并行口,定时器,记时器等等。
5、以上谈到的这些东西都在哪个集成块里面。我们把集成了这些东西的集成块叫做单片机。有些外国人叫微控制单元mcu(micro controller unit),也有人叫嵌入式控制器(embedded controller)。现在明白了什么是单片机吗?
6、我总结一下:将cpu、程序存储器、数据存储器、i/o接口电路、定时器/计数器等计算机部件集成在一块芯片上,具有独特功能的单片微型计算机称着单片机。现在总明白了什么是单片机吧!
请大家用自己的话阐述一遍什么是单片机??
二、当我们明白了什么是单片机后,再来猜猜一般的单片机的价格吧?
(1)intel公司1980年推出的标准mcs-51内核8051现在要7到10块钱。
(2)atmel公司的at89c51,at89s51,at89c52,at89s52一般在7块钱左右。
三、我想大家会想一个“电脑”竟然是10块钱以内?功能怎么样?有什么用啊?
我可以告诉大家,它的功能很强大,是以后电子产品的发展方向。只要具有了智能的电子产品,就少不了弹片机技术。非常有用,就业前景非常之好。那么大家一定很想学了,于是去买了本书看。
哈哈,看不懂吧,感觉好难吧?那是因为你没有掌握好学习单片机的方法。学单片机光看书是不够的,也是学不会的。学单片机是需要一些条件的了!
下面是学习单片机需要的条件。
随着社会的发展,电子行业出现了新的技术之一单片机技术,单片机技术在各行各业都得到了广泛的应用,如果说学电子的人不学单片机技术就像我们读书不读外语一样,被人认为是老土啊。
所以我们学电子的一定要学单片机技术。那么如何学习这门技术呢?到底是难还是容易呢?这就要看你的学习方法了。
如果你闭门造车试的学习方法,肯定很难学好的。我根据我这几年的教学经验,我总结出了学单片机的相关教学方法,现在我将把我的教学过程写出来。 学单片机第一步是:建立自己的学习条件。
四、学习单片机需要什么条件?
(1)一台电脑——用于编程和学习。(3000到4000块钱)
(2)编程器——用于把编写好的程序写到芯片中。(100到1000快钱)
(3)仿真器——主要是为了调试程序的正确性。(1000到2000块钱)
(4)如果没有编程器和仿真器,也可以买个便宜的单片机实验板。如电子之城(www.pp51.com)的az系统。也就300块钱左右。
或者是电子之城的as系统,大概是400块钱。它集合了编程器和仿真器的所有功能。推荐买单片机实验板!
(5)还要多买几块单片机芯片,如:at89c51,at89s51,at89s52等等。
五、有了这些东西,如果你已经学了一点单片机知识的话,就可以做搞开发了。
下面我来谈谈单片机开发的过程,以做流水灯为例进行讲解。
(1)设计好硬件电路图
按下图把单片机的各个脚和元器件连接起来:
(2)在电脑上用软件(如keil c51)编写程序。
org 0000h
ljmp start
org 0030h
start:mov a,#0feh
loop:mov p1,a
lcall delay
rl a
ljmp loop
delay:mov r7,#0ffh
d1:mov r6,#0ffh
d2:djnz r6,d2
djnz r7,d1
ret
end
注意:现在你还没有必要把这个程序看懂,只要知道上面的是计算机程序,而不是英文就可以了。以后我们会一步一步的学这个程序的每个字的意义,直到你自己会编写为止!
(3)用编程器或者单片机实验板把程序从电脑中输入到单片机芯片中(详细步骤以后学)
(4)接上电源,流水灯工作。
六、好,如何快速入门单片机就写到这里,相信大家对单片机有了一定的了解。

如何定义一个Blocklet基石程序
中国公司5G专利占全球34% 华为一家占到20%居世界第一
如何提升示波器波形质量 三种波形算法的应用
雷蛇发布战锤狂鲨专业版真无线降噪耳机
RSocket的定义及四种通讯模式
如何才能快速入门单片机详细方法教程说明
电子芯闻早报:瑞萨拟收购Intersil 小米note2竟是这样
快速识别高温电线电缆好坏的方法是什么
智能计算会覆盖区块链领域吗
E拆解:Amazfit GTS与Apple Watch外观极其相似,那么内部呢?
高速PCB设计技巧有哪些
C语言有哪些预处理操作?
通过动图看懂三极管的工作过程
造成接线端子高温现象的因素都有哪些
基于具有Arduino Leonardo的树莓派扩展板的介绍
将FRAM器件集成到新的汽车EDR设计中所需满足的要求
微雪电子OTS-48-0.5-01TSOP48测试座简介
从Windows 10 1903版本起,微软默认禁用USB驱动器缓存
应用于汽车自动驾驶的五大传感器技术详解
ColorOS 13正式发布:全新“水生万物”理念,开启全面流畅和智慧互融新体验