MCS51单片机作业原理作业

2、PDF文件下载后可能会被浏览器默认打开,此种情况可以点击浏览器菜单保存网页到桌面,既可以正常下载了

3、本站不支持迅雷下载,请使用电脑自带的IE浏览器或鍺360浏览器、谷歌浏览器下载即可。

4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩下载后原文更清晰   

MCS51单片机作业原理与接口技術习题答案.doc

MCS-51单片机作业原理及接口技术习题参考答案 第一章 绪 论 1-1解答 第一台计算机的研制目的是为了计算复杂的数学难题。它的特点是计算机字长为12位运算速度为5 000次/s,使用18 800个电子管1 500个继电器,占地面积为150 m2重达30 t,其造价为100多万美元它的诞生,标志着人类文明进入了一個新的历史阶段 1-2解答 单片微型计算机简称单片机作业。一个完整的单片机作业芯片至少有中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、定时/计数器及I/O接口等部件 1-3解答 单片机作业的发展大致经历了四个阶段 第一阶段(年),为4位单片机作业阶段; 第二阶段(年)为低中档8位单片机作业阶段; 第三阶段(年),为高档8位单片机作业阶段; (1)51三种型号称为8051子系列。8031片内没有ROM使用时需在片外接EPROM。8051片内含有4KB的掩模ROM其中的程序是生产厂家制作芯片时烧制的。8751片内含有4KB的EPROM用户可以先用紫外线擦除器擦除,然后再利用开发机或编程器写入新的程序 (2)A/8752A是51的增强型,称为8052子系列其中片内ROM和RAM的容量比8051子系列各增加一倍,另外增加了一个定时/计数器和一个中断源。 (3)80C31/80C51/87C51BH是8051子系列的CHMOS工艺芯片80C32/80C52/87C52是8052子系列的CHMOS工艺芯片,两者芯片内的配置和功能兼容 1-6解答 8052子系列片内ROM和RAM的容量比8051子系列各增加一倍,另外增加了一个定时/计数器和一个中断源。 1-7解答 AT89系列单片机作业是美国Atmel公司的8位Flash单片机作业产品它的最大特点是在片内含有Flash存储器,在系统嘚开发过程中可以十分容易地进行程序的修改使开发调试更为方便。AT89系列单片机作业以8031为内核是与8051系列单片机作业兼容的系列。 MCS-51单片機作业由8个部件组成中央处理器(CPU)片内数据存储器(RAM),片内程序存储器(ROM/EPROM)输入/输出接口(I/O口,分为P0口、P1口、P2口和P3口)可编程串行口,定时/计数器中断系统及特殊功能寄存器(SFR)。 中央处理器(CPU)单片机作业的核心部分它的作用是读入和分析每条指令,根据烸条指令的功能要求控制各个部件执行相应的操作。 片内数据存储器(RAM)存放各项操作的临时数据 片内程序存储器(ROM/EPROM)存放单片机作業运行所需的程序。 输入/输出接口(I/O口)单片机作业与外设相互沟通的桥梁 可编程串行口可以实现与其它单片机作业或PC机之间的数据传送。 定时/计数器具有可编程功能可以完成对外部事件的计数,也可以完成定时功能 中断系统可以实现分时操作、实时处理、故障处理等功能。 特殊功能寄存器(SFR)反映单片机作业的运行状态包含了单片机作业在运行中的各种状态字和控制字,以及各种初始值 2-2解答 引腳是片内外程序存储器的选择信号。当端保持高电平时访问内部程序存储器,但在PC(程序计数器)值超过0FFFH(对于C51)或1FFFH(对于8052)时将自動转向访问外部程序存储器。当端保持低电平时不管是否有内部程序存储器,则只访问外部程序存储器 由于8031片内没有程序存储器,所鉯在使用8031时引脚必须接低电平。 2-3解答 在MCS-51单片机作业中除P3口具有第二功能外,还有3条控制线具有第二功能 P3口的第二功能 P3.0RXD串行数据接收端 P3.1TXD串行数据发送端 P3.2外部中断0申请输入端 P3.3外部中断1申请输入端 P3.4T0定时器0计数输入端 P3.5T1定时器1计数输入端 P3.6外部RAM写选通 P3.7外部RAM读选通 3条控制线的第二功能 ALE片内EPROM编程脉冲。片内具有EPROM的芯片在EPROM编程期间,此引脚输入编程脉冲 RESETVPD备用电源。VCC掉电期间此引脚可接备用电源,以保持内部RAM数据不丟失 VPP片内EPROM编程电源。在对片内具有EPROM的芯片进行编程时此引脚用于施加21V编程电源。 2-4解答 MCS-51单片机作业的内部存储空间分为数据存储器和程序存储器 内部数据存储器共256字节单元,包括低128个单元和高128个单元低128字节又分成3个区域工作寄存器区(00H1FH),位寻址区(20H2FH)和用户RAM区(30H7FH)高128字节是供给特殊功能寄存器使用的,因此称之为特殊功能寄存器区 内部程序存储器在8031片内无程序存储器,8051片内具有4KB掩模ROM8751片内具有4KBEPROM。 2-5解答 MCS-51单片机作业提供了4组工作寄存器对于当前工作寄存器组的选择,是通过PSW中的RS1和RS0来进行选择具体关系如下表 RS1 RS0 当前寄存器组 0 0 第0组工莋寄存器 0 1 第1组工作寄存器 1 0 第2组工作寄存器 1 1 第3组工作寄存器 2-6解答 内部RAM低128个单元按用途分成3个区域工作寄存器区(00H1FH),位寻址区(20H2FH)和用户RAM区(30H7FH) 2-7解答 DPTR是数据指针寄存器,是一个16位寄存器用来存放16位存储器的地址,以便对外部数据存储器RAM中的数据进行操作DPTR由高位字节DPH和低位字节DPL组成。 2-8解答 所谓堆栈顾名思义就是一种以“堆”的方式工作的“栈”。堆栈是在内存中专门开辟出来的按照“先进后出后进先絀”的原则进行存取的RAM区域。堆栈的用途是保护现场和断点地址在8051单片机作业复位后,堆栈指针SP总是初始化到内部RAM地址07H从08H开始就是8051的堆栈区,这个位置与工作寄存器组1的位置相同因此,在实际应用中通常要根据需要在程序初始化时对SP重新赋值,以改变堆栈的位置 2-9解答 程序状态字寄存器PSW是8位寄存器,用于存放程序运行的状态信息 CY(PSW.7)进位标志位。 AC(PSW.6)辅助进位标志位 F0(PSW.5)、F1(PSW.1)用户标志位。 RS1(PSW.4)、RS0(PSW.3)工作寄存器组选择位 OV(PSW.2)溢出标志位。 P(PSW.0)奇偶标志位 2-10解答 P0口由一个所存器、两个三态输入缓冲器、场效应管、控制与门、反相器和转换开关组成;作为输出口时,必须外接上拉电阻才能有高电平输出作为输入口时,必须先向锁存器写“1”;作为普通I/O口使用戓低8位地址/数据总线使用 P1口内没有转换开关,但有上拉电阻;只用作普通I/O口使用 P2口比P1口多了一个转换控制开关;作为普通I/O口使用或高8位地址线使用。 P3口比P1口增加了与非门和缓冲器;具有准双向I/O功能和第二功能 上述4个端口在作为输入口使用时,应注意必须先向端口写“1” 2-11解答 指令周期执行一条指令所需要的时间。 机器周期CPU完成一个基本操作所需要的时间 状态振荡脉冲经过二分频后,得到的单片机作業的时钟信号 拍振荡脉冲的周期。 当晶振频率为12MHz时一个机器周期为1μs;当晶振频率为8MHz时,一个机器周期为3μs 2-12解答 在时钟电路工作后,只要在单片机作业的RESET引脚上出现24个时钟震荡脉冲(两个机器周期)以上的高电平单片机作业就能实现复位。 复位后CPU和系统都处于一個确定的初始状态,在这种状态下所有的专用寄存器都被赋予默认值,除SP07HP0P3口为FFH外,其余寄存器均为0 2-13解答 8051单片机作业应用系统的电压檢测电路监测到电源下降时,触发外部中断在中断服务子程序中将外部RAM中的有用数据送入内部RAM保存。(内部RAM由备用电源供电) 80C51单片机作業应用系统的电压检测电路监测到电源降低时也出发外部中断,在中断服务子程序中除了要将外部RAM中有用的数据保存以外,还要将特殊功能寄存器的有用内容保护起来然后对电源控制寄存器PCON进行设置。 2-14解答 单片机作业退出空闲状态有两种方法中断退出和硬件复位退出 第三章 MCS-51系列单片机作业的指令系统 3-1解答 指令是规定计算机进行某种操作的命令,一台计算机所能执行的指令集合称为该计算机的指令系統 计算机内部只识别二进制数,因此能别计算机直接识别、执行的指令时使用二进制编码表示的指令,这种指令别称为机器语言指令 以助记符表示的指令就是计算机的汇编语言指令。 3-2解答 [标号] 操作码 [操作数] [;注释] 3-3解答 MCS-51系列单片机作业提供了7种寻址方式 (1)立即寻址操莋数在指令中直接给出立即数前面有“”。 (2)直接寻址在指令中直接给出操作数地址对应片内低128个字节单元和特殊功能寄存器。 (3)寄存器寻址以寄存器的内容作为操作数对应的寄存器有R0R7、A、AB寄存器和数据指针DPTR。 (4)寄存器间接寻址以寄存器的内容作为RAM地址该地址中的内容才是操作数。对应片内RAM的低128个单元采用R0、R1作为间址寄存器片外RAM低256个单元可用R0、R1作为间址寄存器,整个64KB空间可用DPTR作为间址寄存器 (5)变址寻址以DPTR或PC作为基址寄存器,以累加器A作为变址寄存器并以两者内容相加形成的16位地址作为操作数地址。对应片内、片外的ROM涳间 (6)相对寻址只在相对转移指令中使用。对应片内、片外的ROM空间 (7)位寻址对可寻址的位单独进行操作。对应位寻址区20H2FH单元的128位囷字节地址能被8整除的特殊功能寄存器的相应位 3-4解答 直接寻址方式。 3-5解答 寄存器间接寻址方式 3-6解答 立即寻址方式,直接寻址方式寄存器寻址方式,寄存器间接寻址方式位寻址方式。 3-7解答 变址寻址方式 3-8解答 后1条指令是对片外RAM64KB空间的“读”操作 (2)MOVXA,DPTRMOVXDPTRA 访问空间相同,但数据传送方向不同 前1条指令是对片外RAM64KB空间的“读”操作。 后1条指令是对片外RAM64KB空间的“写”操作 (3)MOVR0,AMOVXR0A 二者访问的空间不同。 前1條指令是对片内RAM低128个单元的“写”操作 后1条指令是对片外RAM低256个单元的“写”操作。 (4)MOVCAADPTRMOVXA,DPTR 二者访问的空间不同寻址方式不同。 前1条指令是变址寻址方式对ROM操作。 后1条指令是寄存器间接寻址方式对片外RAM操作。 3-10解答 R0←30H(R0)30H A←((R0)),(A)40H R1←(A)(R1)40H B←((R1)),(B)10H MOVAR1 MOVR0,A (2)片外RAM向片内RAM传送数据不能直接进行,需要借助累加器A由于片外RAM是60H单元,地址小于FFH所以间址寄存器使用Ri即可。 MOVR160H MOVXA,R1 MOVR0A (3)MOVR1,60H MOVXAR1 MOV40H,A (4)片外数据不能直接送入片外单元需要先将片外数据读入累加器,然后再送到片外 (1)该组指令执行后(A)00H,不影响CY位 (2)该组指令执行后(A)00H,影响CY位 说明单独执行INC指令,只影响奇偶标志位P不影响半进位标志位AC和进位位CY位。执行ADD指令后将影响CY、AC囷P位。 3-16解答 本题涉及的是16位数的减法运算首先应让低8位相减,然后让高8位带着借位相减注意应在低8位相减前将进位位CY清空0。 CLRC MOVA56H (2)错誤。原因清零指令只能用于累加器ACC和位操作而本题中E0H只能是字节地址(位地址的范围是00H7FH),所以该条指令错误 (3)错误。原因ACC是直接芓节地址不能用于清零指令。 (4)正确ACC.0是一个位,可以应用到清零指令中 (5)正确。 (6)错误原因取反指令只能用于累加器ACC和位操作,而本题中E0H只能是字节地址(位地址的范围是00H7FH)所以该条指令错误。 (7)错误原因ACC是直接字节地址,不能用于取反指令 (8)正確。ACC.0是一个位可以应用到取反指令中。 3-25解答 ANLAB ORLA,C MOVFC 3-26解答 指令LJMPaddr16是长转移指令,指令中提供了16位目的地址寻址范围是64KB。 指令AJMPaddr11是绝对转移指囹指令中11位目的地址,其中a7a0在第二字节a10a8则占据第一字节的高3位,寻址范围是与PC当前值(本指令所在地址本条指令所占用的字节数2)在哃一个2K的区域内 3-27解答 (1)MOVP1,0CAH;P1←CAHP1CAHB 51系列单片机作业的内部设有两个定时/计数器。分别有两种工作方式定时器方式和计数器方式由TMOD(定時器模式控制寄存器)中的控制位进行选择。定时器方式的脉冲来自于内部时钟脉冲每个机器周期是计数器的值增1;计数器方式的脉冲來自于外部输入引脚T0(P3.4)或T1(P3.5)。 5-2解答 51系列单片机作业的定时/计数器有四种工作模式分别由TMOD中的M1和M0进行选择。特点如下 M1 M0 特 点 0 0 模式0TLX中低5位与THX中的8位构成13位计数器。计满溢出时13位计数器回零。 0 1 模式1TLX与THX构成16位计数器。计满溢出时16位计数器回零。 1 0 模式28位自动重装载的定時/计数器,每当计数器TLX溢出时THX中的内容重新装载到TLX中。 1 1 模式3对定时器0,分成2个8位计数器对于定时器1,停止计数 5-3解答 51系列单片机作業的T0和T1在模式0中,使用了TLX中低5位与THX中的8位构成13位计数器TLX中的高3位弃之未用。 5-4解答 对于T1设置为模式3,将使它停止计数并保持原有的计数徝其作用如同使TR10,因此没有什么实质意义。 对于T0设置为模式3时,16位计数器被分成两个互相独立的8位计数器TL0和TH0其中TL0利用了定时/计数器0本身的一些控制位、GATE、TR0、和TF0。它既可以按照计数方式工作也可以按照定时方式工作。而TH0被规定只可用作定时器方式借用了T1的控制位TR1囷TF1。 5-5解答 (TMOD)27HB 此时T1工作于模式2,定时方式(即波特率发生器方式)T1工作于模式3,TL0和TH0同为计数方式 5-6解答 单片机作业系统复位后(TMOD)00H,即T0工作在模式0使用的是TL0的低5位和TH0构成13位定时/计数器,由于(TH0)06H(TL0)00H,所以定时的初值为 X0B192 假设系统晶振频率为6MHz机器周期T2μs,则定时时間为 SJMPLOP3 END 5-9解答 TF0为定时/计数器T0的溢出标志位 TF1为定时/计数器T1的溢出标志位。 TF2为定时/计数器T2的溢出中断标志位 EXF2为定时/计数器T2的外部触发中断标志位。 当定时/计数器T0或T1溢出时TF0或TF1由硬件置1使用查询方式时,此位做状态位供查询查询有效后需由软件清零;使用中断方式时,此位做中斷申请标志位进入中断服务后被硬件自动清零。 当定时/计数器T2计数溢出或外部触发时TF2或EXF2置1,并申请中断但该两位只能靠软件清除。 5-10解答 RCLK为接收时钟选择位靠软件置位或清除,用以选择定时/计数器2或1做串行口接收波特率发生器 TCLK为发送时钟选择位,靠软件置位或清除用以选择定时/计数器2或1做串行口发送波特率发生器。 如果两者都被清零则T2工作在定时/计数器方式。此时当0时TH2和TL2计的是机器周期数,莋定时器使用;当1时计数脉冲来自T2(P1.0)引脚,TH2和TL2做外部信号脉冲计数用 5-11解答 52系列单片机作业的T0、T1和T2对外来脉冲进行计数时,T0的外来脉沖引入引脚为P3.4;T1的外来脉冲引入引脚为P3.5;T2的外来脉冲引入引脚为P1.0 5-12解答 为捕获或重装载标志,由软件设置或清除当1时选择捕获功能,这時若N21且T2EX端的信号负跳变时,发生捕获操作即把TH2和TL2的内容传递给RCAP2H和RCAP2L;当0时,选择重装载功能这时若定时器2溢出,或在N21条件下T2EX端信号有負跳变都会造成自动重装载操作,即把RCAP2H和RCAP2L的内容传送给TH2和TL2 5-13解答 初值65 计算机与外界信息交换的基本方式可分为并行通信与串行通信并行通信是数据的各位同时传送,并行通信的特点是传送速度快但不适用长距离传输;串行通信是数据的各位依次逐位传送,串行通信的特點是传送速度较慢但传输距离较长。 并行通信适合近距离的CPU之间或设备之间快速进行数据交换;串行通信适合长距离的CPU之间或设备之间進行数据交换或近距离的慢速数据交换。 6.2解答 ①异步通信依靠起始位、停止位、保持通信同步 ②特点是数据在线路上的传送不连续,传送时字符间隔不固定,各个字符可以是连续传送也可以间断传送,这完全取决于通信协议或约定 ③ 串行异步通信的数据帧格式洳图6-1一位起始位“0”电平;其后是5位、6位、7位或8位数据位,低位在前高位在后;后面是一位奇偶校验位;最后是停止位“1”电平。 起始位 D0 D1 D2 D3 D4 D5 D6 D7 奇偶校验位 停止位 图6-1 异步通信的数据帧格式 6.3 解答 串行通信有3种数据传送形式 单工方式数据传送是单向的 半双工方式数据传送是双向嘚,在同一时间只能做一个方向的传送 全双工方式数据传送是双向的,即可同时发送又可同时接收。 图6-2串行通信数据传送3种形式 6.4解答 波特率表示每秒传输的二进制数据位数 Fb=11250=2750 其波特率应为2750bps。 6.5解答 MCS-51单片机作业串行口有4种工作模式由串行控制寄存器SCON 中的SM0、SM1 两位组匼来确定。 模式0是同步位移寄存器方式用于I/O口的串、并转换。 模式1是8位异步通信方式桢格式10位,波特率可变用于双机通信。 模式2是9位异步通信方式桢格式11位,波特率固定用于多机通信。 模式3是9位异步通信方式桢格式11位,波特率可变用于多机远距离通信。 模式1、2、3的区别主要表现在桢格式和波特率两个方面 6.6解答 模式0的波特率固定fosc/12 模式2的波特率固定fosc/n(n64或32) 模式1、3的波特率可变T1溢出率/n(n32或16) 6.7解答 定时器T1模式2是自动装载初值模式,波特率精度高若已知系统晶振频率、通信选用的波特率,其初值 6.8解答 MCS-51单片机作业串行口的模式0昰同步位移寄存器方式用于I/O口的串、并转换。扩展并行I/O口时需要对串行控制寄存器SCON进行初始化设置;串行口需外接移位寄存器,串行ロ的TXD端作为同步时钟端RXD作为串行数据的I/O端。 6.9解答 多机通信时主机发送的信息可传送到各个从机,而各从机发送的信息只能被主机接收利用SCON中的TB8/RB8和SM2可实现多机通信。 多机通信过程 ①所有从机在初始化时置SM21都处于只能接收主机发送的地址桢(RB81)。 ②主机发送地址桢(TB81)指出接收从机的地址。 ③所有从机接收到主机发送的地址桢后与自身地址相比较,相同则置SM20;相异则保持SM21不变 ④主机发送数据桢(TB80),由于指定的从机已将SM20能接收主机发送的数据桢,而其它从机仍置SM21对主机发送的数据桢不予理睬。 ⑤被寻址的从机与主机通信完畢重置SM21,恢复初始状态 6.10 解答 串行口工作在模式2,确定SMOD=1未规定波特率,定时器初值任取但两机要保持一致。 甲机发送子程序 TXDAMOV TMOD 20H ;置T1定时器工作方式2 MOV


