单片机原理及应用作业答案.docx

上传人:b****1 文档编号:663460 上传时间:2022-10-11 格式:DOCX 页数:31 大小:180.96KB
下载 相关 举报
单片机原理及应用作业答案.docx_第1页
第1页 / 共31页
单片机原理及应用作业答案.docx_第2页
第2页 / 共31页
单片机原理及应用作业答案.docx_第3页
第3页 / 共31页
单片机原理及应用作业答案.docx_第4页
第4页 / 共31页
单片机原理及应用作业答案.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

单片机原理及应用作业答案.docx

《单片机原理及应用作业答案.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用作业答案.docx(31页珍藏版)》请在冰豆网上搜索。

单片机原理及应用作业答案.docx

单片机原理及应用作业答案

作业答案0-1

绪论

1.单片机是把组成微型计算机的各功能部件即(微处理器(CPU))、(存储器(ROM和RAM))、(总线)、(定时器/计数器)、(输入/输出接口(I/O口))及(中断系统)等部件集成在一块芯片上的微型计算机。

2.什么叫单片机?

其主要特点有哪些?

解:

将微处理器(CPU)、存储器(存放程序或数据的ROM和RAM)、总线、定时器/计数器、输入/输出接口(I/O口)、中断系统和其他多种功能器件集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。

单片机的特点:

可靠性高、便于扩展、控制功能强、具有丰富的控制指令、低电压、低功耗、片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。

第1章MCS-51单片机的结构与原理

15.MCS-51系列单片机的引脚中有多少根I/O线?

它们与单片机对外的地址总线和数据总线之间有什么关系?

其地址总线和数据总线各有多少位?

对外可寻址的地址空间有多大?

解:

MCS-51系列单片机有4个I/O端口,每个端口都是8位双向口,共占32根引脚。

每个端口都包括一个锁存器(即专用寄存器P0~P3)、一个输入驱动器和输入缓冲器。

通常把4个端口称为P0~P3。

在无片外扩展的存储器的系统中,这4个端口的每一位都可以作为双向通用I/O端口使用。

在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。

MCS-51系列单片机数据总线为8位,地址总线为18位,对外可寻址空间为64KB。

25.开机复位后,CPU使用的是哪组工作寄存器(R0-Rn)?

它们的地址是什么?

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

MOV20H,A

(5)ROM2000H单元的内容送R0单元;

CLRA

MOVDPTR,#2000H

MOVCA,@A+DPTR

MOVR0,A

(6)ROM2000H单元的内容送片内RAM20H单元;

CLRA

MOVDPTR,#2000H

MOVCA,@A+DPTR

MOV20H,A

(7)ROM2000H单元的内容送片外RAM20H单元。

CLRA

MOVDPTR,#2000H

MOVCA,@A+DPTR

MOVR0,#20H

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

LJMPMAIN

ORG0030H

MAIN:

MOVR2,#100

MOVR3,#00H

MOVR4,#00H

MOVR5,#00H

MOVDPTR,#2000H

LOOP:

MOVXA,@DPTR

CJNEA,#00H,NET1

INCR3

SJMPNET3

NET1:

JBACC.7NET2

INCR4

SJMPNET3

NET2:

INCR5

NET3:

INCDPTR

DJNZR2,LOOP

SJMP$

END

24.试编一查找程序,从外部RAM首地址为2000H、长度为9FH的数据块中找出第一个ASCII码A,将其地址送到20A0H和20A1H单元中。

解:

ORG0000H

LJMPMAIN

ORG0030H

MAIN:

MOVSP,#60H

MOVDPTR,#2000H

MOVR7,#9FH

LP0:

MOVXA,@DPTR

CJNEA,#41H,LP1

MOVR2,DPL

MOVR3,DPH

MOVDPTR,#20A0H

MOVA,R2

MOVX@DPTR,A

INCDPTR

MOVA,R3

MOVX@DPTR,A

SJMPLP2

LP1:

INCDPTR

DJNZR7,LP0

LP2:

RET

END

27.编程实现将片外RAM中2400H~2450H单元中的数传送到2500H~2550H单元中。

解:

ORG0000H

LJMPMAIN

ORG0030H

MAIN:

MOVR7,#51H

MOVDPTR,#2400H

LOOP:

MOVXA,@DPTR

MOVDPH,#25H

MOVX@DPTR,A

MOVDPH,#24H

INCDPTR

DJNZR7,LOOP

SJMP$

END

另一种方法:

ORG0000H

LJMPMAIN

ORG0030H

MAIN:

MOV30H,#24H

MOV31H,#00H

MOV32H,#25H

MOV33H,#00H

MOVR2,#51H

LOOP:

MOVDPH,30H

MOVDPL,31H

MOVXA,@DPTR

MOVDPH,32H

MOVDPL,33H

MOVX@DPTR,A

INC31H

INC33H

DJNZR2,LOOP

SJMP$

END

第三章作业答案

6.设(TMOD)=0A5H,则定时器T0的状态是(方式1计数),定时器T1的状态是(方式2定时)。

27.请写出为低电平触发的中断系统初始化程序。

解:

为低电平触发的中断系统初始化程序如下:

ORG0000H

LJMPMAIN

ORG0013H

LJMPINTN1

ORG0100H

MAIN:

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-3/2×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;定

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1