微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机教程一:单片机概述 张飞实战电子

单片机教程一:单片机概述 张飞实战电子

时间:10-02 整理:3721RD 点击:
1、何谓单片机 ?
一台能够工作的计算机要有这样几个部份构成:CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)。在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。而在单片机中,这些部份,全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如A/D,D/A等。


  
天!PC中的CPU一块就要卖几千块钱,这么多东西做在一起,还不得买个天价!再说这块芯片也得非常大了。 不,价格并不高,从几元人民币到几十元人民币,体积也不大,一般用40脚封装,当然功能多一些单片机也有引脚比较多的,如68引脚,功能少的只有10多个或20多个引脚,有的甚至只8只引脚。为什么会这样呢? 功能有强弱,打个比方,市场上面有的组合音响一套才卖几百块钱,可是有的一台功放机就要卖好几千。另外这种芯片的生产量很大,技术也很成熟,51系列的单片机已经做了十几年,所以价格就低了。 既然如此,单片机的功能肯定不强,干吗要学它呢? 话不能这样说,实际工作中并不是任何需要计算机的场合都要求计算机有很高的性能,一个控制电冰箱温度的计算机难道要用PIII?应用的关键是看是否够用,是否有很好的性能价格比。所以8051出来十多年,依然没有被淘汰,还在不断的发展中。  


2、MCS51单片机和8051、8031、89C51等的关系我们平常老是讲8051,又有什么8031,现在又有89C51,它们之间究竟是什么关系?
MCS51是指由美国INTEL公司(对了,就是大名鼎鼎的INTEL)生产的一系列单片机的总称,这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,当然,功能或多或少有些改变,以满足不同的需求,其中89C51就是这几年在我国非常流行的单片机,它是由美国ATMEL公司开发生产的。

张飞实战电子,欢迎咨询qq:437521793

3、单片机的外部结构  
拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。 1、 电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。 2、 振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶振,电容,连上就可以了,按图1接上即可。 3、 复位引脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。 4、 EA引脚:EA引脚接到正电源端。 至此,一个单片机就接好,通上电,单片机就开始工作了。
我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个引脚相连,否则单片机就没法控制它了,那么和哪个引脚相连呢?单片机上除了刚才用掉的5个引脚,还有35个,我们将这个LED和1脚相连。(见下图1,其中R1是限流电阻) 按照这个图的接法,当1脚是高电平时,LED不亮,只有1脚是低电平时,LED才发亮。因此要1脚我们要能够控制,也就是说,我们要能够让1引脚按要求变为高或低电平。即然我们要控制1脚,就得给它起个名字,总不能就叫它一脚吧?叫它什么名字呢?设计51芯片的INTEL公司已经起好了,就叫它P1.0,这是规定,不可以由我们来更改。

图1

名字有了,我们又怎样让它变'高'或变'低'呢?叫人做事,说一声就可以,这叫发布命令,要计算机做事,也得要向计算机发命令,计算机能听得懂的命令称之为计算机的指令。让一个引脚输出高电平的指令是SETB,让一个引脚输出低电平的指令是CLR。因此,我们要P1.0输出高电平,只要写SETB P1.0,要P1.0输出低电平,只要写 CLR P1.0就可以了。
现在我们已经有办法让计算机去将P10输出高或低电平了,但是我们怎样才能计算机执行这条指令呢?总不能也对计算机也说一声了事吧。要解决这个问题,还得有几步要走。第一,计算机看不懂SETB CLR之类的指令,我们得把指令翻译成计算机能懂的方式,再让计算机去读。计算机能懂什么呢?它只懂一样东西——数字。因此我们得把SETB P1.0变为(D2H,90H ),把CLR P1.0变为 (C2H,90H ),至于为什么是这两个数字,这也是由51芯片的设计者--INTEL规定的,我们不去研究。第二步,在得到这两个数字后,怎样让这两个数字进入单片机的内部呢?这要借助于一个硬件工具"编程器"。
我们将编程器与电脑连好,运行编程器的软件,然后在编缉区内写入(D2H,90H)见下图:


