单片机复位时 堆栈指针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单片机的复位信号是( )有效。

8051单片机的复位状态

8051单片机的复位状态

8051单片机的复位状态复位就是指通过某种手段使单片机内部某些资源一种固定的初始状态,以确保单片机每次复位后都能在某一固定的环境中从某一固定的入口地址处开始运行,8051复位后片内各特殊功能寄存器状态如下:PC内容为0000H,使单片机从起始地址0000H开始执行程序。

所以单片机运行出错或进入死循环,可以按复位键重启。

ACC内容为00H。

PSW内容为00H,意义为复位后,上次运算没有产生进位或借位,也没有产生半进位或半借位,工作寄存器组R0R7定位在内部RAM的0007单元,上次运算没有溢出,累加器中“1”的个数为偶数。

SP内容为07H,意义为堆栈指针SP指向内部数据存储器的07单元,即堆栈从08单元开始。

DPTR为0000H;POP3内容为FFH;IP的第六位为0,高六位的值不变;IE次高位即位6的值不定,其于位全为0;TMDO内容为00;TCON内容为00;TLO内容为00;THO内容为00;TL1内容为00;TH1内容为00;SCON内容为00;PCON的位六位五位四位内容不变,其余位都为0除以上寄存器外,其余的数据寄存器内容都为随机数。

8051复位电路一般来说,复位有两种方式,一种是硬件电路,一种是软件电路,8051单片机只提供硬件复位方式,没有提供软件复位指令,所以,8051中的软件复位只能通过其他手段来实现。

比如,利用堆栈实现,关于软件复位我们在抗干扰技术上讲述。

下面我们介绍8051的硬件复位,8051的硬件复位由片内复位检测电路和片外检测电路。

片内复位检测电路的作用是不断的检测复位引脚RST,当发现引脚上出现持续时间大于24个钟脉冲,即两个机器周期的高电平时,就自动对8051进行复位。

片外复位电路一般有上电复位和带按键的上电复位两种。

我们来看看带按键的上电复位电路的工作过程:该电路由一只电容,两只电阻和一只常用开按钮组成。

当按钮常开时,为上电复位;系统加电前,电容两端电压为0,系统加电后,由于电容两端电压不能跳变,所以电容两端的电压仍旧为0,即引脚RST出现高电平,随后,电容开始充电,电容上的电压从0开始上升,引脚RST上的电位开始回落,经过一段时间,引脚RST被电容充电拉为低电平,这样,在引脚RST上就产生一个一定宽度的正脉冲,只要电容C和电阻R2的参数选择合适,这个正脉冲的宽度就能达到8051复为脉冲的要求,即大于两个机器周期。

单片机的堆栈

单片机的堆栈

单片机的堆栈在单片机的世界里,堆栈就像是一个神秘而又重要的“仓库”,它在程序的运行中发挥着至关重要的作用。

对于很多初学者来说,理解堆栈可能会有些困难,但只要我们一步一步地深入探究,就会发现它其实并没有那么复杂。

首先,我们来想象一下堆栈是什么样子的。

可以把它想象成一个垂直的货柜,数据就像货物一样被存放在里面。

这个货柜有一个出入口,位于顶部。

新的数据总是被放在最上面,而要取出数据时,也是从最上面开始取。

这就是所谓的“后进先出”原则,Last In First Out,简称LIFO。

那么,单片机为什么需要堆栈呢?这是因为在程序运行的过程中,会有各种各样的情况需要临时保存数据。

比如,当单片机执行一个函数调用时,需要保存当前的程序地址和一些关键的寄存器值,以便函数执行完后能够回到原来的位置继续执行。

这时,堆栈就派上用场了。

堆栈的操作主要包括入栈和出栈。

入栈就是把数据存放到堆栈中,而出栈则是从堆栈中取出数据。

在单片机中,通常会有专门的指令来实现这些操作。

当进行入栈操作时,单片机先将堆栈指针(SP)的值减一,然后将数据存放到 SP 所指向的地址中。

比如说,如果当前 SP 的值是 0x80,要入栈一个字节的数据 0x55,那么单片机就会先将 SP 的值减一,变成 0x7F,然后把 0x55 存放到地址 0x7F 中。

出栈的过程则相反。

单片机先从 SP 所指向的地址中取出数据,然后将 SP 的值加一。

继续上面的例子,如果要出栈,单片机就会从地址0x7F 中取出之前存入的 0x55,然后将 SP 的值加一,变回 0x80。

在实际的编程中,我们需要合理地设置堆栈的大小。