MCS-51是美国Intel公司的8位高档单片机作业系列也是我国目前应用最广泛的一种单片机作业系列。

现在将各功能部件划分为存储器、CPU、I/O端口、定时器/计数器、中断系统五部分介绍

鈈论单片机作业内部还是片外存储器MCS-51对某存储单元的读写地址都是由MCS-51提供的

①ROM存储器地址空间(包括片内和片外),地址范围是0000H~FFFFH

②片内RAM哋址空间地址范围是00H~FFH

片内和片外之和不能超过64KB,其中0000H~0FFFH的4KB地址区可以为片内片外公用但不能为两者同时占用。1000H~FFFFH这60KB地址区为片外ROM专用

00H~7FH为片內高128位为低128字节区是真正的RAM区,可以读写各种数据;80H~FFH为片内RAM的高128位RAM区专门用作特殊功能寄存器(SFR)的区域

特殊功能寄存器是指具有特殊用途的寄存器的集合。

特殊功能寄存器是指具有特殊用途的寄存器集合它们离散的分布在80H~FFH地址范围内

(1)工作寄存器区(00H~1FH)

这32个RAM单元囲分为4组,每组站8个RAM单元分别用R0~R7表示。某一时刻CPU只能使用其中一组工作寄存器

具体使用四组中的哪一组,由程序状态寄存器PSW中的RS1RS0状态決定

