MOV A,P1和MOV C,P1.1之类为读端口引脚, CPL P1.1和 ANL P1,#0FH为读端口锁存器。 12、请说明为什么使用LED需要接限流电阻,当高电平为+5V时,正常点亮一个LED需要多大阻值的限流电阻(设发光LED的正常工作电流为5~15mA,取10mA,点亮为1.7V),为什么?
解:因为发光LED导通时,电压降是固定的(1.7V)。为了使LED既能正常工作(电流为10mA),又不至于被过大的电流损坏,所以必须加一个限流电阻,(5-1.7)V/0.01A=330欧。
13、简述单片机8051中断的自然优先级顺序,如何提高某一中断源的优先级别。 自然优先级从高到低依次为: 外部中断0(PX0);定时器/计数器0溢出中断(PT0);外部中断1(PX1);定时器/计数器1溢出中断(PT1);串行口中断(PS)
若某几个控制位为1,则相应的中断源就规定为高级中断;反之,若某几个控制位为0,则相应的中断源就规定为低级中断。当同时接收到几个同一优先级的中断请求时,响应哪个中断源则取决于内部硬件查询顺序(即自然优先级)。
14、( )在8051中,当产生中断响应时,所有中断请求标志位都由硬件自动清零。F
15、中断处理过程分为3个阶段,即 中断响应 、中断处理以及 中断返回 。 16、简述51系列单片机中断响应的条件。 ●有中断源发出中断请求;
●中断总允许位EA=1,即CPU开中断;
●申请中断的中断源的中断允许位为1,即中断没有屏蔽; ●无同级或更高级中断正在被服务; ●当前的指令周期已经结束;
●若现在指令为RETI或者是访问IE或IP指令,则该指令以及紧接着的另一条指令已执行完。
17、在51系列单片机执行中断服务程序时,为什么一般都要在矢量地址开始的地方放一条跳转指令?
因为51系列单片机的两个相邻中断源中断服务程序入口地址相距只有8个单元,一般的中断服务程序是容纳不下的,因此一般都要在相应的中断服务程序入口地址中放一条跳转指令。
18、为什么一般都把主程序的起始地址放在0030H之后? 因为0000H~0030H中有中断的矢量地址,为了避免冲突,一般都把主程序的起始地址放在0030H之后。
19、简述定时/计数器4种工作模式的特点。 模式1:是16位的定时器/计数器;
模式2:把TL0(或TL1)配置成一个可以自动重装载的8位定时器/计数器; 模式3:对T0和T1大不相同。
若将T0设置为模式3,则TL0和TH0被分为两个相互独立的8位计数器。定时器T1无工作模式3状态。
模式0:与模式1几乎完全相同,唯一的差别是模式0中,寄存器TL0用5位,TH0用8位。
20、简述在使用普通按键的时候,为什么要进行去抖动处理,如何处理。
键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭合仅做一次处理,必须去除键抖动。在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。
36
按键的抖动,可用硬件或软件两种方法消除。
21、简述LED数码管动态扫描的原理及其实现方式。
动态扫描的原理是利用人的视觉暂留,让人觉得各位LED同时点亮一样。逐位轮流点亮各个LED,每一位保持1ms,在10~20ms之内再一次点亮,重复不止,就可以实现动态扫描。 22、简述看门狗的基本原理。
看门狗是通过软件和硬件的方式在一定的周期内监控弹片机的运行状况,如果在规定时间内没有收到来自单片机的清除信号,也就是我们通常说的没有及时喂狗,则系统会强制复位,以保证系统在受干扰时仍然能够维持正常的工作状态 103、简述软件陷阱技术的原理。
软件陷阱就是用一条引导指令强行将捕获的程序引向一个指定的地址,在那里有一段专门对程序出错进行处理的程序,以使程序按既定目标执行。 23、简述8051串口通信的四种方式及其特点。 方式0:同步移位寄存器输入/输出方式,常用于扩展I/O口。波特率固定为振荡频率的1/12,并不受PCON寄存器中SMOD位的影响。
方式1:用于串行发送或接收,为10位通用异步接口。TXD与RXD分别用于发送与接收数据。收发一帧数据的格式为1位起始位、8位数据位(低位在前)、1位停止位,共10位。波特率由定时器T1的溢出率与SMOD值同时决定。
方式2:用于串行发送或接收,为11位通用异步接口。TXD与RXD分别用于发送与接收数据。收发一帧数据的格式为1位起始位、8位数据位(低位在前)、1位可编程的第9数据位和1位停止位,共11位。波特率取决于PCON中SMOD位的值:当SMOD=0时,波特率为 的1/64;当SMOD=1时,波特率为 的1/32。
方式3:用于串行发送或接收,为11位通用异步接口。TXD与RXD分别用于发送与接收数据。帧格式与方式2相同,波特率与方式1相同。
24、能否把继电器直接接在8051的某一口线上来用?为什么?
不能。因为8051的I/O所提供的电压和功率不足以驱动继电器,必须加一个三极管驱动。 25、简述SJMP、AJMP和LJMP的异同点。
26、简述子程序调用和执行中断服务程序的异同点。 27、 MCS-51单片机可以外接64KB的程序存储器和64KB数据存储器。这两种片外存储器地址重叠而不发生总线冲突,主要依靠单片机外引脚上的那些信号来区分?简述区分的方法?
三、填写下表(每题*分,共*分) 1
指令 CLR 40H PUSH ACC MOVC A,@A+PC SJMP $ MOVX @DPTR, A 2
指令 CLR 40H PUSH ACC MOVC A,@A+PC
37
指令中操作数使用的寻址方式 直接 寄存器 变址 相对 指令中操作数对应的寻址空间 片内RAM ROM SJMP $ MOVX @DPTR, A 3
指令 MOV A,#38H MOV R1,38H XCH A,@R0 MOVX @R0,A CLR 40H 4
指令 ANL A,R7 MOVC A,@A+DPTR MOV C,bit PUSH ACC MOV A,@R0 5
功能描述 78H单元内容送R5 立即数78H送R2 累加器A内容和R0内容互换 将P1口的高四位保留,清除低四位 比较A和立即数0FFH,若(A)≠0FFH,则转向LOOP ROM 指令中源操作数使用的寻址方式 立即 直接 间接 寄存器 直接 指令中源操作数使用的寻址方式 寄存器 变址 位 寄存器 间接 指令 MOV R5, 78H MOV R2, #78H XCH A,R0 ANL P1, #0F0H CJNE A, #0FFH, LOOP
四、读程序(每小题*分,共*分)
1、设(A)=38H,(20H)=49H,(PSW)=00H,(B)=02H,填写以下中间结果。
SETB C
SUBB A, 20H (A)= (CY)= (AC)= RRC A (A)= (CY)= (P)= MUL AB (A)= (B)= (OV)= 2、设(A)=38H,(20H)=49H,PSW=00H,(B)=02H,填写以下中间结果。
SETB C
ADDC A, 20H (A)= (CY)= (AC)= RLC A (A)= (CY)= (P) = MUL AB (A)= (B) = (OV)=
4、已知MCS-51内部数据RAM中,(60H)=23H,(61H)=61H。
CLR C (CY)= MOV A,#9AH (A) = SUBB A,60H (A) = ADD A,61H (A) = DA A (A) = MOV 62H,A (62H)= 6、已知MCS-51的(SP)=60H,(A)=01H,(B)=02H。
38
PUSH A (SP)= PUSH B (SP)= POP ACC (SP)= (A)= POP B (SP)= (B)= 7、若已知初值:(60H)=24H,(61H)=72H,则下述程序段运行后,(62H)= 。
CLR C
MOV A,#9AH SUBB A,60H ADD A,61H
DA A ( 注释此句: ) MOV 62H,A END
此程序的功能是: 。
8、若X是有符号数存放在内部RAM的30H单元,Y是其函数存放在内部RAM的31H单元。已知(30H)=81H,运行后(31H)= 。
MOV A,30H
JZ ZERO ( 注释此句: ) JB ACC.7, NEG ( 注释此句: ) MOV 31H, #01H SJMP OVER
NEG: MOV 31H, #0FFH
SJMP OVER ZERO: MOV 31H, A OVER: SJMP $
END
程序的功能是实现函数: 。
9、已知片内RAM的(40H)=05H,(41H)=88H,(42H)=37H,(43H)=19H,下列程序运行后,结果为(50H)= 。
START: MOV R0, #40H MOV R7, #04H MOV 50H, #00H LOOP: MOV A, @R0
CJNE A, 50H, NEXT ( 注释此句: ) NEXT: JC BIE1 ( 注释此句: ) MOV 50H, A BIE1: INC R0
DJNZ R7, LOOP ( 注释此句: ) RET
这个子程序的功能是: 。
10、已知(R3)=05H,运行下列程序后,结果为(50H )= 。
MAIN:MOV A, R3
MOV DPTR, #TAB ( 注释此句: ) MOVC A, @A+DPTR ( 注释此句: ) MOV 50H,A
39
RET
TAB: DB 00H, 01H, 04H, 09H, 16H, 25H, 36H, 49H, 64H, 81H 这个子程序的功能是: 。
① 模拟试题(部分)之一
一、填空(20分)
1.8051单片机的内部硬件结构包括了: CPU 、 ROM 、 RAM 、和 定时/计数器 以及并行I/O口、串行口、中断控制系统、时钟电路、位处理器等部件,这些部件通过 数据总线 相连接。
2.MCS-51单片机扩展程序存储器所用的控制信号为 ,扩展数据存储器所用的控制信号 为 和 。
3.MCS-51单片机的P0~P3口均是 8位 I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的 低8位地址 和 高8位地址 ,在P0~P3口中, P0 为真正的双相口, P1-P3 为准双向口; P3 口具有第二引脚功能。 4.定时器/计数器的工作方式3是指得将 定时器/计数器0 拆成两个独立的8位计数器。而另一个定时器/计数器此时通常只可作为 波特率发生器 使用。 5.假定(SP)=40H , (3FH)=30H,(40H)=60H。执行下列指令: POP DPH POP DPL
后,DPTR的内容为 6030H ,SP的内容是 3EH 。
6.单片机系统中经常采用的地址译码技术包括 和 方法。
【我认为:地址译码技术分为线选法和译码器法,译码器法又分为完全译码(连续地址)和部分译码(非连续地址), 你看如何答此题】
四、参数计算(12)
已知一MCS51单片机系统使用12MHZ的外部晶体振荡器,计算:
1)该单片机系统的状态周期与机器周期各为多少? (答:1us/6 1us)
2)当单片机的定时器0(T0)工作在方式2时,T0的最大定时时间为多少? (答:256us) 3)当单片机的定时器0(T0)工作在方式2时,要求每记满250?s便产生一次定时器溢出,T0中需要预置的初始值为多少? (答:6 )
七、程序阅读(16)
设在MCS-51单片机片内RAM中,(20H)=40H,(40H)=22H,(22H)=10H,P1=0CFH,当下列程序执行完后,各单元内容分别为多少?请填入给出的各寄存器中。 MOV R0,#20H MOV A,@R0 MOV R1,A MOV B,@R1 MOV @R1,P1 MOV P3,P1
(A)= 40H (B)= 22H (R0)= 20H (R1)= 40H (P1)= 0CFH (P3)= 0CFH (20H)= 40H (22H)= 10H
② 单片机模拟试题 (答案见后)
一、填空题(每空1分,共10分)
1.当使用8031单片机时,需要扩展外部程序存储器,此时EA/Vpp脚应为_________. 2.P0通常用作_________.
3.若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为_________. 4.返回地址(或断点)是_________的程序计数器的内容。
40