第一章。
答:(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...