单片机原理及应用技术课后习题答案主编牛月兰Word格式.docx

上传人:b****2 文档编号:4745728 上传时间:2023-05-04 格式:DOCX 页数:11 大小:71.93KB
下载 相关 举报
单片机原理及应用技术课后习题答案主编牛月兰Word格式.docx_第1页
第1页 / 共11页
单片机原理及应用技术课后习题答案主编牛月兰Word格式.docx_第2页
第2页 / 共11页
单片机原理及应用技术课后习题答案主编牛月兰Word格式.docx_第3页
第3页 / 共11页
单片机原理及应用技术课后习题答案主编牛月兰Word格式.docx_第4页
第4页 / 共11页
单片机原理及应用技术课后习题答案主编牛月兰Word格式.docx_第5页
第5页 / 共11页
单片机原理及应用技术课后习题答案主编牛月兰Word格式.docx_第6页
第6页 / 共11页
单片机原理及应用技术课后习题答案主编牛月兰Word格式.docx_第7页
第7页 / 共11页
单片机原理及应用技术课后习题答案主编牛月兰Word格式.docx_第8页
第8页 / 共11页
单片机原理及应用技术课后习题答案主编牛月兰Word格式.docx_第9页
第9页 / 共11页
单片机原理及应用技术课后习题答案主编牛月兰Word格式.docx_第10页
第10页 / 共11页
单片机原理及应用技术课后习题答案主编牛月兰Word格式.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机原理及应用技术课后习题答案主编牛月兰Word格式.docx

《单片机原理及应用技术课后习题答案主编牛月兰Word格式.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用技术课后习题答案主编牛月兰Word格式.docx(11页珍藏版)》请在冰点文库上搜索。

单片机原理及应用技术课后习题答案主编牛月兰Word格式.docx

MOVDPTR,#4000H;

(DPTR)=4000H

RLA;

原来(A)=02H,左移一位后(A)=04H

MOVB,A;

(B)=04H,

MOVCA,@A+DPTR;

(4004H)=30H→A,(A)=30H

PUSHAcc;

(SP)=51H,(51H)=30H

MOVA,B;

(A)=04H

INCA;

(A)=05H

(4005H)=50H→A,(A)=50H

(52H)=(A)=50H,(SP)=52H

RET;

(PCH)=50H,(SP)=51H,(PCL)=30H,(SP)=50H

ORG4000H

DB10H,80H,30H,50H,30H,50H

3-12:

如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:

POPDPH

POPDPL

POPSP

DPH=(3CH),DPL=(5FH),SP=(4FH)

3-13.假定(SP)=60H,(A)=30H,(B)=70H,则执行下列指令后,(SP)=(),(61H)=(),(62H)=()。

PUSHAcc;

(61H)=30H,(SP)=61H

PUSHB;

(62H)=70H,(SP)=62H

(SP)=62H,(61H)=30H,(62H)=70H。

4-13.编写程序,实现双字节无符号数加法运算,要求(R0R1)+(R6R7)→60H和61H中。

参考程序如下:

ORG0000H

MOVA,R1

ADDA,R7

MOV61H,A

MOVA,R0

ADDCA,R6

MOV60H,A

SJMP$

END

4-16.若SP=60H,标号LABEL所在的地址为3456H,LCALL指令的地址为2000H,执行如下指令:

2000HLCALLLABEL

后,堆栈指针SP和堆栈内容发生了什么变化?

PC的值等于什么?

如果将指令LCALL直接换成ACALL是否可以?

如果换成ACALL指令,可调用的地址范围是什么?

(1)堆栈指针SP和堆栈内容变化为:

SP=SP+1=61H(61H)=PC的低字节=03H

SP=SP+1=62H(62H)=PC的高字节=20H

(2)PC的值:

PC=3456H。

(3)不可以将指令LCALL直接换成ACALL。

(4)可调用的地址范围是2KB,即2002H~27FFH。

5-3:

编写出外部中断1为跳沿触发的中断初始化程序。

答:

SETBIT1

SETBEX1

SETBEA

5-5:

某系统有3个外部中断源1、2、3,当某一中断源变为低电平时,便要求CPU进行处理,它们的优先处理次序由高到低依次为3、2、1,中断处理程序的入口地址分别为1000H,1100H,1200H。

试编写主程序及中断服务程序(转至相应的中断处理程序的入口即可)。

若仅在/INT0引脚接3个外部中断源,电路如图5-10(P115)

ORG0000H

LJMPMAIN

ORG0003H

LJMPINT_EX0

ORG0030H

MAIN:

CLRIT0;

采用低电平有效触发中断

SETBEX0;

允许外部中断0

SETBEA

;

插入用户程序

WAIT:

MOVPCON,#01H;

单片机进入休眠方式等待中断

NOP

LJMPWAIT

以下为外部中断0服务子程序

INT_EX0:

JNBP1.0,NEXT1;

判断是不是1号中断

LJMPINT_IR1;

跳转到1号中断处理程序

NEXT1:

JNBP1.1,NEXT2;

判断是不是2号中断

LJMPINT_IR2;

跳转到2号中断处理程序

NEXT2:

LJMPINT_IR3;

跳转到3号中断处理程序

ORG1000H

INT_IR1:

;

插入相应中断处理程序

RETI;

中断返回

ORG1100H

INT_IR2:

ORG1200H

INT_IR3:

6-2AT89S51单片机的定时器/计数器有工作方式,各有什么特点?

答:

AT89S51单片机的定时器/计数器有工作方式0、工作方式1、工作方式2和工作方式3四种;

在工作方式0时,为13位计数器,在工作方式1时,为16位计数器,在工作方式2时,为具有自动恢复初值的8位计数器,在工作方式3时,增加了一个8位定时器/计数器,使单片机具有3个位定时器/计数器。

6-7特殊寄存器TMOD的C/

位的作用是什么?

特殊寄存器TMOD的C/

位的作用用于选择计数器模式还是定时器模式。

6-10AT89S51单片机晶振频率是6MHz,要求用定时器T0定时,每定时1s时间到,就使P1.7引脚外接的发光二极管的状态发生变化,由亮变暗,或反之。

试计算初值,并编写程序。

解:

采用查询方式进行编程,程序如下:

(1)计算计数初值X

因为(216 

− 

X) 

*2 

×

10−6 

10−1,所以X 

15536 

3CB0H。

因此TH0 

3CH,TL0 

B0H。

(2)10次计数的实现

对于中断10次的计数,采用B寄存器作为中断次数计数器。

(3)程序设计

ORG0000H;

程序运行入口

LJMPMAIN;

跳向主程序入口MAIN

ORG000BH;

T0的中断入口

LJMPIT0P;

转T0中断处理子程序IT0P

ORG1000H;

主程序入口

MAIN:

MOVSP,#60H;

设堆栈指针

MOVB,#0AH;

设循环次数10次

MOVTMOD,#01H;

设置T0工作在方式1定时

MOVTL0,#0B0H;

给T0设初值

MOVTH0,#3CH

SETBET0;

允许T0中断

SETBEA;

总中断允许

SETBTR0;

启动T0

HERE:

SJMPHERE;

原地循环,等待中断

IT0P:

MOVTL0,#0B0H;

T0中断子程序,T0重装初值

MOVTH0,#3CH

DJNZB,RTURN;

B中断次数计数,减1非0则中断返回

CPLP1.7;

1s定时时间到,P1.7取反

RTURN:

RETI

6-12由P3.4引脚(T0)输入一个低频脉冲信号,要求P3.4每发生一次负跳变时,P1.0输出一个500μs的同步负脉冲,同时P1.1输出一个1ms的同步正脉冲。

已知晶振频率为6MHz。

ORG0000H

BEGIN:

MOVTMOD,#06H

MOVTH0,#0FFH

MOVTL0,#0FFH

CLRP1.1

SETBP1.0

SETBTR0

DELL:

JBCTF0,RESP1

AJMPDELL

RESP1:

CLRTR0

CPLP1.0

CPLP1.1

MOVTMOD,#02H

MOVTH0,#06H

MOVTL0,#06H

LOOP3:

JBCTF0,LOOP4

SJMPLOOP3

LOOP4:

CPLP1.0

LOOP1:

JBCTF0,LOOP2

SJMPLOOP1

LOOP2:

CPLP1.1

AJMPBEGIN

END

7-8.假定串行口串行发送的字符格式为1个起始位、8个数据位、1个奇校验位、1个停止位,请画出传送字符“B”的帧格式。

答案1:

传输字符“B”的帧格式如下:

起始位

1

停止位

答案2:

字符“B”的ASCII码为“42H”(既0BH+37H),帧格式如下:

数字(0~9)H的ASCII码为(0~9)+30H,数字(AH~FH)的ASCII码为(A~F)+37H。

请画出传送字符“C”的帧格式?

7-9.若晶体振荡器为11.0592MHz,串行口工作于方式1,波特率为4800bit/s,写出用T1作为波特率发生器的方式控制字和计数初值。

T1的TMOD为20H,查表得计数初值为FAH(在PCON中SMOD=0)

MOVTMOD,#20H

MOVTH1,#0FAH

MOVTL1,#0FAH

MOVSCON,#40H

7-11.某AT89S51单片机串行口,传送数据的帧格式为1个起始位(0),7个数据位,1个偶校验位和1个停止位

(1)组成。

当该串行口每分钟传送1800个字符时,试计算出波特率。

串口每秒钟传送的字符为:

1800/60=30个字符/秒

所以波特率为:

30个字符/秒×

10位/个字符=300bit/s。

或波特率=1800×

(1+7+1+1)/60=300bit/s

8-5.假设有n条地址线,容量是N,对应关系是

由于

,因此,4KB的容量需要12条地址线。

8.从左向右4片程序存储器27128的地址空间为

1#27128的地址空间为0000H~3FFFH

2#27128的地址空间为4000H~7FFFH

3#27128的地址空间为8000H~BFFFH

4#27128的地址空间为C000H~FFFFH

9-4.82C55芯片的控制字为:

10011110B=9EH

MOVDPTR,#XXXXH

MOVA,#9EH

MOVX@DPTR,A

9-5.根据82C55的PC口按位置位/复位控制字:

82C55控制寄存器的地址为8003H,PC5置1的控制字为00001011B=0DH,PC5置1的程序为

MOVDPTR,#8003H

MOVA,#0DH

82C55控制寄存器的地址为8003H,PC0清0的控制字为00000000B=00H,PC0清0的参考程序为:

MOVA,#00H

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2