《51单片机基础.doc》由会员分享,可在线阅读,更多相关《51单片机基础.doc(74页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、模拟电路电阻、上拉电阻,电容,电感定义,符号,单位,性质(线性或非线性)电阻的分类黑-0、棕-1、红-2、橙-3、黄-4、绿-5、蓝-6、紫-7、灰-8、白-9、金-5%、银-10%、无色-20%二极管定义,符号,单位,伏安特性曲线;二极管的管压降:硅二极管(不发光类型)正向管压降0.7V,锗管正向管压降为0.3V,发光二极管:红色发光二极管的压降为2.0-2.2V,黄1.82.0V,绿3.03.2V,正常发光时的额定电流约为20mA二极管的应用:1、整流2、开关逻辑电路。3、限幅(硅管为0.7V,锗管为0.3V)。4、续流5、检波6、变容7、显示8、稳压三极管定义,符号,伏安特性曲线;分类(
2、PNP,NPN)功能:1、放大,2、开关,3、电平转换放大器、比较器、三端稳压芯片万用表,电烙铁,焊锡,松香,函数信号发生器,示波器,直流稳压电源数字电路进制:二B、八O、十D、十六进制H;转换;C语言编程:十六进制:0xff;逻辑运算符:与或非(&、|、!)位运算符有:&(按位与)、|(按位或)、(按位异或)、 (按位取反)。 优先级从高到低,依次为、&、|求余、取整:%、/CPU:包括运算逻辑部件、寄存器部件和控制部件等。单片机分类:51,AVR,ARM7、9、11Io:in、out;串口、并口;定时器、计数器;C语言:头文件、宏定义、位定义、常量、变量、主函数、循环(for、while、
3、)、条件语句if 、do while、switch case第三课:单片机相关常用名词解释总线:指能为多个部件服务的信息传送线,在微机系统中各个部件通过总线相互通信。地址总线(AB):地址总线是单向的,用于传送地址信息。地址总线的宽度为16位,因此基外部存储器直接寻址64K,16位地址总线由P0口经地址锁存器提供低8位地址(A0A7),P2口直接提供高8位地址(A8A15)。数据总线(DB):一般为双向,用于CPU与存储器,CPU与外设、或外设与外设之间传送数据信息(包括实际意义的数据和指令码)。数据总线宽度为8位,由P0口提供。控制总线(CB):是计算机系统中所有控制信号的总称,在控制总线中
4、传送的是控制信息。由P3口的第二功能状态和4根独立的控制总线,RESET、EA、ALE、PSEN组成。存储器: 用来存放计算机中的所有信息:包括程序、原始数据、运算的中间结果及最终结果等。只读存储器(ROM): 只读存储器在使用时,只能读出而不能写入,断电后ROM中的信息不会丢失。因此一般用来存放一些固定程序,如监控程序、子程序、字库及数据表等。ROM按存储信息的方法又可分为以下几种1、掩膜ROM: 掩膜ROM也称固定ROM,它是由厂家编好程序写入ROM(称固化)供用户使用,用户不能更改内部程序,其特点是价格便宜。2、可编程的只读存储器(PROM): 它的内容可由用户根据自已所编程序一次性写入
5、,一旦写入,只能读出,而不能再进行更改,这类存储器现在也称为OTP(Only Time Programmable)。3、可改写的只读存储器EPROM: 前两种ROM只能进行一次性写入,因而用户较少使用,目前较为流行的ROM芯片为EPROM。因为它的内容可以通过紫外线照射而彻底擦除,擦除后又可重新写入新的程序。4、可电改写只读存储器(EEPROM): EEPROM可用电的方法写入和清除其内容,其编程电压和清除电压均与微机CPU的5V工作电压相同,不需另加电压。它既有与RAM一样读写操作简便,又有数据不会因掉电而丢失的优点,因而使用极为方便。现在这种存储器的使用最为广泛。随机存储器(RAM): 这
6、种存储器又叫读写存储器。它不仅能读取存放在存储单元中的数据,还能随时写入新的数据,写入后原来的数据就丢失了。断电后RAM中的信息全部丢失。因些,RAM常用于存放经常要改变的程序或中间计算结果等信息。RAM按照存储信息的方式,又可分为静态和动态两种。1、静态SRAM:其特点是只要有电源加于存储器,数据就能长期保存。2、动态DRAM:写入的信息只能保存若干ms时间,因此,每隔一定时间必须重新写入一次,以保持原来的信息不变。可现场改写的非易失性存储器: 这种存储器的特点是:从原理上看,它们属于ROM型存储器,从功能上看,它们又可以随时改写信息,作用又相当于RAM。所以,ROM、RAM的定义和划分已逐
7、渐的失去意义。1、快擦写存储器(FLASH) 这种存储器是在EPROM和EEPROM的制造基础上产生的一种非易失性存储器。其集成度高,制造成本低于DRAM,既具有SRAM读写的灵活性和较快的访问速度,又具有ROM在断电后可不丢失信息的特点,所以发展迅速。2、铁电存储器FRAM 它是利用铁电材料极化方向来存储数据的。它的特点是集成度高,读写速度快,成本低,读写周期短。时钟周期:计算机在时钟信号的作用下,以节拍方式工作。因此必须有一个时钟发生电路,输入微处理器的时钟信号的周期称为时钟周期。机器周期:机器完成一个动作所需的时间称为机器周期,一般由一个或一个以上的时钟周期组成。在我们讲述的MCS-51
8、系列单片机中,一个机器周期由12个时钟周期组成。指令周期:执行一条指令(如“MOVA,#34H”,该指令的含义是将立即数34H传送到微处理器内的累加器A中)所需时间称为指令周期,它由一个到数个机器周期组成。指令周期的长短取决于指令的类型,即指令将要进行的操作步聚及复杂程度。汇编:是能完成一定任务的机器指令的集合。二进制数:只有0和1两个数码,基数为二。16进制数:采用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F等16个数码,其中A-F相应的十进数为10-15,基数是16。指令:是计算机所能执行的一种基本操作的描述,是计算机软件的基本单元。字节:8位二进制数组成一个字节,在存储
9、器中以字节为单位存储信息。字:2个字节组成一个字。双字:2个字组成一个双字。补码:机器数可用不同的码制来表示,补码表示法是最常用的一种,正数采用符号绝对值表示,即数的最高有效位为0,数的其余部分则表示数的绝对值;负数的表示要麻烦一些,先写出与该负数相对应的正数的补码表示,然后将其按位求反,最后在末位加1,就可以得到该负数的补码表示了。段地址:8086CPU将1MB的存储器空间分成许多逻辑段,每个段最大限制为64KB,段地址就是逻辑段在主存中的起始位置。为了能用16位寄存器表示段地址,8086规定段地址必须是模16地址,即为xxxx0H形式,省略低4位0,段地址就可以用16位数据表示,它通常被保
10、存在16位的段寄存器中。偏移地址:存单元距离段起始位置的偏移量简称偏移地址,由于限定每段不超过64KB,所以偏移地址也可以用16位数据表示。物理地址:在1M字节的存储器里,每一个存储单元都有一个唯一的20位地址,称为该存储单元的物理地址,把段地址左移4位再加上偏移地址就形成物理地址。代码段:程序员在编制程序时要把存储器划分成段,代码段用来存放程序的指令序列,代码段的段地址存放在CS中,指令指针寄存器IP指示代码段中指令的偏移地址,处理器利用CS:IP取得下一条要执行的指令。数据段:数据段存放当前运行程序所用的数据,数据段的段地址存放在DS中。附加段:附加段是附加的数据段,也用于数据的保存,另外
11、,串操作指令将附加段作为其目的操作数的存放区域。附加段的段地址存放在ES中。堆栈段:堆栈段是堆栈所在的主存区域,堆栈段的段地址存放在SS中,堆栈指针寄存器SP指示堆栈栈顶的偏移地址,处理器利用SS:SP操作堆栈中的数据。堆栈:堆栈是一个后进先出的主存区域,位于堆栈段中,使用SS段寄存器记录其段地址。它只有一个出入口,即当前栈顶,栈顶是地址较小的一端(低端),它用堆栈指针寄存器SP指定。堆栈有两种以字为单位的基本操作,对应两条基本指令:进栈指令PUSH和出栈指令POP。伪指令:汇编语言程序的语句除指令外还包括伪指令和宏指令,伪指令又称为伪操作,它不象机器指令那样是在程序运行期间由计算机来执行的,
12、它是在汇编程序对源程序汇编期间由汇编程序处理的操作,完成诸如数据定义、分配存储区、指示程序结束等功能。宏指令:宏是源程序中一段有独立功能的程序代码,它只需要在源程序中定义一次,就可以多次调用,调用时只需要用一个宏指令语句就可以了。宏指令是用户自定义的指令,在编程时将多次使用的功能用一条宏指令来代替。子程序:子程序又称为过程,它相当于高级语言中的过程和函数。在一个程序的不同部分,往往要用到类似的程序段,这些程序段的功能和结构形式都相同,只是某些变量的赋值不同,此时就可以把这些程序段写成子程序形式,以便需要时可以调用它;某些常用的特定功能的程序段也可编制成子程序的形式供用户使用。中断:中断是一种使
13、CPU中止正在执行的程序而转去处理特殊事件的操作,这些引起中断的事件称为中断源,它们可能是来自外设的输入输出请求,也可能是计算机的一些异常事故或其它内部原因。中断处理程序:当中断发生时,处理器中止当前正在运行的程序,而转到处理特殊事件的程序段中去执行,这种处理中断的子程序就是中断处理程序,又称为中断服务程序。中断处理程序的入口地址被安排在中断向量表中。BIOS中断:在存储器系统中,从地址0FE000H开始的8K ROM中装有BIOS(Basic Input/Output System)例行程序。驻留在ROM中的基本输入输出程序BIOS提供了系统加电自检、引导装入、主要I/O设备的处理程序以及接
14、口控制等功能模块来处理所有的系统中断。BIOS中断给程序员编程带来很大方便,程序员不必了解硬件I/O接口的特性,可直接用指令设置参数,然后中断调用BIOS中的程序。暂存器:用来暂存由数据总线或通用寄存器送来的操作数,并把它作为另一个操作数。中断:中断是单片机实时地处理内部或外部事件的一种内部机制。当某种内部或外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,又返回被中断的程序处,继续执行下去。掉电保护:指在正常供电电源掉电时,迅速用备用直流电源供电,以保证在一段时间内信息不会丢失,当主电源恢复供电时,又自动切换为主电源供电。寄存器寻址:操
15、作数在寄存器中,由指令操作码中的rrr三位的值和PSW中RS1及RS0的状态,选中某个工作寄存器区的某个寄存器,然后进行相应的指令操作。波特率:即每秒钟传送二进制数的位数, 波特率越高,数据传输的速度越快。D/A转换:即将二进制数量转换成与其量值成正比的电流信号或电压信号。A/D转换:即将模拟量转换成相应的数字量,然而送计算机处理。串行方式:指数据的各位分时传送,只需一条数据线,外加一条公共信号地线和若干条控制信号线。并行方式:指数据的各位同时传送,每一条数据都需要一条传输线。伪指令:用于告诉汇编程序如何进行汇编的指令,它既不控制机器的操作也不被汇编成机器代码,只能为汇编程序所识别并指导汇编如
16、何进行。SLEEP MODI 睡觉模式:保证程序内部运行,但与外部的传输等动作已停止的一种运行模式。linking 连接:把编译后生成的 *.obj 文件与其它 *.obj文件合并成机器能识别的机器文件。IC:输入与输出共用一条传输线,而时钟由另一条线控制的一种串行传输方式。SFR 特殊功能寄存器区:8051 把 CPU 中的专用寄存器、并行端口锁存器、串行口与定时器/计数器内的控制寄存器集中安排到一个区域,离散地分布在地址从 80H 到 FFH 范围内,这个区域称为特殊功能寄存器区 SFR。 这一节的目的是让大家对单片机相关的概念做一个感性的了解,具体的内容我们将在后面的相关章节做详细的讲解
17、。第四课:计算机中数的表示及运算数字: 谈到数字,有很多同学可能会觉的很可笑,数字?不就是1234.这些吗?是的,在日常的生活当中,我们用的一般都是十进制,但在计算机中,它只能识别二进制数,所以在这里我还得跟大家共同分析一下:1、十进制: 十进制就是基数为“十”,所使用的数码为09共10个数字。逢十进一。是我们每天都会运用到的,在这里就不多谈了。2、二进制: 二进制的基数为“二”,其使用的数码只有0和1两个。在计算机中容易实现,在常用的的实现方式中如:可以用电路的高电平表示1,低电平表示0;或者三极管截止时集电极的输出表示1,导通时集电极输出表示0。3、十六进制: 由于二进制位数太长,不易记忆
18、和收写,所以人们又提出了十六进制的书写形式。我们在汇编语言中多数用十六进制。二进制,十进制,十六进制数码对照十进制8421BCD码二进制十进制8421BCD码二进制11000110A101033001112C110055010114E1110770111161010000 计算机只识别和处理数字信息,数字是以二进制数表示的;它易于物理实现,同时,资料存储、传送和处理简单可靠;运算规则简单,使逻辑电路的设计、分析、综合、方便,使计算器具有逻辑性。一、 用数制及转换1、各种进位计数及其表示方法数字符号:0、1、2、9 数码。数码的个数基数。进位规则:逢十进一例如,十进制数,10个数码;采用“逢十进
19、一”30681 = 3104+0103+6102+8101+1100例如,二进制数,2个数码,采用“逢二进一”()2 = 127+126+025+124+023+122+021+020总之,N进制数,N个数码,“逢N进一”2、数制之间的转换 任意进制之间相互转换,整数部分和小数部分必须分别进行,十进制转换成二进制短除取余法十进制小数转换成二进制小数乘2取整法。二进制转换成十进制展开求和法。()2 = 125+024+123+122+021+120= 32+0+8+4+0+1= 45二进制转换成八进制、十六进制与此类似。二、 机器数及其编码1、 机器数与真值机器只认识二进制数:0、1。这是因为,
20、电路状态常有两个,如通、断;高电平、低电平;可用0、1表示。这种0、1、0、11在机器中的表现形式机器数。一般为8位。2、 机器数的编码及运算 对带符号数而言,有原码、反码、补码之分,计算机内一般使用补码。1) 原码将数“数码化”,原数前“+”用0表示,原数前“-”用1表示,数值部分为该数本身,这样的机器数叫原码。设X原数;则X原 = X(X 0)X原 = 2n-1 X (X 0),n为字长的位数。如,+3原 = B-3原 = 27 - (-3) = B0有两种表示方法: +0 -0原码最大、最小的表示:+127、-1282) 反码规定正数的反码等于原码;负数的反码是将原码的数值位各位取反。X
21、反 = X (X 0)X反 =(2n 1)+ X (X 0)如,+4反 = +4原 = B-4反 = (28 1)+(-5) = - = B反码范围:-128 +127两个0; +0 B-0 B3) 补码补码的概念:现在是下午3点,手表停在12点,可正拨3点,也可倒拨9点。即是说-9的操作可用+3来实现,在12点里:3、-9互为补码。运用补码可使减法变成加法。规定:正数的补码等于原码。负数的补码求法:1)反码 + 12)公式:X补 = 2n + X (X0)如,设X = - B , 则X原 = B则X补 = X反 + 1 = + = B如,+6补 = +6原 = B-6补 = 28 + (-6
22、) = = B8位补码的范围 128 +127。0 的个数:只一个,即而 B是-128的补码。原码、反码、补码对照表:表1-2 P104)补码的运算当X0时,X补= X反=X原 X补补 = X原X补+ Y补 = X+Y 补 X-Y 补= X+(-Y)补例:已知 X=52 Y=38 求X-Y计算机在做算术运算时,必需检查溢出,以防止发生错误5)运算的溢出问题 资料字长(位数)有一定限制,所以资料的表示应有一个范围。如字长8位时; 补码范围-128+127若运算结果超出这个范围,便溢出。例:错:两个负数相加和为正数。可见:结果正确(无溢出)时,Cs+1 = Cs结果错误(溢出)时,Cs+1 Cs溢
23、出判断:溢出 = Cs+1 Cs(即结果是0为无溢出;1为有溢出)1、 十进制数的编码对机器:二进制数方便,对人 :二进制数不直观,习惯于十进制数。在编程过程中,有时需要采用十进制运算,但机器不认识十进制数。怎么办?可以将十进制的字符用二进制数进行编码:这叫做二进制数对十进制编码BCD码。上述每4位二进制数表示一个十进制字符,这4位中各位的权依次是:8、4、2、18421 BCD码。BCD码的运算:(1)BCD码加法规则两个BCD数相加时,“某位”的和小于10则保持不变;两个BCD数相加时,“某位”的和大于9,则和数应加6修正。(2)BCD码减法规则两个BCD数相减时,“某位”的差未发生借位,
24、则差数保持不变;两个BCD数相减时,“某位”发生了借位,其差应减6修正。这里“某位”指BCD数中的“个位”、“十位”、“百位”、三、 字符信息的表示计算机能识别0、1、0、1、;这些0、1、0、1、有的代表数值,有的仅代表要处理的信息(如字母、标点符号、数字符号等文字符号),所以,计算机不仅要认识各种数字,还要能识别各种文字符号。人们事先已对各种文字符号进行二进制数编码:如,美国信息交换标准码ASCII码,用一个字节表示一个字符。低7位是字符的ASCII码值;最高位是通信时的校验位。思考题:真值与码值有何区别?原码、反码、补码三者之间如何换算?第五课:常用逻辑电路常用逻辑电路 在逻辑电路中,输
25、入和输出只有两种状态,即高电平和低电平。通常以逻辑“1”和“0”表示电平高低。1、 与门 是一个能够实现逻辑乘运算的、多端输入、单端输出的逻辑电路。输入输出A端B端Y 0 0 0 100010111逻辑解释: 即如右边图所示,当开关A与B当中只有全部闭合(即为高电平1)时,才会有输出(即灯泡才会亮)所以在与门电路中,只有输入的全部条件为高电平“1”时输会有输出。输入输出A端B端Y 0 0 0 101011111 语言表达为:“有0出0,全1出1”2、或门 是一个能够实现逻辑加运算的、多端输入、单端输出的逻辑电路。逻辑解释: 即如右边图所示,当开关A与B当中只要有一个开关闭合(即为高电平1)时,
26、就会有输出(即灯泡才会亮)所以在或门电路中,只要输入的为高电平“1”就会有输出。输入输出A端B端Y 0 0 1 100010110 语言表达为:“有1出1,全0出0”。3、非门 是一个能够实现逻辑非运算的、单端输入、单端输出的逻辑电路。非就是反,就是否定,也就是输入与输出的状态总是相反。输入输出A端B端ABY0001010010001110逻辑解释: 如右边图所示,当开关K断开时灯亮,开关闭合时灯灭。如以开关断开为灯亮,开关接通为灭为结果,则开关K与灯泡的因果关系为非逻辑关系。语言表达为:“有0出1,有1出0”。复合逻辑门电路:4与非门 将一个与门与一个非门联接起来就构成了一个与非门。输入输出
27、A端B端ABY0001010110011110根据与门和非门的逻辑功能,可以列出与非门逻辑关系真值表。其逻辑功能的特点是:“当输入全为1,输出为0;只要输入有0,输出就为1”。5或非门 将一个或门与一个非门联接起来就构成了一个或非门。根据或门和非门的逻辑功能,可以列出与非门逻辑关系真值表。输入输出A端B端ABY0001010010001110其逻辑功能的特点是:“当输入全为0,输出为1;只要输入有1,输出就为0”。6异或门 异或门只有两个输入端和一个输出端,。其逻辑功能的特点是:“当两个输入端一个为0,另一个为1时输出为1,当两个输入端均为1或均为0时,输出为0”。真值表如下:输入输出A端B端
28、Y001011101110异或门的作用是:把两路信号进行比较,判断是否相同。当两路输入信号不同,即一个为高电平,一个为低电平时,输出为高电平。反之当两个输出端信号相同时,即为高电平或低电平时,输出为低电平”。触发器: 触发器是计算机记忆装置的基本单元,它具有把以前的输入记忆下来的功能,一个触发器能储存一位二进制代码。下面我们简单的来介绍计算机中常用的几中触发器。1R-S触发器 R-S触发器的逻辑符号如下图所示,它有两个输入端,两个输出端。其中,S为置位信号输入端,R为复位信号输入端;Q和Q非为输出端。规定Q为高、Q非为低时,该触发器为1状态;反之为0状态。其真值表如下。输入输出S端R端QQ非0
29、0不确定不确定01101001111保持不变保持不变2D触发器 D触发器又称数据触发器,它的逻辑符号如下图所示,R、S分别为强制置0、置1端,触发器的状态是由时钟脉冲CLK上升沿到来时D端的状态决字。当D=1时,触发器为1状态;反之为0状态。其真值表如下时钟脉冲输入输出DQ00113J-K触发器 J-K触发器的逻辑符号如下,R、S分别为强制置0、置1端。K为同步置0输入端,J街?输入端。触发器的状态是由时钟脉冲CLK下降沿到来时J、K端的状态决定,其真值表如下时钟脉冲输入输出JKQ00不变01010111翻转 J-K触发器的逻辑功能比较全面,因此在各种寄存器、计算器、逻辑控制等方面应用最为广泛
30、。但在某些情况,如二进制计数、移位元、累加等,多用D触发器。由于D触发器线路简章,所以大量应用于移位寄存器等方面。寄存器: 寄存器是由触发器组成的,一个触发器是一个一位寄存器。多个触发器就可以组成一个多位的寄存器。由于寄存器在计算机中的作用不同,从而被命名不同,常用的有缓冲寄存器、移位寄存器、计数器等。下面我们就简单的来介绍下这些寄存器的电路结构及工作原理。1缓冲寄存器 它是用来暂存某个数据,以便在适当的时间节拍和给定的计算步骤将数据输入或输出到其它记忆单元中去,下图是一个并行输入、并行输出的4位缓冲器的电路原理图,它由4个D触发器组成。 启动时,先在清零端加清零脉冲,把各触发器置0,即Q端为
31、0。然后,把数据加到触发器的D输入端,在CLK时钟信号作用下,输入端的信息就保存在各触发器中(D0D3)。2移位寄存器 移位寄存器能将所储存的数据逐位向左或向右移动,以达到计算机运行过程中所需的功能,请看下图 启动时,先在清零端加清零脉冲,使触发器输出置0。然后,第一个数据D0加到触发器1的串行输入端,在第一个CLK脉冲的上升沿Q0=Q0,Q1=Q2。Q3=Q0。其后,第二个数据D1加到串行输入端,在第二个CLK脉冲到达时,Q0=Q1,Q1=Q0,Q2=Q3=0。以此类推,当第四个CLK来到之后,各输出端分别是Q0=Q3,Q1=Q2,Q2=Q1,Q3=Q0。输出数据可用串行的形式取出,也可用并
32、行开式取出。3计数器 计数器也是由若干个触发器组成的寄存器,它的特点是能够把存款在其中的数据加1或减1。计数器的种类也很多,有行波计数器、同步计数器等,下面我们就以行波计数器向大家作个介绍。下图就是一个由J-K触发器组成的行波计数器的工作原理图。这种计数器的特点是:第一个时钟脉冲促使其最低有效位加1,使其由0变1;第二个时钟脉冲促使最低有效位由1变0。同时推动第二位,使其由0变1;同理,第二位由1变0时又去推动第三位,使其由0变1,这样有如水波前进一样逐位进位下去。上图中各位的J、K输入端都是悬浮的,这相当于J、K输入端都是置1淖刺锤魑欢即谧急阜淖刺灰敝勇龀灞哐匾坏剑钣冶叩拇骶突岱碤由0转为1
33、或由1转为0。上图中的这个计数器是4位的,因此可以计015的数。如果要计更多的数,需要增加位数,如8位计数器可计0255的数,16位则可计065535的数。4三态门(三态缓冲器) 为减少信息传输线的数目,大多数计算机中的信息传输线均采用总线形式,即凡要传输的同类信息都走同一组传输线,且信息是分时传送的。在计算机中一般有三组总线,即数据总线、地址总线和控制总线。为防止信息相互干扰,要求凡挂在总线上的寄存器或内存等,它的传输端不仅能呈现0、1两个信息状态,而且还应能呈现第三种状态高阻抗状态(又称高阻状态),即此时好像它们的输出被断开,对总线状态不起作用,此时总线可由其它器件占用。三态门即可实现上述
34、的功能,它除具有输入输出端之外,还有一控制端,请看下图。当控制端E=1时,输出=输入,此时总线由该器件驱动,总线上的数据由输入数据决定;当控制端E=0时,输出端呈高阻抗状态,该器件对总线不起作用。当寄存器输出端接至三态门,再由三态门输出端与总线连接起来,就构成三态输出的级冲寄存器。如下图所示就是一个4位的三态输出缓冲寄存器。由于这里采用的是单向三态门,所以数据只能从寄存器输出到数据总线。如果要实现双向传送,则要用双向三态门。 在这里有个问题问下大家,前面我们已把触发器,寄存器的概念跟大家讲解了一下,那么触发器、寄存器、内存,这三者之间是一个什么样的关系呢?答:通过前面的学习,我们知道触发器是计
35、算机记忆装置的基本单元,一个触发器能储存一位二进制代码。寄存器是由触发器组成的。一个触发器就职一个一位的寄存器,多个触发器就可以组成一个多位的寄存器。内存是由大量寄存器组成的,其中每一个寄存器就称为一个存储单元。它可以存放一个有独立意义的二进制代码。第六课:51单片机的结构及其组成在前面的五节课当中,我们讲述的都是一些基础概念的知识,从这节开始,我们就正式的切入到我们所在学习的对象-51单片机。 学习单片机的内部结构之前,我们先了解下我们现在正在使用的计算机的几大组成部份:计算机的五个组成部份:运算器:用于实现算术和逻辑运算。计算机的运算和处理都在这里进行;控制器:是计算机的控制指挥部件,使计
36、算机各部份能自动协调的工作;存储器:用于存放程序和数据;(又分为内存储器和外存储器,内存储器就如我们电脑的硬盘,外存储器就如我们的U盘)输入设备:用于将程序和数据输入到计算机(例如我们电脑的键盘、扫描仪);输出设备:输出设备用于把计算机数据计算或加工的结果以用户需要的形式显示或保存(例如我们的打印机)。注:1、通常把运算器和控制器合在一起称为中央处理器(Central Processing Unit),简称CPU。2、通常把外存储器、输入设备和输出设备合在一起称之为计算机的外部设备。 上面讲的是我们的个人办公计算机,那么51单片机的内部又有些什么部件组成呢?1、中央处理单元(8位) 数据处理、
37、测试位,置位,复位 位操作2、只读存储器(4KB或8KB) 永久性存储应用程序,掩模ROM、EPROM、EEPROM3、随机存取内存(128B、128B SFR) 在程序运行时存储工作变量和资料4、并行输入/输出口(I / O)(32条) 作系统总线、扩展外存、I / O接口芯片5、串行输入/输出口(2条) 串行通信、扩展I / O接口芯片6、定时/计数器(16位、加1计数) 计满溢出、中断标志置位、向CPU提出中断请求,与CPU之间独立工作7、时钟电路 内振、外振。8、中断系统五源中断、2级优先。结构特点:MCS-51系列单片机为哈佛结构(而非普林斯顿结构)1)内ROM:4KB2)内RAM:
38、128B3)外ROM:64KB4)外RAM:64KB5)I / O线: 32根(4埠,每埠8根)6)定时/计数器:2个16位可编程定时/计数器7)串行口:全双工,2 根8)寄存器区:工作寄存器区、在内128B RAM中,分4个区,9)中断源:5源中断,2级优先10)堆栈:最深128B11)布尔处理机:位处理机,某位单独处理12)指令系统:五大类,111条 上图就是我们要研究学习的对象,51单片机摧部结构图了。大家看看上图,中间的一条双横线就是51单片机的内部总线了。其它的部件都是通过内部的总线与CPU相联接的,在第一节课时我们已跟大家讲述过,8051单片机是总线结构的。下面我们就51单片机内部
39、的单个部件与大家进行讲解。中央处理器(CPU): 刚跟大家讲过,需要提醒的是MCS-51的CPU能处理8位二进制数或代码。CPU是单片机的主要核心部件,在CPU里面包含了运算器、控制器以及若干寄存器等部件给成。内部数据存储器(RAM): MCS-51单片机芯片共有256个RAM单元,其中后128单元被专用寄存器占用(稍后我们详解),能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。地址范围为00HFFH(256B)。是一个多用多功能数据存储器,有数据存储、通用工作寄存器、堆栈、位地址等空间。内部程序存储器(ROM):
40、 在前面也已讲过,MCS-51内部有4KB/8KB字节的ROM(51系列为4KB,52系列为8KB),用于存放程序、原始数据或表格。因此称之为程序存储器,简称内部ROM。地址范围为0000HFFFFH(64KB)。定时器/计数器 51系列共有2个16位的定时器/计数器(52系列共有3个16位的定时器/计数器),以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。定时时靠内部分频时钟频率计数实现,做计数器时,对P3.4(T0)或P3.5(T1)端口的低电平脉冲计数。并行I/O口 MCS-51共有4个8位的I/O口(P0、P1、P2、P3)以实现数据的输入输出。具体功能在后面章节中将会详细
41、论述。串行口 MCS-51有一个可编程的全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为移位器使用。RXD( P3.0)脚为接收端口,TXD(P3.1)脚为发送端口。中断控制系统 MCS-51单片机的中断功能较强,以满足不同控制应用的需要。51系列有5个中断源(52系列有6个中断源),即外中断2个,定时中断2个,串行中断1个,全部中断分为高级和低级共二个优先级别,优先级别的设置我们也将在后面进行详细的讲解。定时与控制部件 MCS-51单片机内部有一个高增益的反相放大器,基输入端为XTAL1输出端为XTAL2。MCS-51芯片
42、的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。思考题:1、MCS-51单片机的片内总体结构9个部件分别是什么?名起什么作用?这9大部件之间有什么联系?2、怎样通过MCS-51单片机片内总体结构图来区分8051、8751、8031芯片?第七课:51单片机的引脚当我们拿到一块单片机芯片时,看到这么多的“大腿”,他们都有干什么用的?在这节课我们就针对这个问题进行讲解。引脚功能: MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照-单片机引脚图: l P0.0P0.7 P0口8位双向口线(在引脚的3932号端子)。 l P1.0P1.7 P1口8位双向
43、口线(在引脚的18号端子)。 l P2.0P2.7 P2口8位双向口线(在引脚的2128号端子)。 l P3.0P3.7 P2口8位双向口线(在引脚的1017号端子)。 这4个I/O口具有不完全相同的功能,大家可得学好了,其它书本里虽然有,但写的太深,初学者很难理解,这里都是按我自已的表达方式来写的,相信你也能够理解。P0口有三个功能: 1、外部扩展存储器时,当做数据总线(如图1中的D0D7为数据总线接口) 2、外部扩展存储器时,当作地址总线(如图1中的A0A7为地址总线接口) 3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。 P1口只做I/O口使用:其内部有上拉电阻。P2口有两个功能: 1、扩展外部存储器时,当作地址总线使用 2、做一般I/O口使用,其内部有上拉电阻;P3口有两个功能: 除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。 有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程