02358《单片机原理及应用》复习资料一、填空题1.当使用8031单片机时,需要扩展外部程序存储器,此时EA应接__低___电平。
2.8051汇编语言指令格式中,唯一不可缺少的部分是___操作码______。
3.在存储器的扩展中,无论是线选法还是译码法,最终都是为扩展芯片的_片选信号引脚提供信号。
4.当8051单片机RST信号复位时,I/O口锁存器值为_0FFH ____。
5.单片机存储器系统扩展常用的芯片选择方法(寻址方法)有线选法和_译码法____。
6.8051的PC是16位,因此程序存储器的最大寻址空间为_64____KB。
7.当程序状态字寄存器PSW状态字中RS1和RS0分别为0和0时,系统的工作寄存器组地址范围为__00H~07H____。
8.在存储器的扩展中,无论是线选法还是译码法,最终都是为扩展芯片的_片选信号引脚提供信号。
9.在存储器的扩展中,无论是线选法还是译码法,最终都是为扩展芯片的_片选信号____引脚提供信号。
10.8051单片机的外部中断0中断入口地址为_0003H____。
11.一个EPROM的地址有A0~A11共12个引脚,它的容量为__4_____KB。
12.8051单片机在同一级别里,级别最高的中断源是__片选信号_。
13.8051单片机访问内部RAM使用__ MOV ___指令,访问外部RAM使用_ MOVX ____指令,访问ROM使用_ MOVC ____指令。
14.8751是EPROM型,内含__4_______KB EPROM。
15.MOV C,20H源寻址方式为___位______寻址。
16.设计8031系统时,____ P0_____口和P2口不能用作一般I/O口。
17.串行通信有__单工形式____、___全双工形 ___和___全双工形____共3种数据通路形式。
18.11.8051的定时器__ T1_______作串行接口方式1和方式3的波特率发生器。
19.12.8051中唯一一个不可以寻址的16位寄存器为_ PC______。
二、判断题1.寄存器间接寻址中,寄存器中存放的是操作数的地址。
(√)2.在中断响应时断点地址自动入栈。
( √ )3.8051的特殊功能寄存器分布在00H~70H地址范围内。
( × )4.8051单片机复位是高电平有效。
(√)5.ADC0809是8位逐次逼近式模/数转换器。
( √ )6.在中断响应时断点地址自动入栈。
(√)7.ADC0809是9位逐次逼近式模/数转换器。
(×)8.8051的特殊功能寄存器分布在00H~70H地址范围内。
( × )9.8051晶振频率12MHz,则串口方式0波特率为1MHz。
( √ )10.内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。
(×)三、简答题1.简述时钟周期、机器周期、指令周期的基本概念。
答:振荡脉冲经二分频后就是单片机的时钟信号,也叫做状态,信号的周期即时钟周期。
一个机器周期的宽度为6个状态,也是振荡脉冲的十二分频。
执行一条指令所需要的时间称为指令周期,是最大的时序单位,指令周期以机器周期的数目来表示。
2.简述51单片机堆栈进栈和出栈操作规则。
答:51单片机使用的是向上生长型堆栈,进栈规则为先SP加1,然后写入数据,出栈规则为先读出数据,然后SP减1 。
3.请写出51单片机的寄存器寻址、直接寻址、寄存器间接寻址、立即寻址的单片机汇编语言示例,要求操作数中有一个操作数是累加器A。
答:寄存器寻址 MOV A,R1直接寻址 MOV A,70H寄存器间接寻址 MOV A,@R0立即寻址 MOV A,#30H4.简述异步串行通信的帧格式。
答:异步通信的帧格式由起始位、数据位、奇偶校验位、停止位组成。
起始位使数据线处于space状态。
数据位中,低位在前高位在后,可以是5、6、7或8位。
奇偶校验位用于对字符传送作正确性检查,共有三种选择,即奇校验、偶校验、无校验。
停止位在最后,用mark状态标志一个字符传输结束,停止位可能是1、1.5或2位。
5.简述寄存器间接寻址方式及其寻址范围。
答:(1)寄存器中存放的是操作数的地址,操作数是通过寄存器间接得到,这种寻址方式称为寄存器间接寻址方式。
(2)寻址范围:①内部RAM低128单位,形式@Ri(i=0,1)。
②外部RAM64K使用DPTR作间址寄存器,形式为@DPTR。
6.简述MCS-51单片机的中断入口地址。
答:中断入口地址为中断响应后PC的内容即中断服务的入口地址。
它们是:外部中断0 0003H定时器T0中断 000BH外部中断1 0013H定时器T1中断 001BH串行口中断 0023H四、读程序题1.写出下列指令的功能。
SETB bit答:指定位置1PUSH direct答:进栈DEC A答:累加器减12.写出下列指令的功能。
MOV A,@R0DEC R5CPL C答:MOV A,@R0 :以R0寄存器的内容为地址,把该地址单元的内容送累加器A DEC R5 :寄存器R5减1CPL C :CY取反3.已知(SP)=07H,(DPTR)=1234H,执行下列指令后,内部RAM(08)=_12H ____,(09)=__34H ___,(SP)=__09H___。
INC DPTRPUSH DPHPUSH DPL4.下列指令执行后,(P1.7)=__0___,(P1.1)=__1___,(P1.2)= __0___。
ANL P1,#31HORL P1,#73H5.已知初值(60H)=23H,(61H)=61H,下列指令依次执行,写出空白处A的值。
CLR CMOV A, #9AHSUBB A,60H;A=____77H _____ADD A,61H;A=___0D8H ______DA A; A=__38H _______6.假定(A)=0FH,(R7)=19H, (30H)=00H, (R1)=40H, (40H)=0FFH.执行指令DEC R7DEC 30HDEC @R1后,R7的内容为___18H ______,30H的内容为__0FFH ,40H的内容为__0FEH ___。
7.下列指令执行后,(P1.7)=___0______,(P1.1)=___1______,(P1.2)=___0______。
ANL P1,#31HORL P1,#73H五、综合题1.编写程序将内部RAM的30H~38H单元高3位写0,低5位置1(要求采用循环实现)。
答: MOV R0, #30HMOV R1, #09HLOOP: MOV A,@R0ORL A, #0E0HANL A, #0E0HMOV @R0, ADJNZ R1, LOOP2.编写程序将内部RAM的40H~49H单元高4位写0,低4位置1(要求采用循环实现)。
答: MOV R0,40HMOV R1,0AHLOOP:MOV A,@R0ANL A,#0FHORL A,#0FHMOV @R0,AINC R0DJNZ R1,LOOP3.已知在累加器A中存放一个BCD数(0~9),请编程实现一个查平方表的子程序。
答:SQR: INC AMOVC A,@A+PCRETTAB:DB 0,1,4,9,16DB 25,36,49,64,814.已知51单片机系统晶振频率为12MHz,请利用定时器0工作方式1,中断方式在P2.0输出频率为10Hz的方波,写出定时设计过程及完整代码。
答:欲产生10Hz 的方波,只需在P2.0 端以20Hz 为频率,也就是50ms 为周期交替输出等宽高低电平,因此定时时间应为50ms,若使用6MHz 晶振,则一个机器周期为1us,设计数初值为X,方式1 为16 位计数结构,计算得到X=3CB0H,因此TH0=3C,TL0=B0H。
定时器0 的设定为方式1,M1M0=01,定时器1 不工作,则相应位均为0,TMOD 初始化为01H。
中断总允许位及定时器T0 中断允许为均置一,IE=82H,定时器的启动和停止由TR1 位控制。
中断函数内重置计数初值,然后P2.0 口取反,就可得到需要的脉冲方波程序设计如下:ORG 0000HLJMP MAINORG 000BHMOV TH0,#3CHMOV TL0,#0B0HCPL P2.0RETIMAIN: MOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HMOV IE,#82HSETB TR1SJMP $4.假定DAC0832工作于单缓冲模式,数据输入寄存器地址为5000H,其他引脚接合适电平,且输入寄存器数据从00H~0FFH变化输出从0~5V变化。
试编程输出线性下降的锯齿波。
答:ORG 8000HAJMP DASAW ORG 8200H DASAW:MOV DPTR,#5000H MOV R0,#0FFH WW: MOV A,R0MOVX @DPTR,A DEC R0NOPNOPAJMP WW。