2、执行下列程序后,(A)= 40H ,(B)= 01H 。 MOV A,#0AH MOV B,#20H
MUL AB
3、请分析下面程序执行后的操作结果,(A)= 40H ,(R0)= 60H 。 MOV A,#60H MOV R0,#40H MOV @R0,A MOV 41H,R0 XCH A,R0
六、综合题(共32分)
1.设单片机晶振频率fOSC=6MHZ,使用定时器0以工作方式1产生周期为800μs的等宽方波,用中断方式实现编程,并在P1.0输出。 画出其电路图。
(答:分析知要求400us翻转一次,机器周期为2us,故定时器满200要翻转,定时初值=216-200,以下按教材上答题吧) 我评论:这种题很重要,在P1.0上产生方波,可以用三种方法实现: 1、延时技术
Fangbo: CPL P1.0 ACALL DELAY SJMP fangbo
DELAY: ?? (编写一个延时400μs的程序) 2、引用定时器,但用查询方式
MOV TMOD ,#01H SET TR0
LOOP:MOV TH0,# (自己计算初始值) MOV TL0,# (自己计算初始值) JNB TF0,$ CLR TF0 CPL P1.0 SJMP LOOP
3、按中断方式编程,所有教材均会讲到。
这类题目既然所有教材都要讲,所以就极大可能要考试。
扣除接P1.0的220电阻和发光二极管,剩余部分就是单片机最小工作系统 ④ 单片机技术模拟试题 (答案见后)
一。填空题
1.MCS—51单片机的P0—P3口均是 I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的 和 ,在P0—P3口中, 为真正的双向口, 为准双向口。
2.MCS—5l单片机的堆栈区只可设置在 ,堆栈寄存器SP是 位寄存器。 3.MCS—51单片机外部中断请求信号有电平方式和 ,在电平方式下,当采集到INT0、INT1的有效信号为 时,激活外部中断。 4.定时器/计数器的工作方式3是指的将 拆成两个独立的8位计数器。而另一个定时器/计数器此时通常只可作为 使用。
5.MCS—51单片机的最大寻址空间是 ,该空间的地址范围为 ,系统上电及复位的程序入口地址为 ,上电复位时的PSW值为 。
11
二、简答题(15分,每小题5分)
1.51系列单片机具有几个中断源,分别是如何定义的?其中哪些中断源可以被定义为高优先级中断,如何定义?
2.各中断源对应的中断服务程序的入口地址是否能任意设定?
3.如果想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置?请举例加以说明。
三、参数计算题(16分)
已知一单片机系统的外接晶体振荡器的振荡频率为11.059MHz,请计算该单片机系统的节拍P、状态S、机器周期所对应的时间是多少?指令周期中的单字节双周期指令的执行时间是多少?
四、改错题(共5分,每小题1分)
以给出的指令操作码为依据,请判断MCS—5l单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。
1.MUL R0 R1 2.MOV A,@R7 3.MOV A,#3000H 4.MOVC @A+DPTR,A 5.LJMP #1000H
五、寻址方式(5分,每问1分)
说明MCS—51单片机的下列各条指令中源操作数的寻址方式(可直接在每条指令后面书写) 1.ANL A,20H 2.ADDC A,#20H 3.JZ rel 4.CLR C 5.RR A
答案及评分标准
一、填空题(15分,每空1分)
1.并行 数据总线 地址总线 P0 P1—P3 2.片内数据存储区(器) 8 3.脉冲方式 低电平 4.定时器/计数器0 串行口的波特率发生器
5.64K 0000H—FFFFH 0000H 00H 二、简答题(15分,每小题5分)
1.具有5个中断源,分别是外部中断INT0和外部中断INT1、定时器溢出中断0和定时器溢出中断1以及串行中断。通过对中断优先级寄存器IP的设置,每个中断源都可以被定义为高优先级中断。(6分)
2.各中断源的入口地址已经在中断地址区中被定义了,不能任意设定。(3分)
3.如果要将中断服务程序放置在程序存储区的任意区域,在程序中要通过在中断地址区的对应地址上设置跳转指令才可实现对中断服务程序的执行。
例如:外部中断0的中断服务程序INTOP放置在程序存储区的任意区域(此处假设为2000H),此时,通过以下方式,可实现对中断服务程序的执行:(4分)
ORG MAIN ORG 0003H (2分)(因为举例为外部中断0,所以要写0003H)
LJMP INTOP ORG 30H MAIN:??
ORG 2000H (子程序开始,2分)
INTOP:?? 列举其他中断跳转的例子也可,但叙述的中断源要与中断地址相对应才可得分,如外中断0对应0003H地址。如举例为串口中断,则要写0023H。 三、参数计算题(16分)
P=1/fosc=(1/11.059×106)=0.09×10-6s =90ns S=2P=2×90ns=180ns 机器周期=12P=12×90ns=1.08μs 双指令周期=2×机器周期=2.16μs
12
判题标准:每问4分,结果错,分值全扣;结果正确,量纲错或不写量纲,每问扣1分。
四、改错题:(共5分,每小题1分)
以给出的指令操作码为依据,请判断MCS—51单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。
1.MUL R0 Rl 乘法指令应使用A、B寄存器操作
2.MOV A,@R7 间接寄存器使用R7有误,间址寄存器只能使用R0、R1 3.MOV A, #3000H 8位累加器A不能接受16位数据
4.MOVC @A+DPTR,A MOVC指令为对程序存储区操作指令,累加器的内容不可通过变址方式送入程序存储器,两操作数写反了。
5.LJMP #1000H 长转移指令中的操作数为16位转移地址,不能用立即数的形式来表达。
五、寻址方式(5分,每问1分)
说明MCS—51单片机的下列各条指令中源操作数的寻址方式(可直接在每条指令后面书写) 1.ANL A,20H 直接寻址 2.ADDC A, #20H 立即寻址
3.JZ rel 相对寻址 4.CLR C 位寻址 5.RR A 寄存器寻址
⑤ 《单片机技术与应用》模拟试题 (答案见后)
一、填空题(每空1分,共10分)
1.单片机内有组成微机的主要功能部件 、 和 。
2.堆栈的特性是 ,8051的堆栈一般开辟在 ,其堆栈指针是 。 3.RS232C是 总线标准。 4.8255是 接口。
5.MCS-51有一个全双工的 步串行口,有 种工作方式。 二、简述题(每题5分,共25分) 1.单片机的特性主要有哪些? 2.8031、8051、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,(R0)=30H,(30H)=0FH。
(1)MOV A,#48H ;寻址方式: (A)= (2)ADD A,60H ;寻址方式: (A)= (3)ANL A,@R0 ;寻址方式: (A)=
2.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?(15分)
13
MOV R1,#30H ;(R1)= MOV A,#64H ;(A)= ADD A,#47H ;(A)= ,(CY)= ,(AC)= DA A ;(A)= ,(CY)= ,(AC)= MOV @R1,A ;(R1)= ,(30H)=
此程序段完成的功能:
五、计算(画图)题(10分)
若8051的晶振频率fosc为6MHz,定时器/计数器T0工作在工作方式1,要求产生10ms定时,写出定时器的方式控制字和计数初值(分别写出TH0与TL0值)。
【参考答案】 一、填空题(每空1分,共10分)
1.CPU;存储器;I/O接口 2.先进后出;内部RAM30H~7FH的范围内;SP 3.串行通信 4.通用的可编程并行 5.异;4 二、简述题(每题5分,共25分)
1.单片机具有体积小、可靠性高、控制功能强、使用方便、性能价格比高、容易产品化等特点。 2.8051、8751和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,外部中断IE0、IE1;其中定时器/计数器T0、T1的溢出中断TF0、TF1、串行口的收/发中断RI/TI是内部中断源,外部中断IE0、IE1是外部中断源。 三、判断题(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,(R0)=30H,(30H)=0FH。 (1) 立即寻址 ; 48H (2) 直接寻址 ; 4EH
(3) 寄存器间接寻址 ; 09H 注意本题是(1) (2) (3)在题所示条件下单独执行 2.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?(15分) MOV R1,#30H ;(R1)= 30H 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 ;(R1)= 30H ,(30H)= 11H 此程序段完成的功能:(5分)求两个BCD码数(64H和47H)的和,并将结果放在内部RAM的30H单元。
五、计算(画图)题(10分) (1)(5分)T0:定时方式,工作在方式1。 方式字TMOD=01H (2)(5分)fosc=6MHz,16位计数器,10ms定时,设计数初值为a, t=12/ fosc*(216 - a) 10*103=12/6 *(216 - a)
14
a=60536=EC78H 即TH0=ECH TL0=78H 所以:TMOD=01H TH0=ECH TL0=78H
⑥ 单片机模拟试题⑥ (答案见后)
一、填空题(每空格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.在中断服务程序中现场保护和现场恢复期间,中断系统应处在____状态。 三、简答题(每小题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 A
3.下列程序段执行后,(R0)=_______,(7EH)=____,(7FH)=_______。 MOV R0,#7EH MOV 7EH,#0FFH MOV 7FH,#40H INC @R0
INC R0 INC @R0
4.已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALL SUBTRN双字节指令后,(PC)=___,(61H)=_______,(62H)= ____。 5.阅读下列程序,说明其功能。 MOV R0,#data MOV A,@R0 RL A
MOV R1,A RL A
15