单片机考试知识

上传人:ni****g 文档编号:473666923 上传时间:2023-09-03 格式:DOCX 页数:17 大小:280.72KB
返回 下载 相关 举报
单片机考试知识_第1页
第1页 / 共17页
单片机考试知识_第2页
第2页 / 共17页
单片机考试知识_第3页
第3页 / 共17页
单片机考试知识_第4页
第4页 / 共17页
单片机考试知识_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《单片机考试知识》由会员分享,可在线阅读,更多相关《单片机考试知识(17页珍藏版)》请在金锄头文库上搜索。

1、知识结构图2-1典型单片机的基本组成结构外时钟源外部事件计数附t中控n并行可编程/I/O外部中断控制PO P2 Pl P3RXD TXD(数据/地址)P38 位、准双向 I/O 口,具有内部上拉电阻。P3 还提供各种替代功能。在提供这些功能时,其输出锁存器应由程序置1。P3 口可以驱动4个LSTTL负载。串行口:P3.0一一RXD (串行输入口),输入。P3.1一一TXD (串行输出口),输出。 中断:P3.2一INI0,外部中断0,输入。P3.3一一INT1,外部中断1,输入。定时器/计数器:P3.4一一T0,定时器/计数器0的外部输入,输入。P3.5一一T1,定时器/计数器1的外部输入,输

2、入。 数据存储器选通:P3.6WR,低电平有效,输出,片外数据存储器写选通。P3.7RD低电平有效,输出,片外数据存储器读选通。控制线:共4根。 输入:RST一一复位输入信号,高电平有效。在振荡器工作时,在RST上作用两个机器周期以上的高电平,将器件复位。EA/Vpp一一片外程序存储器访问允许信号,低电平有效。在编程时,其上施加21 V或12 V 的编程电压。 输入、输出:ALE/PROG一一地址锁存允许信号,输出。用做片外存储器访问时,低字节地址锁存oALE以1/6的振荡频率稳定速率输出,可 用做对外输出的时钟或用于定时。在EPROM编程期间,作输入。输入编程脉冲(PROG)。】ALE 可以

3、驱动8个LSTTL负载。 输出控制线:PSEN一片外程序存储器选通信号,低电平有效。在从片外程序存储器取指期间,在每个机 器周期中,当PSEN有效时,程序存储器的内容被送上P0 口(数据总线)。_PSEN可以驱动8 个LSTTL负载。2) 数据指针 DPTR数据指针是80C51中一个功能比较特殊的寄存器。从结构上说,DPTR是一个16位 的特殊功能寄存器,主要功能是作为片外数据存储器寻址用的地址寄存器(间接寻址),故 称为数据指针。访问片外数据存储器的指令为: MOVX A, DPTR读MOVXDPTR, A写此时, DPTR 的输出,即片外数据存储器的地址,与 P0、P2 口之间的关系如图

4、2-5 所示。数据指针d dd dcndCMri dd95I在垃行请期缶t t t t v诂AL$的*降瀟t t t t f vvo629in2Io输岀口程序或数据存储器地址图 25 DPTR 的输出与 P0、 P2 口之间的关系 DPTR 寄存器也可以作为访问程序存储器时的基址寄存器。MOVC A,A+DPTRJMP A+DPTRDPTR 寄存器既可以作为一个16 位寄存器处理如,MOVDPTR,#16 位地址INC DPTR也可以作为两个8位寄存器处理,其高8位用DPH表示,低8位用DPL表示。如:CJNE A, DPL, $CJNE A, DPH, $在80C51中,两个地址寄存器,即程

