单片机原理及应用复习全部作业答案

发布 2023-05-19 12:38:28 阅读 5737

第一章。

答:(3)11110010b 若为原码,则表示负数,其真值为:-(1x 26+1x 25+1x 24+0x 23+0x 22+1x 21+0x 20)= 114。

若其为反码,则对应的原码为:10001101,真值为:-13。

若其为补码,其对应的原码是10001110,计算过程如下:

先求出反码,再求补码 :10001101

相应的真值为-14。

答:x=+48, y=+38 ;

[x ]补=00110000。 [y]补=00100110

x ]补+[y]补=01010110=86d

3)答:x=-34, y=+87;

[x ]补=11011110。 [y]补=01010111

x ]补+[y]补=00110101b=53d

无溢出,结果正确。

1-13 答:至少可存放211个二进制数,每个二进制数有4位,地址范围是00000000000b-11111111111b,即为0000h-07ffh。若要把每个二进制数增加到8位,则应加大数据线数目到8个。

答:程序计数器pc的作用是用来存放将要执行的指令所在的存储器地址,pc有自动加1功能,从而实现程序的顺序执行,在8位机中pc通常有二进制16位。第二章。

答:mcs-51单片机中执行程序的地址放在pc寄存器中,是16位二进制数,最大寻址范围是0000h-0ffffh,pc是一个特殊功能寄存器。

答: 内部ram单元的低节划分为3个主要部分,分别是。

1:通用寄存器区 (00h-1fh)

此区域重要是作为cpu就近存取数据使用,可提高单片机的运算速度。共32字节,分成四组;00-07h为0组,08-0f为1组,10h-17h,18-1fh为2和3组。同时只能使用其中一组,具体使用哪一组,可通过设置psw寄存器中的rs0,rs1来选定。

2:位寻址区(20-2fh)

共16个单元,每个单元的每一位可以单独寻址,总共128个位(从00h编号到7fh)这些位地址可以按该位在相应单元的位置来寻址,如20h的0为,可表示为20h.0,也可以直接用00h表示。

3:用户寄存器区(30h-7fh)

可以用来存放用户数据,前两个区域虽然也可以存放用户数据,但通常要作为位寻址或通用寄存器用。

答: sp表示堆栈指针(stack pointer),有8位,作用是用来指示栈顶的位置,系统复位后,sp=07h,为避免使用通用寄存器和位地址区,通常将其重新赋值为30h开始到7fh的区域中某个值(如50h)。

答: mcs-51的寻址范围是0000000000000000b-1111111111111111b,写成16进制为:0000h-0ffffh,可最多配置64kb的外部ram和外部rom。

3-4 (1)mov a, #30h (其中30h代表立即数)

2)mov 30h,@r1 (其中30h代表直接地址)

mov a, #2; a=274 02)

mov r1, #030h; r1=30h79 30)

mov@r1,a; (30h)=a=2f7)

mov 35h, r1; (35h)=r1=30h8935)

xch a, r1; a=30h(00110000b)h, r1=2; (c9h)

psw(program status word)( cyp)=00h

p:当a中1的个数为奇数时, p为1,否则为0

3-6 (3) mov p1,25h

或者: mov a, 25h;

mov p1,a

(7)从外部rom区域读数据的指令只有:movc a,@a+dptr或者是movc a, @a+pc

读写外部ram 单元(需要一个16位地址)的指令也只有两条:

movx a, @dptr;以及movx @dptr, a

movx a, @ri (i=0,1)以及 movx @ri, a(使用前应该把p2口赋值成高八位地址。ri指向低八位地址。、

mov a, #

mov dptr, #4000h;

movc a,@a+dptr

movx @dptr, a 或者。

mov a, #

mov dptr, #4000h;

movc a,@a+dptr

mov r0, #00h;

mov p2, #40h;

movx @r0, a

3-9 (3) mov a, 50h; (4)mov a, 50h

xrl a, #e0horl a, #f0h;

mov 50h, aanl a, #f0h

mov 50h, a

3-12 (37feh)acall 3a00h(双字节)

3800h)

1先做:sp=55h (sp)=38h; (54h)=00h

2转向:pc=3a00h

acall 3a00h

3a00h)subt:

第四章作业。

4-1 从20h 单元开始存放一组带符号数,其个数已在1fh单元中。要求统计出大于0,小于0和等于0的个数并存于one、two、three三个单元中。

答: org 1000h

one data 30h

two data 31h

three data 31h

mov r0, 1fh;计数个数放在r0

mov r1,20h;;取第一个数。

loop:mov a, @r1

cjne a,#0, l1;先作a-0运算,不等于零则转移。

inc three

sjmp l3

l1: jb acc.7, l2;<0则转移。

inc one

sjmp l3

l2: inc two;

l3: djnz r0, loop

sjmp $

end4-3 外部ram从2000h-2100h 有一数据块,请编写程序将它们传递到外部ram3000h-3100h区域。

