《单片机原理及系统设计实用教程》课件2单片机基本结构1_第1页
《单片机原理及系统设计实用教程》课件2单片机基本结构1_第2页
《单片机原理及系统设计实用教程》课件2单片机基本结构1_第3页
《单片机原理及系统设计实用教程》课件2单片机基本结构1_第4页
《单片机原理及系统设计实用教程》课件2单片机基本结构1_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机的学习重点CPU+内存:寄存器应用,指令集和寻址方式接口:各种可编程接口的应用特点及初始化方法。基本接口包含:通用并行接口、串行接口、定时器、中断控制。以上3点是学习的重点单片机的数据交换接口尽管外部设备多种多样,根本上来说就是数据的传输:外部设备把指令、数据送到单片机内让单片机进行处理单片机把处理情况和处理结果,以及需要保存的数据送到外部设备:显示;打印;保存;交换……单片机还需要读取外部状态信息和输出控制信息。单片机接口就是完成以上数据传输任务的基本电路模块。单片机基本接口并行接口:多条线(8线)同时传输数据。一次传输一字节。串行接口:单线传输,一次传输一位,分时传送。定时器:产生设定的时间间隔信号,用于安排计算机的多种任务执行时间,也可以测量外部信号的宽度,周期,功能强的定时器,还可以产生多种波形输出,例如PWM等。中断控制器:用于使CPU能及时响应多种外部设备申请的服务。配合外部低速设备的数据交换。其他接口:DMA直接存储器存取,AD/DA数字/模拟接口等,随不同型号不同而不同。通讯接口举例并行接口:LPT打印机;内部FDD软驱;IDE光驱/硬盘……串行接口:COM1/COM2串行接口;USB通用串行接口;键盘、鼠标接口;红外线接口;网络接口……串行接口还有更广泛的应用:手机,数字电视,卫星通讯……属串行接口的还有一些其它名称:I2C,SPI,SMBus,通讯协议有些差异。RS485,RS232等,传送的驱动方式和数据电平有些差异。单片机的其他接口扩展的其它接口如:A/D;D/A接口;I2C接口,CAN接口;SPI接口;DMA接口等不同厂家的产品具有不同的特点,但基本结构框架类似,一通百通。如果使用C语言编程,只要了解对应接口的初始化代码就可以对不同型号单片机进行编程了!基于51单片机核,英飞凌infeineon,AD,ATMEL,PHILIPS等公司还提供了更多的接口功能,使之应用更广泛和灵活。单片机不同型号间的主要差异CPU字长:4位;8位;16位;32位ROM容量:没有(需要外部扩展);1K;2K;4K;8K…64K,128K…,工艺上分EPROM;E2PROM;FLASHROMRAM容量:128B;256B;1K;2K…,基本RAM和片内扩展XRAM接口数量和种类:并口;串口;定时器;中断控制器。好的芯片还集成了AD/DA接口,DMA,PWM,CAN,I2C,……。同时增加更多引脚。常见的8位16位单片机Intel8051系列和96系列Motolola的MC68H系列Microchip的PIC系列ATMEL的89系列,ATMEGA系列PHILIPS的P89/P87C5系列SiliconLaborratories的C8051F..系列亿恒C500/166系列(原西门子,infineon)8/16位三菱740族8位,M16C/62系列16位TI的MSP430系列内部总线地址寄存器(段寄存器)程序计数器数据寄存器通用寄存器总线缓冲总线缓冲数据总线地址总线累加器ALU暂存器状态寄存器器指令寄存器指令译码时序逻辑控制信号CPU的一般结构CPU主要结构和功能ALU:算术逻辑单元。它是一个集:加、减、乘、除、移位、与、或、非、异或等多种功能模块的电路单元。选择ALU的某项功能是通过“指令译码器”送出的控制信号决定的。指令寄存器存放着从存储器读回的操作指令,它被“指令译码器”译成操作ALU的控制信号。地址寄存器/程序计数器自动计算CPU要执行的下一条指令的存放地址,并产生相应地址信号用于选择程序存储器。指令译码器在执行完当前指令时,发出“读指令”信号,把下一条指令读入指令寄存器。新型单片机采用“流水线”方式,执行指令的同时就可以读取新的指令。状态寄存器存放着ALU运算的状态标志。通用寄存器存放一些最常用的运算数据或地址。运算前,数据会转存到暂存器中累加器是最常用的运算寄存器。通常,运算前是运算数据,运算后存放运算结果。它配合暂存器通过ALU进行运算。存储器数据存储器:RAM程序存储器:ROM两类存储器的编址方法有两种:线性统一编址和分区编址。IntelMCS-51为“分区编址”,ROM和RAM各自占用一个独立地址空间。IntelX86采用线性统一编址。ROM和RAM分布于同一个地址空间的不同地址段。许多计算机都采用线性统一编址,称为“冯·涅曼”体系结构。例如亿恒C164CI系列单片机。地址:就像门牌号或者密码锁,每一个存储单元应当具有独立的唯一的地址代码。单片机的RAM特点单片机的RAM又分为“片内”和“片外”两种。片内RAM包含两种应用类型:①通用寄存器+片内RAM。②特殊功能寄存器SFR。SFR是特殊功能寄存器(SpecialFunctionRegisters),而且是专用的!它们控制着单片机的各种接口功能,也存放着接口的输入输出数据。这些寄存器都有特定的地址。片外RAM通常指外部扩展的RAM。一些性能较好的单片机片内也集成了“片外”RAM,称为:XRAM,实际上还是集成在片内。片内RAM和片外RAM也分为统一编址和独立编址两种51单片机RAM属于独立编址,而ROM则为统一编址。后续详细解说。单片机的接口单片机的基本接口就是前面讲过的:并行接口;串行接口;定时器和中断控制器。性能好的单片机除了增加接口数量之外,还增加了许多专用接口,例如模数/数模转换器接口,USB接口,CAN接口,I2C接口,PWM接口等等。所有接口的控制寄存器和数据寄存器都安排在SFR区。它们同片内RAM那样都有具体的地址安排,并有相应的寄存器名称。各生产厂家会提供“寄存器名=地址”的文件或编译器。各接口引脚往往是多功能的,用软件选择它的某一功能。(配合硬件连接)特别值得注意的是:可以直接对一个引脚进行控制!这是其它计算机没有的。一些并行接口常作为外部扩展时的数据线、地址线和控制线使用。(当需要时)51系列单片机最早以8031为代表,后来派生出许多型号,它们的基本结构和指令代码相同。甚至引脚也相同,可以直接互换。这类系列统称为MCS-51系列,常见型号有:8031,8032,8751,8752,8051,8052…89C51,89C52,97C51,97C52,89C2051……生产51系列单片机的许多厂家还推出了性能更好的型号,这些厂家有:Philips,Dallas,SIMENS,AMD,Atmel,NEC,HARRIS,WinBond,YHUNDAI,ADI,SiliconLaborratories等,产品名称变化也大,例如:Dallas的DS80C320,WinBond的W78E58,SiliconLaborratories的C8051F0XX,Philips的P89LPCXXX等。51单片机代表型号及资源型号ROM(KB)RAM字节并口引脚数串口定时器中断源8031无1284×81258032无2564×813680514KPROM1284×812589514K1284×812589528K2564×813689C5832K2564×813687C5416K2564×813689C20512K1282×812587C514K1284×8125常见代号分析80C31的C字表示CMOS工艺,通常忽略不讲。第二个字:0,7,9等,表示ROM的工艺,0为PROM,7为EPROM,9为E2PROM或flashROM。第三个字:3:无ROM,5:有ROM第四个字n:n=1:RAM128字节,定时器2个,ROM4Kn=2:RAM256字节,定时器3个,ROM=8Kn>2:RAM256字节,定时器3个,ROM=n*4K注:此方法不完全通用,可以参考。希望大家记住此方法。例:89C5187C5251单片机引脚和封装封装的英文缩写意义DIP双列直插式封装PDIPPlasticDual-In-LinePackage塑料双列直插式组件TQFPThinQuadFlatPack薄型四方扁平封装

