单片机复位时 堆栈指针sp pc psw tmod scon p0_单片机测试题1

合集下载

单片机原理第2章习题解答

单片机原理第2章习题解答

单片机原理第2章习题解答审I器讨”右第2章思考题及习题2参考答案一、填空1. 在AT89S52单片机中,如果采用6MHz晶振,一个机器周期为 _______ 。

答:2g2. AT89S52单片机的机器周期等于______ 个时钟振荡周期。

答:123. 内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为________ 和______ 。

答: 28H, 88H4. 片内字节地址为2AH单元最低位的位地址是__________ ;片内字节地址为A8H单元的最低位的位地址为_________ 。

答:50H, A8H5. 若A中的内容为63H,那么,P标志位的值为____________ 。

答:06. AT89S52单片机复位后,R4所对应的存储单元的地址为______ ,因上电时PS ________ 。

这时当前的工作寄存器区是_________ 组工作寄存器区。

答:04H, 00H, 0。

7. 内部RAM中,可作为工作寄存器区的单元地址为_____ 也〜_______ 也。

答:00H,仆H8. 通过堆栈操作实现子程序调用时,首先要把__________ 的内容入栈,以进行断点保护。

调用子程序返回指令时,再进行出栈保护,把保护的断点送回到____________ ,先弹出的是原来中的内容。

答:PC, PC, PCH9. AT89S52单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为AT89S52单片机的PC是16位的,因此其寻址的范围为KB 。

答:6410. AT89S52单片机复位时,P0~ P3口的各引脚为________ 电平。

答:高11. AT89S52单片机使用片外振荡器作为时钟信号时,引脚XTAL1接________ ,引脚XTAL2的接法是_________ 。

答:片外振荡器的输出信号,悬空12. AT89S52单片机复位时,堆栈指针SP中的内容为____________ ,程序指针PC中的内容为________ 。

51单片机堆栈操作指令的用法

51单片机堆栈操作指令的用法

51单片机堆栈操作指令的用法51单片机是一种非常常用的单片机芯片,其指令集非常丰富,其中包含了很多堆栈操作指令。

堆栈操作指令是用来进行数据的入栈和出栈操作的指令,通过堆栈操作指令,我们可以方便地保存和恢复程序执行中的临时数据,提高代码的灵活性和效率。

本文将详细介绍51单片机堆栈操作指令的用法,帮助读者更好地理解和运用这些指令。

一、堆栈简介堆栈(Stack)是一种特殊的数据结构,具有后进先出(LIFO)的特点。

在51单片机的内部RAM中,有一段专门用来存放堆栈的空间,这段空间的大小为128字节(地址为0x07Fh至0x080h)。

在程序执行过程中,我们可以通过堆栈操作指令将数据入栈或者出栈,进栈是将数据放入堆栈,出栈是将数据从堆栈中取出。

二、堆栈操作指令51单片机的指令集中包含了以下几条堆栈操作指令:1. PUSH 指令PUSH指令用于将8位数据入栈,将要入栈的数据放入寄存器A中,通过PUSH 指令可以将A的数据压入堆栈。

PUSH指令的实际操作是将A的数据先放入栈顶指针(SP)所指向的内存单元中,然后将SP的值减1,即栈顶指针向下移动一个位置。

2. POP 指令POP指令用于将数据出栈,即从堆栈中取出一个8位数据,并放入寄存器A中。

POP指令的实际操作是将栈顶指针向上移动一个位置,然后将栈顶指针所指向的内存单元中的数据取出,并放入A中。

3. XCH指令XCH指令用于交换A寄存器的数据和栈顶指针所指向的内存单元的数据。

具体操作是将栈顶指针所指向的内存单元中的数据取出,并放入A中,然后将A中的数据放回栈顶指针所指向的内存单元中。

4. LCALL指令LCALL指令是一个特殊的调用指令,用于将下一条指令的地址入栈,并转移到指定地址处执行。

具体操作是将下一条指令的地址(即当前指令的地址加3)入栈,然后将指定地址的值赋给程序计数器(PC)。