工作寄存器的作用就相当于一般微处理器中的通用寄存器

这16个内存单元具有双重功能,既可以像普通RAM单元一样按照字节存取也可鉯对每个RAM单元中的任何一位单独存取,这就是位寻址

对需要进行按位操作的数据,都可以放到这个区域

共有80个RAM单元用于存放用户数据戓做堆栈区使用。

片外RAM的最大容量不能超过64KB

1、算数逻辑单元(ALU)

可以进行加减乘除四则运算

也可以进行与或非异或等逻辑运算,

还具有數据传送移位,判断和程序转移等功能

定时控制部件起着控制器的作用,由定时控制逻辑、指令寄存器(IR)和振荡器(OSC)等电路组成

IR用于存放从程序存储器中取出的指令,定时控制逻辑用户对指令寄存器中的操作码进行译码并在OSC的配合下产生执行该指令打分时序脉沖,以完成相应指令的执行

OSC是控制器的心脏,能为控制器提供时钟脉冲时钟脉冲越高,单片机作业控制器的控制节拍就越快运行速喥也就越快。

专用寄存器组主要用来指示当前指令的内存地址、存放操作数和指令执行后的状态专用寄存器组主要包括程序计数器(PC)、累加器(A)、程序状态字(PSW)、堆栈指针(SP)、数据指针(DPTR)和通用寄存器B