如果堆栈设置得太小,可能会导致数据溢出,程序出现错误;如果设置得太大,又会浪费宝贵的内存资源。

所以,要根据程序的复杂程度和可能需要保存的数据量来进行合理的规划。

堆栈的应用场景非常广泛。

除了函数调用时保存现场,在中断处理中也起着关键作用。

当单片机响应中断时,会自动将当前的程序状态保存到堆栈中,当中断处理完成后,再从堆栈中恢复原来的状态。

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

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

单片机缩写的英文全称及中文名称(利于理解)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 ( 1 0 , p 3 . 0)//接收串行数据TXD:Transmit eXchange Data (11,p3.1)// 发送串行数据INTO:interrupt 0 (12,p3.2)〃中断0INT1:interrupt 1 (13,p3.3)// 中断1 T0: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 In put :高速输入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 数据指针寄存器MSB = most significant bit// 最高有效位LSB = last significant bit// 最低有效位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 中断允许位 定时器控制寄存器 timer control IP PS PT1 PX1 B8H ) (IP.4) (IP.3) (IP.2) (IP.1) (IP.0) interrupt priority priority serial priority timer 1 priority exterior 1 priority timer 0 priority exterior 0 PT0 PX0 PCON (87H) power control TMOD ( 89H ) timer mode 中断优先级寄存器 串口优先级标志位 定时器 1 优先级标志位外部中断 1 优先级标志位 定时器 0 优先级标志位 外部中断 0优先级标志位 电源控制和波特率选择 定时器方式控制寄存器 SP stack point 堆栈指针TCONOE = output enable // 输出使能。

单片机模拟习题及参考答案

单片机模拟习题及参考答案

单片机模拟习题及参考答案l、8031定时/计数器是否计满可采用等待中断的方法进行处理,也可通过对()的查询方法进行判断。

A、奇偶标志B、CY标志C、O\Ti标志D、中断标志答案:D2、MCS-51单片机复位后堆栈指针SP=()。

A、07B、OFC、7FD、OFF答案:A3、使用单片机开发系统调试程序时,对源程序进行汇编的目的是()。

A、将目标程序转换成源程序B、将低级语言转换成高级语言C、连续执行D、将源程序转换成目标程序答案:D4、下列芯片中属于单片机的芯片是()。

A、Z80B、80486C、8155D、A T89C52答案:D5、累加器A的内容是23且执行SWAP戍旨令后累加器的内容变为()。

A、02HB、03C、32D、13H答案:C6、对于MCS-5D系列单片机来说,直接寻址可寻址的空间是()。

A、内部RAM口外部RAMB、程序存储器和外部RAMC、内部RAMP o—7FH的空间和特殊功能寄存器D、外部RAM答案:C7、8752单片机是()位机。

A、32B、16C、8D、4答案:C8、MCS-51系列单片机内部计数器的最大位数是()位。

A、4B、8C、16D、32答案:C9、A T89C51单片机有()个中断优先级。

A、2B、3C、4D、5答案:A10、当8051单片机系统的振荡晶体频率为12M H沉,其一个机器周期的时间是()。

A□0.5µSB□lµSm2µSll4µS答案:B11、8031单片机的定时器T l有()种工作方式。

A、1B、4C、0030HD、2答案:C12、8031单片机的定时器Tl有()种工作方式。

A、3B、2C、lD、4答案:A13、下列设备中属于嵌入式系统的是()A、笔记本电脑B、MP漏放器C、服务器D、台式计算机答案:B14、下列芯片中属于单片机的芯片是()。

A、80486B、Z80C、8086D、PIC16C52答案:D15、累加器A的内容是87且执行RR A指令后累加器的内容变为()。

单片机上电复位后psw的值

单片机上电复位后psw的值

单片机上电复位后psw的值在单片机中,psw(Program Status Word)寄存器是一个非常重要的寄存器,用于存储着单片机的状态信息。

当单片机上电复位后,psw寄存器的值会发生变化,本文将从不同的方面介绍单片机上电复位后psw寄存器的值。

psw寄存器是一个8位的寄存器,其中包含了许多位字段,用于表示不同的状态信息。

在单片机上电复位后,psw寄存器的初始值为0x00,也就是所有的位都为0。

下面将逐个介绍psw寄存器的每一位的含义和初始值。

1. CY(Carry Flag)位:用于存储进位标志位。

在单片机上电复位后,CY位的初始值为0,表示没有进位。

2. AC(Auxiliary Carry Flag)位:用于存储辅助进位标志位。