5. RET指令RET指令用于从子程序返回,从堆栈中取出地址,并赋给程序计数器(PC),从而实现返回到调用该子程序的地方继续执行。

单片机技术及C程序设计第版答案唐颖阮越完整版

单片机技术及C程序设计第版答案唐颖阮越完整版

单片机技术及C程序设计第版答案唐颖阮越Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】《单片机技术及C51程序设计》(第2版)习题解(注:问答题略)习题1部分习题解1-1 给出下列有符号数的原码、反码和补码(设计算机字长为8位)。

+37 -86 -105 +112 -79解:+37:原码=00100101B;反码=00100101B;补码=00100101B-86:原码=B;反码=B;补码=B-105:原码=B;反码=B;补码=B+112:原码=01110000B;反码=01110000B;补码=01110000B-79:原码=B;反码=B;补码=B1-2 8位补码表示的定点整数的范围是多少解:-128~+1271-3 已知X、Y是两个有符号数的定点整数,它们的补码为:[X]补=00010011B,[y]补=B,求[X+Y]补等于多少解:[X+Y]补=[X]补+[y]补=00001100B1-4 请选择正确答案填在括号中:将-33以补码形式存入8位寄存器中,寄存器中的内容为( A )A.DFH B.A1H C.5FH D.DEH 1-5 请选择正确答案填在括号中:如果X为负数,由[X]补求[-X]补是将( D )A.[X]补各值保持不变B.[X]补符号位变反,其他各位不变C.[X]补除了符号位外,各位变反,末位加1D.[X]补连同符号位一起各位变反,末位加11-6 请选择正确答案填在括号中:设有二进制数X=-1101110,若采用8位二进制数表示,则[X]补的结果是( D )。

A.B.C.00010011 D.1-7 8051与8751的区别是( C )A.内部数据存储数目的不同B.内部数据存储器的类型不同C.内部程序存储器的类型不同D.内部寄存器的数目不同1-8 单片机与普通计算机的不同之处在于其将(CPU)(存储器)和(I/O接口)三部分集成于一块芯片上(的单片微机)1-9 MCS-51单片机内部提供了哪些资源略1-10 单片机有哪些应用特点主要应用在哪些领域略1-11 MCS-51单片机如何进行分类各类有哪些主要特性略习题2部分习题解2-1 填空题1.MCS-51单片机中P3端口的第5位()的位地址是(B5H)。

单片机复位电路原理以及复位后各寄存器的状态

单片机复位电路原理以及复位后各寄存器的状态

单片机复位电路原理以及复位后各寄存器的状态
单片机复位电路原理以及复位后各寄存器的状态
关于单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。

单片机复位电路原理是在单片机的复位引脚rst 上外接电阻和电容,实现上电复位,而复位时间是(时钟周期=12×振荡周期,振荡周期=1/f),这个时间只能大不能小,具体数值可以由rc电路计算出时间常数。

单片机复位后各寄存器的状态
A=00H,表明累加器已被清零;PSW=00H,表明选寄存器0组为工作寄存器组;SP=07H,表明堆栈指针指向片内RAM 07H字节单元,根据堆栈操作的先加后压法则,第一个被压入的内容写入到08H单元中;Po-P3=FFH,表明已向各端口线写入1,此时,各端口既可用于输入又可用于输出;IP=×××00000B,表明各个中断源处于低优先级;IE=0××00000B,表明各个中断均被关断;。

51单片机数据存储器结构详解

51单片机数据存储器结构详解

51单片机数据存储器结构详解1、bit是在内部数据存储空间中20H..2FH区域中一个位的地址,这在DATA的20H以后以字节形式出现,可互相参照。

另外加上8051可寻址的SFR,但刚刚试过,只是00H--7FH起作用,也就是说当数据有变化时颜色变红,以后的从80H到--FFH就不是位寻址区了,是位寻址的特殊寄存器,如涉及到了可位寻址的那11个当然会有反应。

复位后,程序计数器PC的内容为0000H,内部RAM各单元的值不确定。