PQFPPlasticQuadFlatPack塑料四方扁平封装

PLCCPlasticLeadedChipCarrier/PlasticLeadlessChipCarrier塑料式引线芯片载体封装/塑料无引线芯片承载封装BGABallGridArray球栅阵列(封装)

PGAPinGridArray栅格阵列接脚

TSOPThinSmall-OutlinePackage薄型小外型封装

SOTSmall-OutlineTransistor小外型晶体管

封装的意义做PCB图,要根据封装尺寸和间距做,选择封装时要考虑产品的尺寸.不同封装的成品率和散热性能不同.DIP40封装的51单片机引脚定义P1.0~P1.7 并行口P1,其中P1.0和P1.1可能作为定时器T2的功能引脚。P0.1~P0.7 并行口P0,当需要扩展存储器或接口时,可以作为数据/地址(低8位)总线。P2.0~P2.7 并行口P2,当需要扩展存储器或接口时,可以作为地址总线高8位。P3.0~P3.7 并行口P3,通常单独使用它们的第二功能:

P3口特殊功能P3.0 RXD,异步通讯接口的数据输入端。

P3.1 TXD,异步通讯接口的数据输出端。

P3.2 INT0,外部中断0申请的输入端。

P3.3 INT1,外部中断1申请的输入端。

