单片机原理及应用 - 基于Proteus和Keil C 联系客服

发布时间 : 星期日 文章单片机原理及应用 - 基于Proteus和Keil C更新完毕开始阅读75e838ef3968011ca20091b2

一、填空

1、CPU主要的组成部份包括_____运算器_______、______控制器______。

2、单片机的系统总线有_____地址总线_______、____数据总线________和______控制总线______。 3、单片机汇编语言有三种基本结构,分别是 _____顺序________、______分支______、_____循环______。 4、存储器6264地址线有_____13 _____根,容量为_____ 8______KB。

5、8051的中断入口地址分别是_0003H、000BH___、_0013H___、_001BH___、___0023H______。 6、若由程序设定RS1、RS0=01,则工作寄存器R0~R7的直接地址为______08~0F______。

7、定时和计数都是对_____脉冲_______进行计数,定时与计数的区别是定时是对周期相同的脉冲;计数是_周期不相同的脉冲__ 。

8、D/A转换器转换数据的传送有___直通式____、____单缓冲________、_____双缓冲_______三种方式。 9、任何程序总是由三种基本结构组成,它们是____顺序________、______分支______、_____循环_______。 10、串行通信分为_____异步通信_______传送和_____同步通信_______传送两种基本方式。

11、中断源的允许是由____IE____寄存器决定的,中断源的优先级别是由______IP______寄存器决定的。 12、堆栈的地址由______SP______内容确定,其操作规律是___先进后出___或者______后进先出______。 13、已知累加器A的数值为98H,它与0FAH相加,相加后标志位CY的内容为_1_,AC的内容为_1_,OV的内容为 0_。

14、8051单片机中有__2_____个_16______位的定时/计数器,可以被设定的工作方式有______4____种。 15、D/A转换器的作用是将____数字________量转为_____模拟_______量。 16、A/D转换器的作用是将_____模拟_______量转为_______数字_____量。

17、子程序的返回指令是______RET______,中断返回指令是_____RETI_______。 18、8051单片机的_____P3_______口的引脚,还具有外中断、串行通信等第二功能。 19、串行口每一次传送_____1帧_______字符。

20、在串行通信中, 8031中发送和接收的寄存器是____SBUF_______。

21、MOVX A , @R0指令中,源操作数采用_____寄存器间接_______寻址方式。 二、选择题

1、在单片机中,通常将一些中间计算结果存放在( D )中。 A.累加器 B.控制器 C.程序存储器 D.数据存储器 2、关于单片机的堆栈操作,正确的说法是( C )。 A.先入栈,再修改栈指针 B.先修改栈指针,再出栈 C.先修改栈指针,在入栈 D.以上都不对 3、MOV C,20H.0的操作方式是( B )。 A.位寻址 B.直接寻址 C.立即寻址 D.寄存器寻址 4、对程序存储器的读操作,只能用( D )。

A.MOV 指令 B.PUSH指令 C.MOVX指令 D.MOVC指令 5、如果(P0)=65H ,则当 CPL P0.2 SETB C

MOV P0.4,C

执行后(P0)=( C )。 A.61H B.75H C.71H D.17

6、当标志寄存器PSW的RS0和RS1分别为1和0时,系统选用的工作寄存器组为( C )。 A.组0 B.组1 C.组2 D.组3

7、若某寄存器芯片的地址线为12根,那么它的存储容量为( C )。 A.1KB B.2KB C.4KB D.5kB 8、单片机AT89S51串行口工作方式0的波特率是( D )。 A.固定的,为fosc/32 B.固定的,为fosc/16

C.可变的,通过定时器/计数器T1的溢出率设定 D.固定的,为fosc/12 9、AT89S51单片机共有( B )个中断源。 A.4 B.5 C.6 D.7 10、ORG 0003H

LJMP 2000H ORG 000BH LJMP 3000H

当CPU响应外部中断0时,PC的值是( A )。 A.0003H B.2000H C.000BH D.300

11、当需要从8051单片机程序存储器取数据时,采用的指令为( B )。 (A)MOV A, @R1 (B)MOVC A, @A + DPTR (C)MOVX A, @R0 (D)MOVX A, @DPTR 12、MCS-51单片机的堆栈区应建立在( A )。

(A)片内数据存储区的低128字节单元 (B)片内数据存储区 (C)片内数据存储区的高128字节单元 (D)程序存储区

13、在串行通信中,MCS-51单片机中发送和接收的寄存器是( B )。

(A)TMOD (B) SBUF (C) SCON (D)DPTR 14、8051单片机中即可位寻址又可字节寻址的单元是( A )。

(A)20H (B)30H (C)00H (D)70H

15、MOVX A , @R0指令中,源操作数采用( )寻址方式,指令作用在( )区间。( D ) (A)寄存器,外部数据存储器 (B)直接,程序存储器

(C)寄存器间接 ,内部数据存储器 (D)寄存器间接,外部数据存储器 16、执行下列程序段 MOV SP,#3AH MOV A,#20H MOV B,#30H PUSH ACC PUSH B POP ACC POP B

后,A和B的内容分别是( B )。

(A)20H,30H (B) 30H,20H (C)3AH,30H (D)3AH,3AH 三、程序题

1、设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)= E7H 。

ORL A,#27H ANL A,28H XCHD A,@R0 CPL A