各功能寄存器的复位值如下:堆栈指针SP的复位值为07H,累加器ACC、寄存器B的复位值为00H,数据指针DPTR的复位值为0000H,而p0、p1、p2、p3四个口的复位值为0FFH。

其他SFR如PSW、TCON、TMOD、TL0、TH0、TL1、TH1的复位值也为00H。

2、wave中是低128字节和高128字节(0-7FH),低128字节是片内RAM区,高128字节(80-FFH)是SFR(特殊功能寄存器)bit则是位于低128字节的20H..2FH区域,即data的20H..2FH区域3、code是在0000H..0FFFFH之间的一个代码地址。

例如:ORG5000HTAB:DB22H,3BH,43H,66H,5H,6DH,88H后,CODE从5000H开始以后变成DB各位4、data是在0到127之间的一个数据存储器地址,或者加128..255范围内的一个特殊功能寄存器(SFR)地址。

两者访问的方式不同。

实际上由于PSW的复位设置PSW.3=RS0和PSW.4=RS1皆为0,所以通用工作寄存器区就是第0区,所以data的00--07H部分是与REG栏中的R0--R7对应的。

以后的则仅代表低128字节的内部RAM。

5、idata是0to255范围内的一个idata存储器地址。

idata与data 重合低128字节,有的地方只有DATA表示256字节的片内RAM,某data 是0to65535范围内的一个某data存储器地址。

单片机 堆栈溢出检测方法

单片机 堆栈溢出检测方法

单片机堆栈溢出检测方法什么是堆栈溢出?在单片机编程中,堆栈(stack)是一种临时存储数据的方式,用于存放函数调用时造成的数据和程序的临时变量。

当函数被调用时,相关的局部变量和函数参数会被压入栈内存,当函数执行完成后,栈内存会自动弹出这些数据,以便节省内存空间。

然而,由于栈内存的大小是有限的,当函数嵌套过多或者递归调用过深时,栈内存可能会被耗尽。

此时,新的数据将无法进入栈内存,从而导致堆栈溢出(stack overflow)错误的发生。

堆栈溢出错误可能会导致系统崩溃、数据丢失或安全漏洞。

因此,为了确保系统的稳定性和安全性,我们需要采取一些方法来检测和防止堆栈溢出错误的发生。

堆栈溢出检测方法之一是编程规范。

在单片机编程中,我们应该养成良好的编程习惯,遵循一些基本的编程规范,来预防堆栈溢出错误。

例如,合理地设计程序结构和函数调用层次,避免过多的函数嵌套和递归调用。

同时,对于递归调用的函数,要考虑到递归层数的限制,适时地设置终止条件,避免无限递归造成的栈内存耗尽。

另一种堆栈溢出检测方法是使用调试工具。

在单片机编程中,我们可以利用调试工具来动态监测栈内存的使用情况。

通过设置断点和监视变量,我们可以实时跟踪栈内存的变化,了解当前栈的使用情况。

当发现栈内存占用过多或者递归调用层数过深时,我们可以通过调试工具来及时发现并排除潜在的堆栈溢出问题。

此外,静态代码分析工具也是一种有效的堆栈溢出检测方法。

静态代码分析工具能够在编译阶段对代码进行静态全面地检查,并给出相应的警告或错误提示。

通过配置合适的规则,静态代码分析工具可帮助我们检测出潜在的堆栈溢出问题,提前解决漏洞,并规范编程风格。

最后,为了进一步提高系统的稳定性,我们可以考虑使用堆栈保护技术来防止堆栈溢出。

堆栈保护技术包括堆栈溢出检测和堆栈溢出保护两个方面。

堆栈溢出检测技术主要通过设置合适的监测机制来及早发现溢出错误。

例如,在栈的顶部和底部设置特殊的标记值,然后在每次函数调用和返回时检查这些标记值是否被破坏。

单片机模块中的缩写英文及中文全称

单片机模块中的缩写英文及中文全称