在单片机上电复位后,AC位的初始值为0,表示没有辅助进位。

3. F0(User-defined Flag 0)位:用于存储用户自定义标志位。

在单片机上电复位后,F0位的初始值为0。

4. RS0(Register Bank Select 0)位:用于选择寄存器组0或寄存器组1。

在单片机上电复位后,RS0位的初始值为0,表示选择寄存器组0。

5. RS1(Register Bank Select 1)位:用于选择寄存器组2或寄存器组3。

在单片机上电复位后,RS1位的初始值为0,表示选择寄存器组2。

6. OV(Overflow Flag)位:用于存储溢出标志位。

在单片机上电复位后,OV位的初始值为0,表示没有溢出。

7. P(Parity Flag)位:用于存储奇偶标志位。

在单片机上电复位后,P位的初始值为0,表示结果中1的个数为偶数。

8. F1(User-defined Flag 1)位:用于存储用户自定义标志位。

在单片机上电复位后,F1位的初始值为0。

可以看出,psw寄存器的初始值为0,表示各个状态位都处于初始状态。

在单片机的运行过程中,这些状态位的值会根据实际情况发生变化,用于表示不同的状态信息。

(完整word版)单片机每章习题及答案

(完整word版)单片机每章习题及答案

(完整word版)单片机每章习题及答案第三节增选习题及解答一、填空题1. 堆栈寄存器的符号是(),复位后它的内容为()。

2. 累加器A的内容有偶数个1时,特殊功能寄存器()的()位内容为()。

3. 内RAM的03H字节单元的地址符号另记为()。

4. 堆栈操作遵循的原则是()。

5. 8051单片机有4个I/O口,它们分别是(),复位后对应它们的寄存器的内容为()。

6. 为了正确地读取8051 的P1口引脚的状态值,应该先向它()。

7. 8051的()引脚应该至少保持()个机器周期的()电平,才能使8051复位。

8. 8051的封装形式为()。

9. 利用8051组成的工作系统,程序放在内部ROM,它的引脚应该接()电平。

EA10. 8051单片机的ALE引脚在CPU对外存非操作期间,它输出频率为晶体振荡器频率()的脉冲信号。

11. 8051内部程序存储器的容量为()字节,8031的内部程序存储器的容量为()字节。

12. 8031最大可以扩展()程序存储器,最大扩展的数据存储器的容量是()。

13. 位寻址区在内RAM低128字节单元的()字节中,高128字节单元中有()个特殊功能寄存器的位可以进行位操作。

14. 当前工作寄存器的选择由特殊功能寄存器()的()位的内容决定。

15. 用于位处理的布尔处理器是借用的特殊功能寄存器()的()位完成的。

16. 一个机器周期包括()个振荡周期,具体分为()个状态周期。

17. 按执行时间,8051的指令分为()周期、()周期和()周期指令共三种。

18. 单片机由CPU、存储器和()三部分组成。

19. CPU由()和()两部分组成。

20. 若不使用MCS-51片内程序存储器,引脚必须()。

EA21. 当MCS-51引脚ALE信号有效时,表示从P0口稳定地送出了()地址。

22. 当MCS-51的P0口作为输出端口时,每位能驱动()个TTL负载。

23. MCS-51有()个并行I/O口,由于是准双向口,所以在输入时必须先()。

单片机原理及接口技术试题

单片机原理及接口技术试题

1、MCS-8051系列单片机字长是 8 位,有 40 根引脚,96系列字长是 16 位。

单片机的特点有体积小、价格低、功能全。

2、8051单片机的存储器的最大特点是指令存储器与数据存储器分开编址,Px并行口的地址是与数据存储器统一编址的,或者说属于该存储器。

3、8051最多可以有 4 个并行输入输出口,最少也可以有1个并行口,即 P1 。

P3常需复用作串行通信、外部中断、外部计数脉冲和读写控制信号。

4、ALE信号的作用是低8位地址锁存。

5、8051复位后,PC= 0 H。

若希望从片内存储器开始执行,EA脚应接高电平,PC值超过 0FFF H时,8051会自动转向片外存储器继续取指令执行。

6、8051的C/T是加(加或减)计数的。

7、8051的中断向量表在 3 H、 0B H和13H、1BH、23H。

8、MOV A,40H 指令对于源超作数的寻址方式是直接寻址。

10、将CY与A的第0位的非求或的指令是 ORL C,/ACC.0 ,若原A=0,执行后A= 0 。