,写入……好,拿下片子,把片子插入做好的电路板,接通电源……什么?灯不亮?这就对了,因为我们写进去的指令就是让P10输出高电平,灯当然不亮,要是亮就错了。现在我们再拨下这块芯片,重新放回到编程器上,将编缉区的内容改为(C2H,90H),也就是CLR P1.0,写片,拿下片子,把片子插进电路板,接电,好,灯亮了。因为我们写入的()就是让P10输出低电平的指令。这样我们看到,硬件电路的连线没有做任何改变,只要改变写入单片机中的内容,就可以改变电路的输出效果。
张飞实战电子,欢迎咨询qq:437521793

好详细~帮大忙了

张老师出单片机教程了啊!

赞一个!

谢谢。我们一起努力~~~加油!

谢谢~~~我们一起加油~~~

恩恩~~~谢谢!我们一起加油~~~~

张飞电子工程师速成视频教程第一部下载地址:


4月11日,摩尔吧牵手上海IC咖啡吧硬件设计开发知名讲师张飞联合举办摩尔吧线下沙龙——硬件研发与设计,沙龙主题内容涉及硬件设计开发技术深度分享和电子工程师创业交流两部分,让处于迷茫期的电子工程师对自己的职业有更前瞻的规划,更清晰的蓝图,更睿智的眼光。欢迎报名咨询。
摩尔吧在线报名网址:


活动布置:












一、数的本质和物理现象。

我们知道,计算机可以进行数学运算,这可令我们非常的难以理解,计算机吗,我们虽不了解它的组成,但它总只是一些电子元器件,怎么可以进行数学运算呢?我们做数学题如37+45是这样做的,先在纸上写37,然后在下面写45,然后大脑运算,最后写出结果,运算的原材料:37、45和结果:82都是写在纸上的,计算机中又是放在什么地方呢?为了解决这个问题,先让我们做一个实验:这里有一盏灯,我们知道灯要么亮,要么不亮,就有两种状态,我们可以用’0’和’1’来代替这两种状态,规定亮为’1’,不亮为’0’。现在放上两盏灯,一共有几种状态呢?我们列表来看一下:




请大家自已写上3盏灯的情况000 001 010 011 100 101 110 111

我们来看,这个000,001,101 不就是我们学过的的二进制数吗?本来,灯的亮和灭只是一种物理现象,可当我们把它们按一按的顺序排更好后,灯的亮和灭就代表了数字了。让我们再抽象一步,灯为什么会亮呢?看电路1,是因为输出电路输出高电平,给灯通了电。因此,灯亮和灭就可以用电路的输出是高电平还是低电平来替代了。这样,数字就和电平的高、低联系上了。(请想一下,我们还看到过什么样的类似的例子呢?(海军之)灯语、旗语,电报,甚至红、绿灯)


二、位的含义:

通过上面的实验我们已经知道:一盏灯亮或者说一根线的电平的高低,可以代表两种状态:0和1。实际上这就是一个二进制位,因此我们就把一根线称之为一“位”,用BIT表示。


三、字节的含义:

一根线可以表于0和1,两根线可以表达00,01,10,11四种状态,也就是可以表于0到3,而三根可以表达0-7,计算机中通常用8根线放在一起,同时计数,就可以表过到0-255一共256种状态。这8根线或者8位就称之为一个字节(BYTE)。



谢谢~~~~我们一起学习嘛~~我会 一直更新相关内容~~不要缺了你哦~~~学习过程中,有什么问题,随时咨询张飞QQ:437521793

存储器的工作原理:
1、存储器构造
存储器就是用来存放数据的地方。它是利用电平的高低来存放数据的,也就是说,它存放的实际上是电平的高、低,而不是我们所习惯认为的1234这样的数字,这样,我们的一个谜团就解开了,计算机也没什么神秘的吗。




这是一个存储器的示意图(上图左):一个存储器就象一个个的小抽屉,一个小抽屉里有八个小格子,每个小格子就是用来存放“电荷”的,电荷通过与它相连的电线传进来或释放掉,至于电荷在小格子里是怎样存的,就不用我们操心了,你可以把电线想象成水管,小格子里的电荷就象是水,那就好理解了。存储器中的每个小抽屉就是一个放数据的地方,我们称之为一个“单元”。