单片机缩写的英文全称及中文名称(利于理解)PC = progammer counter //程序计数器ACC = accumulate //累加器PSW = progammer status word //程序状态字SP = stack point //堆栈指针DPTR = data point register //数据指针寄存器IP = interrupt priority //中断优先级IE = interrupt enable // 中断使能TMOD = timer mode //定时器方式(定时器/计数器控制寄存器)ALE = alter (变更,可能是)PSEN = progammer saving enable //程序存储器使能(选择外部程序存储器的意思) EA = enable all(允许所有中断)完整应该是enable all interruptPROG = progamme (程序)SFR = special funtion register //特殊功能寄存器TCON = timer control //定时器控制PCON = power control //电源控制MSB = most significant bit//最高有效位LSB = last significant bit//最低有效位CY = carry //进位(标志)AC = assistant carry //辅助进位OV = overflow //溢出ORG = originally //起始来源DB = define byte //字节定义EQU = equal //等于DW = define word //字定义E = enable //使能OE = output enable //输出使能RD = read //读WR = write //写中断部分:INT0 = interrupt 0 //中断0INT1 = interrupt 1//中断1T0 = timer 0 //定时器0T1 = timer 1 //定时器1TF1 = timer1 flag //定时器1 标志(其实是定时器1中断标志位)IE1 = interrupt exterior //(外部中断请求,可能是)IT1 = interrupt touch //(外部中断触发方式,可能是)ES = enable serial //串行使能ET = enable timer //定时器使能EX = enable exterior //外部使能(中断)PX = priority exterior //外部中断优先级PT = priority timer //定时器优先级PS = priority serial //串口优先级寄存器部分:SFR:special funtion register //特殊功能寄存器(片内RAM 80H~FFH) ACC:accumulate //累加器PSW:progammer status word //程序状态字SP:stack point //堆栈指针DPL,DPH:DPTR(data point register //数据指针寄存器)的低8位和高8位IE:interrupt enable // 中断使能IP:interrupt priority //中断优先级PCON:power control //电源控制SCON:serial control //串行口控制SBUF:serial buffer //串行数据缓冲TCON:timer control //定时器控制TMOD:timer mode //定时器方式PSW:CY:carry (psw.7) //进位(标志)AC:auxiliary carry (psw.6) //辅助进位F0: (psw.5) //用户自定义标志位RS1,RS0:register select (psw.4,psw.3)//工作寄存器组选择位OV:overflow (psw.2) //溢出P:parity (psw.0) //奇偶校验位IE:EA:Enable All Interrupt //CPU开/关中断控制位ET1:Enable Timer //定时器2溢出中断允许位ES:Enable Serial Port //串行口中断允许位EX:Enable External //外部中断1的中断允许位IP:PS:Priority Serial //串口优先级PT:Priority Timer //定时器优先级PX:Priority External //外部中断优先级SCON:RI:Receive Interrupt //串行口接收中断请求标志位TI:Transmit Interrupt //串行口发送中断请求标志位TCON:TF1:Timer1 Overflow Flag //定时器1溢出中断请求标志TR1:Timer1 Run //定时器1启动控制位IE1:Interrupt Edge //外部中断1请求标志位IT1:Interrupt Type //外部中断1触发方式选择位8051引脚:RST:RESET (9)//复位,重启P3:RXD:Received eXchange Data (10,p3.0)//接收串行数据TXD:Transmit eXchange Data (11,p3.1)//发送串行数据INT0:interrupt 0 (12,p3.2)//中断0INT1:interrupt 1 (13,p3.3)//中断1T0:timer 0 (14,p3.4)//定时器0T1:timer 1 (15,p3.5)//定时器1RD:ReaD (16,p3.6)//外部数据存储器(RAM)的读信号WR:WRite (17,p3.7)//外部数据存储器(RAM)的写信号XTAL2,XTAL1:External Crystal Oscillator (18,19) //外部晶体振荡器PSEN:Program Store Enable (29) //程序存储器(ROM)使能ALE:Address Latch Enable (30) //地址锁存EA:External Address Enable (31) //外部程序存储器(ROM)地址允许其它:OE:output enable //输出使能MSB = most significant bit//最高有效位LSB = last significant bit//最低有效位ORG = originally //起始来源DB = define byte //字节定义EQU = equal //等于DW = define word //字定义CLKOUT:Clock out,时钟输出BUSWDITH:总线宽度Vref:参考电压(带ADC的单片机中有的)HSO:High Speed Output,高速输出HSI:High Speed Input:高速输入INST:Instruction,指令READY就绪,总线中的就绪信号或引脚NMI:No Mask Interruput (Input):不可屏蔽的中断请求(输入)BHE:Bank High Enable:存储器的高位允许,如在80286系统中RAM的组织为16位的,分为高8位和低8位数据,分别的控制信号为BHE和BLE51外部引脚缩写英文解释中文解释RST (9)Reset 复位信号引脚RxD (10--P3.0) Receive Data 串口接收端TxD (11--P3.1) Transmit Data 串口发送端INT0(————) (12--P3.2)Interrupt0 外部中断0信号输入引脚INT1(————) (13--P3.3)Interrupt1 外部中断1信号输入引脚T0 (14--P3.4) Timer0 定时/计数器0输入信号引脚T1 (15--P3.5) Timer1 定时/计数器1输入信号引脚WR(———) (16--P3.6)write写信号引脚RD(———) (17--P3.7)read 读信号引脚PSEN(—————) (29)progammer saving enable 外部程序存储器读选通信号ALE (30)Address Latch Enable 地址锁存允许信号EA(———) (31)enable 外部ROM选择信号51内部寄存器SFR special funtion register 特殊功能寄存器ACC accumulate 累加器APSW progammer status word 程序状态字CY (PSW.7) carry 进位标志位AC (PSW.6) assistant carry 辅助进位标志位OV (PSW.2) overflow 溢出标志位PC progammer counter 程序计数器DPTR data point register 数据指针寄存器SP stack point 堆栈指针TCON timer control 定时器控制寄存器TF1 (TCON.7)Timer1 flag T1中断标志位TR1 (TCON.6)Timer1 Run T1运行控制位TF0 (TCON.5)Timer0 flag T0中断标志位TR0 (TCON.4)Timer0 Run T0运行控制位IE1 (TCON.3)Interrupt1 exterior 外部中断1中断标志位IT1 (TCON.2)Interrupt1 touch 外部中断1 触发方式选择位IE0 (TCON.1)Interrupt0 exterior 外部中断0中断标志位IT0 (TCON.0)Interrupt0 touch 0-电平触发1-下降沿触发IE (A8H)interrupt enable 中断允许寄存器EA (IE.7) enable all interrupt 中断总允许位ES (IE.4) enable serial 串行口中断允许位ET1 (IE.3)enable timer 1 T1中断允许位EX1 (IE.2)enable exterior 1 外部中断1中断允许位ET0 (IE.1)enable timer 0 T0中断允许位EX0 (IE.0)enable exterior 0 外部中断0中断允许位IP (B8H)interrupt priority 中断优先级寄存器PS (IP.4) priority serial 串口优先级标志位PT1 (IP.3) priority timer 1 定时器1优先级标志位PX1 (IP.2) priority exterior 1 外部中断1优先级标志位PT0 (IP.1) priority timer 0 定时器0优先级标志位PX0 (IP.0) priority exterior 0 外部中断0优先级标志位PCON (87H) power control 电源控制和波特率选择TMOD (89H)timer mode 定时器方式控制寄存器MSB = most significant bit//最高有效位LSB = last significant bit//最低有效位OE = output enable //输出使能。