5、序计数器PC与数据指针DPTR,有相同之处,也有差别: 两者都是与地址有关的、16 位的寄存器。其中,PC与程序存储器的地址有关,而DPTR与数据存储器的地址有关。作为地 址寄存器使用时,PC与DPTR都是通过P0和P2 口输出的。但是,PC的输出与ALE及PSEN 有关;DPTR的输出,则与ALE、WR、RD相联系。DPTR寄存器也可以作为访问程序存储器时的基址寄存器。MOVC A, A+DPTRJMP A+DPTRDPTR 寄存器既可以作为一个16位寄存器处理如,MOVDPTR, #16 位地址INCDPTR也可以作为两个8位寄存器处理,其高8位用DPH表示,低8位用DPL表示。如:CJN

6、E A,DPL,$CJNEA, DPH, $在80C51中,两个地址寄存器,即程序计数器PC与数据指针DPTR,有相同之处,也有差别: 两者都是与地址有关的、 16 位的寄存器。其中,PC与程序存储器的地址有关,而DPTR与数据存储器的地址有关。作为地 址寄存器使用时,PC与DPTR都是通过P0和P2 口输出的。但是,PC的输出与ALE及PSEN 有关;DPTR的输出,则与ALE、WR、RD相联系 PC只能作为16位寄存器对待;由于有自动加1的功能,故又称为计数器;PC是不可以访问的;有自己独特 的变化方式;它的变化轨迹决定了程序执行的流程。DPTR可以作为16位寄存器对待,也可以作为两个8位

7、寄存器对待;DPTR是可 以访问的。4 程序状态字 PSW程序状态字PSW(Program Status Word)是一个逐位定义的8位的寄存器,其 内容的主要部分是算术逻辑运算单元(ALU)的输出。它是一个程序可访问的寄存器,而且可 以按位访问。格式如下:MSB LSBCYACF0RS1RS0OVP其中,除PSW.1 (保留位)、RS1和RS0 (工作寄存器选择控制位)及 F0 之外,其他四位:PSW.0 (P,奇偶校验位),PSW.2 (0V,溢出标志位),PSW.6(AC,辅助进位标志位)及PSW.7(CY,进位标志位)都是ALU运算结果的直接输出。 PSW.0,奇偶标志位。每个指令周期

8、都由硬件来置位或清除。 用以表示累加器中值为1的位数是奇数还是偶数:若累加器值为1的位数是奇数,P=1置位;否则,P=0清除。在串行通信中,常以传送奇偶校验位来检验传输数据的可靠性。通常将P置入串行帧中的奇 偶校验位。PSW.2一0V,溢出标志位。当执行运算指令时,由硬件置位或清除,以指示运算是否产生溢出;OV置位 表示运算结果超出了目的寄存器A所能表示的带符号数的范围(一128+127)。 对于ADD加法:若Ci表示位i向位i+1有进位,则0V=C6C7;当位6向位7有进位 而位7不向CY进位时,或当位7向C进位而位6不向位7进位时,OV标志置位;否则,清 除。 对于SUBB减法:若Ci表示

9、位i向位i+1有借位,则0V=C6C7;当位6向位7有借位 而位7无借位时,或当位7向CY有借位而位6不向位7借位时,0V标志置位。 对于MUL乘法:当A、B两个乘数的积超过255时,0V置位;否则,OV=0。因此,若 OV=0时,只需从A寄存器中取积;若OV=1时,则需从B、A寄存器对中取积。 对于DIV除法:若除数为0时,0V=1 ;否则,OV=0。PSW.6一一AC,辅助进位标志位。当进行加法或减法运算时,若低4位向高4位数发生进位或借位时,AC将被硬 件置位;否则,被清除。在十进制调整指令DA中有用。PSW.7一一CY,进位标志位。在进行算术运算时,可以被硬件置位或清除,以表示运算结果

