1、单片机的内部、外部结构拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为 89C51的芯片,下面我们就看一下如何给它连线。 1、 电源:这当然是必不可少的了。单片机使用的是 5V 电源,其中正极接 40 引脚,负极(地)接 20 引脚。 2、振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接 18、19 脚。只要买来晶振,电容,连上就可以了,按图 1 接上即可。 3、 复位引脚:按图 1 中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。 4、 EA 引脚:EA 引脚接到正电源端。至此,一个单片机就接
2、好,通上电,单片机就开始工作了。图 1 二、 任务分析 我们的第一个任务是要用单片机点亮一只发光二极管 LED,显然,这个 LED 必须要和单片机的某个引脚相连,否则单片机就没法控制它了,那么和哪个引脚相连呢?单片机上除了刚才用掉的 5 个引脚,还有 35 个,我们将这个 LED 和 1 脚相连。 (见图 1,其中 R1 是限流电阻)按照这个图的接法,当 1 脚是高电平时,LED 不亮,只有 1 脚是低电平时,LED 才发亮。因此要 1 脚我们要能够控制,也就是说,我们要能够让 1 引脚按要求变为高或低电平。即然我们要控制 1 脚,就得给它起个名字,总不能就叫它一脚吧?叫它什么名字呢?设计 5
3、1 芯片的 INTEL 公司已经起好了,就叫它 P1.0,这是规定,不可以由我们来更改。 名字有了,我们又怎样让它变高或变低呢?叫人做事,说一声就可以,这叫发布命令,要计算机做事,也得要向计算机发命令,计算机能听得懂的命令称之为计算机的指令。让一个引脚输出高电平的指令是 SETB,让一个引脚输出低电平的指令是 CLR。因此,我们要P1.0 输出高电平,只要写 SETB P1.0,要 P1.0 输出低电平,只要写 CLR P1.0 就可以了。现在我们已经有办法让计算机去将 P10 输出高或低电平了,但是我们怎样才能计算机执行这条指令呢?总不能也对计算机也说一声了事吧。要解决这个问题,还得有几步要
4、走。第一,计算机看不懂 SETB CLR 之类的指令,我们得把指令翻译成计算机能懂的方式,再让计算机去读。计算机能懂什么呢?它只懂一样东西数字。因此我们得把 SETB P1.0 变为(D2H,90H ) ,把 CLR P1.0 变为 (C2H,90H ) ,至于为什么是这两个数字,这也是由 51 芯片的设计者-INTEL 规定的,我们不去研究。第二步,在得到这两个数字后,怎样让这两个数字进入单片机的内部呢?这要借助于一个硬件工具“编程器“。我们将编程器与电脑连好,运行编程器的软件,然后在编缉区内写入(D2H,90H)见图 2,写入好,拿下片子,把片子插入做好的电路板,接通电源什么?灯不亮?这就
5、对了,因为我们写进去的指令就是让图 2 P10 输出高电平,灯当然不亮,要是亮就错了。现在我们再拨下这块芯片,重新放回到编程器上,将编缉区的内容改为(C2H,90H) ,也就是 CLR P1.0,写片,拿下片子,把片子插进电路板,接电,好,灯亮了。因为我们写入的()就是让 P10 输出低电平的指令。这样我们看到,硬件电路的连线没有做任何改变,只要改变写入单片机中的内容,就可以改变电路的输出效果。三、单片机内部结构分析 我们来思考一个问题,当我们在编程器中把一条指令写进单片要内部,然后取下单片机,单片机就可以执行这条指令,那么这条指令一定保存在单片机的某个地方,并且这个地方在单片机掉电后依然可以保持这条指令不会丢失,这是个什么地方呢?这个地方就是单片机内部的只读存储器即 ROM(READ ONLY MEMORY) 。为什么称它为只读存储器呢?刚才我们不是明明把两个数字写进去了吗?原来在 89C51 中的 ROM 是一种电可擦除的 ROM,称为 FLASH ROM,刚才我们是用的编程器,在特殊的条件下由外部设备对 ROM 进行写的操作,在单片机正常工作条件下,只能从那面读,不能把数据写进去,所以我们还是把它称为 ROM。