单片机 2014作业题(全)-学生

单片机   2014作业题(全)-学生

一、选择题1.( B)在家用电器中使用单片机应属于微计算机的(A)辅助设计应用 (B) 测量、控制应用 (C)数值计算应用 (D) 数据处理应用2.( A )对程序计数器PC的操作(A) 是自动进行的 (B) 是通过传送进行的(C) 是通过加“1”指令进行的 (D) 是通过减“1”指令进行的3.( B )单片机程序存储器的寻址范围是由程序计数器PC的位数决定的,MCS-51的PC为16位,因此其寻址范围是(A) 4KB (B) 64KB (C) 8KB (D) 128KB4.( C )假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为(A) 36H (B) 37H (C) 38H (D) 39H5.( A)设置堆栈指针SP=30H后,进行一系列的堆栈操作。

当进栈数据全部弹出后SP应指向(A)30H单元 (B) 07H单元 (C) 31H单元 (D) 2FH单元6.( C )PC的值是(A) 当前指令前一条的地址 (B) 当前正在执行指令的地址(C) 下一条指令的地址 (D) 控制器中指令寄存器的地址7.( B )第2组通用寄存器的字节地址为(A) 00H—07H (B)10H—17H (C) 08H—0FH (D) 18H—1FH8.( C )DPTP是多少位的寄存器(A) 8位(B) 32位(C) 16位(D) 64位9、( D )MCS-51单片机,一个机器周期包含(A)2个状态周期(B)4个状态周期 (C) 8个状态周期 (C) 6个状态周期10.( A )当震荡脉冲频率为12MHz时,一个机器周期为(A) 1us (B) 2us (C) 8us (D) 4us11、( C )80C51的内部RAM的哪些字节可进行位寻址(A) 10H-20H (B) 10H-1FH (C) 20H-2FH (D) 30H-40H12、( A)单片机复位后堆栈指针SP的值为(A) 07H (B) 0FH (C)18H (D) 30H13、( B )单片机复位后堆栈指针PC的值为(A) 0030H (B) 0000H (C) FFFFH (D) 0003H14、( C )已知累加器ACC的字节地址是E0H,可位寻址,其D0~D7的位地址是(A)D0H~D7H (B)A0H~A7H (C)E0H~E7H (D)F0H~F7H15、( D )已知PSW中的RS1 RS0 = 10 ,则R0~R7对应的字节地址是(A) 00H~07H (B) 08~0FH (C) 20H~27H (D) 10H~17H16、( C )MCS-51单片机的入栈操作应该是(A)先入栈,后SP-1 (B)先入栈,后SP+1 (C)先SP+1,后入栈(D)先SP-1,后入栈17、( C )对MCS-51单片机I/O口描述正确的是(A) P1是双向口,P0P2P3是准双向口(B)P2P3是双向口,P0P1P是准双向口(C) P0是双向口,P1P2P3是准双向口 (D) P0P2是双向口,P1P3是准双向口18.( B )MCS-51单片机的复位控制是(A)低电平复位(B)高电平复位(C)脉冲下降沿复位(D)脉冲上升沿复位19.( A )内部RAM中的位寻址区定义的位是给(A) 位操作准备的 (B) 移位操作准备的 (C) 控制移位操作准备的 (D) 以上都对20.( C )MCS-51中(A) 具有独立的专用的地址线 (B) 由P0口和P1口的口线作地址线(C) 由P0口和P2口的口线作地址线 (D) 由P1口和P2口的口线作地址线21.( B )在MCS-51中,需双向传递信号的是(A) 地址线 (B) 数据线 (C) 控制信号线 (D) 电源线22.( A )在MCS-51中,为实现P0口线的数据和低位地址复用,应使用(A) 地址锁存器 (B) 地址寄存器 (C) 地址缓冲器 (D) 地址译码器23、( B )三态缓冲器的输出应具有三种状态,其中不包括(A) 高祖抗状态 (B) 低祖抗状态 (C) 高电平状态 (D) 低电平状态24、( A )51单片机的复位信号是( )有效。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机测试题1
一、填空题(每题1分,共10分)
1.MCS-51是指单片机的()号,8031、8051是指单片机的()号。