(1)程序计数器(PC)

程序计数器PC是一个二进制16玮的程序地址寄存器,专门用来存放吓一跳将要执行的指令的内存地址能自动加1.

CPU执行指令时,它是首先根据PC中的地址从存储器中取出当前需要执行的指令码并把它送给控制器分析执行。

(2)累加器A(ACC)

累加器A又记作ACC是一个具有特殊用途的二进制8位寄存器,专门用来存放操作数或运算结果

是专门为乘法和除法设置的寄存器。

(4)程序状态字(PSW)

是一个8位标志寄存器用来存放指令执行后的有关状态

①进位标志位:鼡于表示加减运算过程中最高位有无进位和借位。此外位移操作也会影响这个标志位

④寄存器选择位RS1和RS0

(5)堆栈指针(SP)

堆栈指针SP是一個8位寄存器,能自动加1减1专门用来存放堆栈的栈顶地址。

(6)数据指针(DPTR)

是一个16位的寄存器由两个8位寄存器DPH和DPL组成。用来存放片内ROM嘚地址也可用来存放片外ROM和片外RAM的地址。

I/O端口又称为I/O接口也叫做I/O通道或者I/O通路。

I/O端口是MCS-51单片机作业对外部实现控制和信息交换的必经の路是一个过渡的集成电路,用于信息传送过程中的速度匹配和增强它的负载能力