P3.4 T0,定时器T0外部时钟输入端。

P3.5 T1,定时器T1外部时钟输入端。

P3.6 WR,对外部存储器/接口的“写”信号。

P3.7 RD,对外部存储器/接口的“读”信号。51单片机的其它引脚VCC 工作电源,常为+5V,某些型号可以工作在2.7~8V之间。VSS GND,接地端。XTAL1 外接晶体振荡器,当使用外部时钟时,此脚应接地。XTAL2 外接晶体振荡器。也作外部时钟输入。PSEN 读外部ROM信号。RST 复位输入端,高电平复位,低电平时CPU工作。ALE/PROG 地址锁存信号输出(正脉冲)/编程脉冲输入(负脉冲),用户一般不考虑后者。此信号控制外接的74LS373锁存器把P0口的地址分量分离出来作为扩展地址的低8位。EA/VPP 片内片外ROM选择/编程电压输入,用户一般不考虑后者。当接GND时,表示使用外部程序存储器;当接VCC时,使用片内程序存储器。MCS-51单片机最小系统举例

拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为8951的芯片,下面我们就看一下如何给它连线。

1、电源:单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。

2、振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶振,电容,连上就可以了,按下图接上即可。3、复位引脚:按图中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。

4、EA引脚:EA引脚接到正电源端。至此,一个单片机就接好。5、编程并汇编为机器语言,写入8751片内程序存储器。6、通电,单片机就开始工作了,即从地址0000开始执行程序。

如要求8个LED灯间隔轮流亮灭,程序为:

MOVA,#10101010B;LOOP:MOVP1,A ;(A)->(P1)CPLA;A求反