2.MCS-51共有()条指令,可分为几种不同的寻址方式。

如:MOV A,@Ri 属于()寻址方式,MOV C, bit 属于()寻址方式。

3.单片机(计算机)在进行()运算的情况下应使用补码。

4.在程序状态字寄存器PSW中,CY与OV标志的状态可反应指令运算的结果,其中CY 为进位(借位)标志,被用于()符号数加(减)运算;OV为溢出标志,被用于()符号数加(减)运算。

5.转移指令与调用指令的相同点是两种指令都是通过改变程序计数器PC的内容来实现转移的;不同点是,当执行调用指令时,它不仅能转移到某一指定地址处,而且当子程序执行到()指令后,它能自动返回到()指令处,而普通转移指令()能返回。

6.8031有两个16位可编程定时/计数器,其中定时作用是指对单片机()脉冲进行计数,而计数器作用是指对单片机()脉冲进行计数。

7.当P1口做输入口输入数据时,必须先向该端口的锁存器写入(),否则输入数据可能出错。

8.堆栈指针SP的内容将始终指示(),当单步执行了调用指令LCALL addr16后SP的内容将()改变。

9.完成不同数制间的转换:(10100101)二=()十;(11000011)二=()十六;(01010111)BCD =()十;(58)十 = )BCD;
10.中断源的优先级别被分为高级和低级两大级别,各中断源的中断请求是属于什么级别是由()寄存器的内容决确定的。