答:org 1000h

mov dptr,#2000h

mov r0,#

mov p2,#30h;

mov r2, #0;个数(256个)

loop:movx,a, @dptr;从外部ram取数。

movx @r0, a;存外部ram

inc r0

inc dptr

djnz r2 loop

mov dptr, #2100h;还剩一个没有传递。

movx a,@dptr

mov dptr, #3100h;

movx @dptr,a

end;4-5 在128分支程序里,试用ljmp代替ajmp指令,修改后的程序有何特点?(答案略)最多可实现多少分支?(2k/3)

4-7 设一个加数放在50-52h单元中,另一个加数放在53-55h中,进位放在位地址00中,试编程实现多字节加法程序设计(p121)

答:程序如下:

org 1000h

push psw

clr cmov r0,50h;加数指针。

mov r1,53h;被加数指针。

mov r2, #3;字节长度。

addd10: mov a, @r0

addc a, @r1

mov @r0, a

inc r0

inc r1

djnz r2, add10:是否结束?否则继续循环。

mov 00, c

end;4-10 使用连续除10的方法实现8位无符号二进制数到bcd码表示的十进制数的转换。(见例4-4,略)

4-11试用除法指令将20h单元的两位bcd码变成ascii码后存入21h和22h单元。

答:org 1000h

mov a, 20h

mov b,#

div ab

add a,#30h商即等于高四位。

mov 21h,a;

mov a,b;余数等于低四位。

add a, #30h

mov 22h,a

end第五章。

5-2 什么叫接口?i/o接口的作用是什么?

5-4i/o接口有哪四种传输方式,各自的应用场合是什么?

5-8 什么叫中断源,mcs-51有哪几种源,各有什么特点?

5-13 中断允许寄存器ie的各位定义是什么,如何设定?

5-19 哪些中断可以随着中断响应被自动撤消?,哪些需要用户自己撤消?如何撤消?

答:int1,int0,t/c1,t/c0在中断响应后被自动撤除中断标志(但要注意在电平触发方式下的int0,int1可能由于信号在响应中断后继续存在而被再次响应,因此需要用户自己通过软硬件结合的方式撤除中断源的电平)。

ri ti需要用户在中断服务程序里清除该标志,使用指令如clr ri或clr ti撤销标志ri或ti。

5-20试写出int0为边沿触发方式的中断初始化程序。

答:setb ea

setb ex0

setb it0

第六章 6-2 读引脚与 ‘读-修改-写’ 操作有什么不同?

答:读引脚指令如 mov a,p1,是直接从p1引脚的电平读数据。注意在读之前要先向p1口送全1,即:

mov a, #0ffh;

mov p1, a;

mov a, p1;

读-修改-写’ 指令如orl p1,a是先读取锁存器的数据状态,与a逻辑或操作后再输出到p1口引脚上。

6-6 定时器/计数器用作定时时,定时时间与那些因素有关,用作计数时,对输入信号频率有哪些限制?

答:定时时间与定时器初值,定时器工作模式(终值),系统晶体**器频率有关。

计数脉冲频率不大于系统晶体**器频率的1/24。

6-9 以t/c1进行外部事件计数。每计满2000个后,转为20ms定时方式工作,定时时间到后又转为计数模式,如此循环不止。假定单片机晶振频率为6mhz,请使用模式1编程。

答: 机器周期为t=12/fosc=2us

计数方式下tmod:01010000=50h

计数初值c= 216-2000= 0f830h th1=0f8h, tl1=030h;

当转换为定时方式时,tmod:00010000=10h;则需要20ms/t=10000次计数后溢出。

定时初值c=216-10000=d8f0h; th1=d8h tl1=0f0h

程序。org 1000h

ajmp main

单片机原理及应用试题

2011年4月全国高等教育自学考试。课程 2358 第一部分选择题 共15分 一单选题 每小题1分,共计15分 1.十六进制数a到f和对应的ascii码的差为。a.37h b.30h c.40h d.47h 2.下列关于89c52内部的主要部件的描述错误的是。a.8位cpub.16k flash程序...

单片机原理及应用作业答案

作业答案0 1 绪论。1 单片机是把组成微型计算机的各功能部件即 微处理器 cpu 存储器 rom和ram 总线 定时器 计数器 输入 输出接口 i o口 及 中断系统 等部件集成在一块芯片上的微型计算机。2 什么叫单片机?其主要特点有哪些?解 将微处理器 cpu 存储器 存放程序或数据的rom和r...

单片机原理及应用作业答案

作业答案0 1 绪论。1 单片机是把组成微型计算机的各功能部件即 微处理器 cpu 存储器 rom和ram 总线 定时器 计数器 输入 输出接口 i o口 及 中断系统 等部件集成在一块芯片上的微型计算机。2 什么叫单片机?其主要特点有哪些?解 将微处理器 cpu 存储器 存放程序或数据的rom和r...