单片机原理及应用课后习题整理Word下载.docx
- 文档编号:19337042
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:16
- 大小:40.71KB
单片机原理及应用课后习题整理Word下载.docx
《单片机原理及应用课后习题整理Word下载.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用课后习题整理Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
P2口可以作为地址线的高8位;
P3口是双功能
口,每条口线还具有不同的第二功能。
另外,P0口的驱动能力为8个TTL负载,而其它口仅可驱动4个TTL负载。
4.如果80C51单片机晶振频率分别为6MHz、11.0592MHz、12MHz时,机器周期分别为多少?
机器周期分别为2μs,1.085μs,1μs。
5.80C51单片机复位后的状态如何?
复位方法有几种?
复位后,PC内容为0000H,P0口~P3口内容为FFH,SP内容为07H,SBUF内容不定,IP、IE和PCON
的有效位为0,其余的特殊功能寄存器的状态均为00H。
复位方法一种是上电复位,另一种是上电与按键均有
效的复位。
6.80C51单片机的片内、片外存储器如何选择?
80C51的EA引脚为访问片内、片外程序存储器的选择端。
访问片内、片外数据存储器需要采用不同的
指令加以区分。
7.80C51单片机的PSW寄存器各位标志的意义如何?
CY:
进位、借位标志。
有进位、借位时CY=1,否则CY=0;
AC:
辅助进位、借位标志(高半字节与低半字节间的进位或借位);
F0:
用户标志位,由用户自己定义;
RS1、RS0:
当前工作寄存器组选择位;
OV:
溢出标志位。
有溢出时OV=1,否则OV=0;
P:
奇偶标志位。
存于ACC中的运算结果有奇数个1时P=1,否则P=0。
8.80C51单片机的当前工作寄存器组如何选择?
当前工作寄存器组的选择由特殊功能寄存器中的程序状态字寄存器PSW的RS1、RS0来决定。
9.80C51单片机的控制总线信号有哪些?
各信号的作用如何?
RST/VPD:
复位信号输入引脚/备用电源输入引脚;
ALE/PROG:
地址锁存允许信号输出引脚/编程脉冲
输入引脚;
EA/VPP:
内外存储器选择引脚/片内EPROM(或FlashROM)编程电压输入引脚;
PSEN:
外部程
序存储器选通信号输出引脚。
10.80C51单片机的程序存储器低端的几个特殊单元的用途如何?
0000H:
单片机复位入口地址;
0003H:
外部中断0的中断服务程序入口地址;
000BH:
定时/计数器0溢
出中断服务程序入口地址;
0013H:
外部中断1的中断服务程序入口地址;
001BH:
定时/计数器1溢出中断1的服务程序入口地址;
0023H:
串行口的中断服务程序入口地址。
第三章
10.完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指令序列。
(1)将R0的内容传送到R1;
(2)内部RAM单元60H的内容传送到寄存器R2;
(3)外部RAM单元1000H的内容传送到内部RAM单元60H;
(4)外部RAM单元1000H的内容传送到寄存器R2;
(5)外部RAM单元1000H的内容传送到外部RAM单元2000H。
(1)MOVA,R0
MOVR1,A
(2)MOVR2,60H
(3)MOVDPTR,#1000H
MOVXA,@DPTR
MOV60H,A
(4)MOVDPTR,#1000H
MOVR2,A
(5)MOVDPTR,#1000H
MOVDPTR,#2000H
MOVX@DPTR,A
11.若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。
试分析执行下列程序段后上述各单元
内容的变化。
MOVA,@R1
MOV@R1,40H
MOV40H,A
MOVR1,#7FH
(R1)=7FH
(A)=60H
(30H)=08H
(40H)=60H
14.试用位操作指令实现下列逻辑操作。
要求不得改变未涉及的位的内容。
(1)使ACC.0置位;
(2)清除累加器高4位;
(3)清除ACC.3,ACC.4,ACC.5,ACC.6。
(1)SETBACC.0
(2)ANLA,#0FH
(3)ANLA,#87H
15.试编写程序,将内部RAM的20H、21H、22H三个连续单元的内容依次存入2FH、2EH和2DH单元。
MOV2FH,20H
MOV2EH,21H
MOV2DH,22H
16.试编写程序,完成两个16位数的减法:
7F4DH-2B4EH,结果存入内部RAM的30H和31H单元,
30H单元存差的高8位,31H单元存差的低8位。
(注意:
此题与书上的题要求不一样,书中
要求31H单元存差的高8位,30H单元存差的低8位)
CLRCY
MOV30H,#7FH
MOV31H,#4DH
MOVR0,#31H
MOVA,@R0
SUBBA,#4E
MOV@R0,A;
保存低字节相减结果
DECR0
MOVA,@R0
SUBBA,#2BH
保存高字节相减结果
17.试编写程序,将R1中的低4位数与R2中的高4位数合并成一个8位数,并将其存放在R1中。
MOVA,R2
ANLA,#0F0H
ORLR1,A
18.试编写程序,将内部RAM的20H、21H单元的两个无符号数相乘,结果存放在R2、R3中,R2中存放高8位,R3中存放低8位。
MOVA,20H
MOVB,21H
MULAB
MOVR3,A
MOVR2,B
19.若(CY)=1,(P1)=10100011B,(P3)=01101100B。
试指出执行下列程序段后,CY、P1口及P3
口内容的变化情况。
MOVP1.3,C
MOVP1.4,C
MOVC,P1.6
MOVP3.6,C
MOVC,P1.0
MOVP3.4,C
-81-
(CY)=1,(P1)=10111011B,(P3)=00111100B
第四章
9.若80C51的晶振频率为6MHz,试计算延时子程序的延时时间。
DELAY:
MOVR7,#0F6H
LP:
MOVR6,#0FAH
DJNZR6,$
DJNZR7,LP
RET
延时时间:
2μs*{[1+((1+2*250+2)*246)+2]+2}=0.247486秒(含调用指令2个机器周期)
10.在内部RAM的30H~37H单元存有一组单字节无符号数。
要求找出最大数存入BIG单元。
试编写程
序实现。
ORG0000H
BIGDATA2FH
ONEDATA2AH
TWODATA2BH
START:
MOVR7,#7;
比较次数
MOVR0,#30H
LOOP:
MOVA,@R0
MOVONE,A
INCR0
MOVTWO,@R0
CLRC
SUBBA,@R0
JCNEXT;
ONE小,TWO大继续比下一对数
MOV@R0,ONE;
ONE大放后面(交换)
MOV@R0,TWO;
TWO小放前面
INCR0;
NEXT:
DJNZR7,LOOP
MOVBIG,37H
SJMP$
END
11.编写程序,把累加器A中的二进制数变换成3位BCD码,并将百、十、个位数分别存放在内部RAM
的50H、51H、52H中。
单字节二进制数转换为压缩的BCD码仅需要2个字节;
在将压缩的BCD码拆分存于3个单元。
org0
MOV52H,#0
MOV51H,#0
MOV50H,#0
MOVA,#0FDh
LCALLDCDTH
DCDTH:
MOVR7,#8
MOVR0,A;
暂存于R0
MOVA,R0
RLCA
MOVR0,A
MOVR1,#51H;
MOVA,@R1;
ADDCA,@R1;
DAA;
MOV@R1,A;
DECR1
MOVA,@R1
ADDCA,@R1
DAA
MOV@R1,A
INCR1;
50H已是结果,R1指向51H,51H单元需拆分
MOVA,#00H
XCHDA,@R1
MOV52H,A
SWAPA
12.编写子程序,将R1中的2个十六进制数转换为ASCII码后存放在R3和R4中。
ORG0
MOVR1,#5BH
MOVA,R1
ANLA,#0F0H
ACALLASCII
MOVR3,A
ANLA,#0FH
MOVR4,A
ASCII:
PUSHACC
SUBBA,#0AH
POPACC
JCLOOP
ADDA,#07H
ADDA,#30H
13.编写程序,求内部RAM中50H~59H十个单元内容的平均值,并存放在5AH单元。
MOVR7,#10
MOVR0,#50H
MOVB,#10
CLRA
ADDCA,@R0
DIVAB
MOV5AH,A
第五章
2.某系统有三个外部中断源1、2、3,当某一中断源变低电平时便要求CPU处理,它们的优先处理次
序由高到低为3、2、1,处理程序的入口地址分别为2000H、2100H、2200H。
试编写主程序及中断服务程序(转至相应的入口即可)。
将3个中断信号经电阻线或,接INT1。
LJMPMAIN
ORG00013H
LJMPZDFZ
ORG0040H
MAIN:
SETBEA
SETBEX1
0RG0200H
ZDFZ:
PUSHPSW
JBP1.0,DV0
JBP1.1,DV1
JBP1.2,DV2
INRET:
POPPSW
RETI
ORG2000H
DV0:
------------
JMPINRET
ORG2100H
DV1:
ORG2200H
DV2:
8.利用定时/计数器T0从P1.0输出周期为1s,脉宽为20ms的正脉冲信号,晶振频率为12MHz。
试设
计程序。
采用定时20ms,然后再计数1、49次的方法实现。
a、T0工作在定时方式1时,控制字TMOD配置:
M1M0=01,GATE=0,C/T=0,可取方式控制字为01H;
b、计算计数初值X:
晶振为12MHz,所以机器周期Tcy为1μs。
N=t/Tcy=20×
10-3/1×
10-6=20000
X=216-N=65536-20000=45536=4E20H
即应将4EH送入TH1中,20H送入TL1中。
c、实现程序如下:
AJMPMAIN;
跳转到主程序
ORG0030H
MAIN:
MOVTMOD,#01H;
设T1工作于方式2
MOVTH0,#4EH;
装入循环计数初值
MOVTL0,#20H;
首次计数值
LP0:
SETBP1.0
ACALLNT0
CLRP1.0
MOVR7,#49;
计数49次
LP1:
DJNZR7,LP1
AJMPLP0
NT0:
MOVTH0,#4EH
MOVTL0,#20H
SETBTR0
JNBTF0,$
CLRTR0
CLRTF0
9.要求从P1.1引脚输出1000Hz方波,晶振频率为12MHz。
试设计程序。
采用T0实现
-90-
-91-
1/1000=1×
10-3
N=t/Tcy=0.5×
10-6=500
X=216-N=65536-500=65036=FE0CH
即应将FEH送入TH0中,0CH送入TL0中。
ORG000BH;
T0的中断入口地址
LJMPDVT0
设T0工作于方式2
MOVTH0,#0FEH;
MOVTL0,#0CH;
SETBET0;
T0开中断
SETBEA;
CPU开中断
SETBTR0;
启动T0
SJMP$;
等待中断
DVT0:
CPLP1.1
MOVTH0,#0FEH
MOVTL0,#0CH
10.试用定时/计数器T1对外部事件计数。
要求每计数100,就将T1改成定时方式,控制P1.7输出一个
脉宽为10ms的正脉冲,然后又转为计数方式,如此反复循环。
设晶振频率为12MHz。
a、T1工作在计数方式2时,控制字TMOD配置:
M1M0=10,GATE=0,C/T=1,可取方式控制字为60H;
T1工作在定时方式1时,控制字TMOD配置:
M1M0=01,GATE=0,C/T=0,可取方式控制字为10H;
b、计算初值X:
定时10ms时:
N=t/Tcy=10×
10-6=10000
X=216-N=65536-10000=55536=D8F0H
即应将D8H送入TH1中,F0H送入TL1中。
计数100时:
N=100
X=28-N=256-100=156=9CH
ORG001BH;
T1的中断入口地址
LJMPDVT1
MOVTMOD,#60H;
T1工作于计数方式2
MOVTH1,#9CH;
装入计数初值
MOVTL1,#9CH;
CLRP1.7
SETBET1;
T1开中断
SETBTR1;
启动T1
DVT1:
SETBP1.7
CLRET1
CLRTR1
MOVTMOD,#10H;
T1工作于定时方式1
MOVTH1,#0D8H;
装初值
MOVTL1,#0F0H
SETBTR1
JNBTF1,$;
查询等待10ms
CLRTF1
第六章
3.在串行通信中通信速率与传输距离之间的关系如何?
最大距离与传输速率及传输线的电气特性有关。
当传输线使用每0.3m(约1ft)有50PF电容的非平衡
屏蔽双绞线时,传输距离随传输速率的增加而减小。
当波特率超过1000bps时,最大传输距离将迅速下降。
第七章
1.以80C31为主机,用2片27C256扩展64KEPROM,试画出接口电路。
3.当单片机应用系统中数据存储器RAM地址和程序存储器EPROM地址重叠时,它们内容的读取是否
会发生冲突,为什么?
不会。
由于80C51对ROM的读操作由PSEN控制,指令用MOVC类;
对RAM读操作用RD控制,指
令用MOVX。
所以,尽管ROM与RAM的逻辑地址是重叠的,它们内容的读取也不会发生冲突。
4.
7.
第八章
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 课后 习题 整理