二、选择题(每空2分,共40分)
1.判断是否溢出时用PSW的()标志位,判断是否有进位时用PSW的()标志位。

A.CY B.OV C.P D.RS0 E.RS1
2、调用子程序、中断响应过程及转移指令的共同特点是()。

A.都能返回 B.都通过改变PC实现转移
C.都将返回地址压入堆栈 D.都必须保护现场
3.当单片机从8155接口芯片内部RAM的20H单元中读取某一数据时,应使用()类指令。

A. MOV A,20H B.MOVX A,@Ri
C. MOVC A,@A+DPTR D.MOVX A,@DPTR
4.当串行口向单片机的CPU发出中断请求时,若CPU允许并接受中断请求时,程序计数器PC的内容将被自动修改为()
A.0003H B.000B C.0013H D.001BH E.0023H
5.子程序的返回和中断响应过程中的中断返回都是通过改变PC的内容实现的,而PC内容的改变是()完成的。

A.通过POP命令 B.通过MOV 指令
C.通过RET或RETI指令 D.自动
6.单片机复位后,SP、PC、I/O口的内容为()
A.SP = 07H PC = 00H P0 = P1 = P2 = P3 = FFH
B.SP = 00H PC = 0000H P0 = P1 = P2 = P3 = 00H
C.SP = 07H PC = 0000H P0 = P1 = P2 = P3 = FFH
D.SP = 00H PC = 00H P0 = P1 = P2 = P3 = 00H
7.8031定时/计数器共有四种操作模式,并由TMOD寄存器中M1 M0的状态决定,当, , , , , M1 M0的状态为10 时,定时/计数器被设定为()
A.13位定时/计数器 B.16位定时/计数器C.自动重装8位定时/计数器 D.T0为2个独立的8位定时/计数器,T1停止工作
8.8031有四个工作寄存器区,由PSW状态字中的RS1、RS0两位的状态来决定,单片机复位后,若执行 SETB RS1 指令,此时只能使用()区的工作寄存器。

A.0区 B.1区 C.2区 D.3区
9.在MCS-51单片机中,当有压入或弹出堆栈操作时,SP的内容将随之增大或减小;程序计数器PC的内容将始终指示下一条将要执行指令的地址,所以只要改变PC的内容将改变程序的运行路径。

SP的内容与PC的内容()。

A.都是8位地址 B.都是16位地址
C.位数相同 D.位数不同
10、外部RAM单元可用的寻址方式是()
A、立即数
B、直接
C、寄存器
D、寄存器间接
11.要把DPTR中的内容传送到寄存器A应用哪条指令实现()
A. MOV A,@A+PC B.MOVX A,@DPTR
C. MOVC A,@A+DPTR D.MOVX @DPTR,A
12.在五个中断源中,可通过软件确定各中断源中断级别的高或低,但在同一级别中,按硬件排队的优先级别最高的是()中断。