2、已知A = 0F8H,当执行ADD A,#0A9H指令后,PSW中的OV、CY、AC、P各为多少?若是有符号数,A中的结果用十进制表示是多少?(共 5 分)[解答] OV:0、CY:1、AC:1、P:1 A:-95单片机原理与接口技术试题(A)填空题(每空1分,共22分)1.在一片集成电路芯片上集成了(CPU )、(存储器)、(输入输出I/O接口),从而构成了单芯片卫星计算机,即(单片机)。

2.寻址方式就是(指出参与运算操作数地址的方式)。

寻址方式包含两方面的内容:一是(寻找操作数的地址),二是(寻找指令的地址)。

3.MCS-51单片机的程序储存器的低端被固定的用做特定的入口地址,如0000H:(复位);0003H:(INT0 );000BH:(T0 )。

4.单片机有两个定时器,定时器的工作方式由(TMOD )寄存器决定,定时器的启动与溢出由(TCON )寄存器控制。

单片机应用技术考试试题(答案)

单片机应用技术考试试题(答案)

单片机应用技术考试试题(1)一、填空题1.MCS-51是指单片机的(系列)号,8031、8051是指单片机的(型)号。

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

如:MOV A,@Ri 属于(寄存器间接)寻址方式,MOV C, bit 属于(位)寻址方式。

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

4.单片机位寻址区的单元地址是从(20H)单元到(2FH)单元,若某位地址是09H,它所在单元的地址应该是(21H)。

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

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

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

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

9.由于执行每条指令都要占用CPU的时间,因此采用循环结构并多次重复执行某些指令可实现软件延时。

而硬件延时一般是采用单片机的(定时/计数器)再通过软件编程来实现。

10.单片机串行通信时,若要发送数据,就必须将要发送的数据送至(SBUF)单元,若要接收数据也要到该单元取数。

11.单片机串行通信时,其波特率分为固定和可变两种方式,在波特率可变的方式中,可采用(定时器T1)的溢出率来设定和计算波特率。

二、选择题1.判断是否溢出时用PSW的(B)标志位,判断是否有进位时用PSW的(A)标志位。

A.CY B.OV C.P D.RS0 E.RS12.在运用仿真系统调试程序时,当要观察子程序内部指令的执行结果时,通常采用(B)调试方法。

单片机原理及接口技术(C51编程)(第2版)-习题答案汇总68430

单片机原理及接口技术(C51编程)(第2版)-习题答案汇总68430

第1章思考题及习题1参考答案一、填空1. 除了单片机这一名称之外,单片机还可称为微控制器或嵌入式控制器2.单片机与普通微型计算机的不同之处在于其将CPU、存储器、和I/O 口三部分,通过内部总线连接在一起,集成于一块芯片上。

3. AT89S51单片机工作频率上限为33MHz MHz。

4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低成本和提高可靠性二、单选1. 单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便B.受器件的物理性能限制C.为了通用性D.为了提高运算速度2. 在家用电器中使用单片机应属于微计算机的。

A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用3. 下面的哪一项应用,不属于单片机的应用范围。

A.工业控制 B.家用电器的控制C.数据库管理 D.汽车电子设备三、判断对错1. STC系列单片机是8051内核的单片机。

对2. AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B 的RAM、1个中断源、1个定时器(且具有捕捉功能)。

对3. 单片机是一种CPU。

错4. AT89S52单片机是微处理器。

错5. AT89S51片内的Flash程序存储器可在线写入(ISP),而AT89C52则不能。

对6. 为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。

对7. 为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。

对8. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP的长处。

对第2章思考题及习题2参考答案一、填空1. 在AT89S51单片机中,如果采用6MHz晶振,一个机器周期为2µs。

2. AT89S51单片机的机器周期等于12个时钟振荡周期。

3. 内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为28H和88H。

单片机习题及答案1

单片机习题及答案1

一、选择题1、第一块单片机是由( A )公司设计的。

A、美国仙童公司B、摩托罗拉公司C、PHILIPS公司D、Intel公司2、单片机的核心部件称为(C )。

A、RAMB、ROMC、CPUD、I/O3、为了要寻址64KB数据存储器,设置数据指针DPTR为(B )位。

A、8B、16C、24 D、324、8031单片机有(C )个引脚,其中有( )个I/O口。

A、40 16B、32 24C、40 32 D、50 325、8031单片机的(A)口是一个漏极开路的8位准双向I/O口,驱动能力最强,能驱动8个LSTTL负载。

A、P0B、P1C、P2D、P36、8051有( D)个中断源,可编程为( )个优先级。

