如何快速入门单片机

发布者:创新驿站最新更新时间:2013-04-03 来源: 51hei关键字:单片机  AT89C51  编程器 手机看文章 扫描二维码
随时随地手机看文章

  当你有了学习单片机的愿望,接下来的问题就是从何学起,如何学? 对于在校学生有老师指导,开始时的迷茫会少的多,而靠自学的朋友麻烦就多一些。

例如从哪种单片机学起?
需要哪些器材?
买什么书籍有用?
做些什么实验?... ...等等。
  这里就自学单片机过程中的方法和问题向初学者做一些引导和提示:
  学单片机之初,你必须懂一些数字电路,若对数字电路中的一般概念都很模糊,最好还是再补习一下再来学单片机。接下来你最好先选一种单片机机种进行学习,因为目前单片机种类较多,其结构和指令均不相同,若这种学两天,那种学两天往往会贪多嚼不烂。这里建议你最好先学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;这个代码文件必须送到单片机中单片机在电路中才能按你的“计划”去工作。将这个代码文件送到单片机中的工具就是编程器,与电脑连接的编程器一般都通过并口或者串口与编程器的硬件连接,也有相应的服务程序;在连接好电脑与编程后运行其服务程序,在服务程序中先选择所要编程的单片机型号,再调入前面所得到的代码文件,接下来就用编程器将这个代码文件烧写到单片机中。

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

  单片机是一门实践性很强的课程(是半软半硬的东西),所以必须是理论联系实践,我试过很多种教学法,还是觉得平凡老师创立的“任务教学法”的效果最好。同时我也接触了德国最先进的教学法:行动导向教学法。因此本人的课程将按行动导向教学法、项目教学法“任务教学法”这个教学思路来编写。

  个人认为平凡单片机教程有些不足的地方,所以我也是改革的写教程了,完全按照人的认知规律来写,和平凡老师的教程在很大程度上不同,更注重对学者的能力的培养。也是我提到的“学习的知识不如学习知识的能力重要”。
  好,下面我们开始学习了!请大家认真看! [page]
一、什么是单片机呢?

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等等。

五、有了这些东西,如果你已经学了一点单片机知识的话,就可以做搞开发了。

  下面我来谈谈单片机开发的过程,以做流水灯为例进行讲解。[page]

(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)接上电源,流水灯工作。

关键字:单片机  AT89C51  编程器 引用地址:如何快速入门单片机

上一篇:ADC0809AD转换器基本应用技术
下一篇:学单片机的准备工作

推荐阅读最新更新时间:2024-03-16 13:21

