51单片机定时器工作原理汇编程序题。利用定时器0或1,对外部脉冲计数,没200次产生一次中断,将累加器加1,要求

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
单片机原理及接口技术张毅刚课后习题答案
下载积分:2000
内容提示:单片机原理及接口技术张毅刚课后习题答案
文档格式:DOCX|
浏览次数:1751|
上传日期: 01:13:34|
文档星级:
全文阅读已结束,如果下载本文需要使用
 2000 积分
下载此文档
该用户还上传了这些文档
单片机原理及接口技术张毅刚课后习题答案
关注微信公众号单片机原理及应用期末考试题试卷及答案大全
&&&&单片机模拟试卷 001一、选择题(每题 1 分,共 10 分) 1.8031 单片机的( a)p0 )口的引脚,还具有外中断、串行通信等第二功能。 b)p1 c)p2 ) c)寄存器 d)cpu ) d)p32.单片机应用程序一般存放在( a) ram b)rom3.已知某数的 bcd 码为 &&&&1
则其表示的十进制数值为( a) 7542h b) 7542 c) 75.42h d) 75.42 ) 。 c)rrc a d)inc a4.下列指令中不影响标志位 cy 的指令有( a)add a,20h 5.cpu 主要的组成部部分为( a)运算器、控制器 c)运算器、寄存器 6.intel a) 16 8051 b)clr )b)加法器、寄存器 d)运算器、指令译码器 cpu 是( b)4 ) c) 0003h,07h d)0800h,00h ) 。 )位的单片机 c)8 d)准 167.8031 复位后,pc 与 sp 的值为( a )0000h,00h b) 0000h,07h8.当需要从 mcs-51 单片机程序存储器取数据时,采用的指令为( a)mov a, @r1 c)movx a, @ r0 b)movc d)movx a, a, @a + dptr @ dptr )9.8031 单片机中既可位寻址又可字节寻址的单元是( a)20h b)30h ) b) add r0,a c)00hd)70h10.下列哪条指令是正确的( a) c) push movx r2 a @dptrd) mov @r0,a二、填空题(每空 1 分,共 30 分) 1.一个完整的微机系统由 和 两大部分组成。2.8051 的引脚 rst 是____(in 脚还是 out 脚),当其端出现____电平时,8051 进入复位状态。8051 一直维持这个值,直到 rst 脚收到____电平, 8051 才脱离复位状态,进入程序运行状态,从 rom 3.半导体存储器分成两大类 和 ,其中 h 单元开始取指令并翻译和执行。 具有易失性,常用于存储 。 它是______位 (是,不是) 。4.求十进制数-102 的补码(以 2 位 16 进制数表示) ,该补码为5.pc 存放_______________,具有___________特性。在 8051 中决定程序执行顺序的是 pc 还是 dptr sfg 6.123= 7.8051 内部有 b= h。 并行口,p0 口直接作输出口时,必须外接 ,其最大容量为 ;并行口作输入口时,必须先,才能读入外设的状态。 位寄存器,存放 。8.mcs-51 的堆栈只可设置在,存取数据的原则是。堆栈寄存器 sp 是 9.中断处理的全过程分为以下 3 个段: 10.定时和计数都是对、、。进行计数,定时与计数的区别是 。三、判断题(对者打√,错者打×,并改正,每题 1 分,共 10 分) 1 2 3 4 5 6 7 8 9 10 中断服务程序的最后一条指令是 ret。 存储器分成内存和外存两大部分,其中外存可以直接与 cpu 交换信息。 p2 口既可以作为 i/o 使用,又可以作地址/数据复用口使用。 在中断响应阶段 cpu 一定要做如下 2 件工作:保护断点和给出中断服务程序入口地址。 rc a 为循环左移指令。 mov a,30h 的源操作数为立即寻址方式。 mov a,@a+dptr 是一条查表指令。 mul ab 的执行结果是高 8 位在 a 中,低 8 位在 b 中。 ajmp 跳转空间最大可达到 64kb 。 dptr 是由 dph 和 dpl 两个 8 位特殊寄存器组成的。四、简答题(每题 5 分,共 15 分) 1.mcs51 的中断系统有几个中断源几个中断优先级中断优先级是如何控制的在出现同级中断申请时,cpu 按什么顺序响应(按由高级到低 级的顺序写出各个中断源)各个中断源的入口地址是多少 2. 已知单片机系统晶振频率为 6mhz, 若要求定时值为 10ms 时, 定时器 t0 工作在方式 1 时, 定时器 t0 对应的初值是多少tmod 的值是多少th0= tl0=(写出步骤) 3.mcs51 系列单片机的内部资源有哪些说出
和 8751 的区别。 五、作图题(10 分) 用 )构成 16k 的数据存储系统。要求采用线选法产生片选信号,并计算 6264 的地址范围。 六、设计题(1 题 13 分;2 题 12 分,共 25 分) 1.某单片机控制系统有 8 个发光二极管。试画出 89c51 与外设的连接图并编程使它们由左向右轮流点亮。 2.某控制系统有 2 个开关 k1 和 k2,1 个数码管,当 k1 按下时数码管加 1,k2 按下时数码管减 1。试画出 8051 与外设的连接图并编程实现上述 要求。单片机模拟试卷 001 答案一、选择题(每题 1 分,共 10 分) 1. d 2. b 3. b 4. d 5. a 6. c 7. b 8. b 9. a 10. d二、填空题(每空 1 分,共 30 分) 1.一个完整的微机系统由硬件和软件两大部分组成。 2.8051 的引脚 rst 是 in 脚(in 脚还是 out 脚),当其端出现高电平时,8051 进入复位状态。8051 一直维持这个值,直到 rst 脚收到低电平,8051 才脱离复位状态,进入程序运行状态,从 rom 0000 h 单元开始取指令并翻译和执行。 临时性数据 。3.半导体存储器分成两大类:ram rom,其中 ram 具有易失性,常用于存储 4.求十进制数-102 的补码(以 2 位 16 进制数表示) ,该补码为 9ah。 pc 它是 16 位5. 存放_cpu 将要执行的指令所在的 rom 单元的地址,具有自动加 1 特性。 8051 中决定程序执行顺序的是 pc 还是 dptr pc 在 不是(是,不是)sfg 6.123=
b= 52 h。 7.8051 内部有 的状态。 8.mcs-51 的堆栈只可设置在 内 ram 低 128b 区 存器,存放 堆栈栈顶的地址 ,其最大容量为 128b ,存取数据的原则是 先进后出 、 中断响应 4 个并行口,p0 口直接作输出口时,必须外接 上拉电阻 ;并行口作输入口时,必须先将口锁存器置 1 ,才能读入外设。堆栈寄存器 sp 是8位寄。9.中断处理的全过程分为以下 3 个段: 中断请求、 中断服务 。 。10.定时和计数都是对 脉冲 进行计数,定时与计数的区别是定时是对周期已知的脉冲计数;计数是对周期未知的脉冲计数三、判断题(对者打√,错者打×,并改正,每题 1 分,共 10 分) 1 2 3 4 5 6 7 8 9 10 中断服务程序的最后一条指令是 retreti。× 存储器分成内存和外存两大部分,其中外内存可以直接与 cpu 交换信息。× p2 口既可以作为 i/o 使用,又可以作地址/数据复用口使用。√ 在中断响应阶段 cpu 一定要做如下 2 件工作:保护断点和给出中断服务程序入口地址。√ lcrl a 为循环左移指令。× mov a,30h 的源操作数为立即直接寻址方式。 movmovc a,@a+dptr 是一条查表指令。×mul ab 的执行结果是高低 8 位在 a 中,低高 8 位在 b 中。× ajmp 跳转空间最大可达到 642kb 。 dptr 是由 dph 和 dpl 两个 8 位特殊寄存器组成的。 √四、简答题(每题 5 分,共 15 分) 1.mcs51 的中断系统有几个中断源几个中断优先级中断优先级是如何控制的在出现同级中断申请时,cpu 按什么顺序响应(按由高级到低 级的顺序写出各个中断源)各个中断源的入口地址是多少 答:mcs51 单片机有 5 个中断源,2 个中断优先级,中断优先级由特殊功能寄存器 ip 控制,在出现同级中断申请时,cpu 按如下顺序响应各个中 断源的请求:int0、t0、int1、t1、串口,各个中断源的入口地址分别是 0003h、000bh、0013h、001bh、0023h。 2. 已知单片机系统晶振频率为 6mhz, 若要求定时值为 10ms 时, 定时器 t0 工作在方式 1 时, 定时器 t0 对应的初值是多少tmod 的值是多少th0= tl0=(写出步骤) 答:定时值为 10ms 时,定时器 t0 工作在方式 1 时,定时器 t0 对应的初值是 1388h tmod 的值是 b,th0=13h;tl0=88h。 3.mcs51 系列单片机的内部资源有哪些说出
和 8751 的区别。 答:mcs51 系列单片机上有 1 个 8 位 cpu、128b 的 ram、21 个 sfr、4 个并行口、1 个串行口、2 个定时计数器和中断系统等资源。 和 8751 的区别是 8031 内无 rom;8051 内有 4kb 的掩膜 rom;8751 内有 4kb 的 eprom。 五、作图题(10 分) 答:wr 接 6264 的 we rd 接 6264 的 oe ab0---ab12 接 6264 的 a0---a12 db0—db7 接 6264 的 d0—d7 ab15、ab14 分别接 y0 和 y1 地址:0000h---1fffh;2000h---3fffh 六、设计题 1.某单片机控制系统有 8 个发光二极管。试画出 89c51 与外设的连接图并编程使它们由右向左轮流点亮。 答: 图 (5 分) mov 构思 (3 分)a,#80h (1 分) p1,a (1 分)up:mov rr sjmp a up(2 分) (1 分)2.某控制系统有 2 个开关 k1 和 k2,1 个数码管,当 k1 按下时数码管加 1,k2 按下时数码管减 1。试画出 8051 与外设的连接图并编程实现上述 要求。 答:图 (5 分) 程序(4 分) org 0000h ljmp main 构思 (3 分)org 0003h ljmp aint0org 0013h ljmp bint1 main: mov ie,#83h setb setb it0 it1mov r0,#00h mov dptr,#tab up: mov a,r0 movc mov sjmp a,@a+dptr p1,a up r0aint0: inc cjner0,#10,aint01mov r0,#0 aint01: reti bint1: dec cjne r0r0,#0ffh,bint11mov r0,#9 bint11: reti 单片机模拟试卷 002 一、填空题(每空格 1 分,共 10 分) 1.mcs—51 布尔处理机的存储空间是_______。 2.p2 口通常用作_______,也可以作通用的 i/o 口使用。 3.若由程序设定 rs1、rs0=01,则工作寄存器 r0~r7 的直接地址为______。 4.8051 的堆栈区一般开辟在_______。 5.所谓寻址,其实质就是_______。 6.存储器映象是_______。 7.定时器中断请求发生在_______。 8.中断响应时间是指______。 9.通过 cpu 对 i/o 状态的测试,只有 i/o 已准备好时才能进行 i/o 传送,这种传送方式称为_______。 10.在中断服务程序中现场保护和现场恢复期间,中断系统应处在____状态。 二、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题 1 分,共 10 分) 1.mcs-51 单片机复位操作的主要功能是把 pc 初始化为( a.0100h a.500 a.p3.2 b.1000 b.p3.3 b.2080h c.2 -500 c.p3.4 d.p3.5 )。16 16)。 d.8000h )。c.0000h d.2 -10002.若单片机的振荡频率为 6mhz,设定时器工作在方式 1 需要定时 1ms,则定时器初值应为( 3.定时器 1 工作在计数方式时,其外加的计数脉冲信号应连接到( )引脚。4.当外部中断请求的信号方式为脉冲方式时,要求中断请求信号的高电平状态和低电平状态都应至少维持( a.1 个机器周期 c.4 个机器周期 a.外部中断 0 c.定时器 0 中断 a.工作方式 0 a.et1 a.1bt: a.1 个 b.2 个机器周期 d.10 个晶振周期 )。 b.外部中断 1 d.定时器 1 中断 )。 d.工作方式 3 )。 b.工作方式 1 b.tf1 b.begin: b.1 串 c.it1 )。 c.add: )字符。 c.1 帧 d.1 波特 )。 d.stab31: c.工作方式 2 d.ie15.mcs-51 单片机在同一优先级的中断源同时申请中断时,cpu 首先响应(6.定时器若工作在循环定时或循环计数场合,应选用( 7.mcs-51 单片机的外部中断 1 的中断请求标志是( 8.下列标号中,正确的标号是( 9.串行口每一次传送(10.要想把数字送入 dac0832 的输入缓冲器,其控制信号应满足( a.ile=1, cs =1,wr 1 =0wr 1 =0 b.ile=1, cs =0, wr 1 =0 c.ile=0, cs =1,d.ile=0, cs =0,wr 1 =0三、简答题(每小题 4 分,共 20 分) 1.如何正确使用 p3 口 2.简述累加器的 acc 的作用。 3.简述寄存器间接寻址方式及其寻址范围。 4.简述 mcs-51 单片机的中断入口地址。 5.简述串行数据传送的特点。 四、读程序题(每小题 4 分,共 20 分) 1.执行下列程序段后,(p1)=_______。 mov p1,#5dh cpl p1.1 cpl p1.2 clr p1.6 setb p1.7 2.执行下列程序段后,(a)=_______,(cy)=____。 mov a,#c5h rl mov mov mov 1nc 1nc 1nc a r0,#7eh 7eh,#0ffh 7fh,#40h @r0 r0 @r0 3.下列程序段执行后,(r0)=_______,(7eh)=____,(7fh)=_______。4.已知(sp)=60h,子程序 subtrn 的首地址为 0345h,现执行位于 0123h 的 acall subtrn 双字节指令后,(pc)=___,(61h)=_______,(62h)= ____。 5.阅读下列程序,说明其功能。 mov r0,#data mov a,@r0 rl rl rl a a a mov r1,aadd a,r1 mov @r0,a ret 五、编程题(每小题 4 分,共 20 分) 1.已知在累加器 a 中存放一个 bcd 数(0~9),请编程实现一个查平方表的子程序。 2.请使用位操作指令实现下列逻辑操作: bit=( 10h ∨p1.0)∧(11h∨cy) 3.已知变量 x 存于 var 单元,函数值 y 存于 func 单元,按下式编程求 y 值。1 x0 0 x
0 y= 4.已知在 r2 中存放一个压缩的 bcd 码,请将它拆成二个 bcd 字节,结果存于 sum 开始的单元中(低位在前)。 5.将存于外部 ram 8000h 开始的 50h 数据传送 0010h 的区域,请编程实现。 六、综合应用题(每小题 10 分,共 20 分) 1.已知如图,8155 的 pa 口用于输出,pb 口用于输入,pc 口用于输出,请: (1)写出 8155 的各 i/o 口的口地址和存储器的地址范围。 (2)编写出 8155 初始化程序。b155 命令字格式: 2.已知如图并给出下列程序,请在读图并理解程序后回答下列问题: (1)程序功能为_______。 (2)adc0809 的口地址为_______。 (3)eoc 的作用是_______。 (4)程序运行结果存于_______。 adc:mov dptr,#7ffoh mov r0,#0a0h mov r2,#8 mov a,#0 loop:movx @dptr,a jb movx movx p3.3,$ a,@dptr @r0,a1nc dptr 1nc r0 djnz ajmp r2,loop adc单片机模拟试卷 002 参考答案一、填空题(每空 1 分,共 10 分) 1.00h~7fh 2.高 8 位地址线 3.08~0fh 4.用户 ram 区 5.如何确定操作数的单元地址 6.存储器在整个存储空间的地址范围 7.定时时间到 8.从查询中断请求标志位到转向中断区入口地址所需的机器周期数 9.程序查询方式 10.关中断 二、单项选择题(每小题 1 分,共 10 分) 1.c 6.c 2.c 7.d 3.d 8.d 4.a 9.a 5.a 10.b三、简答题(每小题 4 分,共 20 分) 1.要点: (1)说明 p3 口有第一功能和第二功能的使用。 (2)p3 口的第二功能各位线的含义。 (3)使用时应先按需要选用第二功能信号,剩下的口线才作第一功能 i/o 线用。 (4)读引脚数据时,必需先给锁存器输出“1” 。 2.(1)8 位专用寄存器。 (2)运算时存放一个操作数。 (3)运算后存放运算结果,所以称它为累加器。 3.(1)寄存器中存放的是操作数的地址,操作数是通过寄存器间接得到,这种寻址方式称为寄存器间接寻址方式。 (2)寻址范围: ①内部 ram 低 128 单位,形式@ri(i=0,1)。 ②外部 ram64k 使用 dptr 作间址寄存器,形式为@dptr。 4.中断入口地址为中断响应后 pc 的内容即中断服务的入口地址。 它们是:外部中断 0 定时器 t0 中断 外部中断 1 定时器 t1 中断 串行口中断 (2)传输线少,成本低。 (3)传送距离远,可达几公尺到几千公里。 四、读程序题(每小题 4 分,共 20 分) 1.(p1)=9bh 2.(a)=8bh(或 b) (cy)=不影响 3.(r0)=7fh (7eh)=00h (7fh)=41h 4.(pc)=0345h (61h)=25h (62h)=01h 5.(data)×10 操作 五、编程题(每小题 4 分,共 20 分) 1.sqr:1nc movc ret tab:db 0,1,4,9,16 db 25,36,49,64,81 2.orl c,11h mov 12h,c mov c,p1.0 orl c,/10h anl c,12h mov bit,c ret 3. mov a,var cjne a,#0,comp a a,@a+pc bh bh 0023h5.(1)传送按位顺序进行,速度慢。 sjmp res comp:jnc sjmp res func,a posi mov a,#0ffh posi:mov a,#01h res:mov ret 4.mov r0,#sum mov a,r2 anl a,#ofh mov @r0,a mov a,r2 anl a,#0f0h swap a ;存高字节 bcd 1nc r0 mov @r0,a ret 5. mov dptr,#8000h mov r0,#10h mov r2,#50h loop:movx movx @r0,a 1nc dptr 1nc r0 djnz ret r2,loop a,@dptr ;存数 ;存低字节x&0,y=-1;x=0,y=0 ;x&0,y=1;取数六、综合应用题(每小题 10 分,共 20 分)1.(1) (2)初始化程序: mov dptr,#0100h mov a,#0dh movx @dptr,a 2.(1)巡回采集 8 个通道的数据 (2)adc0809 口地址为 7ff0h~7ff7h(或 7ff8~7fffh) (3)eoc 为 a/d 转换结束信号,用来引起中断或查询,以便读取 a/d 的转换结果。 (4)结果存入外部 ram 的 a0h~a7h。单片机模拟试卷 003一、 填空 1.8051 单片机的内部硬件结构包括了: 控制系统、时钟电路、位处理器等部件,这些部件通过 2.mcs-51 的堆栈只可设置在 ,堆栈寄存器 sp 是 位寄存器。 、 、 相连接。 、和 以及并行 i/o 口、串行口、中断3.mcs-51 单片机的 p0~p4 口均是 的 功能。 4. 定时器/计数器的工作方式 3 是指得将 使用。 和i/o 口,其中的 p0 口和 p2 口除了可以进行数据的输入、输出外,通常还用来构建系统 ,在 p0~p4 口中, 为真正的双相口, 为准双向口; 口具有第二引脚拆成两个独立的 8 位计数器。 而另一个定时器/计数器此时通常只可作为5.假定(sp)=40h , (39h)=30h,(40h)=60h。执行下列指令: pop dph pop dpl 后,dptr 的内容为 二、 选择 1.mcs-96 单片机的片内 a/d 转换器是()的转换器件。 a.4 通道 8 位 b.8 通道 8 位 c.8 通道 10 位 d.8 通道 16 位 ,sp 的内容是 。2.mcs-51 单片机的堆栈区应建立在()。 a. 片内数据存储区的低 128 字节单元 c.片内数据存储区的高 128 字节单元 b. 片内数据存储区 d.程序存储区3.mcs-51 单片机定时器工作方式 0 是指的()工作方式。 a.8 位 b.8 位自动重装 c.13 位 d.16 位4.当需要从 mcs-51 单片机程序存储器取数据时,采用的指令为()。 a.mov a, @r1 c.movx a, @ r0b.movc d.movxa, a,@a + dptr @ dptr三、 简答题 1.想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置请举例加以说明。 2.51 系列单片机具有几个中断源,分别是如何定义的其中哪些中断源可以被定义为高优先级中断,如何定义 四、 参数计算 已知一 mcs51 单片机系统外接晶体振荡器频率为 11.059mhz,计算: 单片机系统的拍节 p、状态 s、机器周期所对应的时间是多少 指令周期中的单字节双周期指令的执行时间是多少五、 改错 请判断下列各条指令的书写格式是否有错,如有错说明原因: 1.mul r0r1 2.mov a,@r7 3.mov a,#3000h 4.movc 5.ljmp @a+dptr, a #1000h六、使用简单指令序列完成以下操作 1.请将片外 ram20h-25h 单元清零 2.请将 rom3000 单元内容送 r7七、 编程题(20) 已知 mcs-51 单片机系统片内 ram20h 单元存放乐一个 8 位无符号数 7ah,片外扩展 ram 的 8000h 存放了一个 8 位无符号数 86h,试编程完成以上两 个单元中的无符号数相加,并将和值送往片外 ram 的 01h、00h 单元中,同时将所编写程序运行完成后的数据和状态添入下表中给出的 psw 的有关 位以及寄存器 a、dptr 和 ram 单元中。 转贴于 265 考试网 / cy a dptr 片外 01h 片外 00h 片外 8000h 单片机模拟试卷 004 一、填空题(15 分,每空 1 分) 1.mcs—51 单片机的 p0—p4 口均是 和 ,在 p0—p4 口中, 2.mcs—5l 单片机的堆栈区只可设置在 3.mcs—51 单片机外部中断请求信号有电平方式和 时,激活外部中断。 4. 定时器/计数器的工作方式 3 是指的将 为 使用。 5.mcs—96 单片机的最大寻址空间是 配置字节 ccb 的地址为 。 ,该空间的地址范围为 ,系统上电及复位的程序入口地址为 ,芯片 拆成两个独立的 8 位计数器。 而另一个定时器/计数器此时通常只可作 i/o 口,其中的 p0 口和 p2 口除了可以进行数据的输入、输出外,通常还用来构建系统的 为真正的双向口, 为准双向口。 ,堆栈寄存器 5p 是 位寄存器。,在电平方式下,当采集到 int0、int1 的有效信号为二、简答题(15 分,每小题 5 分) 1.51 系列单片机具有几个中断源,分别是如何定义的其中哪些中断源可以被定义为高优先级中断,如何定义 2.各中断源对应的中断服务程序的入口地址是否能任意设定 3.如果想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置请举例加以说明。三、参数计算题(16 分) 已知一单片机系统的外接晶体振荡器的振荡频率为 11.059mhz,请计算该单片机系统的拍节 p、状态 s、机器周期所对应的时间是多少指 令周期中的单字节双周期指令的执行时间是多少 四、改错题(共 5 分,每小题 1 分) 以给出的指令操作码为依据,请判断 mcs—5l 单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。 1.mul 2.mov 3.mov 4.movc r0r1 a,@r7 a,#3000h @a+dptr,a 5.ljmp #1000h 五、寻址方式(5 分,每问 1 分) 说明 mcs—51 单片机的下列各条指令中源操作数的寻址方式(可直接在每条指令后面书写) 1.anl a,20h2.addc a,#20h 3.jz rel 4.clr 5.rra 六、使用简单指令序列完成以下操作(12 分) 1.请将片外 ram20h—25h 单元清零 2.请将 rom3000h 单元内容送 r7 七、编程题(18 分) 已知一 mcs—51 单片机系统的片内 ram 20h 单元存放了一个 8 位无符号数 7ah,片外扩展 ram 的 8000h 存放了一个 8 位无符号数 86h,试编程 完成以上两个单元中的无符号数相加,并将和值送往片外 ram 的 01h、00h 单元中,同时将所编写程序运行完成后的数据和状态添入下表中给出的 psw 的有关位以及寄存器 a、dptr 和 ram 单元中。 cy a dptr 片外 01h 片外 00h 片外 8000h c八、判读电路题(14 分) 下图为 mcs—51 单片机系统中混合扩展多片存储器
芯片部分连线电路图。 试分析电路并回答下列问题: 1.请简单叙述 2764 芯片的功能、容量,在电路中起什么作用 2.请简单叙述 6264 芯片的功能、容量,在电路中起什么作用 3.请分析各片
所占用的单片机数据存储空间的地址范围是多少单片机模拟试卷 004 参考答案 一、填空题(15 分,每空 1 分) 1.并行数据总线地址总线p0p1—p32.片内数据存储区(器) 3.脉冲方式 低电平 串行口的波特率发生器 h4.定时器/计数器 0 5.64k0000h—ffffh二、简答题(15 分,每小题 5 分) 1.具有 5 个中断源,分别是外部中断 int0 和外部中断 int1、定时器溢出中断 0 和定时器溢出中断 1 以及串行中断。通过对中断优先级寄存 器 ip 的设置,每个中断源都可以被定义为高优先级中断。(6 分) 2.各中断源的入口地址已经在中断地址区中被定义了,不能任意设定。(3 分) 3. 如果要将中断服务程序放置在程序存储区的任意区域, 在程序中要通过在中断地址区的对应地址上设置跳转指令才可实现对中断服务程序 的执行。 例如:外部中断 o 的中断服务程序 intop 放置在程序存储区的任意区域,此时,通过以下方式,可实现对中断服务程序的执行:(4 分) orgo003h jmp intop 列举其他中断跳转的例子也可,但叙述的中断源要与中断地址相对应才可得分,如外中断 0 对应 0003h 地址。 三、参数计算题(16 分) p=1/f=(1/11.059×10 )=0.09×10 s =90ns s=2p=2×90ns=180ns 机器周期=12p=12×90ns=1.08μ s 双指令周期=2×机器周期=2.16μ s 判题标准:每问 4 分,结果错,分值全扣;结果正确,量纲错或 四、改错题:(共 5 分,每小题 1 分) 以给出的指令操作码为依据,请判断 mcs—51 单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。 1.mul 2.mov rorl a,@r7 乘法指令应使用 a、b 寄存器操作 间接寄存器使用 r7 有误,间址寄存器只能使用 r0、r16 -6(2 分) 3.mov 4.movc 5.umpa, #3000h @a+dptr,a #1000h8 位累加器 a 不能接受 16 位数据 movc 指令为对程序存储区操作指令,累加器的内容不可通过变址方式送入程序存储器,两操作数写反了。长转移指令中的操作数为 16 位转移地址,不能用立即数的形式来表达。五、寻址方式(5 分,每问 1 分) 说明 mcs—51 单片机的下列各条指令中源操作数的寻址方式(可直接在每条指令后面书写) 1.anl a,20h #20h 直接寻址 立即寻址2.addc a, 3.jz rel 4.clr 5.rra c相对寻址 位寻址寄存器寻址六、使用简单指令序列完成以下操作(12 分,每小题 6 分) 1.请将片外 ram 20h—25h 单元清零 mov r0,#20h mov r7,#06h clr a loop:movx inc r0 djnz r7,loop @r0,a2.请将 rom 3000h 单元内容送 r7 mov dptr, #3000h clr a movc a,@a+dptrmov r7,a 七、编程题(18 分,其中编程 12 分,表中每一空 1 分) cy a dptr 片外 01h 片外 00h 片外 8000h 0 mov dptr,#8000h movx a,@dptr01h ;加数单元地址送 dptr8000h0lh00h86h;取加数之一 ;两数相加 ;和值的低位送片外 00h 单元add a,20h mov r0,#00h movx @r0,ainc r0 clr a addc movx ret 编程要考虑将进位位的值作为结果的一部分取出来。采用其他编程方式也可以,但结果是不会改变的,和值=100h ;计算和值的高位 a,#00h @r0,a ;高位送片外 01h 单元八、判读电路题(14 分) 1.请简单叙述 2764 芯片的功能、容量,在电路中起什么作用(3 分) 2764 为 eprom 型存储器,其容量为 8k,在电路中通常是作为程序存储器使用。 2.请简单叙述 6264 芯片的功能、容量,在电路中起什么作用(3 分) 6264 为随机存储器,其容量为 8k,在电路中通常是作为数据存储器使用。 3.请分析各片
所占用的单片机数据存储空间的地址范围是多少 u3:0000h—1fffh u4:2000h—3ffffh u5:co00h—dfffh u6:e000h—ffffh 单片机模拟试卷 005 一、填空题(每空 1 分,共 10 分) 1.单片机内有组成微机的主要功能部件 (8 分,各 2 分)、 和 。 2.堆栈的特性是 ,8051 的堆栈一般开辟在 ,其堆栈指针是 。 3.rs232c 是 总线标准。 4.8255 是 接口。 5.mcs-51 有一个全双工的 步串行口,有 种工作方式。 二、简述题(每题 5 分,共 25 分) 1.单片机的特性主要有哪些 2.、8751 有何异同 3.mcs-51 的位存储区在哪里寻址范围是多少 4.8051 的定时器/计数器有几个是多少位的有几种工作方式其工作原理如何 5.8051 有哪几个中断源哪些是内部中断源哪些是外部中断源 三、判断题(20 分) 1.判断以下各条指令是否正确(ll1 和 proc 为标号) (10 分) (1)movx @r0,b (2)mov a,30h (3)movx a,30h (4)addc a,r7 (5)sub a,r2 (6)anl #99h ,36h (7)mov c,acc.0 (8)orl p1.0,p3.1 (9)jbc p0,ll1 (10)acall proc 2.判断以下说法是否正确,不正确予以改正。 (10 分) (1)单片机是面向数据处理的。 (2)定时器与计数器的工作原理均是对输入脉冲进行计数。 (3)由于 mcs-51 的串行口的数据发送和接收缓冲器都是 sbuf,所以其串行口不能同时发送和接收数据,即不是全双工的串行口。 (4)end 表示指令执行到此结束。 (5)adc0809 是 8 位逐次逼近式模/数转换接口。 四、阅读程序(20 分) 1.下列各条指令其源操作数的寻址方式是什么各条指令单独执行后,a 中的结果是什么(5 分)设(60h)=35h, (a)=19h, 0)=30h, (r (30h)=0fh。 (1)mov a,#48h ;寻址方式: (a)= (2)add a,60h ;寻址方式: (a)= (3)anl a,@r0 ;寻址方式: (a)= 2.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能(15 分) mov r1,#30h ; 1)= (r mov a,#64h ; (a)= add a,#47h ; (a)= , (cy)= , (ac)= da a ; (a)= , (cy)= , (ac)= mov @r1,a ; 1)= (r , (30h)= 此程序段完成的功能: 五、计算(画图)题(10 分) 若 8051 的晶振频率 fosc 为 6mhz,定时器/计数器 t0 工作在工作方式 1,要求产生 10ms 定时,写出定时器的方式控制字和计数初值(分别写 出 th0 与 tl0 值) 。 六、编程题(15 分) 1.阅读程序并填空,形成完整的程序以实现如下功能。 分) (5 有一长度为 10 字节的字符串存放在 8031 单片机内部 ram 中,其首地址为 40h。要求将该字符串中每一个字符加偶校验位。 (以调用子程序的 方法来实现。 ) 源程序如下: org 1000h mov r0,#40h mov r7,#10 next: mov a, ① acall sepa mov @r0,a inc r0 djnz ② ,next sepa:sret:sjmp add ③ orl ⑤$ a,#00h psw.0,sret a, ④2.从内部 ram30h 单元开始,有 10 个单字节数据。试编一个程序,把其中的正数、负数分别送 40h 和 50h 开始的内部 ram 单元。 (10 分)单片机模拟试卷 005 参考答案 一、填空题(每空 1 分,共 10 分) 1.cpu;存储器;i/o 接口 2.先进后出;内部 ram30h~7fh 的范围内;sp 3.串行通信 4.通用的可编程并行 5.异;4 二、简述题(每题 5 分,共 25 分) 1.单片机具有体积小、可靠性高、控制功能强、使用方便、性能价格比高、容易产品化等特点。 2. 和 8031 均为 8 位单片机,其内部结构是基本相同的。 不同点为:8051 内部有 4kbrom,8751 内部有 4kbeprom,而 8031 内部无程序存储器。 3.内部 ram 的 20~2fh 为位寻址区域,位地址范围 00~7fh;特殊功能寄存器中地址能被 8 整除的字节地址单元也可以位寻址,位地址范围 80~ffh;位存储区共 256 个位。 4.8051 有 2 个 16 位的定时器/计数器,有 4 种工作方式。 定时器与计数器的工作原理是相同的,8051 的定时器/计数器是根据输入的脉冲进行加 1 计数,当计数器溢出时,将溢出标志位置 1,表示计数到 预定值。 5.8051 有 5 个中断源,分别是定时器/计数器 t0、t1 的溢出中断 tf0、tf1,串行口的收/发中断 ri/ti,外部中断 、 ;其中定时器/计数器 t0、t1 的溢出中断 tf0、tf1、串行口的收/发中断 ri/ti 是内部中断源,外部中断 、 是外部中断源。 三、判断题(20 分) 1.判断以下各条指令是否正确(ll1 和 proc 为标号) (10 分) (1)× (2)○ (3)× (4)○ (5)× (6)× (7)○ (8)× (9)× (10)○ 2.判断以说法是否正确: (10 分) (1)× 单片机是面向控制的。 (2)○ (3)× 由于 mcs-51 的串行口的数据发送和接收缓冲器都是 sbuf,但在物理上,实际上是两个缓冲器,其串行口可以同时发送和接收数据, 是全双工的串行口。 (4)× end 表示指令汇编到此结束。 (5)○ 四、阅读程序(20 分) 1.(5 分) (60h)=35h, (a)=19h, 0)=30h, (r (30h)=0fh。 (1) 立即寻址 ; 48h (2) 直接寻址 ; 4eh (3) 寄存器间接寻址 ; 09h 2.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能(15 分) mov r1,#30h ; 1)= 30h (r mov a,#64h ; (a)= 64h add a,#47h ; (a)= abh (cy)= 0 (ac)= 0 da a ; (a)= 11h , (cy)= 1 (ac)= 1 mov @r1,a ; 1)= 30h , (r (30h)= 11h 此程序段完成的功能: 分)求两个 bcd 码数(64h 和 47h)的和,并将结果放在内部 ram 的 30h 单元。 (5 五、计算(画图)题(10 分) (1) 分)t0:定时方式,工作在方式 1。 (5 方式字 tmod=01h (2) 分)fosc=6mhz,16 位计数器,10ms 定时,设计数初值为 a, (5 16 3 16 t=12/ fosc*(2 - a) 10*10 =12/6 *(2 - a) a=60536=ec78h 即 th0=ech tl0=78h 所以:tmod=01h th0=ech tl0=78h 六、编程题(15 分) 1.(5 分) ① @r0 ② r7 ③ jnb ④ #80h ⑤ ret 2.从内部 ram30h 单元开始,有 10 个单字节数据。试编一个程序,把其中的正数、负数分别送 40h 和 50h 开始的内部 ram 单元。 (10 分) mov r0,#30h mov r1,#40h mov a,#50h mov r7,#10 loop: mov 20h,@r0 jb 20h.7,fshu zshu: mov @ r1,20h inc r1 sjmp next fshu: xch a,r1 mov @r1,a xch a,r1 inc a next: djnz r7,loop sjmp $机模拟试卷 006 及答案 一、填空题(每空 1 分,共 10 分)一、填空(每题 2 分,共 10 分) 1、mcs-51 单片机片内有 5 个中断源,其中 2 个外部中断源。 。2、设定 t1 为计数器方式,工作方式 2,则 tmod 中的值为 60h(高位为 6 即可) 3、若 it1=0,当引脚 p3.2 为低电平的时候,int0 的中断标志位 ie0 端口才能复位。 。4、在接口电路中,把已经编址并能进行读写操作的寄存器称为5、在单片机中,为实现数据的 i/o 传送,可使用三种控制方式,即 二、选择题(每小题 2 分,共 10 分) 1、寻址空间为数据程序存储器所用的指令是( a. movx b.mov c.movc d.addc a ):无条件传送 方式、查询方式和中断方式 2、执行中断返回指令,从堆栈弹出地址送给( c ). a. a b. cy c. pc d. dptr )3、七段共阴极发光两极管显示字符‘h’,段码应为(e a.67h b. 6eh c. 91h d. 76h e.90h4、在串行通信中, 8031 中发送和接收的寄存器是( b) a.tmod b. sbuf ) c. 帧/秒 d. 字节/秒 c. scon d. dptr。5、波特的单位是(ba. 字符/秒 b. 位/秒三、指令题(每小题 4 分,共 16 分) 1、将 20h 单元清零 mov 20h,#00h clr a a 或mov 20h,2、将片外 ram2000h 中的低字节与片内 20h 中的低字节交换。 mov dptr,#2000h mov r0,#20h movx @dptr,a 3、已知某端口地址为 2fffh,将片内 ram20h 的内容写到该端口中。 mov movx movx a, 20h #2fffh xchd a,@r0movx @dptr,adptr,@dptr, a4、把 dptr 的内容压入堆栈 push push dph dpl 四、填写下表(每空 2 分,共 10 分) 指令 clr push movc sjmp movx 40h acc a,@a+pc $ @dptr, a 寻址空间 位寻址区 片内 ram(数据存储器) (rom)程序存储器 (rom)程序存储器 外部 ram(数据存储器)五、读程序(每小题 5 分,共 10 分) 1、设(a)=38h,r0=28h,(28h)=18h,执行下列程序后,(a)= orl a,#27h anl a,28h xchd cpl a 2、设(a)=38h,(20h)=49h,psw=00h,(b)=02h,填写以下中间结果。 setb addc rlc mul c a, a ab 20h (a)= 82h (cy)= 0 (ac)= 1 (p)= 1 (ov)= 0 a,@r0 0e7h(a)= 04h (cy)= 1 (a)= 08h (b)= 00h六、简答题(共 14 分) 1、简述子程序调用和执行中断服务程序的异同点。(8 分) 相同点:均能中断主程序执行本程序,然后再返回断点地址继续执行主程序。 不同点: (1)中断服务程序入口地址是固定的,子程序调用入口地址是用户自己设定的。 (2)中断服务子程序返回指令除具有子程序返回指令所具有的全部功能之外,还有清除中断响应时被置位的优先级状态、开放较低级中断和 恢复中断逻辑等功能。 (3)中断服务子程序是在满足中断申请的条件下,随机发生的;而子程序调用是用户主程序事先安排好的。 2、已知晶振频率为 6mhz,在 p1.0 引脚上输出周期为 500 微秒的等宽矩形波,若采用 t1 中断,工作方式 2,试写出中断初始化程序(6 分) mov tmod, #20h mov tl1, #06h mov th1, #06h setbsetb et1 tr1 sjmp $setb ea 七、编程题(10 分) 将内部 ram20h 为首的 16 个单元的 8 位无符号数排序写出程序,并作适当注释 sort: mov mov clr loop: mov mov inc mov clr subb jc mov dec mov inc setb next: djnz jb here: sjmp r0, #20h r7,#07h tr0 a,@r0 2bh, a r0 2ah, @r0 c a, next @r0, 2bh r0 @r0, 2ah r0 tr0 loop sort;若交换标志位有效,继续进行 ;置交换标志位有效 @r0;比较前后两个数 ; ;交换标志位复位r7, tr0, $ 八、读图题(20 分) 阅读下列硬件图,补齐连接线(5 分) ,并回答问题(各 5 分) :1、ale、psen、wr、rd 的功能ale 作地址锁存的选通信号,以实现低八位地址的锁存,psen 信号作扩展程序存储器的读选通信号 wr、rd 作为扩展数据存储器和 i/o 端口的读写选通信号。 2、 图中各芯片的功能74ls373:地址锁存器,用来锁存 p0 口发送的地址低 8 位 2764 :容量为 8kb 的程序存储器(eprom)用来存储程序 6264 :容量为 8kb 的数据存储器(ram)用来存储数据 8031:不含程序存储器的 8 位单片机芯片,是不带 i/o 设备的微型计算机。 3、 的地址范围(p2.5 取”0”) h~9fffh 机模拟试卷 007 6264: 4000h~5fffh一、 填空题:(共 30 空,每空 1 分)1. 单片机即一个芯片的计算机,此芯片上包括五部分:运算器、_________、________、输入部分、________。 2. 只有在________码表示中 0 的表示是唯一的。 3. mcs—51 指令系统中 direct 表示的含义是:_____________________。 4. p0、 p2、 四个均是___位的____口(填 p1、 p3 “串行” “并行” 其中 p0 的功能是______________________; 口的功能是___________; 还是 ), p2 而_________是双功能口;______是专门的用户口。 5. 任何程序总是由三种基本结构组成:顺序、分支和_________。 6. mcs—51 指令共有六种寻址方式,分别是立即数寻址、_________、_________、寄存器间接寻址、__________、相对寻址。 7. mov dptr,#data16 的作用是用来设定_________。 8. 片内 ram 可进行位寻址的空间位地址范围是______________。 9. mcs—51 的存储器空间配置从功能上可分为四种类型:__________、内部数据存储器、__________、外部程序存储器。 10. mcs-51 的指令按其功能可分为五大类:_________、________、逻辑运算类指令、位操作指令、控制转移指令。 11. 输入输出设备与主机的连接部分称为输入输出接口,接口有三大作用:_________作用、_________作用和信号电平与形式的变换作用。 12. mcs—51 内部的 sfr 共有______个。 13. cjne &目的字节&,&源字节&,rel 属于五大类指令中的_________类指令,其操作码助记符含义是_____________。 14. 8051 单片机有________个中断源,________级中断优先级别。 15. 8255a 属于可编程的________i o 接口芯片,8255a 的 a 通道有________种作方式。二、 选择题: 15 题,每题 1 分) (共1. 2. 3. b 转换成十进制数是( (b)23.625 (b) 2kb ) 。 (b) 0101b (d) b ) 。 (c) 111h (d) 49h )区间。 )寻址方式,指令作用在( (b)直接,程序存储器 (d)寄存器间接,外部数据存储器 )(cy)是( , (b) c1h,0 (d) c1h,1 (c) 0dh (d) 56h ) 。 (b) 49.8h ) 。 (c) 23.62 ) 。 (d) 4kb (c) 3kb (d) 21.625 (a)46.625 (a)1kb存储器的地址范围是 0000h~0fffh,它的容量为( 3d.0ah 转换成二进制数是( (a)0101b (c) b4. 5.73.5 转换成十六进制数是( (a)94.8hmovx a , @r0 指令中,源操作数采用( (a)寄存器,外部数据存储器 (c)寄存器间接 ,内部数据存储器6.a7h 和 5bh 两个立即数相加后,和为( (a)1ch,0 (c) 02h,1 (b) b3h7.若(a)=86h, (psw)=80h,则执行 rrc a 指令后(a)(a)c3h8.如果(p0)=65h ,则当 cpl p0.2 setb c ) (b) 75h (b)循环转移 (c) 71h (c)增减量 (b) (d) 17h (d)乘除法 ) 。 mov p0.4 ,c 执行后(p0)=( (a)61h 9. ( (a)比较转移 (a))指令是 mcs-51 指令系统中执行时间最长且长达 4 us 的。10. 8031 单片机中,将累加器 a 中的数送入外 ram 的 40h 单元,可执行的指令( mov r1 ,40h mov r1 ,#40h movx @r1 , a (c) movx 40h , a (d)movx movxr1 , a @r1 , a ) 。 (d) 1、1、0 ) 。 (d) 存储器直接存取方式 ) (d) 0003h (d) 并行式 )种工作方式。 (d) 2, 3mov r1, #40h11. 已知累加器 a 的数值为 98h,它与 0fah 相加,相加后会影响标志位 cy、ac 和 ov 位。各个位的值是( (a) 0、0、0 (b) 1、0、1 (c) 1、1、1 (c) 中断方式 (c) 0002h (c) 逐次逼近式 (c) 5, 2 12.不属于单片机与输入输出设备进行信息交换的方式是( (a) 无条件传送方式 (b) 查询方式 (a) 0000h (a) 计数式 (a) 4, 5 (b) 0001h (b) 双积分式 (b) 2, 413.8051 与 8255a 的硬件连接如图 p110 图 6-7,其中规定未用的地址线取 0。则 8255a 的控制字寄存器的地址是( 14.a/d 转换方法有以下四种,adc0809 是一种采用( )进行 a/d 转换的 8 位接口芯片。15.8051 单片机内有( )个 16 位的定时/计数器 ,每个定时/计数器都有(三、 判断指令(或伪指令)正误 (共 15 题,每题 1 分)(1). mov (3). clr (5). org (9). inc (13). setb (15) da r2 20h , r1 a 3000h @r5 2000h ( ) ( ) ( ) ( ) ( ) ( ) (2). (4). addc movx a , 2030h ( ) 40h , #30h( ) @a+pc , a( ) #data , rel dptr r1 a , loop ( ) ( ) ( ) ( )(6). movc (8). djnz (10). dec (12). swap (14). jz(7). movx a ,2000h ( ) (11). mov r1 ,@ r2 ( )四、分析程序并写出结果: (共 4 题,每题 5 分) 1. 已知(r0)=20h, (20h ) =10h, (p0) =30h, (r2) =20h, 执行如下程序段后( 40h ) = mov mov add mov xrl mov mov @r0 , #11h a , r2 a , 20h psw , #80h a , #45h 40h , a a , @r0subb a , p02. 已知 ( r0 )=20h, (20h )=36h, (21h) =17h, (36h) =34h, 执行过程如下:mov mov add orl rl mov retr0 , a a , @r0 a , 21h a , #21h a r2 , a (r2)=则执行结束(r0)= 3. 执行下面一段程序; mov mov mov push push pop pop 4.sp, #60h a, #10h b, #01h a b a b (b)=a , b 的内容是:(a)= mov anl mov mov anl swap mov 则(41h)= a, 31h a, #0fh 41h, a a, 31h a, #0f0h a 42h, a (42h)=设在 31h 单元存有#23h,执行下面程序:五、简答及做图题: (共 2 题、每题 5 分) 1.用图示形式画出 mcs—51 内部数据存储器(即内 ram 含特殊功能寄存器)的组成结构,并简单说明各部分对应用途。2. 要在 8051 单片机片外扩展 16k 数据存储器,选择其地址为 0000h~3fffh。如果选用 6264 芯片为存储芯片,74ls138 为译码器,试画出它的硬 件连接图。六、编程题:(共 2 题,每题 5 分) 1. 将字节地址 30h~3fh 单元的内容逐一取出减 1,然后再放回原处,如果取出的内容为 00h,则不要减 1,仍将 0 放回原处。2. 按以下要求编写 8051 单片机定时器的初始化程序: (1) (2) t0 作为定时,定时时间为 10ms. t1 作为计数,记满 1000 溢出。机模拟试卷 007 参考答案 一。填空题 1. 存储器、 控制器、 输出部分。 2. 补 3. 片内存储器地址。 4. 5. 6. 7. 8. 9. 10. 11. 13. 14. 1~5 6~10 7~15 ⑴√ (6)× ⑾× 8, 并行, 地址/数据分时复口, 寄存器寻址, 变址寻址。 高 8 位地址口, p1。 循环。 直接寻址, 地址指针。 00h~ffh。 片内程序存储器, 数据传送类, 隔离与寻址作用, 5, 并行, ddabd cacdd dddcb ⑵× ⑺× ⑿× ⑶√ ⑻× ⒀× ⑷× ⑼× ⒁× ⑸√ ⑽× ⒂× 2 3 外部数据存储器。 所存与缓冲作用 算术运算类。12. 21二。 选择题三。判断题四。分析程序并写出结果。 1.(20h)←11h (a)←20h (a)←(a)+(20) (cy)=1 (a)-(p0)-(cy)→(a)即(a)←00h (a)+45h→(a)即(a)←45h (40h)←45h 2.(a)←( (r0) (a)=36h ) (r0)←(a) (a)←( (r0) ) (a)←(a)
21h (a)←d6h (r2)←d6h (r0)=36h 3.(a)=01h 4. (41h)=03h 五。1.mov r7,#10h mov r1,#30h loop:cjne @r1,#00h,next mov sjmp next1: inc djnz @r1,#00h next1 r1 r7,loop (r2)=d6h (b)=10h (42h)=02h (r0)←36h (a)←34h 34h+17h=4bh 4bh
21h=6bh(a)←(a)+(21h)next: dec @r1 sjmp end$2.(1) ① t0 的工作方式 0 时:tmax=2 × 1213 13fc=2 ×2us=16.384ms =2 - 10000 us1313定时 10ms 可达要求,则 x=2 - 10m s ②t0 工作在方式 1 时: tmax=2 × 1216 162us162us=18hfc=2 ×2us=131.072ms =ec78h定时 10ms 也可达要求,则 x=2 - 10m s ③t0 工作在方式 2 或 3 时: tmax=2 × 128 82us8fc=2 ×2us=512us定时 500us,循环 20 次,x=2 - 500 us (2) x=m-计数值132us =06h方式 0:2 -100=ch=fc1ch 方式 1:2 -100=ff9ch 方式 2 或 3:2 -100=9ch8 16①delay: mov mov mov setb lp1: close: jbc sjmptmod#00h(#01h / ,#14h) #63h #18h ,close lp1#10h /#11h)(mov r3 tl0,th0 , tr0 tf0 sjmp $ ret五.简答及做图题21 个 sfr 堆栈及数据缓冲区128 个位寻址区 工作寄存器机模拟试卷 008一. 单项选择题(30 分) 1. 在中断服务程序中至少应有一条( ) a.传送指令 b.转移指令 c.加法指令 d.中断返回指令 2.当 mcs-51 复位时,下面说法准确的是( ) a.pc=0000h a.mov 4.org lacll org ret 上边程序执行完 ret 指令后,pc=( ) a.2000h a.98h 6.jnz b.3000h b.84h b.寄存器寻址 b.4000h pc ) c.2003h c.42h ) d.位寻址 ) d.pc+3 入栈, 4000h
pc d.3003h d.22h 5.要使 mcs-51 能响应定时器 t1 中断,串行接口中断,它的中断允许寄存器 ie 的内容应是( ) rel 指令的寻址方式是( b.sp=00h b.movx h 3000h c.sbuf=00h c.movc d.(30h)=00h d.以上都行 3.要用传送指令访问 mcs-51 片外 ram,它的指令操作码助记符是( )a.立即寻址 a保护pcc.相对寻址7.执行 lacll 4000h 指令时, mcs-51 所完成的操作是( c.保护现场8.下面哪条指令产生 wr 信号( a.movx a,@dptr a. 1kb b. 2kbb.movc a,@a+pc c.movc a,@a+dptr d.movx @dptr,a ) c.4kb d.8kb9.若某存储器芯片地址线为 12 根,那么它的存储容量为(10.要想测量 int 0 引脚上的一个正脉冲宽度,则 tmod 的内容应为( ) a.09h a.0 组 b.87h b. 1 组 c.00h ) d. 3 组 ) d. 立即寻址 c.直接寻址 c. 2 组 d.80h11.psw=18h 时,则当前工作寄存器是(12.movx a,@dptr 指令中源操作数的寻址方式是( a. 寄存器寻址 a.5 a.00h 15.org ljmp ljmp a.0003h a.tcon b. 2 b.07h h 3000h ) d.3000h ) d.tmod b.2000h b.pcon c.000bh c.scon b. 寄存器间接寻址 ) c. 3 c.60h d. 6 ) d.70h 13. mcs-51 有中断源(14. mcs-51 上电复位后,sp 的内容应为(org 000bh 当 cpu 响应外部中断 0 后,pc 的值是( 16.控制串行口工作方式的寄存器是( 17.执行 pushacc 指令, mcs-51 完成的操作是()a.sp+1 sp, acc
sp c. sp-1
sp, acc sp a.2 个 ttl 低电平负载 c.8 个 ttl 低电平负载 19.pc 中存放的是( ) d. acc
sp 18.p1 口的每一位能驱动( ) b. 4 个 ttl 低电平负载 d.10 个 ttl 低电平负载 a.下一条指令的地址 20.8031 是( ) a.cpu b.微处理器b. 当前正在执行的指令 d.下一条要执行的指令 c.单片微机 d.控制器 ) d.anl p0,#0fhc.当前正在执行指令的地址21.要把 p0 口高 4 位变 0,低 4 位不变,应使用指令( a.orl p0,#0fh a.打印机 b.orl p0,#0f0h ) c.键盘 b.纸带读出机 ) b.运算器和存储器 c.2002h c.ov c.anl p0,#0f0h 22.下面哪种外设是输出设备( 23.所谓 cpu 是指( a.运算器和控制器 a.2000h a.c b.2001h b. f0d.a/d 转换器 c.输入输出设备 d. 控制器和存储器 )24.lcall 指令操作码地址是 2000h,执行完响应子程序返回指令后,pc=( d.2003h ) ) d.p 25. mcs-51 执行完 mov a,#08h 后,psw 的哪一位被置位(26.计算机在使用中断方式与外界交换信息时,保护现场的工作应该是( a.由 cpu 自动完成 b.在中断响应中完成 27.关于 mcs-51 的堆栈操作,正确的说法是( ) )c.应由中断服务程序完成 d.在主程序中完成a.先入栈,再修改栈指针 b.先修改栈指针,再出栈 c. 先修改栈指针,在入栈 d.以上都不对 28.某种存储器芯片是 8kb*4/片,那么它的地址线根数是( a.11 根 b.12 根 c. 13 根 d. 14 根 )29.若 mcs-51 中断源都编程为同级,当他们同时申请中断时 cpu 首先响应( a. int1 b.int 0c.t1d.t0 )30. mcs-51 的相对转移指令的最大负跳变距离( a.2kb b. 128b c. 127bd. 256b二.判断题(10 分) 1.我们所说的计算机实质上是计算机的硬件系统和软件系统的总称。 2.mcs-51 的程序存储器只能用来存放程序。 3.tmod 中 gate=1 时,表示由两个信号控制定时器的启停。 4.当 mcs-51 上电复位时,堆栈指针 sp=00h。 5.mcs-51 的串口是全双工的。 6.mcs-51 的特殊功能寄存器分布在 60h~80h 地址范围内。 7.相对寻址方式中, “相对”两字是相对于当前指令的首地址。 8.各中断源发出的中断请求信号,都会标记在 mcs-51 系统中的 tcon 中。 9.必须进行十进制调整的十进制运算只有加法和减法。 10.执行返回指令时,返回的断点是调用指令的首地址。 三.计算题(22 分) 1. (a)=3bh,执行 anl a,#9eh 指令后, (a)= 2.jnz (ov)= (ov)= 5.sjmp 0e7h 为 2b 指令,放于 f010h,目标地址= 四.阅读并分析程序(28 分) (cy)= (cy)= (cy)= rel 为 2b 指令,放于 1308h,转移目标地址是 134ah,求偏移量 rel= (ac)= (b)= ( ( ( ( ( ( ) ) ) ( ) ( ) ) ) ( ) )( )3.若(a)=c3h, (r0)=aah,执行 add a,r0 后, (a)= 4.若(a)=50h, (b)=a0h,执行 mul ab 后, (a)= 1.h 250chm5:mov sp,#58h mov 10h,#0fh mov 11h,#0bh250fhacall xhd;pc+2
sp, pc15~8
mov 20h,11h 2514h m5a:sjmp m5a xhd:push 10h push 11h pop pop ret 问: (1)执行 pop 10h 后堆栈内容 (2)执行 m5a:sjmp m5a 后, (sp)= (20h)= 2.a 程序存储空间表格如下: 地址 内容 2000h 3fh 02h 5bh 2003h 4fh 。。。 。。 。。。 。。 10h 11h已知:片内 ram 的 20h 中为 01h,执行下列程序后(30h)= mov inc movc cpl mov sjmp a,20h a a,@a+dptr a 30h,a $mov dptr,#2000h3.(r0)=4bh,(a)=84h,片内 ram(4bh)=7fh,(40)=20h mov a,@r0 mov @r0,40h mov 40h,a mov r0,#35h 问执行程序后,r0= mov a,#0fbh mov psw,#10h add a,#7fh cy ac ov p of rs1 a= 4bh= 40h= 4.若 psw=00, 执行下列程序后,psw 的各位状态如何五. 程序填空(10 分) 1.数据块传送,将 ram 从 30h 开始的连续 32 个单元的内容传递给片内 ram 从 60h 开始的连续 32 个单元。 org 1000h mov r7,_____ mov r0, #30h mov r1,#60h loop:mov a,@r0 mov inc inc _____,a r0 r1djnz r7, _____ sjmp $ end 2. 将 4 个单字节数放片内 30h~~33h,它们求和结果放在片内 40h,41h 单元。 org 1000h mov r7,#04h mov r0,30h clr a mov 41h,a loop: add a,@r0 jnc next inc _____ next:inc _____ djnz r7,loop mov 40h,a sjmp $ end 3. ram 中 40h 单元内存有一个十六进制数,把这个数转换为 bcd 码的十进制数,bcd 码的十位和个位放在累加器 a 中,百位放在 r2 中。 org 2200h mov a,_____ mov b,#64h div ab mov r2,a mov a,_____ xch a,b div ab swap _____ orl a,b sjmp $ end 4. 编程序将片内 40h-46h 单元内容的高 4 位清零,保持低 4 位不变。 org 1000h mov r7,#07h mov r0,_____ loop:mov a,@r0 anl a,_____ mov @r0,a inc r0 djnz r7,loop sjmp $ end 机模拟试卷 008 参考答案 一:单选题: (30 分) 题号 答案 题号 答案 题号 答案 1 d 11 d 21 d 2 a 12 b 22 a 3 b 13 a 23 a 4 c 14 b 24 d 5 a 15 b 25 d 6 c 16 c 26 c 7 d 17 a 27 c 8 d 18 b 28 c 9 c 19 a 29 b 10 a 20 c 30 b二.判断题: (10 分) 题号 答案 1 √ 2 × 3 √ 4 × 5 √ 6 × 7 × 8 × 9 × 10 ×三.计算题: (22 分) (1) (a)=1ah (2)rel=40h (3) (a)= 6dh (4) (a)=00h (cy)= 1 (b)=32h (ov)=1 (ac)=0 (ov)=1 (cy)= 总为 0 (cy)=不受影响(5)目标地址=eff9h 四:阅读并分析程序(28 分) (1)1)执行 pop 10h 后堆栈内容(sp)=5ah 2)执行 m5a:sjmp (2) (30h)=5bh (3)r0=35h (4) cy 1 ac 1 五、 程序填空(10 分) 1._#20h_ 2.__41h___ 3.__40h___ 4._#40h____ __r1___ __r0___ _#0ah____ __#0fh___ __a___ _loop____ ov 0 p 1 of 0 rs1 1 a=7fh 4bh=20h 40h=7fh m5a 后, (sp)=58h (20h)=0fh机模拟试卷 009一、 填空题(共 20 分,每题 4 分) 1、 单片机试验系统与微机是通过 2、 若想进入全屏幕编辑界面,按下 3、 当程序输入错误或需要调整时,使用 4、 将立即数#33h 送 20h 单元使用 5、 入栈指令使用 指令。 相连。 功能键,按 alt+f 建立新文件,即可开始输入源文件。 命令完成。 指令。 二、 程序分析题(共 20 分,每题 10 分) 1、位地址为 m、n、y,程序如下: mov anl c,m c, ;(m) c ;(m) ;(y)=(m) ;(m) c c,(m) ;mov y,c mov c,m anl orlmov y,c 求程序功能表达式: 2、阅读下列程序并回答问题 clr mov subb add da mov c a,#9ah a,60h a,61h, a 62h,a(1) 请问该程序执行何种操作 (2) 已知初值: (60h)=23h,(61h)=61h,请问运行程序后: (62h)=( )三、编程题(共 60 分,每题 30 分) 1、将 31h、32h 单元与 41 h、40h 单元的双字节十进制无符号数相加,结果存入 32h,31h,30h 单元。即(31h)(30h)+(41h)(40h) 31h、30h。 (1) 输入程序 32h、参考程序 mov r0,#30h mov r1,#40h mov r2,#02h clr cl1: mov a,@r0 addc da mov inc inc djnz clr mov mov (2) a,@r1 a @r0,a r0 r1 r2,l1 a acc.0,c @r0,a 在 31h、30h 单元存入加数如 3018,在 41h,40h 单元存入被加数如 8975。(3)输入程序首地址, (从处为 2000h),然后开始单步或断点运行该段程序。 (4)运行过程中检查数据的变化,并在最后检查(32h)= ,(31h)= , (30h)= 。2、 编程实现逻辑运算:q=(u *(v+w))+x.y)+z。设 u~z 的位地址为 00h~05h.q 的位地址为 07h。 《实际中 u~z 可以是外部输入端口信号 或软件设定的一些控制位》 。 实习步骤: (1)输入所编程序。 mov o rl anl mov mov anl orl orl mov c,01h c,02h c,00h f0,c c,03h c,/04h c,f0 c,/05h 07h, 保存结果 ;暂存 u*(v+w)的值 (2)部 ram20h 单元(位地址 00h~07h 的位在 20h 单元)输入某个数据(注意此时各位的状态并做好记录) 。 (3)单步或断点运行所编程序,逐步检查 cy 及个数据的变化情况(注意检查时也按字节读出,再观察其相应位) 。 (4)验证运行结果 (5)改变 20h 单元的置数,《单片机原理与应用》试题 009 答案三、 填空题(共 20 分,每题 4 分) 1、 单片机试验系统与微机是通过 串行通讯电缆 相连。 2、 若想进入全屏幕编辑界面,按下 f1 功能键,按 alt+f 建立新文件,即可开始输入源文件。 3、 当程序输入错误或需要调整时,使用 a 命令完成。 4、 将立即数#33h 送 20h 单元使用 mov 5、 入栈指令使用 push acc 指令。 20h,#33h 指令。四、 程序分析题(共 20 分,每题 10 分) 1、位地址为 m、n、y,程序如下: mov anl c,m c, ;(m) c ;(m) ;(y)=(m) ;(m)(m) ;mov y,c mov c,m anl orl c,n cymov y,c 程序功能表达式: (y)=(m)*(/n)+(m)*(n) 2、阅读下列程序并回答问题 clr c mov subb add da mova,#9ah a,60h a,61h, a 62h,a(3) 请问该程序执行何种操作 (4) 已知初值: (60h)=23h,(61h)=61h,请问运行程序后: (62h)=( 解 (1) 操作是单字节 bcd 码运算,是将 (61h)-(60h)62h (2) (62h)=38h )四、编程题(共 60 分,每题 30 分) 1、将 31h、32h 单元与 41 h、40h 单元的双字节十进制无符号数相加,结果存入 32h,31h,30h 单元。即(31h)(30h)+(41h)(40h) 31h、30h。 (1) 输入程序 32h、参考程序 mov r0,#30h mov r1,#40h mov r2,#02h clr cl1: mov a,@r0 addc da mov inc inc a,@r1 a @r0,a r0 r1 djnz clr mov mov (2)r2,l1 a acc.0,c @r0,a 在 31h、30h 单元存入加数如 3018,在 41h,40h 单元存入被加数如 8975。(3)输入程序首地址, (从处为 2000h),然后开始单步或断点运行该段程序。 (4)运行过程中检查数据的变化,并在最后检查(32h)= ,(31h)= , (30h)= 。2、 编程实现逻辑运算:q=(u *(v+w))+x.y)+z。设 u~z 的位地址为 00h~05h.q 的位地址为 07h。 《实际中 u~z 可以是外部输入端口信号 或软件设定的一些控制位》 。 实习步骤: (1)输入所编程序。 mov o rl anl mov mov anl orl orl mov c,01h c,02h c,00h f0,c c,03h c,/04h c,f0 c,/05h 07h, 保存结果 ;暂存 u*(v+w)的值(2)部 ram20h 单元(位地址 00h~07h 的位在 20h 单元)输入某个数据(注意此时各位的状态并做好记录) 。 (3)单步或断点运行所编程序,逐步检查 cy 及个数据的变化情况(注意检查时也按字节读出,再观察其相应位) 。 (4)验证运行结果 (5)改变 20h 单元的置数,重做。《单片机原理与应用》试题 010一、 填空题(共 20 分,每题 4 分) 1、我们使用的单片机试验箱型号是 。 。2、输入文件后,按 f2 保存程序,此时文件扩展名是 3、提示装载完毕后,使用命令进行反汇编 ,检查程序是否正确装入。 。4、将 30h 单元的内容#67h 送 r1,用最少的指令实现,指令为: 5、弹出操作,使用 指令。二、程序分析题(共 20 分,每题 10 分) 1、程序如下 h 250ch 250fh h m5a: xhd: m5: mov mov mov acall mov sjmp push push pop pop ret 问: (1)执行pop10h后堆栈内容 (2)执行m5a:sjmp m5a后, (sp)= (20h)= sp,#58h; 10h,0 11h,#0 20h,11h m5a 10h 11h 10h 11h2、解读下列程序,然后填写有关寄存器内容 (1) mov mov cjne jnc mov sjmp next: next2: 累加器 (2) mov sjmp a=( mov mov ) a,#0fbh psw,#10h r1,#48h 48h,#51h @r1,#51h,00h next1 a,#0ffh next2 a,#0aah next2 adda,#7fh若psw=00,当执行完上述程序段后,将psw各位状态填入下表: psw cy 1 ac 1 f0 0 rs1 1 rs0 0 ov 0 f1 0 p 1三、编程题(共 60 分,每题 30 分) 1、 将片内 ram-2 单元(如 20h)的内容分成两段,并将它们分别存入 2 单元和 3 单元。 (高位清零) 。 (1) 输入程序。参考程序: mov r0,#21h mov a,20h anl a,#0fh mov @r0,a inc r0mov a,20h swap aanl a,#0fh mov @r0 (2) (3) (4) (5) 在某单元(如 20h)存入待分字的某数(如 5bh) 。 单步或带断点运行该段程序。 运行过程中注意检查程序的变化,并在最后检查(21h)= (22h)= 。 ,2、编程实现字符串长度统计:设在单片机内 ram 中从 str 单元开始有一字符串《以 asc ii 码存放》 ,该字符串以$&其值为 24h&结束,试统 计该字符串的长度,其结果存于 lon 单元。 (1)输入所编程序 start: clr mov loop: cjne sjmp a r0,#str r0,#24h,next comp ;判断字符串是否结束 ;计数单元清零 next:int inc sjmpa r0 loop lon,a $ ;将长度存入 lon 单元comp:mov sjmp(2)在以 str 为首的地址内部 ram 单元开始存放待统计长度的数据块(自设) ,并以#24 作为数据块的结束标志。 (3)单步或断点运行所编程序,注意观察每次转移后 pc 及统计长度单元 lon 的变化,并做好记录。 (4)验证运行结果。 (5)改变数据块长度,重做。《单片机原理与应用》试题 010 答案二、 填空题(共 20 分,每题 4 分) 1、我们使用的单片机试验箱型号是 tdn-mi 。2、输入文件后,按 f2 保存程序,此时文件扩展名是 .asm。 3、提示装载完毕后,使用 u000 命令进行反汇编 ,检查程序是否正确装入。 4、将 30h 单元的内容#67h 送 r1,用最少的指令实现,指令为:mov 30h,#67h; mov 5、弹出操作,使用 pop acc 指令。 二、程序分析题(共 20 分,每题 10 分) 1、程序如下 h 250ch 250fh h m5a: xhd: m5: mov mov mov acall mov sjmp push push pop pop ret 问: (1)执行pop10h后堆栈内容 sp,#58h; 10h,0 11h,#0 20h,11h m5a 10h 11h 10h 11h r1,30h。 (2)执行m5a:sjmp 解 1)m5a后, (sp)=(20h)=执行acall指令时:pc+2pc: (sp)+1sp (sp)+1sp pc0~pc7(sp) pc8~pc15(sp)2) 所以子程序返回时,点地址弹出,sp=58h (1)执行pop 10h后,堆栈内容如左图所示.5c 5b 5a 59 580b 0f 25 11(2)执行m5a:sjmp (20h)=0fhm5a后, (sp)=58h,2、解读下列程序,然后填写有关寄存器内容 (1) mov mov cjne jnc mov sjmp next: next2: 累加器 (2) mov sjmp a=( mov mov add 解 (1) mov r1,#4848h 送 r1 ) a,#0fbh psw,#10h a,#7fh r1,#48h 48h,#51h @r1,#51h,00h next1 a,#0ffh next2 a,#0aah next2 mov cjne jnc mov sjmp next1 next2 累加器 (2) mov sjmp48h,#51h @r1,#51h,00h next1 a,#0ffh next2 a,#0aah next2;51h 送(48h) ;(r1)gn #51 相比,相等,顺序执行 ;没借位转,next1 ;有借位,ffh 送 a;0aah 送 aa=(0aah) mov mov add a,#0fbh psw,#10h a,#7fh
送 psw由 +11111____________ 1
所以,有进位 cy=1,c 有辅助进位位ac=1 若psw=00,当执行完上述程序段后,将psw各位状态填入下表: psw cy 1 ac 1 f0 0 rs1 1 rs0 0 ov 0 f1 0 p 1 6
c =11=0,ov=0; a 中有奇数个 1,p=1; 7三、编程题(共 60 分,每题 30 分) 2、 将片内 ram-2 单元(如 20h)的内容分成两段,并将它们分别存入 2 单元和 3 单元。 (高位清零) 。 (1) 输入程序。参考程序: mov r0,#21h mov a,20h anl a,#0fh mov @r0,a inc r0 mov a,20h swap aanl a,#0fh mov @r0 (2) (3) (4) (5) 在某单元(如 20h)存入待分字的某数(如 5bh) 。 单步或带断点运行该段程序。 运行过程中注意检查程序的变化,并在最后检查(21h)= (22h)= 。 ,2、编程实现字符串长度统计:设在单片机内 ram 中从 str 单元开始有一字符串《以 asc ii 码存放》 ,该字符串以$&其值为 24h&结束,试统 计该字符串的长度,其结果存于 lon 单元。 (1)输入所编程序 start: clr mov loop: cjne sjmp next: int inc sjmp comp: mov sjmp a r0,#str r0,#24h,next comp a r0 loop lon,a $ ;将长度存入 lon 单元 ;判断字符串是否结束 ;计数单元清零(2)在以 str 为首的地址内部 ram 单元开始存放待统计长度的数据块(自设) ,并以#24 作为数据块的结束标志。 (3)单步或断点运行所编程序,注意观察每次转移后 pc 及统计长度单元 lon 的变化,并做好记录。 (4)验证运行结果。 (5)改变数据块长度,重做。《单片机原理与应用》试题 011三、 填空题(共 20 分,每题 4 分) 1、开启微机电源,在软件所在目录键入 命令,选择对应串口号,进入集成操作软件环境。 。2、对源文件进行汇编,生成浮动目标文件,文件扩展名是 3、用 命令设置断点。 4、将立即数 3052h 送数据指针 dptr,使用 5、两寄存器交换数据,使用 二、程序分析题(共 20 分,每题 10 分) 1、程序存储器空间表格如下: 地址 内容 2000h 3fh 2001h 06h 2002h 5bh 指令。指令。2003h 4fh.. . .. .已知:片内ram的20h中为01h,执行下列程序后(30h)= mov inc mov movc cpl mov end: sjmp a,20h a dptr,#2000h a,@a+dptr a 30h,a end执行程序后,(30h)=2、分析程序段: clr mov subb add da mov c a,#91h a,61h ; a,61h ; a 62h,a ;(1)程序执行何种操作 (2)若已知初值: (60h)=24h,(61h)=72h,则运行后, (62h)= 。三、a)编程题(共 60 分,每题 30 分) 编程实现下列逻辑运算 z=(m+n)*(o+p)。设 m,n,o,p 为片内 ram30h—33h 单元,输出结果单元 z 地址为 34h。(1)将下列程序输入到实习装置参考程序 start:mov a,m xrla,nmov b,a mov a,o orl anl mov (2) (3) (4) a,p a,b z,a 在 m—p(30h—33h 单元)装入待进行逻辑运算的数据(自设) 。 单步或带断点运行该段程序。 运行过程中注意检查程序的变化,并在最后验证(z)是否与理论值相符。2、 设从内存 block 单元开始存放一 无符号数的数据块,其长度为 len。试找出其最小数,并存入 min 单元。 (1)输入所编程序。 comp: mov mov mov loop: clr a,#0ffh r2,#len r1,#block c subb jc mov sjmp next: next1: djnz : add inc djnz a,@r1 r1 r2,loop mov sjmp mn ,a $ ;存最小数 ;若大,则取下个数比较 a,@r1 next a,@r1 next1 ;比较 ;若小,则恢复原值 ;置比较的初始值 ;置数据块长度 ;置地址指针(2)确定好数据块的起始地址和长度,并在相应的内部 ram 单元存入数据,同时作好记录。 (3)单步或断点运行程序,注意循环次数是否等于数据块长度。 (4)观察 pc,a 和计数单元的变化并作好记录。 (5)验证运行结果。《单片机原理与应用》试题 011 答案四、 填空题(共 20 分,每题 4 分) 1、开启微机电源,在软件所在目录键入md51 命令,选择对应串口号,进入集成操作软件环境。2、对源文件进行汇编,生成浮动目标文件,文件扩展名是 .r03。 3、用 b 命令设置断点。 4、将立即数 3052h 送数据指针 dptr,使用 mov 5、两寄存器交换数据,使用 xch a,r4 指令。 dptr,#3052h 指令。二、程序分析题(共 20 分,每题 10 分) 1、程序存储器空间表格如下:地址 内容2000h 3fh2001h 06h2002h 5bh2003h 4fh.. . .. .已知:片内ram的20h中为01h,执行下列程序后(30h)= mov inc mov movc cpl mov end: sjmp 答 a,20h a dptr,#2000h a,@a+dptr a 30h,a end ;01ha ;01h+1=02ha ;2000hdptr ;(2000h+2)=5bha ;5bh求反等于 a4a4h(30h)执行程序后,(30h)=a42、分析程序段: clr mov subb add da mov 解 c a,#91h a,61h ;求60h内的bcd数的补数,9ah-24h=76h a,61h ;76h+72h=e8h a 62h,a ;cy=1、a=48h根据9ah=99=1的特殊性,该程序功能为单字节bcd数减法运算,即完成的是(61h)-(60h)(62h) 。所以运行后, (62h)=48h,意即72-24=48四、a)编程题(共 60 分,每题 30 分) 编程实现下列逻辑运算 z=(m+n)*(o+p)。设 m,n,o,p 为片内 ram30h—33h 单元,输出结果单元 z 地址为 34h。 (5)将下列程序输入到实习装置参考程序 start:mov a,m xrl a,nmov b,a mov a,o orl anl mov (6) (7) (8) a,p a,b z,a 在 m—p(30h—33h 单元)装入待进行逻辑运算的数据(自设) 。 单步或带断点运行该段程序。 运行过程中注意检查程序的变化,并在最后验证(z)是否与理论值相符。2、 设从内存 block 单元开始存放一 无符号数的数据块,其长度为 len。试找出其最小数,并存入 min 单元。 (1)输入所编程序。 comp: mov mov mov loop: clr a,#0ffh r2,#len r1,#block c subb jc mov sjmp next: next1: djnz : add inc djnz a,@r1 r1 r2,loop mov sjmp mn ,a $ ;存最小数 ;若大,则取下个数比较 a,@r1 next a,@r1 next1 ;比较 ;若小,则恢复原值 ;置比较的初始值 ;置数据块长度 ;置地址指针(2)确定好数据块的起始地址和长度,并在相应的内部 ram 单元存入数据,同时作好记录。 (3)单步或断点运行程序,注意循环次数是否等于数据块长度。 (4)观察 pc,a 和计数单元的变化并作好记录。 (5)验证运行结果。《单片机原理与应用》试题 012 一、填空题(共 20 分,每题 4 分) 1、开启微机电源,在软件所在目录键入 md51 命令,选择对应串口号,进入集成操作软件环境,如果光标不响应回车命令,按 2、对源文件汇编无误后,自动生成相应的 3、用 命令来连续运行程序。 指令。 文件。 键即可。4、外部 ram 与 累加器 a 间数据传送,使用 5、两寄存器交换数据,使用 命令。二、程序分析题(共 20 分,每题 10 分) 1、(r0)=4bh,(a)=84h,片内 ram(4bh)=7fh,(4bh)=20h mov mov mov mov a,@r0 @r0,40,40h 40h,a r0,#h问执行和程序后,r0、a 和 4bh、40h 单元内容的变化如何2、设(r0)=7eh,dptr=10feh,片内ram 指令的执行结果。 inc inc inc inc inc inc @r0 r0 @r0 dptr dptr dptr7fh和7fh两单元的内容分别是ffh和38h,请写出下列程序段的每条三、编程题(共 60 分,每题 30 分) 1、 比较存放在 one,two,tre 三个单元的无符号数,并将小数存放在 20h 单元中。 (1) 输入程序参考程序 mov cjne rr: jc mov cjne tt: jc sjmp ss: cjne vv: jc uu: mov ww: mov a,one a,two,rr ss a,two a,tre,tt ww uu a,tre,vv ww a,tre 20h,a(2) (3) (4) (5)在 one,two,和 tre 三个内部 ram 单步运行,注意 pc 变化情况,同时检查 cy 检查 20h 单元的内容,检验是否为最小值 修改one2、 设在单片机内部 ram 中从 str 单元开始存放有一数据块,该数据块以#00h 结束,试统计其中为#0ffh 的单元个数并存入 num 单元。 (1)输入所编程序。 count: clr mov loop: cjne inc loop1: inc cjne mov sjmp a r0,#str ;清计数单元 ;置地址指针#0ffh,loop1;数据为#0ffh 则计数单元加 1 a r0 @r0,#000h,loop;数据块取完 num a $ ;存统计结果(2)确定好数据块的起始地址,同时在相应的内部 ram 单元建立好数据块(此数据块以#00h 结束,并使其中若干个单元的内容为#0ffh) ,同 时作好记录。 (3)单步或断点运行程序,注意循环跳出循环时刻。 (4)观察并记录 pc,a 和计数单元的变化情况。 (5)验证运行结果。《单片机原理与应用》试题 012 答案一、 填空题(共 20 分,每题 4 分) 1、开启微机电源,在软件所在目录键入 md51 命令,选择对应串口号,进入集成操作软件环境,如果光标不响应回车命令,按 复位键即可。 2、对源文件汇编无误后,自动生成相应的 .lst 文件。 3、用 gb 命令来连续运行程序。 4、外部 ram 与 累加器 a 间数据传送,使用 movx @dptr,a 指令。 5、两寄存器交换数据,使用 命令。二、 程序分析题(共 20 分,每题 10 分) 1、(r0)=4bh,(a)=84h,片内 ram(4bh)=7fh,(4bh)=20h mov mov mov mov a,@r0 @r0,40,40h 40h,a r0,#h问执行和程序后,r0、a 和 4bh、40h 单元内容的变化如何 答 程序执行后(r0)=35h,(a)7fh,(4bh)=20h,(40h)=7fh.2、设(r0)=7eh,dptr=10feh,片内ram 指令的执行结果。 inc inc inc inc inc inc 解 @r0 r0 @r0 dptr dptr dptr7fh和7fh两单元的内容分别是ffh和38h,请写出下列程序段的每条(1) (7eh)=00h (2)r0=7fh (3)7fh=39h (4)dptr=10ffh (5)dptr=1100h (6)dptr=1101h三、编程题(共 60 分,每题 30 分) 3、 比较存放在 one,two,tre 三个单元的无符号数,并将小数存放在 20h 单元中。 (1) 输入程序参考程序 mov cjne rr: jc mov cjne tt: jc sjmp ss: cjne vv: jc uu: mov ww: mov a,one a,two,rr ss a,two a,tre,tt ww uu a,tre,vv ww a,tre 20h,a(2) (3) (4) (5)在 one,two,和 tre 三个内部 ram 单步运行,注意 pc 变化情况,同时检查 cy 检查 20h 单元的内容,验 是否最小值 修改one4、 设在单片机内部 ram 中从 str 单元开始存放有一数据块,该数据块以#00h 结束,试统计其中为#0ffh 的单元个数并存入 num 单元。 (1)输入所编程序。 count: clr mov a r0,#str ;清计数单元 ;置地址指针 loop:cjne inc#0ffh,loop1;数据为#0ffh 则计数单元加 1 a r0 @r0,#000h,loop;数据块取完 num a $ ;存统计结果loop1:inc cjne mov sjmp(2)确定好数据块的起始地址,同时在相应的内部 ram 单元建立好数据块(此数据块以#00h 结束,并使其中若干个单元的内容为#0ffh) ,同 时作好记录。 (3)单步或断点运行程序,注意循环跳出循环时刻。 (4)观察并记录 pc,a 和计数单元的变化情况。 (5)验证运行结果。《单片机原理与应用》试题 013一、 填空题(共 20 分,每题 4 分) 1、开启微机电源,在软件所在目录键入 md51 命令,选择对应串口号,进入集成操作软件环境,如果光标不响应回车命令,按 复位键即可。若想 进入全屏幕编辑界面,按下 功能键。 文件。2、汇编完成后,按 f3 输入文件名回车,对汇编生成的.r03 文件进行连接,生成相应的 3、按 键可清除断点。 指令。 指令。4、程序存储器中数据送累加器 a,使用指令为 5、寄存器高 4 位和低 4 位交换数据,使用二、程序分析题(共 20 分,每题 10 分) 1、设 r0=20h,r1=25h,(20h)=80h,(21h)=90h,(22h)=a0h,(25h)=a0h, (26h)=6 fh,(27h)=76h,下列程序执行程序后,结果如何 clr mov loop: mov addc mov inc inc a,@r0 a,@r1 @r0,a r0 r1 c r2,#3 djnz jnc mov sjmp next: dec sjmp (20h)=( a= 、r0= )、(21h)= 、r1=r2,loop next1 @r0,#01h $ r0 $ 、(22h)= 。 、(23h)= 、 cy=2、设片内ram中(59h)=50h,执行下列程序段 mov mov mov mov mov mov a= , (50h)= a,59h r0,a @r0,a a,#25h 51h,a 52h,#70h , (51h)= , (52h)= .三、编程题(共 60 分,每题 30 分) 1、根据 rn 单元内容(00h—7fh) ,分别转向程序 rout00—rout7fh 参考程序 (1) mov rl mov jmp 输入程序 a,rn a dptr,#jmptab @a+dptrjmptab:ajmp prog00 ajmp
ajmp prog00:mov prognn prog0120h,# sjmp
prognn:mov sjmp$20h,#nh $(2) (3) (4) (5)为便于实习,可缩小散转范围,运行前在 rn 中装入的数限定为 00h—03h 中的某一个。 确定 jmpbab 及 prog00—prog03 的地址,并在 progn 处写人处理程序。 单步或断点运行,观察并记录 a,dptr 以及 pc 变化情况。 修改 rn 中数据,重做。2、求平方子程序计算 x=a^2+b^2 先建立 0~9 的平方表(十进制) ,tab 为表首地址指针。子程序所完成 的功能是用查表的方式求出平方值。计算 x=a^2+b^2 时只要两次调用子程序分别求出 a^2 和 b^2,然后相加即可。 (设 x,a,b 分别存于内部 ram 的 one,two 和 tre 三个单元中) 。 子程序入口: (a)=待查表的数 子程序入口: (a)=平方值 实习步骤 (1)在选定的存区中建立好平方表。 main: mov acall mov mov acall add mov sjmp sqr: movc inc a, a a;one sqr r1,a a,two sqr a,r1 tre,a $ ;修正查表偏移量(入口 a) ;求平方和 ;调求平方子程序@a+查表求平方值(出口 a )返回 0,1,4,9,16 ;平方表tab:db: db:25,36,49,64,81(2)输入并调试已编好的子程序,按要求准备如口即在 a 中装如待查平方的数,独立运行子程序后,检查 a 中的内容是否为平方值. (3)输入并调试已遍好的主程序,注意观察子程序的调用和返回情况. (4)观察并记录运行过程中的子程序的入口,出口及 pc 和各积存器的变化情况.《单片机原理与应用》试题 013 答案五、 填空题(共 20 分,每题 4 分) 1、开启微机电源,在软件所在目录键入 md51 命令,选择对应串口号,进入集成操作软件环境,如果光标不响应回车命令,按 复位键即可。若想 进入全屏幕编辑界面,按下 f1 功能键。 2、汇编完成后,按 f3 输入文件名回车,对汇编生成的.r03 文件进行连接,生成相应的 .hex 文件。 3、按 reset 复位键可清除断点。 4、程序存储器中数据送累加器 a,使用指令为 movc a,@a+dptr 指令。5、寄存器高 4 位和低 4 位交换数据,使用 swap a 指令。 二、程序分析题(共 20 分,每题 10 分) 1、设 r0=20h,r1=25h,(20h)=80h,(21h)=90h,(22h)=a0h,(25h)=a0h, (26h)=6 fh,(27h)=76h,下列程序执行程序后,结果如何 clr mov loop: mov addc mov inc inc djnz jnc mov sjmp next: dec sjmp 答 c r2,#3 a,@r0 a,@r1 @r0,a r0 r1 r2,loop next1 @r0,#01h $ r0 $(20h)=(20h)、(21h)=00h、(22h)=17h、(23h)=01h、 cy=1、a=17h、r0=23h、r1=28h2、设片内ram中(59h)=50h,执行下列程序段 mov mov a,59h r0,a mov mov mov mov 解@r0,a a,#25h 51h,a 52h,#70ha=25h, (50h)=0, (51h)=25h, (52h)=70h.三、编程题(共 60 分,每题 30 分) 1、根据 rn 单元内容(00h—7fh) ,分别转向程序 rout00—rout7fh 参考程序 (6) mov rl mov jmp 输入程序 a,rn a dptr,#jmptab @a+dptrjmptab:ajmp prog00 ajmp
ajmp prog00:mov prognn prog0120h,# $sjmp
prognn:mov sjmp20h,#nh $(7) (8) (9)为便于实习,可缩小散转范围,运行前在 rn 中装入的数限定为 00h—03h 中的某一个。 确定 jmpbab 及 prog00—prog03 的地址,并在 progn 处写人处理程序。 单步或断点运行,观察并记录 a,dptr 以及 pc 变化情况。(10) 修改 rn 中数据,重做。 2、求平方子程序计算 x=a^2+b^2 先建立 0~9 的平方表(十进制) ,tab 为表首地址指针。子程序所完成 的功能是用查表的方式求出平方值。计算 x=a^2+b^2 时只要两次调用子程序分别求出 a^2 和 b^2,然后相加即可。 (设 x,a,b 分别存于内部 ram 的 one,two 和 tre 三个单元中) 。 子程序入口: (a)=待查表的数 子程序入口: (a)=平方值 实习步骤 (1)在选定的存区中建立好平方表。 main: mov acall mov mov acall add mov sjmp sqr: movc inc a, a a;one sqr r1,a a,two sqr a,r1 tre,a $ ;修正查表偏移量(入口 a) ;求平方和 ;调求平方子程序@a+查表求平方值(出口 a )返回 0,1,4,9,16 ;平方表tab:db: db:25,36,49,64,81(2)输入并调试已编好的子程序,按要求准备如口即在 a 中装如待查平方的数,独立运行子程序后,检查 a 中的内容是否为平方值. (3)输入并调试已遍好的主程序,注意观察子程序的调用和返回情况. (4)观察并记录运行过程中的子程序的入口,出口及 pc 和各积存器的变化情况.《单片机原理与应用》试题 014 一、 填空(每空 1 分,共 12 分) 个 sl 型 ttl 负载. 控制位. 三种方式. 。它包括两个主要部分: 、 。1.mcs-51 的 po 口作为输出端口时,每位能驱动2.当定时器 to 工作在方式 3 时,要占定时器 t1 的 tr1 和 tf1_ 3.在串行通信中,有数据传送方向 、 、4. 微处理器本身不是计算机,它是微型计算机的核心部件,又称它为 5.当 mcs-51 引脚 信号有效时,表示从 po 口稳定地送出了低 8 位地址. 整除的特殊功能寄存器均能寻址.6.mcs-51 中凡字节地址能被_ 7.一个机器周期等于个状态周期,振荡脉冲 2 分频后产生的时钏信号的周期定义为状态周期。 。8.mcs-51 的定时器用作定时时,其定时时间与时钟频率和计数初值有关。用作计数时,最高计数频率的 二、 判断题(每题 2 分共 10 分) 1.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。 2.mcs-51 的相对转移指令最大负跳距是 127b。 3.mcs-51 的特殊功能寄存器分布在 60h~80h 地址范围内。 ( 4.要 mcs-51 系统中,一个机器周期等于 1.5μ s。 ( ) )( () )5、片内 ram 与外部设备统一编址时,需要专门的输入/输出指令。 ( 三、 选择题(每题 2 分共 18 分))1.要 mcs-51 系统中,若晶振频率屡 8mhz,一个机器周期等于( a 1.5 b 3 c 1 d 0.5 )
c 2.十进制 29 的二进制表示为原码( a 、6264 芯片是( (a) (a) b
) eeprom (b)ram 式(c)flash) μ srom (d)eprom )4、用 mcs-51 用串行扩展并行 i/o 口时,串行接口工作方式选择( 方式 0 (b)方式 1 (c)方式 2 (d)方式 3 )5、某种存储器芯片是 8kb*4/片,那么它的地址线根线是( (a)11 根 (b)12 根 (c)13 根 (d)14 根6、mcs-51 外扩 rom,ram 和 i/o 口时,它的数据总线是( ) (a) p0 (b)p1 (c)p2 (d)p3 )7、mcs-51 的并行 i/o 口信息有两种读取方法:一种是读引脚,还有一种是( (a)读锁存器具 (b)读数据库 (c)读 a 累加器具 (d)读 cpu 8.执行 push acc 指令,mcs-51 完成的操作是( sp+1 sp (acc) - sp (acc) ) ) (sp)sp-1 (a) (sp) (b) (acc) (sp) (d) (acc)sp sp(c)sp-1 (a)(sp)sp+19.对程序存储器的读操作,只能使用(mov 指令 (b)push 指令 (c)movx 指令(d)movc 指令四、简答题(共 30 分) 1. mcs-51 指令系统主要有哪几种寻址方式试举例说明。 (8分) 2 定时器 t0 和 t1 各有几种工作方式(8分)3.8031 单片机需要外接程序存储器,实际上它还有多少条 i/o 线可以用当使用外部存储器时,还剩下多少条 i/o 线可用(7分) 4. 8051 的振荡周期、机器周期、指令周期是如何分配的当晶振频率为 6mhz 时,一个机器周期为多少微秒(7分)五、编程题(共 30分) 1. 分)片内 ram30h 开始的单元中有 10b 的二进制数,请编程求它们之和(和<256 =. (82. 试编程对 8155 进行初始化,设 a 口为选通输出,b 口为选通输入,c 口作为控制联络口,并启动定时器/记数器按方式 1 工作,工作时间为 10ms,定时器计数脉冲频率为单片机的时钟频率 24 分频,fosc=12mhz。 (12 分) 3.试将 8031 单片机外接一片 2716 eprom 和一片 6116 ram 组成一个应用系统,请画出硬件连线图,并指出扩展存储器的地址范围。 (10 分) 《单片机原理与应用》试题 014 答案 填空(每空 1 分,共 12 分) 1.mcs-51 的 po 口作为输出端口时,每位能驱动 8 个 sl 型 ttl 负载. 2.当定时器 to 工作在方式 3 时,要占定时器 t1 的 tr1 和 tf1_两个控制位. 3.在串行通信中,有数据传送方向单工、半双工、全双工三种方式. 4. 微处理器本身不是计算机,它是微型计算机的核心部件,又称它为中央处理单元 cpu。它包括两个主要部分:运算器、控制器。 5.当 mcs-51 引脚 ale 信号有效时,表示从 po 口稳定地送出了低 8 位地址. 6.mcs-51 中凡字节地址能被_ 7.一个机器周期等于 6 8 整除的特殊功能寄存器均能寻址. 周期。个状态周期,振荡脉冲 2 分频后产生的时钏信号的周期定义为状态8.mcs-51 的定时器用作定时时,其定时时间与时钟频率和计数初值有关。用作计数时,最高计数频率的 2/24。 二、判断题(每题 2 分共 10 分) 1.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。 2.mcs-51 的相对转移指令最大负跳距是 127b。 3.mcs-51 的特殊功能寄存器分布在 60h~80h 地址范围内。 (× 4.要 mcs-51 系统中,一个机器周期等于 1.5μ s。 × ( ) ( ( √ ) × ))80h~ffh。5、片内 ram 与外部设备统一编址时,需要专门的输入/输出指令。 (错) 三、选择题(每题 2 分共 18 分) 1.要 mcs-51 系统中,若晶振频率屡 8mhz,一个机器周期等于(a a 1.5 b 3 c 1 d 0.5 )
rom (d)eprom c 2.十进制 29 的二进制表示为原码( c a
(b) (b) b 、6264 芯片是(b) eeprom (b)ram 式(c)flash 4、用 mcs-51 用串行扩展并行 i/o 口时,串行接口工作方式选择(a) 方式 0 (b)方式 1 (c)方式 2 (d)方式 3 ) μ s5、某种存储器芯片是 8kb*4/片,那么它的地址线根线是(c) (b) 11 根 (b)12 根 (c)13 根 (d)14 根6、mcs-51 外扩 rom,ram 和 i/o 口时,它的数据总线是(a) (b) p0 (b)p1 (c)p2 (d)p37、mcs-51 的并行 i/o 口信息有两种读取方法:一种是读引脚,还有一种是(a) (a)读锁存器具 (b)读数据库 (c)读 a 累加器具 (d)读 cpu 8.执行 }

我要回帖

更多关于 单片机定时器汇编程序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信