A、5 1B、6 2C、8 3 D、5 27、MCS-51指令系统的指令格式中,必不可少的部分为(B)。

A、标号B、操作码C、操作数D、注释8、下列指令中,影响标志位的指令为( BC)。

A、RLB、RLCC、DEC AD、AJMP9、设当前PC的值为0900H,则执行无条件转移指令AJMP 03FFH指令后,程序转移的目的地址为(D)。

A、02FFHB、03FFHC、04FFHD、0BFFH10、在程序设计过程中,若要在某个地址开始保留一定数量的存储区,使用的伪指令为(C)。

A、DWB、DBC、DS D、XDATA11、8051单片机的定时器/计数器的启动和停止是通过对下列的( A )寄存器编程设定的。

A、TCONB、TMODC、TH0D、SCON12、若要利用定时器T1产生串口通信的波特率,则T1工作在( C )方式下。

A、方式0B、方式1C、方式2D、方式313、若要用定时器T0设计一个时间长度为100ms的定时时间,则T0应选择的工作方式为( B )。

A、方式0B、方式1C、方式2D、方式314、若定时器T1受外部输入引脚电平(高电平起作用)的影响,则要启动定时器T1运行软件,必须满足( C )。

(完整版)单片机期末复习题和参考答案

(完整版)单片机期末复习题和参考答案

单片机原理与接口技术复习题复习一选择题1. 有如下程序段:MOV R0,#30HSETB CCLR AADDC A,#00HMOV ﹫R0,A 执行结果是( )。

A. (30H )=0 0HB. (30H )=0 1HC. (00H )=0 0HD. (00H )=0 1H2. 在CPU 内部,反映程序运行状态或运算结果特征的寄存器是( )。

A. PCB. PSWC. AD. SP3. 各中断源发出的中断请求信号,都会标记在( )寄存器。

A. TMOD/SCONB. TCON/PCONC. IE/TCOND. TCON/SCON4. 帧格式为1 个起始位,8 个数据位,1 个停止位的异步串行通信方式是( )。

A. 方式0B. 方式1C. 方式2D. 方式35. 在数据传送过程中,数据由串行变为并行可通过( )实现。

A. 数据寄存器B. 移位寄存器C. 锁存器D. A/D 转换器6. 执行返回指令,退出中断服务子程序,则返回地址来自( )。

A. ROMB. 程序计数器C. 堆栈区D. CPU寄存器7. 中断查询,查询的是( ).A. 中断请求信号B. 中断标志C. 外中断方式控制位D. 中断允许控制位8. MCS -51 单片机扩展I/O 口与外部数据存储器( )。

A. 分别独立编址B. 统一编址C. 变址编址D. 动态变址9. 访问外部数据存储器时,不起作用的信号是( )中。

A. RDB. WRC. PSEND.ALE10. 外部中断1的中断入口地址为( )。

A. 0003HB. 000BHC. 0013HD. 001BH11. 下列指令中正确的是( )。

A. MOV P2.1 ,AB. JBC TF0 ,L1C. MOVX B ,@DPTRD. MOV A ,@R312. 串行口的移位寄存器方式为( )。

A. 方式0B. 方式1C. 方式2D. 方式313. 在家用电器中使用单片机应属于计算机的( )。

单片机端口中英文对照

单片机端口中英文对照
IP = interrupt priority //中断优先级
IE = interrupt enable // 中断使能
TMOD = timer mode //定时器 方式 (定时器/计数器 控制寄存器)
ALE = alter (变更,可能是)
PSEN = progammer saving enable //程序存储器使能(选择外部程序存储器的意思)
BHE:Bank High Enable:存储器的高位允许,如在80286系统中RAM的组织为16位的,分为高8位和低8位数据,分别的控制信号为BHE和BLE
PC = progammer counter //程序计数器
ACC = accumulate //累加器
PSW = progammer status word //程序状态字
PC = progammer counter //程序计数器
ACC = accumulate //累加器
PSW = progammer status word //程序状态字
SP = stack point //堆栈指针
DPTR = data point register //数据指针 寄存器
TI:Transmit Interrupt //串行口发送中断请求标志位
TCON:
TF1:Timer1 Overflow Flag //定时器1溢出中断请求标志
TR1:Timer1 Run //定时器1启动控制位
IE1:Interrupt Edge //外部中断1请求标志位
LSB = last significant bit//最低有效位
ORG = originally //起始来源
  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
连续运行该程序时,观察二极管的变化规律是()。

相关文档
最新文档