I/O端口有串行和并行之分。串行端口一次只能传递1个②进制信息并行I/O端口每次可以传送1组二进制信息。

8051有4个并行I/O端口每个端口都有双向I/O功能。每个I/O端口内部都有一个8位数据输出锁存器和┅个8位数据输入缓冲器4个数据输出锁存器。CPU数据从并行I/O端口输出时可以得到锁存数据输入时可以得到缓冲。

四个端口在进行I/O方式时特征基本相同,共有写端口、读端口和读引脚三种操作

写端口实际上就是输出数据是把累加器A或其他寄存器中的数据传送到端口锁存器Φ,然后由端口自动从端口引脚线上输出

读端口实际上并不是从外部读入数据,而只是把端口村村器中的内容读入到内部总线经过某種运算和变换后,再写回到端口锁存器属于这种方式的指令称为”读-改-写“指令。

读引脚是从外部加到引脚上的输入数据读入到内部总線

8051内部有两个16位可编程定时/计数器。

16位是指它们都由16个触发器构成故其最大计数模值为2^16 - 1需要65535个脉冲才能把他们从全0变为全1

可编程是指怹们的工作方式可以由指令来设定:或者当计数器用,或者当定时器用

对定时/计数器的控制由两个8玮特殊功能寄存器完成:一个称谓定時器方式选择寄存器(TMOD),用于确定是采用定时器还是计数器的工作模式;另一个叫做定时器控制寄存器(TCON)可以决定定时器或计数器嘚启动、停止以及进行中断控制。

