单片机原理与应用部分复习题答案_第1页
单片机原理与应用部分复习题答案_第2页
单片机原理与应用部分复习题答案_第3页
单片机原理与应用部分复习题答案_第4页
单片机原理与应用部分复习题答案_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、 单片机原理及应用习题参考答案 田亚娟编: 主 单片机原理及应用精品课程组 编 写组: 松山职业技术学院电气工程系位:单 月12 日期:年 2008 第1章 绪 论 1-1.(1)9AH,154;6.375,6.6H (2)1100.011B,0C.6H;0111111.111B,7F.EH (3)10110111B,183;1111101111.1000B;1007.5 1-2.(1)+1101110+1101110+110111001101110 补原反 (2)-111111111111111 -111111110000000 -1111111补原反10000001 (3)+1010111

2、+1010111+101011101010111 补原反 (4)-100000011000000 -100000010111111 -1000000补反原11000000 1-3.(1)(0100 0111) (2)(0110 1000)BCD BCD(3)(0001 1001 1000 0110. 0111)(4)(0001 1001 0110 1001) BCDBCD 1-41-7略。 第2章 MCS-51单片机的结构和原理 2-12-2、2-42-5、2-7、2-92-13、略。 2-3. 答:程序状态标志寄存器PSW是一个8位可编程并可按位寻址的专用寄存器,用来存放当前指令执行结果的有

3、关状态信息,位于特殊功能寄存器区,地址是0D0H。其各位定义如下: D7 D6 D5 D4 D3 D2 D1 D0 CY AC F0 RS1 RS0 OV P CY(PSW.7):进位标志。累加器A的最高位有进位或借位时,硬件自动使该位置位(即CY=1),否则该位清零。 AC(PSW.6):辅助进位标志。当进行加法或减法操作时,若累加器的D3位向D4位有进位或借位时,则硬件自动将其置位,否则该位清零。 F0(PSW.5):用户通用状态标志。用户可对该位置位或清零,也可用软件测试该位的状态以控制程序的流向。 RS1(PSW.4)和RS0(PSW.3):工作寄存器组选择控制位,用户通过指令对RS1

4、和RS0的状态设置,可以选择相应的工作寄存器组。 OV(PSW.2):溢出标志。当有符号数加法或减法运算结果超出(-128+127)围时,说明计算结果已经溢出,此时该位将由硬件自动置位(即OV=1),否则清零。 PSW.1:保留位。也可作为用户自行定义的状态标志位,其用法与PSW.5相同。 P(PSW.0):奇偶标志位。每个指令周期由硬件按累加器A中值为“1”的个数 置位,否则清零。P中有奇数个“1”,则A的奇偶性自动置位或清零。若2-6. 答:不能。因为在这种情况下,系统要进行扩展ROM。P0口和P2口作为专用端口使用。P0口分时作为低8位地址的输出口和数据输入输出口。P2口作为高8位地址输

5、出口。 2-8. 答:00H7FH为8051的片RAM的空间。00H1FH是通用寄存器区,共32个单元分成0,1,2,3四个区,每个区的8个单元都用R0R7来表示。20H 2FH共16个单元是位寻址区,每个单元的每一位都有它自己的位地址。30H7FH是堆栈和数据缓冲区。可用来对运算结果等中间数据暂时保存和有关的数据堆栈。 我们把部RAM中字节地址00H7FH与位地址007F完全重合的现象,称为地址重叠现象,MCS-51指令系统提供了不同的访问指令和寻址方式来解决这种地址重叠现象。CPU在对位寻址单元进行位操作时,设置有专用的位操作指令。 第3章 MCS-51单片机的指令系统 3-13-5略 3

