单片机原理及应用复习

单片机原理及应用

第二章

  1. 在AT89S52单片机中,如果采用6MHz晶振,一个机器周期为    2us     

时钟周期Tocs=1focs  机器周期 Tcy=12focs  指令周期:一条指令所用的时间,单字和双字节指令一般为单机器周期和双机器周期。

  1. AT89S52单片机的机器周期等于    12    个时钟振荡周期。
  2. 若A中的内容为63H,那么P标志位的值为   0    

P(PSW.0)奇偶标志位 该标志位表示指令执行后,累加器A中1的个数是奇数还是偶数。P=1为奇数,P=2为偶数  63H=0101 0011B

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

1B=8bit,1KB=1024B, 2^16B=64KB

  1. AT89S52单片机复位时,P0~P3口的各引脚为       电平。
  2. AT89S52单片机复位时,堆栈指针SP中的内容为  07H    ,程序指针PC中的内容为  0000H 
  3. 程序在运行中,当前PC的值是( C
  1. 当前正在执行指令的前一条指令的地址     B、当前正在执行指令的地址
  2. 当前正在执行指令的下一条的首指令       D、控制器中指令寄存器的地址

PC是程序计数器,用于存放下一条指令所在单元的地址。

  1. 使AT89S52单片机且引脚EA=1时,仍可外扩64KB的程序存储器。(   )

EA=1先访问片内(8KB)再访问片外(60KB),   EA=0只读取片外(最大64KB)

简答

  1. AT89S52单片机的64KB程序存储器空间有6个单元地址对应AT89S52单片机6个中断源的中断入口地址,请写出这些单元的入口地址及对应的中断源。

中断源         入口地址

外部中断0       0003H

定时器/计数器0  000BH

外部中断1       0013H

定时器/计数器1  001BH

串行口           0023H

定时器/计数器2  002BH

  1. 说明AT89S52单片机的EA引脚接高电平或低电平的区别。

外部程序存储器访问允许控制端

EA=1时,在AT89S52单片机内的PC值不超出1FFFH(即不超出片内8KB程序存储器的最大地址)时,AT89S52单片机读片内程序存储器,(8KB)中的程序代码,但PC值超过1FFFH(即超出片内8KB Flash存储器的最大地址)时,将自动转向读取片外60KB(2000H~FFFFH)程序存储器空间中的代码。

    EA=0时,单片机只读取外部程序存储器中的内容,读取的范围为0000H~FFFFH(64KB),此时片内的8KB Flash程序存储器不起作用。

第三章

  1. 指令格式由  操作码      操作数   组成,也可仅由  操作码    组成。
  2. 在基址加变址寻址方式中,以   A  作为变址寄存器,以   PC     DPTR   作为基址寄存器。
  3. 在AT89S52单片机中,PC和DPTR都用于提供地址,但PC是为访问   程序   存储器提供地址,而DPTR是为访问   数据   存储器提供地址。
  4. 在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的    地址   

先从寄存器中找到操作数的地址,再按照该地址找到操作数。

  1. 下面程序段的功能是   交换Acc与B的值   

PUSH  Acc

PUSH B

POP  Acc

POP  B

PUSH进栈指令

POP出栈指令

像一个桶,先放Acc,再放B。拿出时先拿B的值放在Acc,再拿A的值放到B

累加器A也可以写成Acc,其中区别是:当使用A时是寄存器寻址,Acc是直接寻址。如POP A不能写成POP A,STEB Acc.0不能写成SETB A.0

  1. 假定(A)=83H,(RO)=17H,(17H)=34H,执行以下指令后,(A)=__0CB______。

ANL  A,#17H A的值83H->1000 0011,

17H->0001 0111

               相与得->0000 0011->03H这是A的值

ORL  17H,A  17H->34H ->0011 0100

            A的值03H->0000 0011

               相或得->0011 0111->37H 这是17H的值

XRL  A,@R0  A的值03H->0000 0011

         R0->17H->37H->0011 0111

               异或得->0011 0100->34H 这是A的值

CPL  A      A的值34H->0011 0100

               取反得->1100 1011->0CBH

  1. 假设(A)=55H,(R3)=OAAH,在执行指令“ANL A,R3”后,(A)=__00H____,
    (R3)=___0AAH____。

55H->0101 0101

AAH->1010 1010

相与-> 0000 0000->00H放入A,R3不变

  1. 假定,(SP)=60H,(A)=30H,(B)=70H,执行下列指令后,SP的内容为__62H____,

61H单元的内容为___30H___,62H单元的内容为___70H____。

PUSH  Acc

PUSH  B

PUSH先将SP加1,然后将direct中的内容送到SP所指的RAM中

POP先将SP所指栈顶的内容送到direct中,然后SP减1

  1. 判断以下指令的正误。
  1. MOV 28H,@R2    错(MOV direct @Ri  ;i=0~1)

B.DEC DPTR        错(不存在这条指令)

C.INC DPTR        

D.CLR RO          错(不存在这条指令)

E.CPL R5          错(不存在这条指令)

  1. MOV R0,R1      错(不存在这条指令)

G.PUSH DPTR       错(PUSH后面只能是直接寻址

H.MOV F0,C        对(F0(PWS.5)用户使用的标志位)

I.MOV F0,Acc.3    错(只有MOV bit,C 和MOV C ,bit)

J.MOVX A,@R1      对(MOVX A,@Ri)

  1. MOV C,30H       对(可位寻址在片内RAM(00H ~7FH位地址,字节地址是20H~FH)和SFR)

L.RLC R0          错(不存在这条指令)

  1. 判断下面说法是否正确。AB
  1. 立即数寻址方式是被操作的数据本身就在指令中,而不是它的地址在指令中。 正确
  2. 指令周期是执行一条指令的时间。 正确
  3. 指令中直接给出的操作数称为直接寻址。(立即数寻址)
  4. 内容寄存器Rn(n=0~7)可作为间接寻址寄存器。(0~1)
  1. 判断以下指令中,哪些属于单纯读引脚的指令。C
  1. MOV P1,A    B.ORL P1,#OFH   C.MOV C,P1.5    D.ANL P1,#OFH
  1. 程序在运行中,当前PC的值是( C  )
  1. 当前正在执行指令的前一条指令的地址      B.当前正在执行指令的地址
  2. 当前正在执行指令的下一条指令的首地址     D.控制器中指令寄存器的地址
  1. 对程序存储器的读操作,只能使用( D  )
  1. MOV指令     B.PUSH指令     C.MOVX指令    D.MOVC指令

第四章

  1. 外部中断1的中断入口地址为  0013H   。定时器T1的中断入口地址为   001BH     
  2. 下面说法错误的是(  B
  1. 同一级别的中断请求按时间的先后顺序响应。
  2. 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。
  3. 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。
  4. 同级中断不能嵌套。
  1. 必须有中断源发出中断请求,并且CPU开中断,CPU才能响应中断。(   )
  2. AT89S52单片机中的同级中断不能嵌套。(   )
  3. 中断服务子程序可以直接调用。(   )
  4. 在开中断的前提下,只要中断源发出中断请求,CPU就会立刻响应中断。(   )

第五章

  1. 如果采用频率为3MHz的晶振,定时器/计数器Tx(x=0,1)工作在方式0、1、2下,其方式0的最大定时时间为   32768us    ,方式1的最大定时时间为  262144us    ,方式2的最大定时时间为   1024us     

2n*12focs=213*123*106=8192*4*10-6=32768*10-6s=32768us

2n*12focs=216*123*106=65536*4*10-6=262144*10-6s=262144us

2n*12focs=28*123*106=256*4*10-6=1024*10-6s=1024us

  1. AT89S52单片机的晶振为6MHz,若利用定时器T1的方式1定时2ms,则TH1=  FCH  ,TL1=   18H   

N=2n-T*focs12= 216-2*10-3*6*10612=65536-1000=64536

TH1=64536/256=252=FCH

TL1=64536%256=24=18H

  1. 定时器T0、T1工作方式1时,其计数器为( B  )位。

A.8位      B.16位       C.14位      D.13位

  1. 定时器T2工作在自动重装载方式时,其计数器为(  A

A.8位     B.13位     C.14位       D.16位

简答

  1. 定时器/计数器T1、T0的工作方式2有什么特点?适用于哪些应用场合?

方式2为初值自动装入的8位定时器/计数器,克服了在循环定时或循环计数应用时就存在用指令反复装入计数初值影响定时精度的问题。具有自动恢复初值的特点,适用于精确定时, 适用于波特率的产生。

  1. 如果系统的晶振的频率为24MHz,定时器/计数器工作在方式0、1、2下,其最大定时时间各为多少?

晶振的频次为24MHz,机器周期为0.5us。

2n*12focs=213*1224*106=8192*0.5*10-6=4096*10-6s=4096us

2n*12focs=216*1224*106=65536*0.5*10-6=32768*10-6s=32768us

2n*12focs=28*1224*106=256*0.5*10-6=128*10-6s=128us

第六章

  1. AT89S52单片机的串行异步通信口为  全双工     (单工/半双工/全双工)。

单工:只能一个方向传输

半双工:可以双向传输,但不能同时传输

全双工:可以同时双向传输

同步:采用同一个时钟,通过一条时钟线加到收发双方,使双方完全同步

异步:按各自的时钟控制收发

  1. 串行口的方式0的波特率为   fosc/12   
  2. AT89S52单片机串行口的四种工作方式中,   方式1        方式3    的波特率是可调的,与定时器/计数器T1的溢出率有关,另外两种方式的波特率是固定的。
  3. 串行口工作方式1的波特率是  方式1波特率 =2SMOD32*定时器T1的溢出率    
  4. 控制串行口工作方式的寄存器是(  D
  1. TCON    B.PCON     C.TMOD      D.SCON

TCON定时器/计数器控制寄存器

PCON功率控制寄存器,其中第八位为SMOD

TMOD定时器/计数器工作方式寄存器

SCON串行口控制寄存器

第七章

填空题

  1. “8”字型的LED数码管如果不包括小数点段共计___7___段,每一段对应一个发光二极管,有_____共阴极数码管______和______共阳极数码管______。
  2. 对于共阴极带有小数点段的数码管,显示字符“6”(a段对应段码的最低位)的段码为____7DH_____,对于共阳极带有小数点的数码管,显示字符“3”的段码为____B0H_____
  3. 已知8段共阳极LED数码管显示器要显示某字符的段码为A1H(a段为最低位),此时显示器显示的字符为____d____。

判断题

  1. P1-P3口作为输入端口使用时,必须先向端口寄存器写入1。 (   )

先写1使场效应管截止,这时才能正常读引脚,否则都会被拉低

  1. P0-P3口的驱动能力是相同的。 (    )

P0口为漏极开路

  1. 当显示的LED数码管位数较多时,动态显示所占用的I/O口多,为节省I/O口与驱动电路的数目,常采用静态扫描显示方式。 (     )

动态扫描占用IO口少

  1. LED数码管动态扫描显示电路只要控制好每位数码管点亮显示的时间,就可造成“多位同时亮”的假象,达到多为LED数码管同时显示的效果。 (    )

控制每位数码管点亮的时间和间隔

  1. LED数码管工作于动态显示方式时,同一时间只有一个数码管被点亮。 (    )
  2. 动态显示的数码管,任意时刻只有一个LED数码管处于点亮状态,是LED的余晖与人眼的“视觉暂留”造成数码管同时显示的“假象”。 (     )

第八章

填空题

  1. 单片机存储器的主要功能是存储____程序______和____数据______。
  2. 设计一个以AT89S52单片机为核心的系统,如果不外扩程序存储器,使其内部8KB闪烁程序存储器有效,则其____EA_____引脚应该接____+5V_____。

  • 25
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值