有了这么一个构造,我们就可以开始存放数据了,想要放进一个数据12,也就是00001100,我们只要把第二号和第三号小格子里存满电荷,而其它小格子里的电荷给放掉就行了。可是问题出来了,看图2,一个存储器有好多单元,线是并联的,在放入电荷的时候,会将电荷放入所有的单元中,而释放电荷的时候,会把每个单元中的电荷都放掉,这样的话,不管存储器有多少个单元,都只能放同一个数,这当然不是我们所希望的,因此,要在结构上稍作变化,在每个单元上有个控制线,我想要把数据放进哪个单元,就给一个信号这个单元的控制线,这个控制线就把开关打开,这样电荷就可以自由流动了,而其它单元控制线上没有信号,所以开关不打开,不会受到影响,这样,只要控制不同单元的控制线,就可以向各单元写入不同的数据了,同样,如果要某个单元中取数据,也只要打开相应的控制开关就行了。

2、存储器译码

那么,我们怎样来控制各个单元的控制线呢?这个还不简单,把每个单元元的控制线都引到集成电路的外面不就行了吗?事情可没那么简单,一片27512存储器中有65536个单元,把每根线都引出来,这个集成电路就得有6万多个脚?不行,怎么办?要想法减少线的数量。我们有一种方法称这为译码,简单介绍一下:一根线可以代表2种状态,2根线可以代表4种状态,3根线可以代表几种,256种状态又需要几根线代表?8种,8根线,所以65536种状态我们只需要16根线就可以代表了。

3、存储器的选片及总线的概念

至此,译码的问题解决了,让我们再来关注另外一个问题。送入每个单元的八根线是用从什么地方来的呢?它就是从计算机上接过来的,一般地,这八根线除了接一个存储器之外,还要接其它的器件,如图4所示。这样问题就出来了,这八根线既然不是存储器和计算机之间专用的,如果总是将某个单元接在这八根线上,就不好了,比如这个存储器单元中的数值是0FFH另一个存储器的单元是00H,那么这根线到底是处于高电平,还是低电平?岂非要打架看谁历害了?所以我们要让它们分离。办法当然很简单,当外面的线接到集成电路的引脚进来后,不直接接到各单元去,中间再加一组开关,就行了。平时我们让开关打开着,如果确实是要向这个存储器中写入数据,或要从存储器中读出数据,再让开关接通就行了。这组开关由三根引线选择:读控制端、写控制端和片选端。要将数据写入片中,先选中该片,然后发出写信号,开关就合上了,并将传过来的数据(电荷)写入片中。如果要读,先选中该片,然后发出读信号,开关合上,数据就被送出去了。注意图4,读和写信号同时还接入到另一个存储器,但是由于片选端不同,所以虽有读或写信号,但没有片选信号,所以另一个存储器不会“误会”而开门,造成冲突。那么会不同时选中两片芯片呢?只要是设计好的系统就不会,因为它是由计算控制的,而不是我们人来控制的,如果真的出现同时出现选中两片的情况,那就是电路出了故障了,这不在我们的讨论之列。

从上面的介绍中我们已经看到,用来传递数据的八根线并不是专用的,而是很多器件大家共用的,所以我们称之为数据总线,总线英文名为BUS,总即公交车道,谁者可以走。而十六根地址线也是连在一起的,称之为地址总线。



福利来啦~~张飞老师在电子发烧友上为大家做高手问答;主要是关于电感降压式BUCK电路设计这方面的,表示众多问题想要去咨询,给大家分享一下!http://bbs.elecfans.com/jishu_470588_2_1.html#comment_top
互动奖励规则:
        1、在论坛帖子中回帖,参与互动
        2、关注我们的新浪微博 :电子发烧友官网, 并转发特定的微博@三位好友,参与互动
        以上形式任意一种参与活动,均有机会获得张飞老师提供的五部视频教程

学习过程中遇到什么问题,随时欢迎咨询张飞QQ:437521793 ~~~我们一起加油~张飞电子工程师速成视频教程第一部下载地址:http://pan.baidu.com/s/1o681lVk   

支持张飞老师哦!

