




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章 MCS-51单片机原理及应用(25页左右)1.1 了解单片机1.1.1 MCS-51单片机原理及其应用(介绍单片机的发展、定义、应用)1.1.3 MCS-51单片机的引脚(以MCS-51单片机为例介绍单片机常用的封装和引脚)1.2 计算机中常用的数制与编码1.3 MCS-51单片机内部硬件资源1.3.1 单片机内部结构及其功能1.3.2 单片机内部部件1.3.3 单片机内部特殊功能寄存器1.4 MCS-51单片机的最小系统1.4.1 单片机最小系统组成原理1.4.2 单片机系统电源1.4.3 单片机复位电路1.4.4 单片机的时钟与机器周期总结思考题第1章 单片机基础本章主要介绍MCS-51系列单片机的硬件组成与工作原理,内容主要包括单片机的产生与发展过程、单片机的概念及其与微机的联系和区别、单片机的硬件组成与内部各个部件作用、单片机最小系统的组成等。通过本章的学习,读者可以了解MCS-51系列单片机内部资源和单片机最小系统的组成,为单片机应用系统开发的奠定基础。1.1 单片机的产生与发展过程通过计算机基础等相关课程的学习可知,微型计算机系统由硬件系统和软件系统两部分组成,硬件主要由CPU(Central Processing Unit)、内存、内部功能单元和I/O(Input Output)接口电路等部分组成。在计算机发展的初期,每一部分至少需要一片集成电路,如图1-1所示。单片机是微型计算机的一个分支,与常规微型计算机的区别主要在结构上。图1-1 微型计算机系统组成示意图单片机是单片微型计算机(Monolithic Microcomputer或Single Chip Microcomputer)的简称,也称为微控制器(Microcontroller)或微控制单元 (Micro Control Unit,缩写为MCU、C或uC),是指集成在一个芯片上的微型计算机,即将组成微型计算机的各种常用功能单元,包括CPU、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、输入/输出(Input/Output)接口电路、定时/计数器(Timer/Counter)、中断系统(Interrupt System)、系统时钟(System Clock)及系统总线(System Bus)等都集成在一块芯片上,构成一个完整的微型计算机。单片机内部结构示意图如图1-2所示。单片机实质上是一个芯片。在实际应用中,通常很难将单片机直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件以及软件,才能构成一个单片机应用系统。由于单片机在自动控制中应用得十分广泛,因此国外文献中一般都称为微控制器。1.1.1 单片机的发展过程第一片单片机是Intel公司1976年开发的MCS-48系列单片机,MCS是Micro Computer System的缩写,即MCS-48单片机本身即构成一个微机系统(硬件部分)。第一阶段(19761978)为低性能单片机阶段,以Intel公司的MCS-48为代表,采用了单片结构,即在一块芯片内含有8位CPU、定时/计数器、并行I/O口、RAM和ROM等,主要用于工业领域。1976年,Intel公司推出了MCS-48系列单片机。8位CPU、1K字节ROM、64字节RAM、27根I/O线和1个8位定时/计数器。图1-2 单片机内部结构示意图第二阶段(19781982)是高性能单片机阶段。这一类单片机带有串行I/O口,8位数据线、16位地址线可以寻址的范围达到64K字节、控制总线、较丰富的指令系统等。这类单片机的应用范围较广,并在不断地改进和发展。1980年,Intel公司推出了MCS-51系列单片机:8位CPU、4K字节ROM、128字节RAM、4个8位并行口、1个全双工串行口、2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。第三阶段(19821990)为16位单片机阶段。16位单片机除CPU为16位外,片内RAM和ROM容量进一步增大,实时处理能力更强,体现了微控制器的特征。例如1982年Intel公司推出的MCS-96单片机片内RAM为232字节,ROM为8K字节,中断处理能力为8级,片内带有10位模数转换器(Analog-to-Digital Converter,ADC)、1路PWM(Pulse-Width Modulation)输出和高速输入/输出部件等。第四阶段(1990)是单片机的全面发展阶段,各公司的产品在尽量兼容的同时,向高速、强运算能力、寻址范围大以及小型廉价方面发展。MCS-51系列单片机产品繁多,兼容的主要产品有Atmel公司融入Flash存储器技术的AT89系列、Philips公司的80C51和80C552系列、华邦公司的W78C51和W77C51系列、ADI公司的ADC8xx高精度ADC系列、LG公司的GMS90/97低压高速系列、Maxim公司的DS89C420高速(50 MIPS)系列、Cygnal公司的C8051F系列高速SOC(System On Chip,片上系统)单片机、宏晶公司支持USB(Universal Serial Bus,通用串行总线)在线编程的STC系列等。非MCS-51结构的单片机也有很多产品,给用户提供了更多的选择空间,近年来推出的非MCS-51系列的单片机主要产品有、Intel的MCS-96系列16位单片机、Microchip的PIC系列RISC单片机、TI的MSP430系列16位低功耗单片机、Atmel的AVR系列单片机等。Intel公司的MCS-51系列单片机出现最早,很多公司如Philips、Dallas、Atmel等公司,沿用或参考了Intel公司的MCS-51内核,相继开发出了兼容的单片机产品,并增加和扩展了单片机的很多功能,先后有8031、8051、8751、89C51等型号。目前市场流行的8位单片机多为宏晶公司的STC89系列、Atmel公司的AT89系列等。STC单片机为增强MCS-51系列,支持串口在线编程(In-System Programming,ISP)、内部看门狗和内部E2PROM在应用编程(In-Application Programming,IAP),个别型号内部设计有A/D转换器,由于STC单片机功能强且价格低,市场容易购置,实验和研发成本较低,因此本书案例多以STC单片机为例展开讨论。1.1.2 单片机的发展趋势1.微型化早期单片机多采用DIP(Dual In-line Package,双列直插式)封装,体积相对较大。随着芯片集成度的提高及贴片工艺的出现,单片机逐步采用各种符合贴片工艺的封装,减小了芯片体积,方便了实际应用系统的设计。2.低功耗很多单片机提供了多种工作方式,如睡眠、空闲和节电等方式,功耗越来越低。扩大电源电压范围以及在较低电压下工作是当今单片机发展的目标之一。目前,单片机大多可以在3.3 V5.5 V的范围内工作,Maxim的16位单片机MAXQ610电压范围工作是1.7 V3.6 V,方便了实际应用。3.高速化早期MCS-51单片机的典型时钟频率为12 MHz,西门子公司C500系列单片机(与MCS-51单片机兼容)的时钟频率为36 MHz,Dallas公司DS89C420系列单片机的时钟频率高达50 MHz,现在已有更快的32位100 MHz的单片机产品。4.提供更多资源当前在单片机内部已集成了越来越多的功能单元,如定时/计数器、比较器、A/D转换器、D/A(Digital-to-Analog Converter,DAC)转换器、串行通信接口、看门狗(Watchdog)和液晶(Liquid Crystal Display,LCD)控制器等常用功能电路。有的单片机为了便于构成控制网络,内部集成了网络功能模块,甚至将网络协议固化在其内部,方便了实际应用。5.专用型单片机发展迅速专用型单片机是针对某一类产品甚至某个产品需要的单片机,在小家电和智能玩具中比较常见,如来电显示电话中配有液晶驱动器接口的单片机和全自动洗衣机中的单片机,都是专用单片机,成本低,资源利用率高,系统外围电路少,可靠性高,具有极高的性价比和极大的市场空间,是单片机发展的一个重要方向。1.1.3 单片机的应用单片机构成的应用系统具有体积小、成本低、使用灵活等特点,在工业控制、机电一体化、智能仪表、计算机外围设备、家用电器、机器人、军工等方面得到了日益广泛的应用,已经渗透到社会生活的各个方面。1.自动控制单片机对生产过程的控制用软件来实现,不同的生产工艺只需改变程序即可,灵活方便。单片机通过传感器采集现场信号,经过模拟-数字(A/D)转换,输入单片机,单片机处理以后,通过数字-模拟(D/A)转换,直接调节和控制生产过程,可实现多回路、多参数的控制以及工厂生产的自动化。2.智能仪器仪表单片机具有体积小、功耗低、控制功能强、扩展灵活和使用方便等优点,广泛应用于各种仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、温度、湿度、流量、速度、厚度、角度、长度、硬度、成分、压力等物理量的测量。采用单片机可实现仪器仪表的数字化、智能化和微型化。3.智能化民用产品单片机在家用电器(电饭煲、电磁炉、洗衣机、电冰箱、空调机、电视机等)、游戏机、智能玩具、声像设备、电子秤、电子词典、学习机、收银机、办公设备等许多产品中应用广泛,大大提高了产品功能和性价比。4.计算机外设单片机在计算机外围设备中应用广泛,如键盘、鼠标、硬盘、光驱、打印机、扫描仪等都是以单片机作为控制单元。5.通信设备单片机中都集成了通信接口,可以很方便地与计算机和其他智能设备进行通信,现在的通信设备通常采用单片机进行设计,如电话机、无线电对讲机、程控交换机等。5.医疗设备单片机在医疗设备中应用广泛,如各种医用分析仪、监护仪、超声诊断设备、病床呼叫系统等。6.汽车行业单片机在汽车电子中的应用非常广泛,如汽车中基于CAN(Can Area Network)总线的发动机控制器,GPS(Global Position System)导航系统,ABS(Anti-skid Brake System)防抱死系统、制动系统等。此外,单片机在教育、科研、金融、国防、航空航天等领域都有着十分广泛的用途。1.2 计算机中常用的数制与编码计算机是信息处理工具,不论是指令还是数据,如采用计算机进行处理,都必须采用二进制编码,即使是图形和声音这类信息也是一样。因为在计算机中,信息的表示依赖于内部电路的状态。采用基2码(即二进制的0和1)表示信息有许多优点。(1)易于物理实现因为具有两种稳定状态的物理器件很多,如三极管的导通与截止、电压的高与低等,分别对应于1和0两个二进制数。如采用十进制,则需要用具有十种不同状态的物理器件,那就难以实现。(2)二进制数运算简单数学运算表明,对x进制数的算术求和、求积规则各有x(x+1)/2种。如采用十进制,就有55种求和与求积的运算规则;二进制仅各有3种,简化了运算器等物理器件的设计。(3)通用性强基2码既可用于数值信息编码,又可用于各种非数值信息的数字化编码。二进制的0和1对应于逻辑命题的“真”与“假”,方便计算机进行逻辑运算和逻辑判断。计算机存储器中存储的都是二进制形式的信息,但它们分别代表不同的含义。有的表示机器指令,有的表示二进制数据,有的表示英文字母,有的则表示汉字,还有的可能是表示色彩与声音。虽然计算机内部采用基2码来表示各种信息,但在与外部交换信息仍采用人们熟悉和便于阅读的形式,如十进制数、文字显示及图形描述等。其间的转换则由计算机软件来实现。在日常生活中,人们通常使用十进制数,而计算机是由逻辑电路组成的,只能识别二进制数,用两个数码“0”和“1”来表示信息。因此,必须掌握计算机中的相关数制及其转换。数的常用表示方法有二进制、十进制、八进制、十六进制等。1.2.1 进位计数制进位计数制是一种计数方法,用不同进制的数码顺序排列来表示数。一个任意进制的数可表示为: xnxn-1 x1x0.x-1x-2 x-m其中,xi(im,2,1,0,1,2,n)为不同进制的数码,i也称为数位,表示该数码所处的位置。1.十进制数十进制数(Decimal)是一种常用的数制,其运算规律是逢十进一,借一当十。十进制数有0、1、2、3、4、5、6、7、8、9共10个不同的数码。同一数码处在不同的数位,代表的数值不同。具体数值等于这个数码与对应位权的乘积,位权为10i,其中的i是数位序位数,10为基数。每位数码乘以对应的权所得的乘积之和即为所表示的数。例如:2345.122103310241015100110-1210-22.二进制数二进制数(Binary)的表示方法和十进制类似,只是二进制数只有两个数码0和,其运算规律是逢二进一,借一当二。二进制数的基数是2,位权是2i。为了和其他进制区别,一般用下标2或后缀B表示二进制。例如:1011.0121011.01B12302212112002-112-23.八进制数八进制数(Octal)的基数是8,计算特点是逢八进一,借一当八。八进制数有0、1、2、3、4、5、6、7共8个不同的数,同一数码代表的数值大小也是由该数码所在的位置决定的,位权为8i,一般用下标8或后缀Q表示八制。例如:4352.5684352.56Q48338258128058-168-24.十六进制由于用二进制表示的数基数小,位数较多,不便读写和记忆,而且容易出错。基于2416的关系,可用十六进制数(Hexadecimal)表示二进制数,表达起来就简洁得多,而且不像二进制数那样容易出错。其运算规律是逢十六进一,借一当十六,基数是16。十六进制数有16个不同的数码:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,位权为16i,数值计算方法和其他进制类似,字母AF分别对应于十进制的1015,一般用下标16或后缀H表示十六制数。例如:A83E.7616A83E.76H101638162316114160716-1616-2在实际应用中,通常用大写字母Q、B、D、H的后缀表示不同进制的数据,10B、10D、10Q、10H分别表示二进制、十进制、八进制(Octal)、十六进制数。其中十进制数也可以不带任何后缀,即不带任何后缀或带后缀D的数都认为是十进制数,在学习的过程中应当注意这些细节问题。1.2.2 不同进制的转换1.二、八、十六进制数转换成十进制数将任意进制数转换成十进制数,只需将该数按相应进制的位权展开,然后按十进制相加,结果就是十进制数。例如:1001.11B12302202112012-112-2 80010.50.259.75123.56168-2 641630.6250.09375 83.71875586.AH5162816161601016-1 128012860.625 1414.6252.十进制数转换为二、八、十六进制数将十进制数转换为其他进制数时,小数部分和整数部分采用不同方法。十进制整数转换成二进制数。在转换n位十进制整数时,其转换方法是“除基取余”。即用二进制数的基数去除需要转换的十进制数,保存除得的商数,余数为转换成二进制数的最低位d0;然后再以除以上次所得的商,得到新的余数,作为次低位d1。如此重复进行,直到所得的商为零,最后一次所得的余数便是二进制数的最高为dn-1。十进制转换为八进制或十六进制时,方法相同,只是基数分别是八和十六。例如:256228余数为0,d0位(最低位)由低到高214余数为0,d1位27余数为0,d2位23余数为1,d3位21余数为1,d4位0余数为1,d5位(最高位)结果:56D111000B8356由低到高844余数为4,d0位(最低位)85余数为4,d1位0余数为5,d2位(最高位)结果:356D544Q16786316491余数为7,d0位(最低位)由低到高1630余数为B,d1位161余数为E,d2位0余数为1,d3位(最高位)结果:7863D1EB7H当十进制为纯小数时,其转换方法为“乘基取整”,也就是用二进制基数乘以十进制小数,得到一个整数和一个小数部分。取整数部分为二进制小数部分的最高位,余下的小数部分再用基数去乘,结果又得到一个整数和一个小数部分。这次得到的整数是二进制小数的次高位,如次反复下去,直到余下的小数部分为零或者所得的二进制小数足以满足精度为止,最后得到的那一个整数就是二进制小数的最低位。八进制和十六进制转换方法类似,例如:0.6875 2 1.3750整数部分为1,d-1(最高位)由0.3750 2 高0.7500整数部分为0,d-2 2 到 1.5000整数部分为1,d-30.5000 低 2 1.0000整数部分为1,d-4(最低位)结果:0.6785D0.1011B对于既有整数又有小数的混合数,整数部分和小数部分分别转换。3.二、八、十六进制数之间的相互转换由于这3种进制数之间的基数都是的整数次幂,所以相互之间的转换十分简便。3位二进制可以用一位八进制表示,4位二进制可以用一位十六进制表示。根据这个原则,3种进制之间可任意转换。二进制数转换为八/十六进制数例如:10011011.1011B010011011.101100233.54即100110011.1011B233.54Q10011011.11019B.D结果:100110011.1011B9B.DH十六进制数转换为二进制数例如236.BAH236.BA001000110110.10111010结果:236.BAH1000110110.1011101B1.2.3 机器数计算机中的数据简称为机器数。一个完整的机器数应能表示无符号数和符号数。对于一个长度为n位的机器数而言,若表示无符号数时,其n位应全部用于表示数值。如果表示符号数,最高位用于表示数的符号(用0表示正数,用1表示负数,这样的处理称为数字符号的数字化表示),其余的n1位用于表示数值。无论是无符号数还是符号数,都是计算机能够直接处理的两种数据。在计算机系统中,对于符号数有不同的编码方式,通常采用的编码形式有原码、反码和补码。1.原码最高位为符号位(正数用0表示,负数用1表示),其他位为数值位,这就是符号数的原码表示。例如:X1=87=01010111B,X1原=01010111BX2=87=11010111B,X2原=11010111B2.反码正数的反码与原码相同,即符号位用0表示,数值位不变;负数的反码是其对应的原码符号位保持为1,数值位逐位取反的结果。例如:X1=87=01010111B,X1反=01010111BX2=87=11010111B,X2反=10101000B3.补码正数的补码与原码相同,即符号位用0表示,数值位不变;负数的补码是其对应的原码符号位保持为1,数值位逐位取反,末位加1的结果,即对应的反码加1。例如:X1=87=01010111B,X1补=01010111BX2=87=11010111B,X2补=10101001B此外也可以采用直接从负数的原码求取补码的简便方法,即从负数原码的最低位开始找第一个出现的“1”,将第一个“1”和符号位之间的数按位取反,结果就是补码。从上面的讨论可知,正数的原码、反码和补码是一样的,都是正数,即最高位都是“0”。负数的原码、反码和补码则各不相同,但都是负数,即最高位都是“1”。负数的补码可根据定义求得,即反码加1,也可以采用简便的方法求取。4.补码数的范围一个n位二进制补码数的表示范围是:2n-1N2n-11n=8时,数的表示范围是:128N127。n=16时,数的表示范围是:32768N32767。如果两个8位二进制补码数的运算结果超过128,127,或者两个16位二进制补码数的运算结果超过32768,32767,则称为运算结果溢出。计算机中的数据采用补码表示以后,就可以将减法运算转换为加法运算。例如,计算12384时,可以将其转换为123(84)=123补84补,以补码的形式进行求和计算,其结果和减法一样。同样可将乘法运算转换为加法运算,将除法运算转换为减法运算,CPU在硬件上就不用设计减法器、乘法器和除法器了,硬件更简单。1.2.4 码制在计算机中,除了表示数以外,还要表达字母、字符等信息,它们也是以二进制的形式出现的,只是编码的形式不同而已。计算机中常见的编码有BCD码和ASCII码。1.常用的概念位、字节、字以及字长都是计算机中常用的概念。(1)位(Bit)位是指一个二进制位,它是计算机中信息存储的最小单位,一般用小写的b表示。(2)字节(Byte)字节指相邻的8个二进制位,通常存储器是以字节为单位存储信息的,一般用大写的B表示。(3)字(Word)及字长字是计算机内部进行数据处理、数据传递的基本单元。一个字所包含的二进制位数称为字长,一般用大写的W表示。计算机中通常定义一个字长为两个字节。2.BCD码BCD码(Binary Coded Decimal)的编码方式是采用二进制数来编码十进制数。由于十进制数比较常用,在计算机的输入/输出中仍经常采用十进制数。经过这种编码后的十进制数称为BCD码。又由于十进制只有10个数码,最少需要4位二进制数才能表示,但4位二进制数可以产生16种编码,从这16种状态中任意选取十种,就形成多种BCD码。最常用的BCD码是8421码,8421对应二进制编码相应位的权。二进制、十进制、十六进制和BCD码的对应关系如表1-3所示。表1-3 8421BCD码对照表二进制数十进制数8421BCD码十六进制数0000000100100011010001010110011110001001101010111100110111101111012345678910111213141500000001001000110100010101100111100010010001 00000001 00010001 00100001 00110001 01000001 01010123456789ABCDEF3.ASCII码ASCII码(American Standard Code for Information Interchange,美国标准信息交换码)是一种在国际上广泛使用的标准信息代码,也是计算机系统中表示字符的常用编码。通常ASCII码用7位二进制数进行编码,因而可表示128种字符。其中包括大小写英文字母各26个,10个数字(09),一些专用符号以及控制符号等。如果采用位二进制数进行编码,将其低位表示ASCII码,最高位用作奇偶校验位,校验位表达低7位包含“1”的个数,个数为奇数,则校验位为“1”,否则为“0”,在信息传递过程中,错误的校验非常有用。十六进制数的ASCII码如表1-4所示。表1-4十六进制数ASCII码数表十六进制数ASCII(B)ASCII(H)ASCII(D)00011000030481001100013149200110010325030011001133MCS-51400110100345250011010135536001101103654700110111375580011100038569001110013957A010000014165B010000104266C010000114367D010001004468E010001014569F010001104670在实际应用中,通常很难将单片机直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件以及软件,才能构成一个单片机应用系统。图1-1-3是一个由单片机设计的校园自动打铃定时器系统原理。图1-1-3 校园自动打铃定时器1.3 单片机的引脚及功能1.3.1 单片机外部引脚分布与逻辑符号常用的AT89C51/52、STC89C51单片机都采用DIP40封装。图1-3-1(a)为DIP40单片机封装外形及引脚分布,图1-4-1(b)是单片机的电路符号。40个引脚按功能分为4个部分,即电源引脚(Vcc和Vss)、时钟引脚(XTAL1和XTAL2)、控制信号引脚(RST、和ALE)以及I/O口引脚(P0P3)。 (a)DIP40单片机引脚分布 (b)DIP40单片机电路符号(c)实物外形图1-1-4 MCS-51系列单片机的引脚分布图1.3.2 电源引脚40脚Vcc为单片机电源正极引脚,20脚Vss为单片机的接地引脚。在正常工作情况下,Vcc接5V电源,为了保证单片机运行的可靠性和稳定性,电源电压误差不超过0.5V。在移动的单片机系统中,可以用4节镍镉电池或镍氢电池直接供电,实验情况下也可以用三节普通电池或计算机的USB总线接口电源供电,在嵌入式的单片机系统中,采用集成稳压器7805提供电源。图1-4-2为简单的的单片机集成稳压电源,为了提高电路的抗干扰能力,电源正极与地之间接有0.1F独立电容。图1-1-5单片机集成稳压电源1.3.3 控制引脚9脚RST/VPD为复位/备用电源引脚。此引脚上外加两个机器周期的高电平就使单片机复位(Reset)。单片机正常工作时,此引脚应为低电平。在单片机掉电期间,此引脚可接备用电源(5V)。在系统工作的过程中,如果Vcc低于规定的电压值,VPD就向片内RAM提供电源,以保持RAM内的信息不丢失。30脚为锁存信号输出/编程引脚,在扩展了外部存储器的单片机系统中,单片机访问外部存储器时,ALE用于锁存低8位的地址信号。如果系统没有扩展外部存储器,ALE端输出周期性的脉冲信号,频率为时钟振荡频率的1/6,可用于对外输出的时钟。对于EPROM型单片机,此引脚用于输入编程脉冲。29脚脚为输出访问片外程序存储器的读选通信号引脚。在CPU从外部程序存储器取指令期间,该信号每个机器周期两次有效。在访问片外数据存储器期间,这两次信号将不出现。31脚用于区分片内外低4KB范围存储器空间。该引脚接高电平时,CPU访问片内程序存储器4KB的地址范围。若PC值超过4KB的地址范围,CPU将自动转向访问片外程序存储器;当此引脚接低电平时,则只访问片外程序存储器,忽略片内程序存储器。8031单片机没有片内程序存储器,此引脚必须接地。对于EPROM型单片机,在编程期间,此引脚用于加较高的编程电压Vpp,一般为12V。1.3.4 单片机的I/O端口引脚单片机的I/O口是用来输入和控制输出的端口,DIP40封装的MCS-51单片机共有P0、P1、P2、P3四组端口,分别与单片机内部P0、P1、P2、P3四个寄存器对应,每组端口有8位,因此DIP40封装的MCS-51单片机共有32个I/O端口。P0口分别占用3239脚,依次命名为P0.0P0.7。与其他I/O口不同,P0口是漏极开路型双向I/O口。在访问片外存储器时,P0口分时作为低8位地址线和8位双向数据总线用,此时不需外接上拉电阻。如果将P0口作为通用的I/O口使用,则要求外接上拉电阻或排阻,每位以吸收电流的方式驱动8个LSTTL门电路或其他负载。P0口中任意一位电路原理如图1-4-3所示。图1-1-6 P0口中一位的结构P1口占用18脚,分别是P1.0P1.7,P1口是一个带内部上拉电阻的8位双向I/O口,每位能驱动4个LSTTL门负载。这种接口没有高阻状态,输入不能锁存,因而不是真正的双向I/O口。P2口的8个引脚占用2128脚,分别是P2.0P2.7。P2口也是一个带内部上拉电阻的8位双向I/O口。在访问外部存储器时,P2口输出高8位地址,每位也可以驱动4个LSTTL负载。P3口的8个引脚占用1017脚,分别是P3.0P3.7。P3是双功能端口,作为普通I/O口使用时,同P1、P2口一样,作为第二功能使用时,引脚定义见表1-4-1。P3口引脚具有的第二功能,能使硬件资源得到充分利用。表1-1-1 P3口的第二功能表I/O口线第二功能定义功能说明P3.0RXD串行输入口P3.1TXD串行输出口P3.2/INT0外部中断0输入端P3.3/INT1外部中断1输入端P3.4T0T0外部计数脉冲输入端P3.5T1T1外部计数脉冲输入端P3.6/WR外部RAM写选通脉冲输出端P3.7/RD外部RAM读选通脉冲输出端1.3.5 时钟引脚单片机有两个时钟引脚,分别是19脚XTAL1和18脚XTAL2,用于提供单片机的工作时钟信号。单片机是一个复杂的数字系统,内部CPU以及时序逻辑电路都需要时钟脉冲,所以单片机需要有精确的时钟信号。单片机内部含有振荡电路,19脚和18脚用来外接石英晶体和微调电容。在使用外部时钟时,XTAL2则用来输入时钟脉冲。见图1-4-4所示,其中图1-4-4(a)为晶体振荡电路, (b)为外部时钟输入电路。利用外部时钟输入时,要根据单片机型号XTAL1接地或悬空,并考虑时钟电平的兼容性。(a)晶体振荡电路 (b)外部时钟输入电路图1-1-7 单片机时钟电路掌握单片机系统的结构组成是设计单片机应用系统的基础,只有对单片机的硬件组成有一个全面的了解,才能更好地去应用单片机系统所提供的硬件资源,设计出性价比较高的实际应用系统。1.4 单片机的组成单片机内部电路比较复杂,MCS-51系列的MCS-51型号单片机的内部电路根据功能可以分为CPU、RAM、ROM/EPROM、并行口、串行口、定时/计数器、中断系统及特殊功能寄存器(SFR)等8个主要部件,如图1-2-1所示。这些部件通过片内的单一总线相连,采用CPU加外围芯片的结构模式,各个功能单元都采用特殊功能寄存器集中控制的方式。其他公司的MCS-51系列单片机与80MCS-51结构类似,只是根据用户需要增加了特殊的部件,如A/D转换器等。在设计程序过程中,寄存器的使用非常频繁。本节内容在了解单片机内部的组成机构基础上,重点介绍单片机内部常用的寄存器的作用。图1-2-1 MCS-51架构1.4.1中央处理器(CPU)中央处理器是单片机的核心,主要功能是产生各种控制信号,根据程序中每一条指令的具体功能,控制寄存器和输入/输出端口的数据传送,进行数据的算术运算、逻辑运算以及位操作等处理。MCS-51系列单片机的CPU字长是8位,能处理8位二进制数或代码,也可处理一位二进制数据。单片机的CPU从功能上一般可以分为运算器和控制器两部分。一、控制器控制器由程序计数器PC、指令寄存器、指令译码器、定时控制与条件转移逻辑电路等组成。其功能是对来自存储器中的指令进行译码,通过定时电路,在规定的时刻发出各种操作所需的全部内部和外部的控制信号,使各部分协调工作,完成指令所规定的功能。各部分功能部件简述如下。1程序计数器PC(Program Counter)程序计数器是一个16位的专用寄存器,用来存放下一条指令的地址,具有自动加1的功能。当CPU要取指令时,PC的内容送地址总线上,从存储器中去取出一个指令码后,PC内容自动加1,指向下一个指令码,以保证程序按顺序执行。PC是用来指示程序的执行位置,在顺序执行程序时,单片机每执行一条指令,PC就自动加1,以指示出下一条要取的指令的存储单元的16位地址。也就是说,CPU总是把PC的内容作为地址,根据该地址从存储器中取出指令码或包含在指令中的操作数。因此,每当取完一个字节后,PC的内容自动加1,为取下一个字节做好准备。由于MCS-51系列单片机的寻址范围为64K,所以,PC中数据的编码范围为0000HFFFFH,共64K。单片机上电或复位时,PC自动清0,即装入地址0000H,这就保证了单片机上电或复位后,程序从0000H地址开始执行。2指令寄存器IR(Instruction Register)指令寄存器是一个8位寄存器用于暂存待执行的指令,等待译码。3暂存器TMP用于暂存进入运算器之前的数据。4指令译码器ID(Instruction Decoder)指令译码器是对指令寄存器中的指令进行译码,将指令变为执行此指令所需要的电信号。根据译码器的输出信号,再经定时电路定时产生执行该指令所需要的各种控制信号。5数据指针DPTR(Data Pointer)数据指针是一个16位的专用地址指针寄存器,主要用来存放16位地址,作间址寄存器,访问片外64K字节的数据存储器和I/O端口及程序存储器。由两个独立的特殊功能寄存器组成,分别为DPH(高8位)和DPL(低8位),占据83H和82H两个地址。DPTR与PC不同,DPTR有自己的地址,可以进行读写操作,而PC没有地址,不能对它进行读写操作,但可以通过转移、调用、返回编程操作改变其内容,从而实现程序的转移。二、运算器运算器主要进行算术和逻辑运算。运算器由算术逻辑单元ALU、累加器ACC、程序状态字PSW、BCD码运算电路、通用寄存器B和一些专用寄存器及位处理逻辑电路等组成。1算术逻辑单元ALU(Arithmetic Logic Unit)ALU由加法器和其他逻辑电路等组成,完成数据的算术逻辑运算、循环移位、位操作等,参加运算的两个操作数,一个由A通过暂存器2提供,另外一个由暂存器1提供,运算结果送回A,状态送PSW。2累加器ACC(Accumulator)累加器是一个8位特殊功能寄存器,简称A,通过暂存器与ALU传送信息,用来存放一个操作数或中间结果。3程序状态字PSW(Program Status Word)PSW也是一个8位的特殊功能寄存器,用于存储程序运行过程中的各种状态信息。4其他部件暂存器用来存放中间结果,B寄存器用于乘法和除法时,提供一个操作数,对于其他指令,只用作暂存器。5位处理器单片机能处理布尔操作数,能对位地址空间中的位直接寻址,进行清零、取反等操作,这种功能提供了把逻辑式(随机组合逻辑)直接变为软件的简单明了的方法,不需要过多的数据传送、字节屏蔽和测试分支,就能实现复杂的组合逻辑功能。位处理器是单片机的一个特殊组成部分,具有相应的指令系统,可提供17条位操作指令。硬件上有自己的“累加器”和自己的位寻址RAM、I/O口空间,是一个独立的位处理器,位处理器和8位处理器形成完美的组合。1.4.2存储器单片机内部包含随机存取存储器RAM和程序存储器ROM,RAM用于保存单片机运行的中间数据; 单片机的ROM不只是用来装载程序,增强MCS-51系列也可以在单片机运行过程中利用程序把数据存贮在ROM的部分空间内。MCS-51系列单片机在系统结构上采用哈佛结构(Harvard architecture),即程序存储器和数据存储器的寻址空间是分开管理的。它共有4个物理上独立的存储器空间,即内部和外部程序存储器及内部和外部数据存储器。从用户的角度看,单片机的存储器逻辑上分为三个存储空间,见图1-2-2所示,即统一编址的64KB的程序存储器地址空间(包括片内ROM和外部扩展ROM),地址从0000HFFFFH;256B的片内数据存储地址空间(包括128B的片内RAM和特殊功能寄存器的地址空间);64KB的外部扩展的数据存储器地址空间。图中是单片机的程序扩展控制引脚。一、单片机的RAMMCS-51单片机芯片中共有256个字节的RAM单元,但其中128个字节被专用寄存器占用,能作为存储单元供用户使用的只是前128B,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前128B,简称片内RAM。在程序比较复杂,且运算变量较多而导致MCS-51内部RAM不够用时,可根据实际需要在片外扩展,最多可扩展64KB,但在实际应用中如需要大容量RAM时,往往会利用增强型的MCS-51单片机而不再扩展片外RAM。增强型的MCS-51系列单片机如52和58子系列分别有256 B和MCS-512B的RAM。图1-2-2 MCS-51单片机的存储器空间分布MCS-51单片机片内128B RAM根据功能又划分为工作寄存器区(地址00H1FH),位寻址区(地址20H2FH),一般RAM区(地址30H7FH)和堆栈区(地址2FH以后),其中位寻址区共16字节128个单元。MCS-51单片机共有21个特殊功能寄存器(Special Function Register,SFR),它是片内RAM的一部分。特殊功能寄存器用于对片内各功能模块进行监控和管理,是一些控制寄存器和状态寄存器,与片内RAM单元统一编址。二、内部程序存储器(内部ROM)MCS-51单片机共有4 KB的ROM,单片机的生产商不同,内部程序存储器可以是EEPROM或Flash ROM。可根据实际需要在片外扩展,最多可扩展64KB。增强型的MCS-51单片机内部ROM空间可以达到64KB,在使用时不须再扩展片外ROM。数据存储器、程序存储器以及位地址空间的地址有一部分是重叠的,但在具体寻址时,可由不同的指令格式和相应的控制信号来区分不同的地址空间,因此不会造成冲突。1.4.3 单片机的其它部件MCS-51单片机还有定时器/计数器,并行I/O口,串行口,中断系统,时钟电路等部件。MCS-51单片机有两个16位的定时/计数器,具有4种工作方式,以实现定时或计数功能,并以其定时或计数结果对系统进行控制;MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3口),表现在单片机外部共有32条引脚,内部与寄存器连接,以实现数据的并行输入/输出。MCS-51单片机有一个全双工的串行口,具有4种工作方式,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。为满足控制应用的需要,MCS-51单片机共有5个中断源,即外部中断两个,定时/计数中断两个,串行口中断一个。全部中断分为高级和低级两个优先级别。时钟电路为单片机产生时钟脉冲序列。MCS-51单片机芯片的内部有时钟电路,但石英晶体和微调电容需外接,系统常用的晶振频率一般为6 MHz或12 MHz。从上面的介绍可以看出,MCS-51系列单片机虽然只是一个芯片,但作为计算机应该具有的基本部件它都包含,实际上单片机就是一个基本的微型计算机系统。增强型MCS-51系列与MCS-51系列单片机完全兼容,但内部资源在MCS-51基础上有所增加,如52子系列片内ROM从4 KB增加到8 KB,片内RAM从128 B增加到256 B,定时/计数器从2个增加到3个,中断源从5个增加到6个,功能的增强大大拓展了8位单片机的应用空间。 STC89MCS-51RC系列为增强MCS-51系列单片机,表1-2-1给出了STC89系列常用的几种单片机内部资源,由于此类型单片机支持串口在线下载,并且有低功耗、速度快、稳定可靠性、价格低等优点,因此本书实例将重点以STC89MCS-51为例说明。表1-2-1 STC89系列单片机内部资源STC89系列型号FlashSRAME2PROM定时器替换型号STC89C51RC4K5122K3STC10F04XESTC89C52RC8K5122K3STC10F08XESTC89C58RD32K128016K3STC11F32XE1.4.4特殊功能寄存器特殊功能寄存器(Special Function Register)是通过专门规定而且具有特定用途的RAM部分,它是单片机内部很重要的部件。特殊功能寄存器能综合反映单片机系统内部的工作状态和工作方式,其中一部分作内部控制用,如定时器/计数器和串行口的控制,如果改变控制寄存器的状态就
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 模拟招标考试题目及答案
- 2025年低压电工安全作业模拟考试题及答案解析
- 2025-2030中国燃气具产品智能化趋势与用户接受度调研报告
- 2025-2030中国游戏产业出海战略与市场竞争分析报告
- 2025-2030中国智能家居系统集成标准体系建设进展报告
- 2025-2030中国智慧灯杆系统功能集成与城市试点效果评估报告
- 2025-2030中国数据中心基础设施建设投资价值评估报告
- 酸奶机使用规定
- 2025年医保知识考试题库及答案:医保信息化建设应用真题模拟解析
- 基于GAN的运动想象脑电数据训练集扩充:方法探索与性能提升
- 生猪定点屠宰场申请书
- 2025年《公共基础知识》试题库(附答案)
- 高二《复活》课文解读
- 大圆满前行考试题及答案
- 【衢州】2025年浙江衢州市柯城区属事业单位招聘工作人员17人笔试历年典型考题及考点剖析附带答案详解
- 钢构农业大棚建设项目可行性研究报告
- 非货币支付管理办法
- 湖北省武汉2025-2026学年度高一上学期开学分班考试-英语(解析版)
- 2025年宜昌专业技术人员公需科目培训考试题及答案
- 临床康复一体化讲课件
- 机动车维修服务质量统计信息报送制度
评论
0/150
提交评论