单片机原理及应用作业答案Word格式文档下载.docx
- 文档编号:13589377
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:31
- 大小:180.96KB
单片机原理及应用作业答案Word格式文档下载.docx
《单片机原理及应用作业答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用作业答案Word格式文档下载.docx(31页珍藏版)》请在冰豆网上搜索。
CPU如何确定和改变当前工作寄存器组(R0-Rn)?
开机复位后,CPU使用的是第0组工作寄存器。
它们的地址是00H-07H。
CPU通过对程序状态字PSW中RS1和RS0的设置来确定和改变当前工作寄存器组。
27.MCS-51单片机的时钟周期、机器周期、指令周期是如何定义的?
当主频为12MHz的时候,一个机器周期是多长时间?
执行一条最长的指令需要多长时间?
时钟周期又称为振荡周期,由单片机内部振荡电路OSC产生,定义为OSC时钟频率的倒数。
时钟周期又称为节拍(用P表示)。
时钟周期是时序中的最小单位。
一个状态有两个节拍,
机器周期定义为实现特定功能所需的时间。
MCS-51的机器周期由12个时钟周期构成。
执行一条指令所需要的时间称为指令周期,指令周期是时序中的最大单位。
由于机器执行不同指令所需的时间不同,因此不同指令所包含的机器周期数也不尽相同。
MCS-51的指令可能包括1~4个不等的机器周期。
当MCS-51的主频为12MHz时,一个机器周期为1s。
执行一条指令需要的最长时间为4s。
第2章MCS-51单片机指令系统与汇编语言程序设计
4.假定累加器A中的内容为30H,执行指令1000H:
MOVCA,@A+PC后,把程序存储器(1031H)单元的内容送入累加器A中。
7.指出下列各指令在程序存储器中所占的字节数
(1)MOVDPTR,#1234H3字节
(2)MOVXA,@DPTR1字节
(3)LJMPLOOP3字节
(4)MOVR0,A1字节
(5)AJMPLOOP2字节
(6)MOVA,30H2字节
(7)SJMPLOOP2字节
(8)MOVB,#30H2字节
15.设堆栈指针(SP)=60H,片内RAM中的(30H)=24H,(31H)=10H。
执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?
PUSH30H
PUSH31H
POPDPL
POPDPH
MOV30H,#00H
MOV31H,#0FFH
结果为:
61H、62H单元为堆栈单元,其内容已被弹出栈。
(30H)=00H
(31H)=0FFH(DPTR)=2410H (SP)=60H
17.完成以下的数据传送过程
(1)R1的内容传送到R0。
(2)片外RAM20H单元的内容送R0。
(3)片外RAM20H单元的内容送片内RAM20H单元。
(4)片外RAM1000H单元的内容送片内RAM20H单元。
(5)ROM2000H单元的内容送R0。
(6)ROM2000H单元的内容送片内RAM20H单元。
(7)ROM2000H单元的内容送片外RAM20H单元。
解:
(1)R1的内容传送到R0;
MOVA,R1
MOVR0,A
(2)片外RAM20H单元内容送R0;
MOVR1,#20H
MOVXA,@R1
MOVR0,A
(3)片外RAM20H单元的内容送片内RAM20H单元;
MOVR0,#20H
MOVXA,@R0
MOV20H,A
(4)片外RAM1000H单元的内容送片内RAM20H单元;
MOVDPTR,#1000H
MOVXA,@DPTR
(5)ROM2000H单元的内容送R0单元;
CLRA
MOVDPTR,#2000H
MOVCA,@A+DPTR
(6)ROM2000H单元的内容送片内RAM20H单元;
MOV20H,A
MOVX@R0,A
19.编程将片内RAM的40H~60H单元中内容送到片外RAM以3000H开始的单元中。
并将原片内RAM数据块区域全部清0。
ORG0000H
LJMPMAIN
ORG0030H
MAIN:
MOVSP,#60H
MOVR7,#21H
MOVR1,#40H
MOVDPTR,#3000H
LOOP:
MOVA,@R1
MOVX@DPTR,A
MOV@R1,#00H
INCR1
INCDPTR
DJNZR7,LOOP
SJMP$
END
23.设有100个有符号数,连续存放在片外RAM以2000H为首地址的存储区中,试编程统计其中正数、负数、零的个数。
ORG0000H
MOVR2,#100
MOVR3,#00H
MOVR4,#00H
MOVR5,#00H
MOVDPTR,#2000H
LOOP:
MOVXA,@DPTR
CJNEA,#00H,NET1
INCR3
SJMPNET3
NET1:
JBACC.7NET2
INCR4
NET2:
INCR5
NET3:
DJNZR2,LOOP
24.试编一查找程序,从外部RAM首地址为2000H、长度为9FH的数据块中找出第一个ASCII码A,将其地址送到20A0H和20A1H单元中。
MAIN:
MOVDPTR,#2000H
MOVR7,#9FH
LP0:
MOVXA,@DPTR
CJNEA,#41H,LP1
MOVR2,DPL
MOVR3,DPH
MOVDPTR,#20A0H
MOVA,R2
MOVX@DPTR,A
INCDPTR
MOVA,R3
SJMPLP2
LP1:
DJNZR7,LP0
LP2:
RET
27.编程实现将片外RAM中2400H~2450H单元中的数传送到2500H~2550H单元中。
ORG0000H
MOVR7,#51H
MOVDPTR,#2400H
LOOP:
MOVXA,@DPTR
MOVDPH,#25H
MOVDPH,#24H
DJNZR7,LOOP
另一种方法:
MOV30H,#24H
MOV31H,#00H
MOV32H,#25H
MOV33H,#00H
MOVR2,#51H
MOVDPH,30H
MOVDPL,31H
MOVDPH,32H
MOVDPL,33H
INC31H
INC33H
DJNZR2,LOOP
第三章作业答案
6.设(TMOD)=0A5H,则定时器T0的状态是(方式1计数),定时器T1的状态是(方式2定时)。
27.请写出为低电平触发的中断系统初始化程序。
为低电平触发的中断系统初始化程序如下:
ORG0000H
LJMPMAIN
ORG0013H
LJMPINTN1
ORG0100H
MOVSP,#60H
SETBEA
SETBEX1 ;
开中断
CLRPX1;
令为低优先级
CLRIT1;
令为电平触发
SJMP$
END
28.说明MCS-51单片机响应中断后,中断服务的入口地址。
中断服务程序的入口地址如下表:
中断源
中断矢量
外部中断0()
0003H
定时器T0中断
000BH
外部中断1()
0013H
定时器T1中断
001BH
串行口中断
0023H
36.使用一个定时器,如何通过软硬结合方法实现较长时间的定时?
设定好定时器的定时时间,采用中断方式用软件设置计数次数,进行溢出次数累计,从而得到较长的时间。
37.利用定时器输出周期为2ms的方波,设单片机晶振频率为6MHz。
试编程实现之。
选用定时器/计数器T0作定时器,工作在方式1,输出为P1.0引脚,2ms的方波可由1ms的高低电平相间隔而成,因而只要每隔1ms对P1.0取反一次即可得到这个方波。
初值的计算如下:
ST0=12/(6×
106)=2×
10-6S
TC=M-T/T0=216-1×
10-3/2×
10-6=65536-500=65036=FE0CH
当定时器/计数器采用方式0时,初值为:
TC=M-T/T0=213-1×
10-6=8192-500=7692=1E0CH,
则真正的16位计数初值为:
F00CH(高8位,低5位)
程序如下:
ORG0000H
LJMPSTART
ORG000BH
LJMPT0INT;
T0中断入口
ORG0030H
START:
MOVSP,#60H;
初始化程序
MOVTL0,#0CH;
T0赋初值
MOVTH0,#0FEH
MOVTMOD,#01H;
定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 作业 答案