个人认为,一个系统的框架学习很重要,无论是哪个行业,哪门课程。是否有经过系统的知识结构学习,基础知识是否扎实,决定了你的根基如何,你接受能力如何,更决定了你将来走的深度。尤其在硬件设计这块,在硬件设计这块,大多数的人都是通过非常多的实践,慢慢形成自己的设计思路,设计思维。而这个过程时非常缓慢而挣扎的。很多人在这过程中渐渐放弃。只有少部分人才能够坚持下来。但是也没能越走越深,越走越精。第六七部视频讲解开关电源,从这时开始,工程师进入了研发道路上的第二个阶段,这时大家的目标不再是单个元器件如何使用,小的功能电路如何搭建等。而是更关注整个系统的协调性,更关注各个功能电路如何有效协调地工作!这个阶段也是工程师培养设计思维的重要阶段,也是在这个阶段,工程师之间相互拉大差距最明显的时期,有的人思想灵活,越走越高!在这个阶段,工程师培养收放自如的思维极其重要! 祝大家一路走好这个阶段!张飞电子工程师速成视频教程第一部下载地址:http://pan.baidu.com/s/1o681lVk
第二三四五六部:http://fcsddz.taobao.com
第七部视频,主讲电感降压式开关电源设计,不用电源芯片,全部采用分立器件搭建,把原本BUCK电路中最核心的东西展现在大家的面前。现场实测电路波形,手把手地教会大家分析波形,调试电路!

第六七部视频讲解开关电源,从这时开始,工程师进入了研发道路上的第二个阶段,这时大家的目标不再是单个元器件如何使用,小的功能电路如何搭建等。而是更关注整个系统的协调性,更关注各个功能电路如何有效协调地工作!这个阶段也是工程师培养设计思维的重要阶段,也是在这个阶段,工程师之间相互拉大差距最明显的时期,有的人思想灵活,越走越高!在这个阶段,工程师培养收放自如的思维极其重要! 祝大家一路走好这个阶段!张飞电子工程师速成视频教程第一部下载地址:http://pan.baidu.com/s/1o681lVk   

赞一个!

《张飞实战电子视频》第二部主讲内容:
1、直流有刷马达如何实现正反转?
2、温度开关概念、工作原理、工作温度曲线。
3、如何实现三极管作为开关用?N型三极管和P型三极管如何作电源开关用?他们有什么区别?可以互换位置吗?
4、三极管作为开关管用如何确定基极电流值?以及C、E之间的导通电压。
5、什么叫三态,什么叫上拉电阻、下拉电阻以及高阻态?
6、电路在设计时应该注意两态电路,为什么需要两态?
7、什么叫雷击、高压静电?如何增强电路的抗雷击和高压静电能力?
8、三极管寄生电容的影响,寄生电容对三极管产生怎样的影响?如何从设计中克服这样的影响?
9、为什么三极管会工作在放大区?
10、开关产生干扰的成因,如何用滤波电路消除干扰信号?
11、RC滤波电路的延时计算和设计,以及画出相应的波形。
12、如何用一个开关实现两种LED灯的交替点亮?
13、如何让电容慢速充电、快速放电来实现延时?电容怎样靠自身的能量来实现放电?
14、本章重要知识点:电感
a、重点讲解电感的四大特性,并利用掌握的知识点来设计电路和分析原理
b、详细讲解电感电流的变化特性及电流曲线波形。
c、分析电感电流与电容电压的关系。
15、什么叫桥式电路?
16、什么叫死区?设计电路时为什么要有死区?详细讲解死区电路的设计。
17、详细讲解桥式电路的驱动电路。
18、如何用电阻、电容、稳压管来实现电路信号的延时。
19、介绍了原理图封装和PCB封装。
20、演示了如何从原理图导入到PCB。
全面而系统的讲解了硬件研发与设计过程中遇到的实际问题如何解决、及如何自主根据需要设计电路图等实用性较强的领域,重视基础,零基础也能入门学习,内容详细、方便学员自学,教程全面的对硬件的研发以及实践中的应用有详细讲解,认真学完本套教程,您一定会在硬件研发与设计行业有突飞猛进的进步!
张飞电子工程师速成视频教程第一部下载地址:http://pan.baidu.com/s/1o681lVk  

十多年从哪算出来

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top