6、-6. E5 30 MOV A,30H (A)(30H) 74 42 MOV A,#42H (A) 85 38 74 MOV 74H,38H (74H)(38H) 78 50 MOV R0,#50H (R0)50H 26 ADD A,R0 (A)(A)+(R0) D2 12 SETB 12H (12H)01H 3-7. MOV A,30H ;直接寻址方式,将部RAM的30H单元的容传送 ;给累加器A MOV A,#30H ;立即寻址方式,将立即数30H传送给累加器A MOV 31H,R0 ;寄存器寻址方式,将寄存器R0的容传送到31H单元 MOV 31H,R0 ;寄存器间接寻址,将寄存器R0所

7、指的地址单元的容 ;传送到31H 3-8.(1)R0的容送R1。 MOV A, R0 MOV R1,A (2)外部RAM 40H单元的容送部RAM 40H单元。 MOV R0,#40H MOVX A,R0 MOV 40H,A (3)外部RAM 7E00H单元容送部RAM R0。 MOV DPTR,#7E00H MOV A,DPTR MOV R0,A 单元。RAM 20H单元容送部ROM 7E00H)外部4( MOV DPTR,#7E00H MOV A,#00H MOVC A,A+DPTR MOV 20H,A (5)外部ROM 7E00H单元容送外部RAM 20H单元。 MOV DPTR,#7E

8、00H MOV A,#00H MOVC A,A+DPTR MOV R0,#20H MOVX R0,A (6)外部RAM 2000H单元容送外部RAM 1000H单元。 MOV DPTR,#2000H MOVX A,DPTR MOV DPTR,#1000H MOVX DPTR,A 3-9. (R0)=42H,(42H)=08H,(A)=80H,(50H)=80H 3-10. MOV A,#192 ADD A,#88H MOV 30H,A MOV A,#00H ADDC A,#00H MOV 31H,A 3-11. A=57H Cy=1;A=3BH Cy=0 3-12. (20H)=00H (A)

9、=00H Cy=1; 取消DA后:(20H)=9AH (A)=9AH Cy=0 3-13. rel=0F75H-0F46H=2FH 3-14. 与操作结果为:00H 或操作结果为:FFH 异或操作结果:FFH 3-15. C=1 P1=BBH P3=3CH 第4章 MCS-51单片机的程序设计 4-1. ORG 0000H CLR C MOV A,50H MOV B,#10 MUL AB MOV 53H,B ADD A,51H MOV 52H,A MOV A,53H ADDC A,#0 MOV 53H,A END 4-2. ORG 0000H MOV R7,#30 MOV R6,#0 MOV

10、R5,#0 MOV R4,#51H MOV R3,#71H MOV R0,#20H MAIN:MOV A,R0 JB ACC.7,MAIN1 INC R6 MOV R1,R4 MOV R1,A AJMP LOOP MAIN1:INC R5 MOV R1,R3 MOV R1,A LOOP:DJNZ R7,MAIN MOV 50H,R6 MOV 70H,R5 END 4-3. ORG 0000H CLR C MOV R7,#4 MOV R6,#3 MOV R0,#DATA+4 MOV R1,#DATA MOV A,R0 JNB ACC.7,END0 LP: MOV A,R1 CPL A MOV R

11、1,A INC R1 DJNZ R7,LP MOV A,R0 SETB ACC.7 MOV R0,A MOV R1,#DATA MOV A,R1 ADD A,#1 MOV R1,A LP1:INC R1 MOV A,R1 ADDC A,#0 MOV R1,A DJNZ R6,LP1 END0:SJMP $ END 4-4. ORG 0000H MAIN:MOV DPTR,#4000H MOV R7,#50 CLR A LOOP:MOVX DPTR,A INC DPTR DJNZ R7,LOOP END 4-5. ORG 0000H CLR C MOV R0,#DATA0 MOV A,R0 JZ

12、 MAIN0 JNB ACC.7,MAIN1 SUBB A,#5 SJMP MAIN0 MAIN1:ADD A,#5 MAIN0: MOV DATA2,A END 4-6. ORG 0000H MAIN:MOV R0,#55H MOV A,60H CLR C SUBB A,#30H JC MAIN1 MOV A,60H SUBB A,#3AH JNC MAIN1 MOV R0,#00H MAIN1:MOV 62H,R0 END 4-7. ORG 0000H STADA DATA 20H SLANG DATA 1FH CMCRQ:MOV R0,#STADA MOV B,#00H CRLP1:MO

13、VX A,40 CJNE A,#0DH,CRNEXT MOV SLANG,B SJMP $ CRNEXT:INC B INC R0 SJMP CRLP1 END 4-8. ORG 0000H MAIN:MOV R0,#20H LOOP:CJNE 40,#20H,NKG INC R0 SJMP LOOP NKG: MOV 95H,R0 END 4-9. ORG 0000H DATA EQU 30H MAIN:MOV A,DATA ADD A,DATA MOV R2,A #06H , ADD A MOVC A,A+PC XCH A,R2 ADD A,#03H MOVC A,A+PC MOV R3,

14、A RET TAB: DW 01,01,02,06,24,120,720,5040 END 4-10. ORG 0000H MAIN:MOV R0,#40H MOV A,R0 ANL A,#0FH MOV B,A INC R0 MOV A,R0 ANL A,#0FH SWAP A ORL A,B INC R0 MOV R0,A END 4-11. ORG 1000H DATA1 EQU 40H DATA2 EQU 2000H MAIN:MOV R1,#14H MOV R0,#DATA1 MOV DPTR,#DATA2 NEXT:MOV A,DPTR XCH A,R0 MOVX DPTR ,A

15、INC R0 INC DPTR DJNZ R1,NEXT SJMP $ END 4-12. ORG 1000H DATA1 EQU 40H DATA2 EQU 2000H MAIN:MOV R1,#32H MOV R0,#DATA1 MOV DPTR,#DATA2 NEXT:MOV A,R0 MOVX A, DPTR INC R0 INC DPTR DJNZ R1,NEXT SJMP $ END 4-13. 平方表的一个数据占2个字节 ORG 0000H MAIN:ADD A,A PUSS ACC MOVC A,A+DPTR MOV R7,A POP A INC A, MOVC A,A+DPT

16、R MOV R6,A SJMP $ TAB:DB 00,00,00,01,00,04,00,09,00,16H, DB 04H,00 END 4-144-15略。 第5章 中断系统及定时/计数器 题5-15-8答案略 5-9. 出租车计价器计程方法是车轮每运转一圈产生一个负脉冲,从外部中断(P3.2)引脚输入,行驶里程为轮胎周长运转圈数,设轮胎周长为2 m,试实时计算出租车行驶里程(单位米),数据存32H、31H、30H。 编程如下: ORG 0000H LJMP STAT ORG 0003H INT LJMP ORG 0100H STAT:MOV SP,#60H SETB IT0 MOV I

17、P,#01H MOV IE,#81H MOV 30H,#0 MOV 31H,#0 MOV 32H,#0 LJMP MAIN ;转主程序,MAIN主程序可以处理循环显示等任务。 ORG 0200H ;中断服务子程序首地址 INT: PUSH Acc PUSH PSW MOV A,30H ADD A,#2 MOV 30H,A CLR A ADDC A,31H MOV 31H,A CLR A ADDC A,32H MOV 32H,A PUSH PSW PUSH Acc RETI 5-10. 电路图如右图所示。 程序如下: LED显示单元ORG 0000H +5V MAIN LJMP D0P 0003

18、H ORG 0.1 EXTER LJMP 80511000H ORG SETB IT0 MAIN: SETB EX0 SETB EA D7 AJMP LOOP :LOOPPP7123. ;中断程序入口ORG 1050H #0FFH ,R2MOV :EXTERMOV A, #01H FLASH:RR A MOV R7, #0FFH;定时 LOOP1:MOV R6, #0FFH LOOP2:NOP NOP DJNZ R6, LOOP2 DJNZ R7, LOOP1 MOV P1, A DJNZ R2,FLASH RETI END 5-11. 思路:根据要求,四个故障相当四个中断源,可利用中断查询方

19、法,将四个中断源归结为一个中断请求,同时四个故障信号引到P1口的四个输入端,然后在中断程序中查询P1口,确定是哪一个故障申请的中断。电路如下图所示。一旦发生故障,单片机必须响应中断,因此,该中断必须设置成最高级中断。在中断程序中可以显示故障信息。 扩展4个外中断源电路如下图所示。 P1.3P1.2P1.1P1.0OC?Y1OVINT1UVOHC51 主程序和中断服务程序如下: ORG 0000 AJMP ZCX1 NOP ORG 0013H AJMP INT1 NOP ORG 0100H ZCX1:MOV SP,#30H MOV IP,#04H T1 I CLR SETB EA SETB EX

20、1 ZCX2:其他处理程序 AJMP ZCX2 ORG 0200H INT1: PUSH PSW PUSH ACC MOV A,P1 ANL A,#0FH JNB ACC0,X1 ACALL XY1 X1: JNB ACC1,X2 ACALL XY2 X2JNB:ACC2,X3 ACALL XY3 X3: JNB CC3,X4 ACALL XY4 X4: POP ACC POP PSW RETI XY1: OC处理子程序(略) RET 5-125-17略。 第6章 单片机串行通信及接口 6-16-3略。 6-4. 串行口的方式控制字SCON50H,允许接收,T1工作方式控制字TMOD20H;f

21、=11.0592 MHz,串行口工作于方式1,波特率为4800 bps,查表若晶振频率6-2OSC可得T1计数初值为TH1TL10FAH,此时SMOD0,所以PCON00H。 6-5. 设计双机通信系统如下:设甲、乙两进行通信、波特率为2400,晶振均为11.0592MHz。甲机将片外RAM的3400H34FFH的数据块通过串行口传送给乙机,发送数据前将数据块长度发给乙机,当数据发送完向乙机发送一个累加校验和。乙机接收将数据放在片外RAM的440044FFH单元中,同时进行累加和校验,如果和甲机发送的累加和一致,发数据“00H”表示接收正确,如果不一致,发数据“FFH”,甲方再重发。 工作在定

22、时器T1,2400,波特率为11.0592MHz计数初值:两机晶振为T1)1(解:方式2,查表6-2可得TH1=TL1=0F4H,PCON寄存器的SMOD位为0。 (2)约定R7作为数据长度计数器,计数256个字节。采用减1计数,初值取0,R6作为累加和寄存器。 甲机发送程序: TRT:MOV TMOD,#20H MOV TH1,#0F4H MOV TL1,#0F4H SETB TR1 MOV SCON,#50H RPT:MOV DPTR,#3400H MOV R7,#00H MOV R6,#00H MOV SBUF,R7 LOOP1:JBC TI,L00P2 AJMP LOOP1 LOOP2

23、:MOVX A,DPTR MOV SBUF,A ADD A,R6 MOV R6,A INC DPTR LOOP4:JBC TI,LOOP3 AJMP LOOP4 LOOP3:DJNZ R7,LOOP2 MOV SBUF,R6 MOV R6,#00H LOOP6:JBC TI,LOOP5 AJMP LOOP6 LOOP5:JBC RI,LOOP7 AJMP LOOP5 LOOP7:MOV A,SBUF JZ LOOP8 AJMP RPT LOOP8:RET 乙机接收程序: 首先接收数据长度,然后接收数据,当接收256字节后,接收校验码,进行累加和校验,数据传送结束时,向甲机发送一个状态字节,表示

24、传送正确或出错。 #20H ,MOV TMOD:RSUMOV TH1,#0F4H MOV TL1,#0F4H SETB TR1 MOV SCON,#50H DPT:MOV DPTR,#4400H LOOP0:JBC RI,L00P1 AJMP LOOP0 LOOP1:MOV A,SBUF MOV R7,A MOV R6,#00H WTD:JBC RI,LOOP2 AJMP WTD LOOP2:MOV A,SBUF MOVX DPTR,A INC DPTR ADD A,R6 MOV R6,A DJNZ R7,WTD LOOP5:JBC RI,LOOP4 AJMP LOOP5 LOOP4:MOV

25、A,SBUF XRL A,R6 MOV R6,#00H JZ LOOP6 MOV SBUF,#0FFH LOOP8:JBC TI,LOOP7 AJMP LOOP8 LOOP7:AJMP DPT LOOP6:MOV SBUF,#00H LOOP9:JBC TI,LOOP3 AJMP LOOP9 LOOP3:RET 串电路图如下图所示,6-6. 条件下发送行口处于方式0 数据。 程序如下:ORG 2000H MOV SCON,#00H MOV A,#0FFH MOV SBUF,A LOOP:JNB TI,LOOP CLR TI ACALL DEL CPL A MOV SBUF,A SJMP LOO

26、P DEL: MOV R5,#10 DEL0:MOV R6,#200 DEL1:MOV R7,#248 NOP DEL2:DJNZ R7,DEL2 DJNZ R6,DEL1 DJNZ R5,DEL0 RET END 第7章 单片机系统扩展 略。 第8章 A/D和D/A转换的接口技术 8-18-6、8-8、8-9、8-10、8-138-15略。 8-7. 用8031和DAC0832设计一个周期和幅值可调的锯齿波、三角波和阶梯波的波形发生器。要求画出电路图并编程。 答:见下图 程序如下: :)程序11 的地址DA_ADR EQU 7FFFH ;DA ORG 0000H LJMP MAIN ORG

27、0100H 的地址 MAIN: MOV DPTR,#DA_ADR ;DA CLR A LOOP: MOVX DPTR,A INC A CJNE A,#0FFH,LOOP SJMP MAIN END 2)程序2:0.02S DA_ADR EQU 7FFFH ;DA的地址 ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV DPTR,#DA_ADR ;DA的地址 CLR A LOOP: MOVX DPTR,A INC A ACALL DEL CJNE A,#0FFH,LOOP L2: SJMP L1 L1: MOVX DPTR,A DEC A ACALL DEL CJN

28、E A,#0,L0 SJMP MAIN DEL:MOV R7,#5 DJNZ R7,$ RET END 3)程序3: 图中t=0.1ms,V=10,阶梯波级数为10级。 u0V? DA_ADR EQU 7FFFH ;DA的地址 ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV DPTR,#DA_ADR ;DA的地址 CLR A MOV R7,#5 LOOP: MOVX DPTR,A ACALL DEL ADD A,#51 DJNZ R7,LOOP SJMP MAIN DEL:MOV R6,#5 L1:MOV R5,#255 DJNZ R5,$ DJNZ R6,L1

29、 RET END 8-11. 答:在启动A/D转换指令“MOVX DPTR,A”中,A中数据写到ADC0809的三态输出锁存缓冲器,A中的数据是什么都无所谓,因为这时数据输出允许信号无效,三态输出锁存缓冲器对外呈高阻状态。DPTR中的地址包含了选中转换模拟量的模拟通道和START信号。作用是使STAET信号有效从而启动A/D转换器进行转换,并同时使EOC信号为低电平表示转换开始。 中的地址包含了选中转换模拟量的模拟DPTR读转换信号指令“MOVX A,DPTR”中,通道和OE信号。作用是使OE信号有效从而使数据经过三态输出锁存缓冲器输出,数据出现在数据总线上。 8-12. 答:程序如下; ORG 0000H LJMP MAIN ORG 0003H LJMP IN

温馨提示

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

评论

0/150

提交评论