A.定时器T0 B.定时器T1 C.外部中断INTO
D.外部中断INT1 E.串行口
13.8031定时/计数器是否计满可采用等待中断的方法进行处理,也可通过对()的查询方法进行判断。

A.OV标志 B.CY标志 C.中断标志 D.奇偶标
14、下列那个并行口可以既作为输入输出口又可以作为高8位地址口()
A、P1
B、P2
C、P3
D、P0
15.在单片机中,( ) 是数据存储器,( )是程序存储器。

A.ROM B.EPROM C.RAM D.EEPROM E.FLASH
16.定时/计数器有4种操作模式,它们由( )寄存器中的M1 M0状态决定。

A.TCON B.TMOD C. PCON D.SCON E.PSW 17.在进行BCD码运算时,紧跟运算指令后面的指令必须是( ) 指令。

A.ADD B.DA A C.ADDC D由实际程序确定
18.下列指令中正确的有()。

A.CLR R0 B.MOVX @DPTR,B
C.MOV P3.4,A D.JBC TF0,LOOP
19.计算机能直接识别的语言是()。

A.汇编语言 B.自然语言 C.机器语言 D.硬件和软件
20.区分片外程序存储器和数据存储器的最可靠方法是()。

A. 看其芯片型号是RAM还是ROM
B.看其位于地址范围的低端还是高端
C. 看其离MCS—51芯片的远近
D. 看其是被RD还是被PSEN信号连接
三、说出下列指令的寻址方式和功能(10分)
MOV A,#55H
MOVX @DPTR,A
MOV R0,30H
MOVX A,@DPTR
MOVC A,@A+DPTR
四、计算、补充程序(20分)
设单片机晶振频率为6MHZ,使定时器1,以方式0产生周期为500μs的等宽连续正方波,由P1.0引脚输出,并以查询方式完成。

解:(1)计算初值(4分)
TH1= H,TL1= H
(2)TMOD初始化(2分)
TMOD的低四位不用,4位全为0,TMOD的高四位中M1M0= ,把定时器/计数器1设为方式,C/T= 。

故TMOD=
(3)程序:(14分)
MOV TMOD,;置TMOD值
MOV TH1,;置初值
MOV TL1,
;启动定时
LOOP:JBC TF1,LOOP1
AJMP LOOP
LOOP1:MOV TH1,;重置初值
MOV TL1,
CLR TF1
;输出波形
AJMP LOOP
五、分析程序(每空2分,共20分)
该程序是信号灯控制程序,采用P1口控制八个发光二极管的亮与灭(设输出低电平时,对应发光二极管被点亮)。

ORG 0000H
AJMP MAIN ;转主程序
ORG 001BH ;该地址是()的地址
AJMP CONT ;当出现()时,才会执行到该指令
ORG 0100H
MAIN:MOV TMOD,#10H ;执行该指令的目的是()
MOV TH1,#3CH ;置50ms定时初值
MOV TL1,#0B0H ;此时堆栈指针SP的内容是()
SETB EA ;执行该指令前,EA的初始值是()
SETB ET1 ;定时器T1开中断
SETB TR1 ;执行该指令的目的是()
CLR 08H ;清1s计满标志位
MOV R3,#14H ;置50ms循环初值
DISP:MOV R2,07H
MOV A,#0FEH
NEXT:MOV P1,A ;第2次执行完该指令后,对应()灯被点亮JNB 08H,$ ;查询1s时间到否
CLR 08H ;清标志位
RL A
DJNZ R2,NEXT
MOV R2,#07H
NEXT1:MOV P1,A
JNB 08H,$
CLR 08H
RR A
DJNZ R2,NEXT1
SJMP DISP
CONT: MOV TH1,#3CH ;程序执行到此处时,堆栈指针SP的内容是()MOV TL1,#0B0H
DJNZ R3,EXIT ;判1s定时到否
MOV R3,#14H ;重置50ms循环初值
SETB 08H ;标志位置1
EXIT:RETI ;该指令的功能是将()送至PC
连续运行该程序时,观察二极管的变化规律是()。

相关文档
最新文档