已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,第章单片机结构原理,本章内容,SingleChipMicrocomputer,单片机内部结构及引脚,单片机时序及接口,单片机存储器配置,单片机输入输出口,.,2-1MCS-51单片机内部结构及引脚,MCS-51系列单片机是英特尔公司1980推出的高档8位机分为二个子系列,、三个版本:,.,掩膜ROMPROM/OTP-ROMEPROMEEPROMFLASH,.,MCS-51单片机硬件结构,结构框图,中央处理器CPU:8位,运算和控制功能,内部RAM:共256个RAM单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。,内部ROM:4KB掩膜ROM,用于存放程序、原始数据和表格。,定时/计数器:两个16位的定时/计数器,实现定时或计数功能。,并行I/O口:4个8位的I/O口P0、P1、P2、P3。,串行口:一个全双工串行口。,中断控制系统:5个中断源(外部中断2个,定时/计数中断2个,串行中断1个),时钟电路:可产生时钟脉冲序列,允许晶振频率6MHZ和12MHZ,.,1、8051单片机的基本组成,中央处理器CPU:8位,运算和控制功能内部RAM:共256个RAM单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。内部ROM:4KB掩膜ROM,用于存放程序、原始数据和表格。定时/计数器:两个16位的定时/计数器,实现定时或计数功能。并行I/O口:4个8位的I/O口P0、P1、P2、P3。串行口:一个全双工串行口。中断控制系统:5个中断源(外中断2个,定时/计数中断2个,串行中断1个)时钟电路:可产生时钟脉冲序列,允许晶振频率6MHZ和12MHZ,.,2、MCS-51单片机信号引脚简介,P3口线的第二功能,VCC,VSS,XTAL2XTAL1,RST,P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7,P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7,P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0,ALE,P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7,2、振荡电路:XTAL1、XTAL2,3、复位引脚:RST,4、并行口:P0、P1、P2、P3,7、ALE:地址锁存控制信号,1、电源线:VCC(+5V)、VSS(地),.,=0时,只访问外部程序存储器,即外ROM,=1时,访问内部程序存储器,即内ROM,/Vpp内外ROM选择端,对于8751单片机编程时,该端施加编程电压IO引脚P0.0P0.7;P1.0P1.7;P2.0P2.7;P3.0P3.7四个I/O口,每口八条线;还兼作地址/数据线。,EA,ALE/PROG地址锁存控制端,访问外部存储器用来锁存由P0口送出的低8位地址;不访问外存时,提供1/6fosc振荡频率;PROG用于对8751片内的EPROM输入编程脉冲;PSEN外部程序存储器的读选通信号端,.,3、时钟电路与复位电路(1)时钟振荡电路,.,几个工作周期的区别:振荡周期状态周期机器周期指令周期,.,时钟周期,T:时序中最小的时间单位.其值由外接晶体或外输入时钟来决定,其值为石英振荡器频率的倒数。例如:在单片机外接1MHZ的晶体,则单片机的系统时钟的频率为1M,时钟周期为1us.机器周期:完成特定功能所需要的时间,在MCS-51单片机中机器周期由12个时钟周期构成,并分为6个状态(S1-S6),每个状态又分为P1和P2两拍.这样一个机器周期的12个震荡周期可以表示为:S1P1,S1P2,S2P1,S2P2,S3P1,S3P2S6P1,S6P2将12个震荡周期用6个状态和2拍来替代。,T,S1,S2,S6,S5,S4,S3,机器周期,.,指令周期:这是时序图中最大的时间单位,既执行一条指令所需要的时间.在MCS-51系统中,不同的指令它所包含的机器周期数不同.它们分别是:1,单机器周期指令;2,双机器周期指令;3,四机器周期指令我们知道:一个机器周期包含了12个震荡周期.如果我们使用一个12M的晶体震荡器,那么:一个机器周期为1us,两个机器周期为2us,四个机器周期为4us.可见一条指令的运算速度与它所包含的机器周期数有关.机器周期数越少,执行的速度就越快.在MCS-51单片机的指令系统中,除了乘、除法指令为四个机器周期外,其余都是单周期和双周期指令.,返回,.,(2)、控制或复位引脚RST/VPD当出现两个机器周期高电平时,单片机复位。复位后,P0-P3输出高电平;SP寄存器为07H;其它寄存器全部清0;不影响RAM状态。参考复位电路如下:,.,(2)复位电路,单片机复位条件:必须使RST引脚持续10us以上高电平(外部时钟12MHz),谁知道复位电路怎么起到复位的作用?,.,2-2存储器配置,80318751805189C51,256B(字节),4K,64K,64K,.,物理上分为:4个空间,即片内ROM、片外ROM片内RAM、片外RAM逻辑上分为:3个空间,即程序内存(片内、外)统一编址MOVC数据存储器(片内)MOV数据存储器(片外)MOVX,冯.诺依曼结构哈佛结构改进哈佛结构/超级哈佛结构,储存器结构,.,(1)程序存储器,程序存储器,内部,外部,(PC),程序存储器资源分布,中断入口地址,.,七个具有特殊含义的单元是:,0000H系统复位,PC指向此处;0003H外部中断0入口000BHT0溢出中断入口0013H外中断1入口001BHT1溢出中断入口0023H串口中断入口002BHT2溢出中断入口,.,内部,外部,(2)数据存储器,数据存储器,RAM,专用寄存器,内部RAM存储器,工作寄存器区选择位RS0、RS1,.,位寻址区(20H2FH)16个字节。16*8=128位,每一位都有一个位地址,范围为:00H7FH,位地址区也可作为一般RAM使用。,位寻址区,.,特殊功能寄存器SFRMCS-51单片机内共有22个特殊功能寄存器,包括PC及SFR。PC为程序计数器。它是一个双字节寄存器,寻址范围为:0000HFFFFH,即064KB。SFR为特殊功能寄存器。其寻址空间:80HFFH其中,51子系列有18个寄存器,占有21个字节;52子系列有21个寄存器,占有26个字节。51子系列SFR的地址分配及位地址见下页表:,.,高128个单元,离散分布有21个特殊功能寄存器SFR。,11个可以进行位寻址。,特别提示:对SFR只能使用直接寻址方式,书写时可使用寄存器符号,也可用寄存器单元地址。,.,.,+,+,.,注意:1、表中共有3个双字节寄存器。2、PC也为双字节寄存器,但是不在80HFFH范围内。3、表中,凡地址能被8整除的寄存器都是可位寻址的寄存器。,.,各寄存器的名称:1、算术运算寄存器(1)A累加器。(2)BB寄存器,乘、除法运算用。(3)PSW程序状态字寄存器:包含程序运行状态、信息。,.,程序状态字PSW:8位寄存器.表征程序执行的状态信息。CY(PSW.7)进位标志:在加减法运算中,累加器A的最高位A7有进位,则CY=1,否则CY=0.同理,在减法运算中,如果A7有借位,则CY=1.因此CY往往作为无符号数运算是否有溢出的标志。AC(PSW.6):辅助进位位:用来判断加减法运算时,低四位是否向高四位进位或借位(既A3的进位或借位).往往用来判断压缩的BCD码的运算处理.F0(PSW.5)用户标志位:完全由用户来定义和使用。RS1,RS0工作寄存器区选择位:确定工作寄存器R0-R7在哪个区中.单片机在上电或复位后RS1、RS0=00。当需要人为的修改RS1,RS0的值来改变工作寄存器区的位置。00:0区R0R701:1区R0R710:2区R0R711:3区R0R7,.,OV(PSW.2)溢出标志位:判断有符号数(补码)加减法运算时是否有溢出.OV的结果可以用一个算法来表示:OV=CP异或CS其中:CP为A7的进位,CS为A6的进位OV=1表明有溢出。P(PSW.0)奇偶标志位:用来标志累加器A中运算后1的个数。当P=1时,表明A中1的个数为奇数个,反之为偶数个。【举例】:有两个数0FH和F8H,试将两数相加MOVA,#0FH;将立即数0fh送累加器AADDA,#0F8H;A的内容与立即数0f8h相加,结果送A00001111运算结果:A=07H,CY=1(既CP=1),+11111000CS=1,OV=0(因为CP=1,CS=1)Cy100000111AC=1,P=1如何根据PSW来分析运算结果是否正确?是否有溢出?1,若数据为无符号数。既15+248=263=107H既CY=1,A=07H。2,若数据为有符号数。既+15加-8=+7=07H,OV=0表明无溢出。,.,2、指针寄存器(1)程序计数器PC指明即将执行的下一条指令的地址(程序存储器地址),在物理上独立,复位时PC=0000H。(2)堆栈指针SP指明栈顶元素的地址,8位,可软件设置初值,复位时SP=07H。注意压栈和出栈SP的变化。(3)数据指针DPTRDPTR;指明访问的数据存储器的单元地址,16位,寻址范围64KB。DPTR=DPH+DPL,也可单独使用。,.,SP堆栈指针:8位寄存器,用来指示堆栈的位置,可由软件修改。在MCS-51单片机的设计中,片内RAM区为堆栈的可用空间。上电或复位时,SP被初始化为07H,即堆栈底部被确定在RAM的07H单元。堆栈操作过程:进栈:PUSHACC指令(设SP=07H),1,SP+1送SP,此时SP=08H;2,ACC送RAM的08H单元;出栈:POPACC(设SP=08H);1,将RAM中08H单元内容送A;2,SP-1送SP,此时SP=07H。,07H,SP,08H07H,RAM,x,累加器A,堆栈操作示意图,.,3、并行输入/输出端口寄存器P0、P1、P2、P3实为相应端口锁存器。4、串行输入/输出端口(1)串行数据缓冲器SBUF是物理上独立的两个寄存器,共同使用一个地址(99H)。(2)串行控制/状态寄存器SCON控制监视串行口的工作状态(3)电源控制寄存器PCON控制单片机的低功耗工作方式及波特率选择。,.,5、中断系统(1)中断优先级寄存器IP:2级优先,可软件设定(2)中断允许寄存器IE6、定时/计数器(1)定时器方式寄存器:TMOD(2)定时器控制寄存器:TCON(3)计数寄存器:TH0、TL0;TH1、TL1。可用于设定计数初值。,.,时钟的基本概念启动单片机后,指令执行顺序:,2-3CPU时序,.,单片机工作的基本时序,所谓时序就是CPU总线信号在时间上的顺序关系。CPU控制器实际上是复杂的同步时序电路,所有的工作都是在时钟信号的控制下进行的。每执行一条指令,CPU控制器都要发出一系列特定的控制信号,这些控制信号在时间上的相互关系就是CPU的时序。一个单片机系统要想正常工作,除了要做到电平匹配、功率匹配外,还要做到时序匹配。,.,.,以上是单周期单字节指令在执行过程中ALE脉冲、取指操作、执行操作等在时间上的先后关系。时序的定义:单片机内的各种操作都是在一系列脉冲控制下进行的,而各脉冲在时间上是有先后顺序的,这种顺序就称为时序。指令周期:即从取指到执行完,所需时间。不同机器指令周期不一样;即使相同机器,不同的指令其指令周期也不一样。机器周期:机器的基本操作周期。一个指令周期含若干机器周期(单、双、四周期),.,每个状态周期含两个振荡周期,即相位P1、P2。振荡周期:由振荡时钟产生。振荡周期Tosc=1/fosc一个机器周期=12个振荡周期=121/fosc。例如,若fosc=12MHz,则一个机器周期=1s。,状态周期:一个机器周期分6个状态周期Si,.,指令的字节数与指令周期之间的关系:在MCS-51单片机的指令系统中有:单字节;双字节;三字节指令。在MCS-51的111条指令中,可以分为六种基本的时序:1,单字节单周期指令;4,双字节单周期指令;2,单字节双周期指令;5,双字节双周期指令;3,单字节四周期指令;6,三字节双周期指令.,.,指令特点:在程序存储器ROM中仅占一个存储单元。在ALE第一次有效(S1P2)时,从ROM中读取指令的操作码,送入指令寄存器IR中.并译码执行,在ALE第二次有效时,封锁PC加一,使第二次读数无效.可见:1,ALE信号对应着从ROM中读指令,所以在一个机器周期中CPU可以读两次指令;2,对于单字节单周期的指令,CPU通过译码后封死PC,实际上指令的后半部不做任何工作.,单字节单周期指令的时序:,机器周期,读操作码一,读操作无效,ALE,S1,S2,S6,S5,S4,S3,.,指令特点:一条指令长度为两个字节,并存储在ROM相邻的两个单元中。要想完整的将这样的指令执行完,必须从ROM中读两次操作码.在ALE第一次有效时,CPU从ROM的n单元中取出指令的第一个字节OP1-1,并送入IR译码,通过译码CPU知道这是一条双字节指令,所以使PC加一,并在ALE第二次有效时,从ROM的n+1单元取出指令的第二个字节OP1-2送入IR进行译码,并产生对应的操作.最后在S6P2时完成本条指令的运行.,S1,S2,S6,S5,S4,S3,机器周期,读操作码一,读操作码二,OP1-2,OP1-1,n+1n,程序ROM,PC,双字节单周期指令时序,ALE,.,指令特点:单字节,需要两个机器周期运行.如:INCDPTRDPTR为两个8位的寄存器,加一时,必须分两步完成.既第一步DPL加一,如果DPL加一有进位则还要进行第
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年应急救生系统项目资金需求报告代可行性研究报告
- 2023-2024学年广东省深圳市福田区八年级(下)期末英语试卷
- 2023-2024学年广东省深圳市福田区七年级(上)期中英语试卷
- 二年级数学计算题专项练习
- 健康吃药的安全
- 二年级语文下册教案
- 山东省青岛市李沧区片区2024-2025学年六年级上学期期中语文试卷
- 陕西省西安市蓝田县2024-2025学年上学期九年级物理期中质量检测试卷(含答案)
- 高中物理复习4-2第2讲抛体运动课件
- 医用按摩凝胶产业规划专项研究报告
- 8.1运行效率概述
- 有趣的英国文化
- 皮内注射评分标准
- 上海交通大学学生生存手册
- 治疗药物监测与精准用药
- 施家山隧道瓦斯爆炸演练实施方案
- 市场调查方法-观察法教学课件
- 人教A版高中数学必修第一册《指数函数》评课稿
- 肾内科医疗教学计划
- 中班科学活动勺子里的哈哈镜
- 道路绿化施工图设计说明
评论
0/150
提交评论