单片机原理李全利第二版课后题标准答案doc.docx
- 文档编号:25735835
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:37
- 大小:61.32KB
单片机原理李全利第二版课后题标准答案doc.docx
《单片机原理李全利第二版课后题标准答案doc.docx》由会员分享,可在线阅读,更多相关《单片机原理李全利第二版课后题标准答案doc.docx(37页珍藏版)》请在冰豆网上搜索。
单片机原理李全利第二版课后题标准答案doc
第二章
2.80C51单片机的存储器的组织采用何种结构存储器地址空间如何划分各地址空间的地址范围和容量如何在使用上有何特点
答:
采用哈佛结构,在物理上设计成程序存储器和数据存储器两个独立的空间80C51;基本型单片机片内程序存储器为4KB,地址范围是0000H-0FFFH,用于存放程序或常数;片内数据存储器为128字节RAM,地址范围是00H-7FH,用于存放运算的中间结果、暂存数据和数据缓冲;另外在80H-FFH还配有21个SFR。
第三章
7.为什么说布尔处理功能是80C51单片机的重要特点答:
单片机指令系统中的布尔指令集、存储器中的位地址空间与CPU中的位操作构成了片内的布尔功能系统,它可对位(bit)变量进行布尔处理,如置位、清零、求补、测试转移及逻辑“与”、“或”等操作。
在实现位操作时,借用了程序状态标志器PSW()中的进位标志Cy作为位操作的“累加器”。
8.对于80C52单片机内部RAM还存在高128字节,应采用何种方式访问答:
寄存器间接寻址方式。
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位。
答:
CLRCY
MOV30H,#7FH
MOV31H,#4DH
MOVR0,#31H
MOVA,@R0
SUBBA,#4E
MOV@R0,A;保存低字节相减结果
DECR0
MOVA,@R0
SUBBA,#2BH
MOV@R0,A;保存高字节相减结果
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)=B,(P3)=01101100B。
试指出执行下列程序段后,CY、P1口及P3口内容的变化情况。
MOV,C
MOV,C
MOVC,
MOV,C
MOVC,
MOV,C
答:
(CY)=1,(P1)=B,(P3)=00111100B
第四章
3.常用的程序结构有哪几种特点如何
答:
顺序程序:
无分支、无循环结构的程序,其执行流程是依指令在存储器中的存放顺序进行的;
分支程序:
可以改变程序的执行顺序;
循环程序:
按某种控制规律重复执行的程序,控制一部分指令重复执行若干次,以便用简短的程序完成大量的处理任务。
4.子程序调用时,参数的传递方法有哪几种
答:
利用累加器或寄存器;利用存储器;利用堆栈。
6.设被加数存放在内部RAM的20H、21H单元,加数存放在22H、23H单元,若要求和存放在24H、25H中,试编写出16位无符号数相加的程序(采用大端模式存储。
)
答:
程序如下:
ORG0000H
MOVR0,#21H
MOVR1,#23H
MOVA,@R0
ADDA,@R1
MOV25H,A
DECR0
DECR1
MOVA,@R0
ADDCA,@R1
MOV24H,A
SJMP$
END
7.编写程序,把外部RAM中1000H~101FH的内容传送到内部RAM的30H~4FH中。
答:
ORG0000H
MOVDPTR,#1000H
MOVR0,#30H
MOVR7,#32
LOOP:
MOVXA,@DPTR
MOV@R0,A
INCR0
INCDPTR
DJNZR7,LOOP
RET
8.编写程序,实现双字节无符号数加法运算,要求(R0R1)+(R6R7)→(60H61H)。
答:
ORG0000H
MOVA,R1
ADDA,R7
MOV61H,A
MOVA,R0
ADDCA,R6
MOV60H,A
SJMP$
END
9.若80C51的晶振频率为6MHz,试计算延时子程序的延时时间。
DELAY:
MOVR7,#0F6H
LP:
MOVR6,#0FAH
DJNZR6,$
DJNZR7,LP
RET
答:
延时时间:
2μs*{[1+((1+2*250+2)*246)+2]+2}=秒(含调用指令2个机器周
期)
10.在内部RAM的30H~37H单元存有一组单字节无符号数。
要求找出最大数存入BIG单元。
试编写程序实现。
答:
ORG0000H
BIGDATA2FH
ONEDATA2AH
TWODATA2BH
START:
MOV
R7,#7
;比较次数
MOV
R0,#30H
LOOP:
MOV
A,@R0
MOV
ONE,A
INC
R0
MOV
TWO,@R0
CLR
C
SUBBA,@R0
JC
NEXT;ONE小,TWO大继续比下一对数
MOV
@R0,ONE
;ONE大放后面(交换)
DEC
R0
MOV
@R0,TWO
;TWO小放前面
INC
R0
;
NEXT:
DJNZR7,LOOP
MOV
BIG,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
SJMP$
DCDTH:
MOVR7,#8
MOVR0,A;暂存于R0
LOOP:
CLRC
MOVA,R0
RLCA
MOVR0,A
MOVR1,#51H;
MOVA,@R1;
ADDCA,@R1;
DAA;
MOV@R1,A;
DECR1
MOVA,@R1
ADDCA,@R1
DAA
MOV@R1,A
DJNZR7,LOOP
INCR1;50H已是结果,R1指向51H,51H单元需拆分
MOVA,#00H
XCHDA,@R1
MOV52H,A
MOVA,@R1
SWAPA
MOV@R1,A
RET
END
12.编写子程序,将R1中的2个十六进制数转换为ASCII码后存放在R3和R4中。
答:
ORG
0
MOV
R1,#5BH
MOV
A,R1
ANL
A,#0F0H
SWAP
A
ACALL
ASCII
MOV
R3,A
MOV
A,R1
ANL
A,#0FH
ACALL
ASCII
MOV
R4,A
SJMP
$
ASCII:
PUSH
ACC
CLR
C
SUBB
A,#0AH
POP
ACC
JCLOOP
ADD
A,#07H
LOOP:
ADD
A,#30H
RET
END
13.编写程序,求内部RAM中50H~59H十个单元内容的平均值,并存放在5AH单元。
答:
ORG0000H
MOVR7,#10
MOVR0,#50H
MOVB,#10
CLRC
CLRA
LOOP:
ADDCA,@R0
INCR0
DJNZR7,LOOP
DIVAB
MOV5AH,A
SJMP$
END
14.如图所示,编制程序实现:
上电后显示“P”,有键按下时显示相应的键号“0”~“7”。
答:
实现程序如下:
TEMPEQU
30H
ORG
0000H
JMP
START
ORG
0100H
START:
MOV
SP,#5FH
MOV
P0,#8CH
;
正序显示"P"
MOV
P3,#0FFH
;
输入方式
CLR
CY
NOKEY:
MOV
A,P3
CPL
A
JZNOKEY
;
无键按下
MOV
TEMP,P3
;
有键按下
CALLD10ms
MOV
A,P3
CJNEA,TEMP,NOKEY;
去抖动
MOV
R2,#0
;
键号计数器复位
MOVA,TEMP
LP:
RRCA
JNCDONE
INCR2
SJMPLP
DONE:
MOVA,R2
MOVDPTR,#CODE_P0
MOVCA,@A+DPTR
MOVP0,A
JMPNOKEY
D10ms:
MOVR5,#10;10MS
D1ms:
MOVR4,#249
DL:
NOP
NOP
DJNZR4,DL
DJNZR5,D1ms
RET
CODE_P0:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
DB80H,90H,88H,83H,0C6H,0A1H,86H,8EH
END
第五章
2.某系统有三个外部中断源1、2、3,当某一中断源变低电平时便要求CPU处理,
它们的优先处理次序由高到低为3、2、1,处理程序的入口地址分别为2000H、2100H、2200H。
试编写主程序及中断服务程序(转至相应的入口即可。
)
答:
将3个中断信号经电阻线或,接INT1。
ORG0000H
LJMPMAIN
ORG00013H
LJMPZDFZ
ORG0040H
MAIN:
SETBEA
SETBEX1
SJMP$
0RG0200H
ZDFZ:
PUSHPSW
PUSHACC
JB,DV0
JB,DV1
JB,DV2
INRET:
POPACC
POPPSW
RETI
ORG2000H
DV0:
------------
JMPINRET
ORG2100H
DV1:
------------
JMPINRET
ORG2200H
DV2:
------------
JMPINRET
3.外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同怎样设定
答:
当IT0=0时,INT0为电平触发方式。
电平触发方式时,CPU在每个机器周期的S5P2采样INT0引脚电平,当采样到低电平时,置IE0=1向CPU请求中断;采样到高电平时,
将IE0清0。
在电平触发方式下,CPU响应中断时,不能自动清除IE0标志。
电平触发方式时,外部中断源的有效低电平必须保持到请求获得响应时为止不,然就
会漏掉;在中断服务结束之前,中断源的有效的低电平必须撤除,否则中断返回之后将再
次产生中断。
该方式适合于外部中断输入为低电平,且在中断服务程序中能清除外部中断请求源的情况。
当IT0=1时,INT0为边沿触发方式。
边沿触发方式时,CPU在每个机器周期的S5P2
采样INT0引脚电平,如果在连续的两个机器周期检测到INT0引脚由高电平变为低电平,即第一个周期采样到INT0=1,第二个周期采样到INT0=0,则置IE0=1,产生中断请求。
在边沿触发方式下,CPU响应中断时,能由硬件自动清除IE0标志。
边沿触发方式时,在相继两次采样中,先采样到外部中断输入为高电平,下一个周期采样到为低电平,则在IE0或IE1中将锁存一个逻辑1。
若CPU暂时不能响应,中断申请标志也不会丢失,直到CPU响应此中断时才清0。
另外,为了保证下降沿能够被可靠地采样到,INT0和INT1引脚上的负脉冲宽度至少要保持一个机器周期(若晶振频率为12MHz,为1微秒)。
边沿触发方式适合于以负脉冲形式输入的外部中断请求。
4.定时/计数器工作于定时和计数方式时有何异同点
答:
定时/计数器实质是加1计数器。
不同点:
设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期
等于12个振荡周期,即计数频率为晶振频率的1/12)。
计数值乘以机器周期就是定时时间。
设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。
在每个机器周期的S5P2期间采样T0、T1引脚电平。
当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。
相同点:
它们的工作原理相同,它们都有4种工作方式,由TMOD中的M1M0设定,
即
方式0:
13位计数器;
方式1:
16位计数器;
方式2:
具有自动重装初值功能的8位计数器;
方式3:
T0分为两个独立的8位计数器,T1停止工作。
8.利用定时/计数器T0从输出周期为1s,脉宽为20ms的正脉冲信号,晶振频率为12MHz。
试设计程序。
答:
采用定时20ms,然后再计数1、49次的方法实现。
a、T0工作在定时方式1时,控制字TMOD配置:
M1M0=01,GATE=0,C/T=0,可取方式控制字为01H;b、计算计数初值X:
晶振为12MHz,所以机器周期Tcy为1μs。
c、实现程序如下:
ORG0000H
AJMPMAIN;跳转到主程序
ORG0030H
MAIN:
MOVTMOD,#01H
MOVTH0,#4EH;
;设T1工作于方式2
装入循环计数初值
MOVTL0,#20H;首次计数值
LP0:
SETB
ACALLNT0
CLR
MOVR7,#49;计数49次
LP1:
ACALLNT0
DJNZR7,LP1
AJMPLP0
NT0:
MOVTH0,#4EH
MOVTL0,#20H
SETBTR0
JNBTF0,$
CLRTR0
CLRTF0
RET
END
9.要求从引脚输出1000Hz方波,晶振频率为12MHz。
试设计程序。
答:
采用T0实现
a、T0工作在定时方式1时,控制字TMOD配置:
M1M0=01,GATE=0,C/T=0,可取方式控制字为01H;b、计算计数初值X:
晶振为12MHz,所以机器周期Tcy为1μs。
1/1000=1×10-3
N=t/Tcy=×10-3/1×10-6=500
X=216-N=65536-500=65036=FE0CH即应将FEH送入TH0中,0CH送入TL0中。
c、实现程序如下:
ORG0000H
AJMPMAIN;跳转到主程序
ORG000BH;T0的中断入口地址
LJMPDVT0
ORG
0030H
MAIN:
MOV
TMOD,#01H
设;T0工作于方式2
MOV
TH0,#0FEH;
装入循环计数初值
MOV
TL0,#0CH
;
首次计数值
SETBET0
;T0
开中断
SETBEA
;CPU
开中断
SETBTR0
;
启动T0
SJMP$
;
等待中断
DVT0:
CPL
MOV
TH0,#0FEH
MOV
TL0,#0CH
SETBTR0
RETI
END
10.试用定时/计数器T1对外部事件计数。
要求每计数100,就将T1改成定时方式,控制输出一个脉宽为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时:
晶振为12MHz,所以机器周期Tcy为1μs。
-3-6
N=t/Tcy=10×10/1×10=10000
16
X=2-N=65536-10000=55536=D8F0H
即应将D8H送入TH1中,F0H送入TL1中。
计数100时:
N=100
X=28-N=256-100=156=9CH
c、实现程序如下:
ORG0000H
AJMPMAIN
;
跳转到主程序
ORG
001BH
;T1
的中断入口地址
LJMPDVT1
ORG
0030H
MAIN:
MOVTMOD,#60H
;T1工作于计数方式2
MOV
TH1,#9CH
;
装入计数初值
MOV
TL1,#9CH
;
CLR
SETBET1
;T1
开中断
SETBEA
;CPU
开中断
SETBTR1
;
启动T1
SJMP$
;
等待中断
DVT1:
SETB
CLR
ET1
CLR
TR1
MOV
TMOD,#10H
;T1
工作于定时方式1
MOV
TH1,#0D8H;
装初值
MOV
TL1,#0F0H
SETBTR1
JNB
TF1,$
;
查询等待10ms
CLR
TF1
CLR
TR1
CLR
MOV
TMOD,#60H
;T1
工作于计数方式2
MOV
TH1,#9CH
;
装初值
MOV
TL1,#9CH
;
SETBET1
SETBTR1
;T1
;
开中断
启动T1
RETI
END
11.利用定时/计数器T0产生定时时钟,由P1口控制8个指示灯。
编一个程序,使8个指示灯依次闪动,闪动频率为1次/秒(即,亮1秒后熄灭并点亮下一个,-----)。
答:
采用定时20ms,计数50次实现1秒定时。
编制1秒延时子程序,由主程序调
用。
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、实现程序如下:
ORG0000H
AJMPMAIN;跳转到主程序
ORG0030H
MAIN:
CLRCY
MOVA,#01H
LP0:
MOVP1,A
CALLD1SEC
RLA
AJMPLP0
D1SEC:
MOVR7,#50
;
计数50次
MOVTMOD,#01H
DL:
MOVTH0,#4EH
MOVTL0,#20H
SETBTR0
JNBTF0,$
CLRTR0
CLRTF0
DJNZR7,DL
RET
END
第六章
1.80C51单片机串行口有几种工作方式如何选择简述其特点答:
四种工作方式,由SCON中的SM0、SM1进行定义:
方式0:
同步移位寄存器的输入输出方式,主要用于扩展并行输入或输出口,波特率固定。
方式1:
10位数据的异步通信口,波特率可变。
方式2:
11位数据的异步通信口,波特率固定。
方式3:
11位数据的异步通信口,波特率可变。
5.利用单片机串行口扩展并行输入接口电路如图所示。
试编写程序完成SW1~SW8将的状态反应在P0口所接的LED上(如SW1闭合时L7应点亮)。
答:
电路图如下:
+5V
10K×8
L0
VCC
P0.0
P0.1
P0.2
P0.3
P0.4
H
S/L
P1.7
P0.5
G
5
P0.6
F
6
P0.7
E
1
S
D
L
L7
1K×8
4
C
7
B
Q
RXD
A
CLK
TXD
15
8
ON
89S51
1
2
3
4
5
6
7
8
SW1~SW8
20
ORG
0000H
MOV
SCON,#10H
LOOP:
CLR
NOP
NOP
NOP
SETB
CLR
RI
JNB
RI,$
MOV
A,SUBF
SJMPLOOP
END
6.利用单片机串行口扩展并行输出接口电路如图所示。
试编写程序完成SW1~SW8将的状态反应在移位寄存器74LS164所接的LED上(如SW1闭合时L0应点亮)。
答:
电路图如下:
+5V
P1.0
VCC
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
L71K×8
P1.7
10K×8
CLR
QA
CLK
QB
QC
RXD
4
QD
6
TXD
1
QE
S
ON
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 李全利 第二 课后 标准答案 doc