SJMPLOOP;跳转到LOOP51单片机内部结构框图1存储器结构51单片机的“地址重叠”片内RAM地址:00H~7FH(52系列为00H~FFH)位地址:00H~7FH片外扩展RAM地址:0000H~FFFFH(扩展)ROM地址:0000H~FFFFH单片机对其访问时,各使用不同的指令就可区别!片内:MOV指令等,因对象不同使用不同寄存器或寻址方式就可区分:位或者字节。片外RAM用MOVX,控制信号:WR和RD访问ROM用MOVC,控制信号:PSEN。ROM以线性方式编址,无论EA脚接高电平或低电平8051片内有128字节数据存储器RAM(不包括特殊寄存器),4K字节的程序存储器ROM。可在片外扩展RAM和ROM,并各有64KB的寻址范围。64K字节的ROM空间中,有4K字节地址对于片内ROM和片外ROM是公共的。EA控制信号用来区分内部ROM和外部ROM。程序存储器ROM保留单元:0000~0002单元是所有执行程序的入口地址。0003~002AH单元均匀地分为五段,用作五个中断服务程序的入口。数据存储器RAM128字节(不包括特殊寄存器):00~7FH是真正的RAM区,可以读写各种数据,分为三个区域:从00~1FH安排了四组工作寄存器;第二个区域是位寻址区,占用地址20~2FH;第三个区域就是一般的RAM,地址为30~7FH。特殊寄存器RAM128字节:80~FFH是专门用作特殊功能寄存器(SFR)的区域。CPU由运算器、控制器和若干特殊功能寄存器组成。运算器可完成加、减及各种逻辑运算,还可直接完成乘除运算。控制器在单片机内部协调各功能部件之间的数据传送、数据运算等操作。特殊功能寄存器有ACC,B,PSW,SP和DPTR。ACC就是累加器,在乘除运算时,B寄存器用来存放一个操作数,也用来存放运算后的一部分结果。PSW为标志寄存器。SP为堆栈指针。DPTR为数据指针。

PSW::(ProgramStateWord)程序状态字,8位。其中存放着当前ALU的一些操作状态特征。其字节地址是D0H。2.CPU

PC:(ProgramCounter)程序计数器,16位。它与8086CPU的IP(InstructionPointer)意义类似。PC中存放着CPU要执行的下一条指令地址,CPU通过它产生ROM地址从而读取指令。每执行一条指令,它都会自动增加。增加的数值依照已读指令的长短而变化。只有中断、跳转和调用指令才能使其作其它变化。每当开机或者复位时,它的起始值为0000H。ACC:累加器,8位。51单片机大多数指令都必须使用ACC,它是使用最频繁的寄存器。它与ALU直接相连,加、减、乘、除、移位以及其它逻辑运算都要使用ACC,特别是:外部数据的读写也都必须使用ACC。ACC有两个名字:A和ACC。A表示寄存器,ACC表示用地址表达的寄存器(存储器)。除入栈出栈指令使用ACC这个名字外,其它指令中都用A。DPTR:数据指针16位,主要用于指出外部RAM的数据地址或ROM数据表的基地址。内存中将其分为两个8位寄存器,分别叫DPL和DPH,DPH存放地址的高8位,DPL存放低8位。程序状态字PSWC:也叫CY,进位标志或借位标志。当运算产生进位或借位时:C=1,否则C=0。C位还有一个特殊意义:它是1位计算机的“累加器”,CPU作布尔运算时,需要C的介入。同时C还可以读取一个引脚的数据或者把C的数据从引脚送出。AC:半进位。当AC=1时,表明运算使低4位向高4位产生了进位。F0:用户标志位。用户可以用于存1位数据。RS1和RS0:(RegistersSelection)寄存器选择位。用于选择寄存器组。OV:溢出标志。对符号数的运算,当结果超出-128~+127时,产生溢出,此时OV=1。F1:用户标志位。用户可以用于存1位数据。(有些品种不支持)P:奇偶标志,反映ACC中数据的奇偶性。若ACC中有奇数个1,则P=1。位地址D7HD6HD5HD4HD3HD2HD1HD0H位符号CACF0RS1RS0OVF1P51单片机内部RAM地址名称/用途PSW/说明00~07R0R1R2R3R4R5R6R70组RS1=0,RS0=008~0FR0R1R2R3R4R5R6R71组RS1=0,RS0=110~17R0R1R2R3R4R5R6R72组RS1=1,RS0=018~1FR0R1R2R3R4R5R6R73组RS1=1,RS0=120~2F位寻址区,地址00~7FH共128位,占16字节不用的字节作RAM30~7F用户RAM区,存变量、缓冲、堆栈等80~FF51、52单片机为SFR特殊功能寄存器采用直接地址(名称)80~FF52单片机作RAM采用寄存器间接寻址