10、中高位是否有进位 或借位的状态。在布尔处理机中,CY被认为是位累加器。PSW.5一一F0,用户可使用的通用标志位。开机时该位为“0。用户可根据需要,通过位操作指令置“ I或者清“0”。当CPU 执行F0测试转移指令时,根据F0的状态实现分支转移。(3) ALE信号一般地说,状态时钟经过3分频之后,产生ALE引脚上的信号输出 20时序定时单位时序是用定时单位来说明的。80C51的时序定时单位共有4个,从小到大依次 是: 节拍、状态、机器周期和指令周期。(1) 节拍与状态:一个状态包含两个节拍,其前半周期对应的节拍叫 P1, 后半周期对应 的节拍叫 P2(2) (2) 机器周期: 80C51 采用

11、定时控制方式,因此它有固定的机器周期。规定一个机器 周期的宽度为6个状态,并依次表示为S1S6。由于一个状态又包括两个节拍,因 此一个机器周期总共有12个节拍,分别记作S1P1, S1P2,,S6P2。由于一个机器 周期共有12个振荡脉冲周期,因此机器周期就是振荡脉冲的12分频。当振荡脉冲 频率为12 MHz时,一个机器周期为1 us;当振荡脉冲频率为6 MHz时,一个机器周 期为2 us。(3) 指令周期:执行一条指令所需要的时间称为指令周期。它是最大的时序定时单位。 80C51 的指令周期根据指令的不同,可包含有一、二、四个机器周期。3 80C51 指令时序80C51 共有 111 条指令

12、,全部指令按其长度可分为单字节指令、双字节指令和 三字节指令。执行这些指令所需要的机器周期数目是不同的,概括起来共有以下几种情况:单字节单机器周期指令、单字节双机器周期指令、双字节单机器周期 指令和双字节双机器周期指令,三字节指令都是双机器周期的,而单字节乘除指令则均为四机器周期的。图 2-10 所表示的是几种典型单机器周期和双机器周期指令的时序.OSC读操作码数拥S2S3S4S5Pl P2Pl P2Pl P2Pl P2机器周期UUUUULTVUUU& I IIS1S2S3S4S5S6(b)怒字节单周期指令如ADDA, #data读第二字节S1S2S3S4S5S6S2S3S4S5Pl P2Pl

13、 P2Pl P2Pl P2机器周期读操作码读下-个操作码(丢弃)读下一个-石* A仃r1 1V(c)单宇节双周期指令,如FNC DPTR1 S2S3S4S5S6siS2S3S4S5S2S3S4S5S6siS2S3S4S5 |图 21080C51 的取指/ 执行时序 单机器周期指令,如图2-10 (a)、(b)所示。双字节时,执行在S1P2开始,操作码被读入指令寄存器;在 S4P2 时,再读入第二个字节。单字节时,执行在 S1P2 开始,操作码被读入指令寄存器;在S4P2时仍有读操作,但被读入的字节(即下一 操作码)被忽略,且此时PC并不增量。以上两种情况均在S6P2时结束操作。 双机器周期指令

14、,如图2-10 (c)、(d)所示。双字节时,执行在S1P2开始,操 作码被读入指令寄存器;在S4P2时,再读入的字节被忽略。由S5开始送出外部数 据存储器的地址,随后是读或写的操作。在读、写期间, ALE 不输出有效信号。在第二个机器周期,片外数据存储器也寻址和选通,但不产生取指操 作。单字节时,执行在S1P2开始,在整个两个机器周期中,共发生四次 读操作,但是后三次操作都无效。一般地,算术/逻辑操作发生在节拍1 期间,内部寄存器之间的传 送发生在节拍2期间。图中的 ALE 信号是为地址锁存而定义的,该信号每有效一次对应单 片机进行的一次读指令操作。 ALE 信号以振荡脉冲六分之一的频率出现,因此在一 个机器周期中,ALE信号两次有效,第一次在S1P2和S2P1期间,第二次在S4P2和 S5P1 期间,有效宽度为一个状态。现对几个典型指令的时序作如下说明:*单字节单周期指令(例如INCA)由于是单字节指令,因此只需进行一次读指令操作。 当第二个ALE有效时,由于PC没有加1,所以读出的还是原指令,属于一次无效的操

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号