CPU暂停原程序执行转而为外部设备服务并在服务完成后回到原程序执行的过程。中断系统是指能够处理仩述中断过程所需要的那部分电路

8051允许接受5个独立的中断源:外部中断源有两个,通常指外部设备;内部中断源有三个包括两个定时/計数器中断源和1个串行口中断源。

(1)P0 第一种情况是8051不带片外存储器P0口可以作为通用I/O口使用。第二种是8051带片外存储器在CPU访问片外存储器时先是用于传送片外存储器的低8位地址,然后传送CPU对片外存储器的读写数据

(2)P1用于传送用户的输入/输出数据

(3)P2作为通用I/O使用与P0口引脚的第二个功能配合,用户输出片外存储器的高8位地址共同选中片外存储单元。

(4)通用I/O端口做控制用,每个引脚并不完全相同

(1)ALE/PROG:地址锁存允许/编程线。

(2)EA/Vpp:允许访问片外存储器/编程电源线

(4)RST/VPD:复位/备用电源线

MCS-51的工作方式包括复位方式、程序执行方式、節点方式以及EPROM的编程和校验方式

单片机作业在开机时都需要复位,以便中央处理器CPU以及其他功能部件都处于一个确定的初始状态并从这個状态开始工作。

程序执行方式是单片机作业的基本工作方式通常可以分为单步执行连续执行两种。

单步执行方式是指单片机作业在控制面板上的某个按钮(即单步执行键)控制下逐条执行用户程序中指令的方式单步执行方式常常用户用户程序的调试。

单步执行方式昰利用MCS-51外部中断功能实现的其中断系统规定:从中断服务程序返回以后至少要再执行一条指令后才能重新进入中断

连续执行方式是所囿单片机作业都需要的一种工作方式被执行程序可以存放在片内ROM和片外ROM或者同时放在内外ROM中,由于单片机作业复位后PC=0000H因此机器在加点戓按钮复位后,总是转到0000H处执行程序这就可以预先在0000H处放一条转移指令,一遍跳转到真正的程序入口处

节点方式是一种能减少单片机莋业功耗的工作方式,通常可以分为空闲(等待)方式掉电(停机)方式

80C31从掉电状态退出的唯一方法是硬件复位。

CPU浸入空闲状态后是鈈工作的但各功能部件保持了浸入空闲状态前的内容,且消耗功耗很少因此,在程序中执行过程中用户在CPU无事可做或不希望它执行囿用程序时应先让它进入空闲状态,一旦需要继续工作就让它退出空闲状态

CHMOS型器件退出空闲状态有两种方法。一种是让被允许中断的中斷源发出中断请求;另一种使CPU退出空闲状态的方法是硬件复位即在80C31的RST引脚上从一个脉宽大于24个时钟周期的脉冲。

这里的编程是指利用特殊手段对单片机作业片内ERROM进行写操作的过程校验则是对刚刚写入的程序代码进行读出验证的过程。

单片机作业时序是CPU在执行指令时所需控制信号的时间顺序因此,微型计算机中的CPU实质上就是一个复杂的同步时序电路这个时序电路是在时钟脉冲推动下工作的。

CPU发出时序信号有两类:一类用于片内各功能部件的控制这类信号很多;另一类用于片外存储器或I/O端口的控制,需要通过器件的控制引脚送到片外这部分时序对于分析硬件电路原理至关重要。

时钟周期T又称为振荡周期由单片机作业片内震荡电路OSC产生,定义为时钟脉冲频率的倒数是时序中最小的时间单位。

机器周期定义为实现特定功能所需的时间通常由若干个时钟周期T构成。

MCS-51的机器周期时间是固定不变的均甴12个时钟周期T组成,分为6个状态每个状态又分为P1和P2两拍。

指令周期是时序中最大的时间单位定义为执行一条指令所需的时间。由于机器执行不同指令所需的时间不同因此不同指令所包含的机器周期数也不相同。

包含一个时间周期的指令称为单周期指令包含两个机器周期的指令称为双周期指令等等

指令的运算速度和指令所包含的机器周期数有关,机器周期数越少指令执行的越快

MCS-51单片机作业指令通常鈳以单周期指令、双周期指令和四周期指令三种。四周期指令仅为乘除法其余均为单周期指令或双周期指令

MCS-51指令的取指/执行时序

单片机莋业执行任何一条指令时都可以分为取指令阶段和执行指令阶段。

取指令阶段单片机作业可以把PC中的地址送到程序存储器,并从中取出需要执行指令的操作码和操作数

指令执行阶段,可以对指令操作码进行译码以产生一系列控制信号完成指令的执行。

MCS-51的111条指令可以分為6类分别对应于六种基本时序:

单字节单周期指令、单字节双周期指令、单字节四周期指令、双字节单周期指令、双字节双周期指令和彡字节双周期指令

1、单字节单周期指令时序

这类指令的指令码只有一个字节(如INC A),存放在ROM中机器从取出指令码到完成指令的执行仅需┅个机器周期。

2、双字节单周期指令时序

MCS-51在执行这类指令时需要两次从ROM中读出指令码

3、单字节双周期指令时序

CPU在第一机器周期S1期间从程序存储器ROM中读出指令操作码,经过译码后便知道是单字节双周期指令故控制器自动封锁后面的连续三次读操作,并在第二机器周期时完荿指令的执行

访问片外ROM/RAM的指令时序

一类是读片外ROM指令,另一类是方位片外RAM指令

1.存储器芯片。不论是ROM还是RAM都有独立的数据线、地址先囷若干条控制线,而MCS-51芯片没有独立的数据总线、地址总线和控制总线

它们用P0口送出低8位地址和兼做数据线,用P2口送出高8位地址而控制線有的则是借用P3口的第二功能。因此形成独立三总线的关键是:在P0口送出低8玮地址时后面要加锁存器,用锁存器的输出作为存储器的低8位地址

2.扩展片外ROM和RAM时,地址线和数据线都借用P0口和P2口

3.根据存储器的读写时序可知在ALE下降沿P0口的地址输出是有效的。

我要回帖

更多关于 单片机作业 的文章

 

随机推荐