《单片机原理及应用》作业及答案_第1页
《单片机原理及应用》作业及答案_第2页
《单片机原理及应用》作业及答案_第3页
《单片机原理及应用》作业及答案_第4页
《单片机原理及应用》作业及答案_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. CS-51系列单片机串行口中断标志TI和RI在执行中断程序后,能否自动清零,这样设计的意图是什么?答:不能,由于串行通信的收发电路使用一个中断源,因而,有利于单片机查询是接收中断还是发送中断。同时有利于全双工通信。2. 写出8051单片机的复位及5个中断服务程序的入口地址。答: (1)复位入口地址:0000H;(2)外部中断0中断服务程序入口地址为0003H;(3)定时器/计数器0中断服务程序入口地址为000BH;(4)外部中断1中断服务程序入口地址为0013H;(5)定时器/计数器1中断服务程序入口地址为001BH;(6)串行口中断服务程序入口地址为0023H。3. 简述MCS-51单

2、片机的工作寄存器的分布结构(包括:几个区、如何选择、每个区几个寄存器、如何表示)?答:(1)四个通用寄存器区;(2)通过PSW的RS1、RS0选择:00-0区、011区、102区、113区;(3)每个区有8个工作寄存器R0R7;4. MCS-51单片机的P0口作为一般的I/O口使用时应注意什么?答:应注意: 由于P0口的输出级是漏极开路的开漏电路,所以作为一般的I/O口使用时需接外部上拉电阻; P0口的输出级的输出驱动能力,可以驱动8个LS的TTL电路,使用必须确认是否能驱动的外部电路,否则应加驱动电路; 由于P0口为准双向口,在读引脚时,应先把口置1。 5. 画出MCS-51单片机的三总线图

3、(控制总线应包括三条)并注明几条数据线、几条地址线、各个控制线的意义。答:(1)(2)8条数据线、16条地址线(3)/RD:对外部RAM及I/O口的读允许;/WR:对外部RAM及I/O口的写允许;/PSEN:对外部ROM的读允许;6. MCS-51系列单片机内部有哪些主要逻辑部件组成?(书) 答:CPU、RAM、程序存储器、定时器、I/O接口、中断系统、串行接口等。7. 简述P3口的特殊专用功能(第2功能)。答:P3.0-串行通信收; P3.1-串行通信发; P3.2-外部中断0; P3.3-外部中断1; P3.4- T0的计数输入;P3.5- T1的计数输入;P3.6-外部数据区写有效; P

4、3.7-外部数据区读有效。8. MCS-51单片机内部RAM区功能结构如何分配的?(书) 答:00H-1FH 通用寄存器区20H-2FH 位寻址区30H-7FH 通用RAM和堆栈区9. 写出将片内RAM 20H单元、片外RAM 20H单元的内容读入A中的指令。(4分) 答: 片内:MOV A,20H 片外:MOV DPTR,#20H MOVX A,DPTR10. 8052单片机的低128字节的RAM、高128字节RAM与位寻址空间、特殊功能寄存器区和外部数据区都出现地址重叠,单片机如何正确访问这些单元?答:内部位寻址区、内部RAM、特殊功能寄存器区与外部数据区采用不同的命令格式加以区分。而内部

5、RAM和特殊功能寄存器区采用不同的寻址方式: 11. 8051单片机最多可能外部扩展多少字节的程序存储器?为什么? 答:64K,因为8051最多可以提供16条地址线。12. 8051单片机最多外部扩展多少字节的数据存储器?程序存储器和数据存储器地址空间重叠,单片机是如何加以区分的? 答:64K;通过指令及PSEN和WR、RD线区分的。13. 简述8051单片机EA、ALE、PSEN这三个引脚的作用。 答:EA为内部、外部程序存储器的选择线; ALE锁存低8位地址信号控制;PSEN访问程序存储器有效。14. 当中断允许寄存器IE的内容为97H时的含义是什么? 答:允许总中断,允许INT0、T0、

6、INT1、串口中断;禁止T1中断。15. 当中断优先级寄存器IP的内容为93H时的含义是什么? 答:串行口、INT0、T0为高优先级,INT1、T1为低优先级。16. 写出8051单片机5个中断服务程序的入口地址。答:INT0-0003H;T0-000BH;串行口-0023H; INT1-0013H; T1-001BH。 17. 当串行口控制寄存器SCON的内容为F0H时的含义如何?答:串口工作于方式3,多机通信使能位为1,即收到RB8=1时通信中断有效,可接收数据,发射第九位TB8=0。18. (实验题目1)单片机采用晶振6MHZ,P1口接有8个发光管,围成圆形(跑马灯)。要求: 发光管每次

7、只亮一个,一次从P1.0P1.7循环发光,切换时间为1秒(低电平亮); 延时采用T0定时器,工作于自动装入时间常数的定时器工作方式,允许T0中断,试写出完整的可调试程序。+5V+5V805174LS245P1.0P1.7答:ORG 0000HLJMP startORG 000BHLJMP timer0ORG 30Hstart:MOV TMOD,#02H ;T0工作于方式2自动重装载MOV TL0,#06 ;定时器自动重装初值MOV TH0,#06MOV R7,#100 MOV R6,#20 ;R6、R7中断次数,一次中断500uS,即500*100*20=1sMOV A,#0FEH ;循环送出

8、的控制字节MOV P1,A ;送出控制字节,P1.0灯亮SETB TR0SETB ET0SETB EAwait:SJMP wait ;主程序,无限循环timer0:DJNZ R7,EXITMOV R7,#100DJNZ R6,EXITMOV R6,#20RL A ;左循环一位MOV P1,AEXIT:RETIEND19. 简述程序状态字PSW每位的作用。(书)答:Cy-借、进位;AC半借、进位;P奇/偶位;RS1、RS2工作寄存器区选择位;OV溢出标志位;F0辅助位。20. 简述单片机多机通信的原理。答:单片机构成的多机系统为主从式结构,系统中只有一个主机,其他为从机;此时,单片机的串口工作于

9、方式2或者方式3,发送和接收的帧信息是11位,其中第9位用于地址或数据位的辨识,该位为1表示地址码,为零表示数据码,该位是通过TB8、RB8发送和接收的。在主机通信时,所有的从机置SM2=1,这时主机先发送地址码,这时所有的从机将都收到,从机分别将收到的地址码与自己的地址码比较,当地址码相同时,该分机置SM2=0;其他分机不变,此后,主机与该分机建立了一对一的通信关系,此时交换的数据帧为TB8=0,而SM2=1的分机收不到数据帧,当通信完毕后,分机将SM2=1;等待主机的下一次的通信。21. 一个单片机系统,时钟频率fosc=11.059Mhz,现要求串行口通信的波特率为9600bps,采用T

10、1作为波特率发生器,试计算出定时器T1的自动重装载值、实际波特率并验算实际波特率与理论波特率的相对误差? 答:取:SMOD=0;T1 自动重装载值: 演算: 误差计算:程序段:MOV TMOD,#20HMOV TH1,#0FDHMOV TL1,#0FDHSETB TR122. 下列指令哪些是错误的: MOV A,R2 MOV 45H,C MOV R1,R7 ADD A,DPTR答: 错23. 简述 DIV AB JMP A+DPTR 的功能。答:DIV AB-(A)/(B)=商A,余数BJMP A+DPTR- 程序无条件转移到(A)+(DPTR)中去,即(A)+(DPTR) PC24. 设T0

11、为定时器,以方式1工作,定时时间为10ms,并且每到1次P1.1取反,T1作为计数器以方式2工作,外界发生二次事件溢出,晶振频率为12MHZ。写出对应的TMOD的内容,计算出时间常数;写出对应的程序段。TMOD01100001答:初值计算:N=65536-10000=55536=D8F0HT1=256-2=254=0FEH程序段:MOV TMOD,#61HMOV TH0,#0D8HMOV TL0,#0F0HMOV TH1,#0FEHMOV TL1,#0FEHSETB TR0SETB TR1CPL P1.125. 利用单片机的P1口扩展一个4*4的键盘电路,画出原理图,并简述工作原理。答:若P1

12、.0-P1.3为键盘的列线输入线,P1.4-P1.7为键盘的行输出线,接线如图所示。当CPU输出行线全为0;若读取的列线全为高电平,表示无键按下,当不为全高时,表示有键按下。当有键按下时,循环使一条行线输出为低电平,读取列线,当出现列线不全为零时,即将此时的列线和行线构成一个字节,表示为该键的键值,在键盘处理时,可通过延时再读取键值的办法去抖。26. 写出8052单片机内部低128字节、高128字节RAM单元和SFR区的地址空间,详细说明单片机是如何访问这些单元的? 答:低12807FH;高128-80HFFH;SFR-80FFH 低128字节RAM区-采用寄存器间接寻址和直接寻址方式特殊功能

13、寄存器区-直接寻址方式高128字节RAM区-采用寄存器间接寻址方式27. 在单片机应用系统中设置看门狗的作用是什么? 答:为了防止单片机程序跑飞或者系统死机。28. 单片机采用晶振6Mhz,用P1口控制交通信号灯(P10、P11接红灯、P12、P13接绿灯,输出高电平灭)。要求: 红、绿灯切换时间为6秒,试写出完整的可调试的程序。答:ORG 0000H SETB TR0LJMP START SETB ET0ORG 000BH SETB EALJMP TIME0 WAIT: LJMP WAITORG 30H TIME0: DJNZ R7,EXIT START: MOV SP,#30H MOV R

14、7,#100 MOV TMOD,#02H DJNZ R6,EXITMOV TH0,#06 MOV R6,#120MOV TL0,#06 MOV A,R5MOV R7,#100 CPL AMOV R6,#120 MOV P1,AMOV R5,#05 MOV R5,AMOV A,R5 EXIT: RETIMOV P1,A END29. 采用单片机的P0口和P2.0P2.3扩展4位数码管显示电路,由单片机的I/O口直接控制(可不考虑驱动电路),试画出相应的电路原理图;在内部RAM设置一个显示缓冲区,编写显示该显示缓冲区内容的显示子程序。答:30H,31H,32H,33H为显示缓冲区DIS:MOV R

15、0,#30H INC R0MOV R5,#0FEH DJNZ R1,LOOPMOV R1,#4 MOV P2,ALOOP: MOV A,R0 RETMOV DPTR,#TAB DELAY:MOV R3,#10HMOVC A,A+DPTR LLL1: MOV R4,#0FFHMOV P0,A LLL: NOPMOV A,R5 DJNZ R4,LLLMOV P2,A DJNZ R3,LLL1LCALL DELAY RETMOV A,R5 TAB: DB (略)RL AMOV R5,A30. 编程将片内30H39H单元中的内容送到以3000H为首的存储区中。(书) 答:SUB:MOV R0,#30H

16、 MOV DPTR,#3000H MOV R1,#10 LOOP: MOV A,R0 MOVX DPTR,A INC R0 INC DPTR DJNZ R1,LOOPRET31. 片内RAM的60H开始连续存放100个数据,试统计正数、负数及为零的数据个数,并将结果分别存放在50H,51H,52H单元中。(10分)答:START: MOV R0,#60H CLR C MOV R1,#100 SUBB A,B MOV 50H,#00 JNC LOOP3MOV 51H,#00 INC 51HMOV 52H,#00 LJMP LOOP4LOOP: MOV A,R0 LOOP3: INC 50HCJN

17、E A,#0,LOOP1 LOOP4: INC R0INC 52H DJNZ R1,LOOPLJMP LOOP4 RETLOOP1: MOV B,#7FH ENDXCH A,B32. 单片机设有几个通用工作寄存器区?从实际编程方面说明设置多个通用工作寄存器区的意义如何?如何实现当前通用工作寄存器区的切换?答:4个通用工作寄存器区; 主程序和不同的中断程序采用不同的工作寄存器,可实现快速的保护现场;是通过设置程序状态字psw来实现的(D4、D3即:RS1、RS0)。33. 机器周期是指: 完成MCS-51一个典型的指令花费的振荡周期称为一个机器周期 ;一个机器周期由 六 个状态组成,包含有 12

18、个 振荡周期; 34. 当外部中断采用低电平触发方式时,为了避免在中断返回后再次响应该中断,要求外部中断源在执行的中断程序返回前撤销中断请求信号(使引脚电平变高) ; 35. 全双工串行通信方式是指: 能同时发送和接收数据 ;36. 程序计数器PC是用来存放 下一条将要执行的 指令地址,共 16 位。单片机上电复位后,PC = 0000H ; 37. 当单片机的P1口做为一般的I/O口使用时,为8位准双向口的意思是指: 当输入信号时,需先向P1口锁存器写1,以保证读引脚的正确性 ;38. 8051单片机外部扩展一片8K的RAM6264,画出详细的电路原理图(可不标注芯片的管脚号,但引脚功能符号

19、应标注清楚),地址锁所存器采用74LS373,线选方式译码,并算出相应RAM的地址空间。答:6264的地址空间为:0000H01FFFH。39. 何谓堆栈?它设置在哪个存储区?在实际编程中,它有何应用价值?答:堆栈是一个后进先出的特殊的数据缓冲区,并由栈指针SP指示堆栈中的数据深度。在MCS-51系列单片机中,堆栈设置在内部RAM数据存储区内。在实际编程中,可用于数据的传递,数据的交换、保存CPU现场等作用。40. 编制一个计算符号函数y=SGN(x)的完整的可调试的程序。Y=设自变量已经存入外部数据存储区的100h单元,范围-128x127;y存入外部数据区的200h单元。答: ORG 00

20、00H SUL: MOV DPTR,#200HLJMP START MOVX DPTR,AORG 0030H RET START: MOV DPTR,#100H NEG: MOV A,#0FFH MOVX A,DPTR; SJMP SUL JZ SUL WAIT: LJMP WAITJB ACC.7,NEG END MOV A,#01 41. 已知有10个单字节的数据,依次存放在内部RAM的40H单元开始的连续单元中。要求将这些数据求和,并将计算结果存入R2、R3中(高位存R2,低位存R3),试写出完整的可调试的程序。答: ORG 0000H MOV R3,A LJMP START JNC L

21、OP1 ORG 0030H INC R2START: MOV R0,#40H LOP1:INC R0 MOV R5,#10 DJNZ R5,LOOP MOV R2,#0 WAIT LJMP WAIT MOV R3,#0 ENDLOOP: MOV A,R3 ADD A,R042. 一组数据存放在内部RAM的40H单元开始的连续单元中,该组数据是以0ffH为结束标志,试编写出计算出该组数据个数的程序。答: ORG 30H ABC:MOV R2,#0FFHMOV R0,#3FH LOOP:INC R0INC R2CJNE R0,#0FFH,LOOPRET 43. 用一片2764和一片6264扩展8k

22、的程序存储器(从2000H3FFFH)和8K的数据存储器(6000H7FFFH),不采用线译码,试完成用8051与之连接的连接图。答:A0A12P0ALE8051P2.0P2.4PESNP2.5P2.6P2.7WRRDD0D7A0A12OECSD0D7A0A12CEOEWE2764626474LS373GD0D7858 44. 当8255的控制字为DAH时,8255的A口、B口、C口工作于什么状态?答:A口工作于方式2,双向选通输入/输出;B口工作于方式1,选通输入;C口作为控制 应答线。45. 已知晶振频率为11.0592MHz,要求波特率为4800bit/s,如何实现?答:波特率的参数计算

23、:X=实现方式:MOV TMOD, #20HMOV TH1, #0FAHMOV TL1, #0FAHSETB TR146. 已知30H31H和32H33H存放两个16位带符号数,比较大小后大数存放在41H42H中,试用汇编语言编成完成。(30H、32H存放高8位)答:47. 用8051与DAC0832完成如下波形,8051与DAC0832采用单缓冲双极性连接,口地址为6EFFH,(参考电压为+5V)画出8051与DAC0832完成上述要求的连线图,编写程序完成所要求的波形。(晶振为6MHz)3VVout2S1S-5V2.5Vt答:48. 位地址7FH与字节地址7FH有何区别?位地址7FH具体在

24、片内RAM中什么位置?(书)答:位地址7FH为一个可位寻址的位单元,存放一位二进制数;字节地址7FH为一个可字节寻址的字节单元,存放8位二进制数,二者访问的指令不同; 位地址7FH位于片内RAM的字节地址2FH单元的最高位。49. 若采用MCS-51的串行口扩展并行输出口,应如何实现? 答:使串行口工作于方式0(移位寄存器方式),外部扩展传入并出移位寄存器芯片,单片机的P3.0为数据输出端,P3.1为移位脉冲输出端。(可以用文字叙述,也可以绘图表示。第一步3分,第二步2分。)50. 写出实现下列要求的指令或程序片段。(书)将内部RAM20H单元内容与累加器A内容相加,结果存放在20H单元中;将

25、内部RAM30H单元内容与内部RAM的31H单元内容相加,结果存放到内部RAM的31H单元中;将内部RAM20H单元内容传送到外部RAM的2000H单元中;使内部RAM20H单元的D7和D3位清零,其它位保持不变;使内部RAM20H单元的D7和D3位置1,D5位清零,其它位保持不变;使内部RAM20H单元的D7和D3位置1,D5位取反,其它位保持不变;答: ADD A,20H MOV 20H,A MOV A,30H ADD A,31HMOV 31H,A MOV A,20HMOV DPTR,#2000HMOV DPTR,A说明:由于20H单元是在位寻址区,所以可以使用布尔指令 CLR 07H ;

26、CLR 03H SETB 07HSETB 03H SETB 07HSETB 03HCPL 05H51. 试用下列4种方式编程将立即数EFH送入内部RAM的40H单元中。(书)用立即寻址;用直接寻址;用寄存器寻址;用寄存器间接寻址;答: MOV 40H,#0EFH MOV A,#0EFH MOV 40H,A 或者:MOV 40H,#0EFH MOV R0,#0EFH MOV 40H,R0 MOV R0,#40H MOV R0,#0EFH52. 简述波特率、A/D的分辨率的概念。答:串行通信的波特率:每秒钟发送的二进制数的位数。A/D转换器分辨率:对模拟输入的分辨能力。53. 单片机与8255A的

27、连接图如下图所示,8255A的PA口接8个发光二极管,PB口上接了二个按键开关,按键开关状态按下表控制PA口的发光二极管点亮,试编写按不同状态控制二极管点亮程序。K1 K2实 现 功 能0 0全灭0 1只有L1、L3、L5、L7亮1 0只有L2、L4、L6、L8亮1 1全亮54. 从20H单元开始有一无符号的数据块,其长度在20H单元。求出数据块中的最小者,并存入21H单元。(书)答: MOV A,20H ;取出数据长度 JZ OUT ;如果数据长度=0,跳出,注意跳出后,没有修改21H单元的内容 MOV R0,A MOV R1,#21H ;指向数据块的首地址 MOV A,R1 ;读取数据块首

28、的第一数据存A,这样虽然第一个数被重复比较了,但当仅有一个数据时,不会出错 MOV R4,A ;R4存放最小数据 LOOP: MOV A,R4 SUBB A,R1 JC NEXT ;有借位,说明R4中内容小 MOV A,R4 XCH A,R1 ;否则将最小换到R4中 MOV R4,A NEXT: INC R1 DJNZ R0,LOOP MOV 21H,R4OUT: LJMP $ (本程序调试通过)55. 设片内RAM中以20H开始的单元,连续存放10个非压缩BCD码,试将其转换为ASC码,存放到片内以50开始的单元中。(书)答: MOV R2,#10 MOV R0,#20H MOV R1,#5

29、0H LOOP1: MOV A,R0 ADD A,#30H MOV R1,A INC R0 INC R1 DJNZ R2,LOOP1 SJMP $ (调试通过)56. 设10次采样值依次存放在片内RAM 50H59H的连续单元中。试编程去掉一个最大值,去掉一个最小值,求其余8个数的平均值,并将结果存放在60H中。(书)答: MOV R0,#50H MOV R1,#51H LOOP: MOV A,R0 SUBB A,R1 JC NEXT MOV A,R0 XCH A,R1 MOV R0,ANEXT: INC R1 CJNE R1,#5AH,LOOP ;内部循环,从此单元与以后的单元比较大小 IN

30、C R0 MOV A,R0 MOV R1,A INC R1 CJNE R0,#59H,LOOP ;以上从小到大排序 MOV R7,#8 ;8个数求和 MOV B,#0 ;和的高8位 MOV A,#0 ;和的低8位 MOV R0,#51HLOOP1: ADD A,R0 JNC LOOP4 INC B ;和的高8位累加LOOP4: INC R0 DJNZ R7,LOOP1 ;以上8个数求和 ,B-和高8,A-和低8 MOV R3,B ;R3-和高8 MOV R4,A ;R4-和低8 MOV R7,#3LOOP2: CLR C MOV A,R3 RRC A MOV R3,A ;高8位 MOV A,R

31、4 RRC A MOV R4,A ;低8位 DJNZ R7,LOOP2 ;以上用移位法除以8 MOV 60H,R4LJMP $(已经验证)57. MCS-51单片机4个I/O口的作用是什么?三总线是如何分配的?为什么说能作为I/O口使用的一般只有P1口?(书)答: P0P3做一般的I/O口使用,且P0,P2,P3可用于三总线,P3口的部分引脚有第二功能; P0-8位数据线; P0-低8位地址线,与数据线分时复用; P2-高8位地址线;P3-控制线(部分引脚); 当单片机扩展为三总线结构时,P0、P2、P3用于三总线,P3口的其他引脚还有第二功能,所以P1口只做一般的I/O使用;58. 举例说明MCS-51单片机P1口的输入操作与输出操作。(书)答:对P1口的操作分为读引脚和读锁存器两种:读、写引脚:读引脚:由于P1口为准双向口,所以必须先写1,后读取引脚;例如:MOV P1,#0FFH ;MOV A, P1写输出:是写入P1口的锁存器,并通过引脚输出; 例如: MOV P1,A读写锁存器:完成的是读-修改-写过程: 例如:ANL P1,A59. MCS-51单

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论