单片机并行口扩展和存储器扩展
单片机并行口扩展和存储器扩展 1、单片机并行口扩展,扩展I/O口采用和数据存储器相同的寻址方式。其方法有三种: 1)总线扩展,通过锁存器对P0口扩展,这一扩展方法只分时占用P0口,而不会影响P0口与其他扩展电路的连接作用。 2)串口扩展,通过串口的工作方式完成I/O口的扩展,多通过移位寄存器164/165实现,缺点明显,占用了串口,采用移位方式,速度较慢。 3)通过片内I/O口扩展,也就是不通过P0口而通过其他片内I/O口扩展,例如8255等。 2、单片机存储器扩展,包括程序存储器的扩展和数据存储器的扩展。由于单片机中的程序存储器和数据存储器严格分开了,因此程序存储器扩展的操作时序有所不同,可分为执行MOVX命令和不执行
[单片机]
构建可由电池供电运行数十年的楼宇自动化系统
凭借业界领先的低功耗MSP微控制器,德州仪器(TI)一直致力于帮助工程师解决开发和构建楼宇自动化应用的各种难题。TI的MSP MCU不仅拥有极低的功耗,还具备实现小型化的高度模拟集成,同时包含了参考软件和行业标准通信协议。那么,这些优势和特性对于楼宇自动化的设计究竟意味着什么呢? 低功耗 利用MSP MCU,工程师无须牺牲楼宇自动化系统中的功能性,或者是对电池充电。通过将低功耗设计技术与能量采集(Energy Harvesting)相结合,可以减少或避免在成千上万个远程传感器中更换电池。在必须更换电池或者电力流失的情况下,由于FRAM和Compute Through Power Loss(CTPL)软件设施所具有的速度和耐久性,系
[电源管理]
构建可由电池供电运行数十年的楼宇自动化系统
基于AVR单片机的低成本真随机数发生器设计
引 言 随机数已广泛地应用于仿真、抽样、数值分析、计算机程序设计、决策、美学和娱乐之中。常见的随机数发生器有两种:使用数学算法的伪随机数发生器和以物理随机量作为发生源的真随机数发生器。要获取真正随机的真随机数,常使用硬件随机数发生器的方法来获取。这些真随机数都是使基于特定的真随机数发生源(如热噪声、电流噪声等),每次获取的真随机数都是不可测的,具有很好的随机性。 真随机数因其随机性强,在数据加密、信息辅助、智能决策和初始化向量方面有着广泛应用,构建一种基于硬件真随机数发生源,具有广泛的应用价值。但目前硬件真随机数发生源均较复杂,而且很少有基于单片机的真随机数发生器。本文利用RC充放电的低稳定度,根据AVR单片机的特点设计了一种
[单片机]
基于AVR<font color='red'>单片机</font>的低成本真随机数发生器设计
破解物联网有解 节能32位MCU看俏
MCU厂商大举圈地争食物联网(IoT)市场大饼。值此万物联网与可穿戴设备商机崛起之际,机器对机器(M2M)设备与智能化嵌入式系统(Intelligent Embedded System)出货量亦快速激增,并带动低功耗的MCU需求,不仅为MCU厂商带来可观的应用商机,亦促使MCU产品规格快速演进。有鉴于此,Silicon Labs挟基于ARM Cortex-M0+处理器的全球最节能32位MCU - EFM32 Zero Gecko,可望成征服物联网与可穿戴设备等电池供电型应用的攻城利器。   Silicon Labs亚太地区MCU资深市场经理彭志昌表示,EFM32 Zero Gecko MCU具有业界最成熟的能耗管理系统,它包括五
[模拟电子]
破解物联网有解 节能32位<font color='red'>MCU</font>看俏
基于单片机的函数发生器的设计
1 引言 在自动控制系统设计及调试过程中,不同频率的正弦波、三角波和方波常作为信号源,应用十分方便。过去常由分立元件及集成运放构成振荡器,后来出现的ICL8038其最高频率仅能达到100kHz。而MAX038芯片性能更好,最高频率可达20MHz,且三种波形由同一端输出。单片机控制品质卓越,基于单片机的函数发生器运行可靠,操作方便。 2 高频信号发生器芯片MAX038简介 MAXIM公司生产的MAX038芯片是一种高频精密的函数发生器,可产生三角波、锯齿波、正弦波、方波及脉冲波,且频率及占空比的控制可独立进行。 Lin管脚电流范围在10~400μA时电路获得最佳工作性能。输出波形的选择由逻辑地址引脚A0和A1的组合来决定:
[工业控制]
基于<font color='red'>单片机</font>的函数发生器的设计
爱特梅尔推出基于微控制器的可定制系统级芯片平台
低工程成本的CAP产品填补了标准MCU和ASIC之间的鸿沟 爱特梅尔公司 (Atmel Corporation) 宣布推出基于微控制器的CAP 可定制系统级芯片 (system-on-chip, SoC) 平台,专为要求快速投放市场的复杂应用而设。CAP具有高速片内存储器、多种符合业界标准的外设和接口,以及大容量的金属可编程 (metal programmable, MP) 模块,后者可让设计人员在芯片上添加大量的定制逻辑。新推出的CAP 金属可编程微控制器平台充分利用了爱特梅尔业界领先的 AT91SAM微控制器的体系构架,让设计人员只用传统标准单元或门阵列AISC所需的一小部分时间和成本,就可以开发出面向特定应用的产品,而且单
[新品]
51单片机STC89C52 AD模数转换
CSDA BIT P3.2 WRR BIT P3.6 RDD BIT P3.7 WELA BIT P2.7 DULA BIT P2.6 CSAD BIT P0.7 DIOLA BIT P2.5 ORG 0000H LOOP0: MOV P0,#0FFH ;关数码管显示 SETB WELA SETB RDD SETB WRR STARTAD: ;开始转换 CLR CSAD //NOP CLR WRR //NOP SETB WRR //NOP SETB CSAD LCALL DELAY ;延时,等待转换完成 READAD: ;读取转换结果
[单片机]
以C8051F020单片机为控制核心的人机交互系统设计
在现代各类仪器的开发中,人机交互功能正起着无可替代的作用。人机交互界面友好的仪器将更容易操作和使用,从而提高工作效率。液晶显示器(LCD)具有功耗低、价格低、寿命长、接口控制方便等特点,在科研与设计领域正发挥着越来越大的作用。FPGA 作为单片机外设的接口芯片,可以大大简化接口电路,通过对FPGA 进行编程,可以实现常用的译码、地址选通等功能。 本文以C8051F020 单片机与FPGA 互连系统为控制核心,以液晶显示控制器T6963C 为例,结合行扫描键盘,简述了一种人机交互功能的设计。 1 系统设计方案: FPGA 可在很大程度上扩展单片机的资源,然而人机交互功能仍应尽量减少对单片机及FPGA 的资源消耗, 以便将更多
[单片机]
以C8051F020<font color='red'>单片机</font>为控制核心的人机交互系统设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved