1、单片机原理与应用习题答案单片机原理与应用课后习题参考答案 第1章1.(1)15 (2)0. (3)14.68752.(1) (2)11 (3). 10113. 原码:正数的符号位用0表示,负数符号位用1表示,而数值位保持原样的机器码称为原码。 反码:在计算机中,对于正数,其反码的符号位为“0”,数值部分保持不变;对于负数,其反码除了在符号位上表示“1”外,数值部分的各位都取与它相反的数码,即“0”变“1”、“1”变“0”。也就是说:正数的反码与它的原码相同;负数的反码由其绝对值按位求反后得到。 补码:在计算机中,对于正数,其补码的符号位为“0”,数值部分保持不变;对于负数,其补码除了在符号位上
2、表示“1”外,数值部分的各位都取与它相反的数码,然后在最低位加“1”。也就是说:正数的补码与它的原码相同;负数的补码由其对应的绝对值按位求反后加1得到。4.(1)原码: 反码: 补码: (2)原码:10. 反码:10. 补码:10. (3)原码:00. 反码:00. 补码:00. 5.N原=1.1010 N补=1.0110 N=-0.625 6. 原码 0.1010-0.1011 = -0.0001补码 0.1010+(1.0101)=(1.1111) 7. 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。微处理器是是指计算机内部对数据进行处理并对
3、处理过程进行控制的部件,采用大规模集成电路工艺在一块或几块芯片上制成的中央处理器。如果将构成微型计算机的各功能部件(CPU,RAM,ROM及IO接口电路)集成在同一块大规模集成电路芯片上,一个芯片就是一台微型机,则该微型机就称为单片微型计算机。8. MCS-51系列单片机是美国INTEL公司于1980年推出的一种8位单片机系列。该系列的基本型产品是8051、8031和8751。这3种产品之间的区别只是在片内程序存储器方面。8051的片内程序存储器(ROM)是掩膜型的,即在制造芯片时已将应用程序固化进去;8031片内没有程序存储器;8751内部包含有用作程序存储器的4KB的EPROM。由于805
4、1的编程需要制造商的支持,8751的价格昂贵,因此8031获得了更为广泛的使用。第2章1. MCS-51系列单片机内部主要有一个8位中央处理器CPU,4KB程序存储器ROM(有的型号没有),256B数据存储器RAM,两个16位定时/计数器(T0、T1),可寻址64KB外部数据存储空间和64KB外部程序存储器的控制电路,1个可编程的并行I/O端口、4个8位并行I/O端口(P0P3),21个特殊功能寄存器。2. 8位数据信息由P0口传送,16位地址底8位是与数据信息复用P0口,高8位是P2口提供。P3口是多功能复用口。3. 51单片机的存储器结构是哈弗结构,即程序存储器和数据存储器是独立编址的,程
5、序存储器可放程序和只读的数据,数据存储器放数据不能放程序。4. 51内部RAM区功能结构是:00H1FH为4组8个通用寄存器R0R7,20H2FH 是位寻址区16个字节128位和字节数据区,30H到7FH 是字节数据区。4组8个通用寄存器R0R7 是由PSW标志寄存器中RS1 、RS0决定,复位后=00。 0组 00H07H 0 0 1组 08H0FH 0 1 2组 10H17H 1 0 3组 18H1FH 1 15. 特殊功能寄存器中字节地址(16进制表示)个位数是0、8的特殊功能寄存器都是可位寻址的。特殊功能寄存器的字节地址在80HFFH范围,必须采用直接寻址访问。6.见2.2.1节表2-
6、37. 因为读写控制信号线不一样。程序存储器的读信号线是PSEN,没有写;数据存储器的读是RD,写是WR。8.位地址7CH是字节地址2FH单元中的最高位,可用2FH.7表示。9.PSW中各位表示程序运行中运算器运算的状态,以及CPU的状态。表示运算器运算的状态有CY、AC、P。CPU的状态有RS1、RS0 和软件标志位F0。10. 在程序存储器中,0000H、0003H、000BH、0013H、001BH、0023H这6个单元是存放中断程序的入口地址。11. 51单片机复位后,P0P3都被置位为FFH。第3章1.立即寻址,直接寻址,寄存器间接寻址,变址寻址,相对寻址,累加器隐含寻址,位置接寻址
7、。2. A=50H R0=50H 50H 51H 52H 为30H 50H 00HH MOV 50H,#50HE550H MOV A,50HF8H MOV R0,A7430H MOV A,#30HF6H MOV R0,A7450H MOV A,#50HF551H MOV 51H,AH MOV 52H,#00H3. B 直接寻址 SP 寄存器间接寻址4. SP=23H PC=3412H5. MOV A,30H MOV DPTR,#1000H MOVX DPTR,A INC DPTR MOVA, #31H MOVX DPTR,A6. 08FFH7. 地址偏移量=FEH8. MOV 是操作片内RAM
8、指令,最大地址=FFHMOVX 是操作片外RAM指令,最大地址=FFFFHMOVC 是读程序存储器ROM指令,最大地址=FFFFH9. FFH MOV R7,A C0H E0H PUSH A E5H F0H MOV A,B F0H MOV DPTR,A10.(1)错 (2)错 (3)对 (4)错 (5)错 (6)错 (7)错 (8)对 (9)错 (10)对第4章1. MOV DPTR, #3000H MOV R0,#35H MOV R7,#20H LOOP: MOV A,R0 MOVX DPTR,A INC R0 INC DPTR DJNZ R7,LOOP2. MOV A,5AH RR A A
9、DD A,#8 ADD A,5AH MOV 5BH,A3. MOV R0,#50H MOV R7,#8 CLR A LOOP: ADD A,R0 INC R0 DJNZ R7,LOOP MOV 54H,A4. 设被乘数是两个字节在R3R4中,结果放回 MOV A,R4 CLR C LLA MOV R6,A MOV A,R3 LL A MOV R5,A MOV A,R6 CLR C LL A MOV R6,A MOV A,R5 LL A MOV R5,A MOV A,R6 CLR C LL A MOV R6,A MOV A,R5 LL A MOV R5,A MOV A,R4 ADD A,R6 M
10、OV R4,A MOV A,R3 ADC A,R5 MOV R3,A5. MOV DPTR,#2000H MOV R0,#50H MOV R7,#15 LOOP1: MOVX A,DPTR MOV R0,A INC R0 INC DPTR DJNZ R7,LOOP1 MOV DPTR,#2100H MOV R7,#15 MOV R0,50H LOOP2: MOVX A,DPTR ADD A,R0 MOV R0,A INC R0 INC DPT R DJNZ R7,LOOP2 MOV DPT R,#2200H MOV R0,#50H MOV R7,#15 LOOP3: MOV A,R0 MOVX
11、 DPTR,A INC R0 INC DPTR DJNZ R7,LOOP36. MOV DPTR,#2000H MOV R0,#30H ; 在片内RAM中数据地址 MOV R7,#50 ; 50个数排序LOOP: MOVX A,DPTR MOV R0,A INC DPTR INC R0 DJNZ R7,LOOPSORT: MOV R0, #30H MOV R7, #50 CLR TAgCOON: MOV A, R0 MOV R2, A INC R0 MOV B, R0 CJNE A, B, NOTEqUAL SJMP NEXTNOTEQUAL: JC NEXT ; 前小后大, 不交换 SETB
12、 TAg ; 前大后小, 置交换标志 XCH A, R0 ; 交换 DEC R0 XCH A, R0 INC R0 NEXT: DJNZ R7, COON JB TAG, SORT MOV DPTR,#3000H MOV R0,#30H MOV R7,#50 CUN: MOV A,R0 MOVX DPTR,A INC R0 INC DPTR DJNZ R7,CUN7 MOV DPTR,#2000H MOV R7,#100 MOV R3,#0 ;奇数计数 MOV R4,#0 ;偶数计数 LOOP: MOVX A,DPTR RR A JC ODD INC R4 SJMP CON ODD: INC
13、R3 CON: INC DPTR DJNZ R7,LOOP8 MOV DPTR,#1000H MOV R7,#31H MOV R0,#30H LOOP: MOVX A,DPTR MOV R0,A CLR A MOVX DPTR,A INC DPTR INC R0 DJNZ R7,LOOP9 MOV DPTR,#1000H MOV R7,#31H MOV R0,#30H LOOP: MOVX A,DPTR MOV R0,A CLR A MOVX DPTR,A INC DPTR INC R0 DJNZ R7,LOOP10 MOV DPTR,#2000H MOV R7,#10 MOV R0,#30H
14、 MOV SP,#60H LOOP: MOVX A,DPTR ANL A,#0FH MOV R3,A INC DPTR MOVX A,DPTR ANL A,#0FH SWAP ORL A,R3 MOV R0,A INC DPTR DJNZ R7,LOOP MOV DPTR ,#3000H MOV R7,#10 MOV R0,#30H CUN: MOV A,R0 MOVX DPTR,A INC R0 INC DPTR DJNZ R7,CUN第5章1、并行通信:是指数据的各位同时进行传送的通信方式。 串行通信:是指数据一位一位顺序传送的通信方式。串行通信的两种基本形式:同步通信和异步通信。异步通信
15、所传输的数据帧格式是由1个起始位、19个数据位、12个停止位组成,依靠起始位和停止位保持同步;同步所传输数据帧格式是由多个字节组成的一个帧,每个帧都有两个(或一个)同步字符作为起始位以触发同步时钟开始发送或接收数据。波特率是指每秒钟传送二进制数码的位数(bit),单位bps(bit per second),bit/s。2、单工方式(Simplex):只允许数据向一个方向传送(AB)。半双工方式(Half Duplex):允许数据向两个方向中的一个方向传送,但每次只能一个站发送。全双工方式(Full Duplex):允许数据同时双向传送。3、660bps4、300bps5、MOV SCON,#0
16、0HCLR P1.1MOV R7,#16MOV A,#BLOOP: MOV SBUF,A JNB TI,$ ACALL DELAY1S RA A DJNZ R7,LOOP RET6、Baud=smod=1 时,x208D0Hsmod=0 时,x232E8HMAIN: MOV SCON,#B MOV TMOD,#B MOV TH1,#0D0H MOV TL1,#0D0H CLR EA MOV PCON,#80H SETB TR1LOOP: JNB RI,$ MOV A,SBUF CLR RI MOV SBUF,A JNB TI,$ CLR TI SJMP LOOP7、甲机:MAIN: MOV S
17、CON,#B MOV TMOD,#B MOV TH1,#0D0H MOV TL1,#0D0H CLR EA MOV PCON,#80H SETB TR1 MOV R7,#16 MOV R0,#30HLOOP: MOV SBUF,R0 JNB TI,$ CLR TI INC r0 djnz r7,loop sjmp $乙机: org 000h ljmp main org 023h ljmp rxd_int org 100hmain: mov scon,#b mov tmod,#b mov th1,#0d0h mov tl1,#0d0h setb es setb ea mov pcon,#80h
18、setb tr1 mov r7,#16 mov r0,#40h sjmp $rxd_int: mov r0,sbuf clr ri inc r0 djnz r7,goret mov r7,#16 mov r0,#40hgoret: reti第6章1. 中断是指CPU在正常运行程序时,由于内部/外部事件,或由程序预先安排的事件引起CPU暂时停止正在运行的程序,转到为该内部/外部事件或预先安排的事件服务的程序中去,服务完毕,再返回去继续运行被暂时中断的程序,这个过程称为中断。2. MCS-51单片机设有5个中断源, 分别是2个外部中断 、 、2个内部定时器计数器溢出中断TF0、TFl和1个内部串行
19、口中断TI或RI。这些中断请求分别由特殊功能寄存器TCON和SCON的相应位锁存。中断可分为:外部中断,定时/记数中断,串行口中断。3. 优先级,其实就是当两个中断同时需要执行的时候,那个会先响应。又或者一个中断正在执行,另外一个中断又再来临的时候,单片机是否会跳出本来执行的中断程序而执行新的中断程序。中断分为2个中断优先级,即高优先级和低优先级,每个中断源的优先级都可以由软件来设定同一优先级内其自然优先级顺序,排列如下:中断源同级自然优先级外部中断0最高级定时器0中断外部中断1定时器1中断串行口中断最低级定时器2中断最低级(52系列单片机中)4.中断源有中断请求;此中断源的中断允许位为1;C
20、PU开中断(即EA=1)。同时满足时,CPU才有可能响应中断。5. TCON为定时器/计数器的控制器,它也锁存外部中断请求标志,(1)IEl(TCON.3)为外部中断1()的中断请求标志位,位地址为8BH。 (2)ITl(TCON.2)为外部中断1()的触发控制标志位,位地址为8AH。 (3)IE0(TCON.1)为外部中断0()的中断请求标志位,位地址为89H。 (4)IT0(TCON.0)为外部中断0()的触发控制标志位,位地址是88H。第7章1. MCS-51单片机有两个16位的定时/计数器:定时器0和定时器1。定时器/计数器T0由TH0、TL0构成,T1由TH1、TL1构成。另外还有定
21、时器工作方式寄存器TMOD,控制寄存器TCON。2. 定时/计数器还有4种工作模式,方式0为13位方式 ,方式1为16位方式,方式2为8位自动装入时间常数方式,方式3为2个8位方式。TMOD用于控制4种工作模式。TMOD中的M1、M0位:工作方式选择位。当M1、M0为00时,选择方式0;为01时,选择方式1;为10时,选择方式2;为11时,选择方式3。3. 定时时间与时钟频率和定时初值有关。由于确认1次负跳变要花2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。4. 定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。作计数器
22、时,其计数脉冲来源于单片机外部引脚T0(或T1)的脉冲。5. 对一8031单片机应用系统,已知其时钟频率为6MHZ,需将8031片内定时计数器设置成:T0:50S定时,申请中断,自启动;此时TMOD值应为多少?TH0/TL0应取值多少?根据题意,采用方式2定时,TMOD02H晶振频率为6MHz,Tp2SXTc / Tp 50S/2S25计数初值为:2825231TH0/TL0231E7H6.根据题意,Tc1/(2*10KHZ)250S,Tp2SXTc / Tp 250S/2S125采用T0方式2定时计数初值为:2812513183H编写程序如下:ORG 0000H LJMP MAIN ORG
23、000BH LJMP IT0PMAIN: MOV TMOD,#02H ;定时器/计数器T0为定时方式2 MOV TL0,#83H ;定时364s初值赋值 SETB TR0 ;启动T0,开始计数 SETB ET0 ;允许T0中断 SETB EA ;CPU开中断 SETB P1.0WAIT: AJMP WAITIT0P: CPL P1.0 RETI7. 根据题意,采用方式2定时,Tp2SXTc / Tp 50S/2S25计数初值为:2825231E7H编写程序如下:ORG 0000H LJMP MAIN ORG 000BH LJMP IT0PMAIN: MOV TMOD,#02H ;定时器/计数器
24、T0为定时方式2 MOV TL0,# 0E7H ;定时364s初值赋值 SETB TR0 ;启动T0,开始计数 SETB ET0 ;允许T0中断 SETB EA ;CPU开中断 SETB P1.0 MOV B,#0WAIT: AJMP WAITIT0P: INC BCJNE B,#1,IT01CLRB P1.0 RETIITO1: CJNE B,#5,IT02 SETB P1.0 CLR BIT02: RETI8. 据题意,采用方式2定时,Tp2SXTc / Tp 500S/2S250计数初值为:28250606H编写程序如下:ORG 0000H LJMP MAIN ORG 000BH LJM
25、P IT0PMAIN: MOV TMOD,#02H ;定时器/计数器T0为定时方式2 MOV TL0,# 0E7H ;定时364s初值赋值 SETB TR0 ;启动T0,开始计数 SETB ET0 ;允许T0中断 SETB EA ;CPU开中断 SETB P1.0 SETB P1.1 MOV B,#0WAIT: AJMP WAITIT0P: CPL P1.0INC BCJNE B,#4,IT01CPL P1.1CLR BIT01: RETI第8章1. 线选法就是直接以系统的地址线作为存储器芯片的片选信号, 为此只需把用到的地址线与存储器芯片的片选端直接相连即可。译码法就是使用地址译码器对系统的
26、片外地址进行译码, 以其译码输出作为存储器芯片的片选信号。2. 8031单片机没有内部存储器,而复位时把PC初始化为0000H,使单片机从程序存储器的0000H单元开始执行程序,所以要求其片外程序存储器的起始地址必须从0000H开始设置。3. 电路图如下:4.电路图如下:第9章1.A、通过互感器把0-250V转换为0-5V,通过放大器到A/D转换器0809的IN0接单片机。(具体图见下一页)89C51P0口IN0互感器0809放大器由图可知 A15 A14 A13 0 1 1 ADC0809 1 0 0 LEDB、单片机外扩LS74LS244接四位LED显示器 ,用P1口P1.4 P1.5 P1.6 P1.7选择哪一位LED。C、用单片机的P1口P1.0 P1.1 P1.2 P1.3 四个引脚接KEY1 KEY2 KEY3 KEY4四个键作 功能 复位键D、单片机接MAX232接口与PC机通讯,通信协议仿本章例子。基本格式 IDATACC1 I:指令 1字节2 DATA:电压值 1字节3 CC:校验和码(的和值) 1字节
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1