内部RAM的读写采用“MOV”指令,操作数分为:字节或位,其操作对象随之不同。

R0-R7通用寄存器部分,不用的字节也做RAM。通用寄存器的使用51单片机留了4组寄存器,它们都叫做:R0,R1~R7。它们在各种运算中起着参与运算的作用。主程序只用0组寄存器。其它组用于不同的中断服务程序。目的是互不破坏数据。如何切换到另一组呢?用程序改变PSW中的RS1和RS0就可。记住:主程序默认使用:寄存器组0。中断服务程序开始时,先保存PSW,然后改写RS1和RS0。退出服务时恢复原来的PSW。一般只要使用两组就可以了。SFR简介

地址:80H~FFH并口数据寄存器:P0;P1;P2;P3累加器ACC和寄存器B定时器T0(TH0;TL0),T1(TH1;TL1)定时器控制寄存器:TMOD;TCON串行口控制SCON和数据SBUF中断控制:IE,IP电源控制:PCON程序状态字:PSW堆栈指针:SP数据指针:DPTR(DPH和DPL)单片机的“位”单片机特色之一是使用“位”变量并可以直接操作。“位”存在于各个并口(引脚),累加器,PSW以及若干寄存器中;同时在RAM中也预留了“可位寻址”的空间:20H~2FH。位空间占用16字节,每个字节8位共128位,用地址00H~7FH表达。换算关系:字节地址=20H+(位地址/8),余数就是此字节的位号。“位”可以设为变量、标志、LED显示缓冲区等。51单片机的堆栈SP:stackPointer堆栈指针,8位。用于指出当前堆栈的顶部地址,当有入栈操作时,SP自动+1,出栈时SP=SP-1。堆栈:在RAM中划分一个“块”作为堆栈。堆栈的作用有两个:1.用于保存子程序返回时的程序地址信息。2.数据暂存。调用子程序或者响应中断时,断点的地址被CPU自动存入堆栈,程序返回时,此地址能自动恢复,从而继续执行被打断处的程序。堆栈的操作是通过“堆栈指针SP”记录的,它永远指出下一个空闲的存储器地址。51单片机的堆栈为“上涨”型,入栈时SP=SP+1。因为51机RAM很少,堆栈空间的预留需要精打细算。计算的依据:考虑子程序嵌套的最大可能层数,同时还要考虑中断服务程序的子程序嵌套层数,两个层数相加后乘2,再留一点余量。128字节RAM空间,扣除必须使用的通用寄存器组数;堆栈;位变量占用的字节数,剩余部分才能设定为变量;缓冲区等。3并行接口

从外部来看,共有4组8位并行接口,占用32个引脚,另:两个引脚作晶振接入,电源,地各一个脚及4个控制脚共计40个引脚。

4组并行接口分别称为:P0;P1;P2和P3,每一个单独引脚由小数点后的数字确定。例如:P1.0;P3.2等。

4组并口,除P1为专门的并口外,其它3个并口还有第二功能:P0可以作为外部的数据总线和地址低8位;P2作为地址高8位。P3的每一个引脚都有不同的第2功能:串行接口的输入输出;外部中断输入;定时器外部钟输入以及外部接口存储器的读写信号。单片机内部除CPU的主要结构外,还有128B(256B)的RAM,一定数量的ROM。RAM和ROM的多少随芯片型号不同而不同。

P0口和P2口可以作为外部扩展的数据总线和地址总线使用。P0口分时作为数据线(8位)和地址线低8位使用,通过外部地址分离电路将其分离。分离信号就是ALEP2口作为地址线高8位使用P0和P2可以组合成16位地址,因而可以对外部的64KB空间进行寻址访问。他们可以同时连接ROM和RAM(访问操作各自不同)4.定时/计数器8051内部有两个16位可编程定时/计数器,最大计数模式为216-1。在定时工作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论