2、如果(DPTR)=5678H,(SP)=42H,(3FH)=12H,(40H)=34H,(41H)=50H,(42H)=80H,则执行下列指令后:(DPH)= 80H ,(DPL)= 50H 。

POP DPH POP DPL RET

3、单片机采用6MHz的晶振,定时0.5ms,如用定时器方式0时的初值(16进制数)应为 0X1F06H TH0=0X1F TL0=0X06H 。

4、下列子程序的功能是 将外部数据存储器7000H开始的单元清零,以00H为结束标志。

ORG 0030H

CLEAR: MOV R0,#00H

MOV DPTR,#7000H

CLEAR1:CLR A

MOVX @DPTR,A INC DPTR INC R0

CJNE R0,#00H,CLEAR1 SJMP CLEAR END

5、设晶振频率为6MHz,定时/计数器T0工作于方式2,产生500μs定时中断,在中断服务程序中把累加器A的内容减1,然后送P1口显示,请补全下列程序。

$include (STC12.INC)

ORG 0000H LJMP MAIN ORG 000BH LJMP T0_ISR ORG 0030H MAIN: MOV SP,#60H MOV A,#0FFH MOV TMOD,#02H MOV TL0,#06H MOV TH0,#06H SETB ET0 SETB EA SETB TR0 SJMP $ T0_ISR: DEC A MOV P1,A RETI END

1、 简述PSW寄存器的各个位的作用。

PSW.7:进/借位标志CY,加法有进位时置1,减法有借位时置1; PSW.6:辅助进位标志AC,加法运算低四位向高上四位有进位时置1; PSW.5、PSW.1:用户标志位F0和用户标志位F1,保存用户的位数据;

PSW.4、PSW.3:工作寄存器选择控制位RS1和RS0,00至11分别选择四组工作之一作为当前工作寄存器 。

PSW.2 :溢出标志位OV,有符号数加、减运算结果有溢出或乘除上结果异常(乘法运算结果大于255即乘积在BA中,或除法运算除数为0)时置1 。

PSW.0:奇偶标志位P,累加器A中1的个数为奇数时置1。 2、 简述调用子程序和中断服务程序的异同点。

相同点:均能中断主程序执行本程序,然后再返回断点地址继续执行主程序。 不同点: (1)中断服务程序入口地址是固定的,子程序调用入口地址是用户自己设定的。 (2)中断服务程序返回指令除具有子程序返回指令所具有的全部功能之外,还有清除中断响应时被置位的优先级状态、开放较低级中断和恢复中断逻辑等功能。

(3)中断服务程序是在满足中断申请的条件下,随机发生的;而子程序调用是用户主程序事先安排好的。

3、简述8051单片机4个I/O口在使用上有哪些分工和特点。

① P0口: 可作通用I/O口用,也可作地址/数据线用。作通用I/O口用时,输出级为开漏 极电路, 在驱动外部电路时应接上拉电阻;在接有外部存储器时,P0口作地址/数据线用,先输出低8位地址到外 部地址锁存器,后输人指令代码或输人/输出数据。 ② Pl口: 是一个8位准双向口,作通用I/O口用。

③ P2口: 是一个8位准双向口,作通用I/O口用。当外部接有存储器时,可用于输出高8位地址。 ④ P3口: 是一个多功能端口。其基本功能仍然是通用I/O口,使用时与Pl、P2口类似。其第二功能 则是串行口、外部中断线、定时器/计数器的输入及外部数据存储器的选通信号等。 准双向口:某引脚的输出变为输入时,用户应向锁存器写“1”,以免错误读出引脚内容。当复位时,口锁存器均置“1”,作为输入口使用。 P1P2P3均内置上拉电阻,P0输出端口必须外接上拉电阻,P0.X才有高电平输出。

4、简述AT89S51单片机的定时/计数器各工作方式的特点。

方式0:采用高8位THx和低5位TLx组成一个13位的加1计数器,满计数值为213,初值不能自动 重装载。 计数个数:1~8192(213) 定时时间(T=1us):1us~8.19ms

方式1:采用高8位THx和低8位TLx组成一个16位的加1计数器,满计数值为216。 计数个数:1~65536(216) 定时时间(T=1us):1us~65.54ms

方式2:采用8位寄存器TLx作为加1计数器,满计数值为28。省去程序重装初值的指令,并可产生相 当精确的定时时间。 最大计数值:256(28) 最大定时时间(T=1us):256us 方式3:三种定时/计数器关系 ①TH0+TF1+TR1组成带中断的8位定时器; ②TL0+TF0+TR0组成的带中断功能的8位定时、计数器; ③T1组成的无中断功能的定时/计数器。

方式3下T0可有两个具有中断功能的8位定时器,在定时器T0用作方式3时,T1仍可设置为 方式0~2(但没有方式3状态)。

5、编程:将片外数据存储器2000H至20FFH单元内容清零。

MOV R0,#100H MOV A,#0 MOV DPTR,#2000H LOOP: MOVX @DPTR,A INC DPTR DJNZ R0,LOOP END

6、在外部RAM起始地址为2000H的数据表中存有10个字节的数据,编程将每个字节的最高位无条件置于1。

MOV DPTR, #2000H MOV R7 #10

LOOP: MOVX A, @DPTR ORL A, #80H MOVX @DPTR, A INC DPTR

DJNZ R7, LOOP END