您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第1讲单片机学习入门
1标题:第1章单片机系统基本知识教学目标与要求:了解单片机的硬件系统、结构和工作过程,了解其概念、特点、发展及应用领域,典型单片机系列的基本情况,数的表示及运算,介绍学习该课程的方法授课时数:4学时教学重点:单片机的概念教学内容及过程:一、单片机的相关知识1、何谓单片机:单片机是单个芯片的计算机、是一个集成的数字电路一台能够工作的计算机要有这样几个部份构成:CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)。在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。而在单片机中,这些部份,全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如A/D,D/A等。电路由三极管、二极管灯电路组成,包括与门、或门、非门、存储器、移位器、加法器等数字基本电路。2、为什么要用单片机?用在哪里?单片机特点:(1)功能够用:实际工作中并不是任何需要计算机的场合都要求计算机有很高的性能,一个控制电冰箱温度的计算机难道要用PIII?应用的关键是看是否够用,是否有很好的性能价格比。所以8051出来十多年,依然没有被淘汰,还在不断的发展中。(2)价格便宜,即性价比高(3)集成度高,体积小,可靠性好(4)低功耗、低电压(5)易扩展应用范围:⑴智能化家用电器。⑵办公自动化设备。⑶商业营销设备。⑷工业自动化控制。⑸智能化仪表。⑹智能化通信产品。⑺汽车电子产品。⑻航空航天系统和国防军事、尖端武器等。3、MCS51单片机和8051、8031、89C51、89S51等的关系我们平常老是讲8051,又有什么8031,现在又有89C51,它们之间究竟是什么关系?MCS51是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用28051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,当然,功能或多或少有些改变,以满足不同的需求,其中89C51就是这几年在我国非常流行的单片机,它是由美国ATMEL公司开发生产的。以后我们将用89C51来完成一系列的实验。89C51和89S51的特点在网上有很多说明。还有凌阳单片机、PIC单片机等它们的特点是……..(可在网上了解)4、单片机的工作过程如何?单片机的工作过程其实是计算机的工作过程,我们现在用的计算机都是冯.诺曼结构,即是存程序-----取程序------分析程序-------执行程序----取程序(重复)的过程。5、如何让单片机工作?给单片机加电(有的需其它电路),把需单片机完成的任务编成程序装入芯片,单片机就会自动工作。6、单片机应用的开发过程如何课题一:单片机控制彩灯:分析任务:我们必须先知道我们的设计任务具体是什么,需控制几个灯,亮多久,以什么方式亮灯等,例如我们首先设计电路控制八盏灯,通电能让它全亮的任务。方案选择:选AT89C51芯片,用8个发光二极管模拟彩灯,与单片机的其中8个输入输出口连接(选用的这8个口我们称为一组I/O口,给个名字叫P1,每位分别称为P1.0、P1.1…)硬件电路设计:接电源、接晶振电路及复位电路,再将P1口的8个端口接发光二极管通过限流电阻与+5伏电连接上,八盏灯控制电路可见图1。图13软件程序设计:通过电路分析,我们可以知道该电路的每盏灯亮的条件是单片机与之相对应的端口应为低电位(即给该位送0),其程序是:MOVP1,#00000000BEND程序说明:第一句是传送指令,把二进制数00000000送给P1口。第二句是告诉编译软件程序结束的指令,不是单片机的指令,故称为伪指令。调试程序:调试程序的方法可以有3种:一是实际做出电路,将程序写入芯片然后通电观察结果是否符合要求,这种是实际设计中必须经过的调试步骤,但存在修改程序麻烦的缺点;二是实际做出电路利用仿真器进行调试,这是常用的调试方式;三是利用计算机的仿真软件直接在电脑上模拟仿真,该方式直观,且不需要做出实际电路,对开始的学习和方案没最后确定之前使用是很方便的。总结经验:大家通过这一课题的设计可以了解了单片机应用的整个过程,大家通过模仿,应该很快的学会编写让其中一部分灯亮的程序,其实我们同学编程是从看懂程序,到改写程序,再到编写程序的过程,通过一个个的例题(任务)的设计,同学们很快从不会到会的过程。在后续的课程中,通过信号灯的设计、流水灯的设计、交通灯系统的设计、增加中断功能的交通灯系统的设计、增加倒计时显示功能的交通灯系统的设计、数字钟的设计等任务的不断完成,可以让同学系统的学习了单片机的硬件结构、指令系统及中断、定时、串行接口等知识,其单片机应用的能力不断加强。二、数的表示及运算:1、数据、地址、指令这三者的本质都是一样的──数字,或者说都是一串‘0’和‘1’组成的序列。换言之,地址、指令也都是数据。指令:由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不可以由单片机的开发者更改。地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以由单片机开发者自行决定,但有一些地址单元是一定要有的(详见程序的执行过程)。数据:这是由微处理机处理的对象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况:1·地址(如MOVDPTR,#1000H),即地址1000H送入DPTR。2·方式字或控制字(如MOVTMOD,#3),3即是控制字。3·常数(如MOVTH0,#10H)10H即定时常数。4·实际输出值(如P1口接彩灯,要灯全亮,则执行指令:MOVP1,#0FFH,要灯全暗,则执行指令:MOVP1,#00H)这里0FFH和00H都是实际输出值。又如用于LED的字形码,也是实际输出的值。理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指令来执行了。2、数的本质和物理现象:我们知道,计算机可以进行数学运算,这可令我们非常的难以理解,计算机吗,我们虽不了解它的组成,但它总只是一些电子元器件,怎么可以进行数学运算呢?我们做数学题如37+45是这样做的,先在纸上写37,然后在下面写45,然后大脑运算,最后写出结果,运算的原材料:37、45和结果:82都是写在纸上的,计算机中又是放在什么地方呢?为了解决这个问题,先让我们做一个实验:4这里有一盏灯,我们知道灯要么亮,要么不亮,就有两种状态,我们可以用’0’和’1’来代替这两种状态,规定亮为’1’,不亮为’0’。现在放上两盏灯,一共有几种状态呢?我们列表来看一下:状态表达00011011请大家自已写上3盏灯的情况000001010011100101110111我们来看,这个000,001,101不就是我们学过的的二进制数吗?本来,灯的亮和灭只是一种物理现象,可当我们把它们按一按的顺序排更好后,灯的亮和灭就代表了数字了。让我们再抽象一步,灯为什么会亮呢?看电路1,是因为输出电路输出高电平,给灯通了电。因此,灯亮和灭就可以用电路的输出是高电平还是低电平来替代了。这样,数字就和电平的高、低联系上了。(请想一下,我们还看到过什么样的类似的例子呢?(海军之)灯语、旗语,电报,甚至红、绿灯)(1)位的含义:通过上面的实验我们已经知道:一盏灯亮或者说一根线的电平的高低,可以代表两种状态:0和1。实际上这就是一个二进制位,因此我们就把一根线称之为一“位”,用BIT表示。(2)字节的含义:一根线可以表于0和1,两根线可以表达00,01,10,11四种状态,也就是可以表于0到3,而三根可以表达0-7,计算机中通常用8根线放在一起,同时计数,就可以表过到0-255一共256种状态。这8根线或者8位就称之为一个字节(BYTE)。不要问我为什么是8根而不是其它数,因为我也不知道。(计算机世界是一个人造的世界,不是自然界,很多事情你无法问为什么,只能说:它是一种规定,大家在以后的学习过程中也要注意这个问题)(3)、二进制数运算基础1)、不同进位制数以下标或后缀区别,十进制数可不带下标。如:101、101D、101B、101H、101H2)、不同进位计数制之间的转换非十进制转换成十进制数:先展开,然后按照十进制运算法则求和。举例:1011.1010B=1×23+1×21+1×20+1×2-1+1×2-3=11.625DFC.8H=13×162+15×161+12×160+8×16-1=3580.5二进制与十六进制数之间的转换24=16,四位二进制数对应一位十六进制数。举例:十进制数转换成二、十六进制数:整数、小数分别转换整数转换法“除基取余”:十进制整数不断除以转换进制基数,直至商为0。每除一次取一个余数,从低位排向高位。举例:小数转换法“乘基取整”:用转换进制的基数乘以小数部分,直至小数为0或达到转换精度要求的位数。每乘一次取一次整数,从最高位排到最低位。举例:3)、带符号数的表示方法机器数:机器中数的表示形式,其位数通常为8的倍数真值:机器数所代表的实际数值。5举例:一个8位机器数与它的真值对应关系如下:真值:X1=+84=+1010100BX2=-84=-1010100B机器数:[X1]机=01010100[X2]机=11010100最高位为符号位,0表示“+”,1表示“-”。数值位与真值数值位相同。例8位原码机器数:真值:x1=+1010100Bx2=-1010100B机器数:[x1]原=01010100[x2]原=11010100原码表示简单直观,但0的表示不唯一,加减运算复杂。正数的反码与原码表示相同。负数反码符号位为1,数值位为原码数值各位取反。例8位反码机器数:x=+4:[x]原=00000100[x]反=00000100x=-4:[x]原=10000100[x]反=11111011正数的补码表示与原码相同。负数补码的符号位为1,数值位等于反码加1。数的补码与“模”有关“模”即计数系统的量程。当X0,[X]补=模-|X|。BCD码运算十进制调整:计算机实际按二进制法则计算,加入十进制调整操作,可计算BCD码。十进制调整方法:当计算结果有非BCD码或产生进位或借位,进行加6或减6调整。美国标准信息交换码ASCII码,用于计算机与计算机、计算机与外设之间传递信息。三、学习该课程的方法:1、了解并熟练掌握常用软件的使用方法:源程序编译及调试软件:KeilC51、MedWin硬件仿真软件:Proteus2、要勤于动手,要多做、多看、多想,先看懂别人的设计,会修改别人的设计,最后是会自己设计。3、学会利用网上的资源,会上单片机的网站并会查相关资料。4、最后要自己动手完整设计完成一个课题,并总结经验,在实践中掌握单片机的应用。思考题(作业):1、查资料,将生活中使用到单片机的某用电器中单片机的具体功能写出来。2、你计划用单片机完成什么功能呢?课后小记:
本文标题:第1讲单片机学习入门
链接地址:https://www.777doc.com/doc-2245438 .html