微机原理与接口技术离线作业.docx

上传人:b****5 文档编号:11544570 上传时间:2023-03-19 格式:DOCX 页数:16 大小:31.20KB
下载 相关 举报
微机原理与接口技术离线作业.docx_第1页
第1页 / 共16页
微机原理与接口技术离线作业.docx_第2页
第2页 / 共16页
微机原理与接口技术离线作业.docx_第3页
第3页 / 共16页
微机原理与接口技术离线作业.docx_第4页
第4页 / 共16页
微机原理与接口技术离线作业.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

微机原理与接口技术离线作业.docx

《微机原理与接口技术离线作业.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术离线作业.docx(16页珍藏版)》请在冰豆网上搜索。

微机原理与接口技术离线作业.docx

微机原理与接口技术离线作业

浙江大学远程教育学院

《微机原理与接口技术》课程作业

姓名:

严超

学号:

716081202003

年级:

16秋电气

学习中心:

武义

—————————————————————————————

第二章P47

2.80C51单片微机芯片引脚第二功能有哪些?

答:

80C51单片机的P0、P2、P3的引脚都具有第二功能。

第一功能第二变异功能P0口地址总线A0—A7/数据总线D0—D7P2口地址总线A8—A15P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1),P3.4T0(定时器/计数器0的外部输入)P3.5T1(定时器/计数器0的外部输出),P3.6WR(片外数据存储器或I/O的写选通)P3.7RD(片外数据存储器或I/O的读选通)

4.80C51存储器在结构上有何特点?

在物理上和逻辑上各有哪几种地址空间?

访问片内数据存储器和片外数据存储器的指令格式有何区别?

答:

80C51单片机采用哈佛(Har-yard)结构,将程序存储器和数据存储器截然分开,分别进行寻址。

不仅在片内驻留一定容量的程序存储器和数据存储器,以及众多的特殊功能寄存器,而且还具有很强的外部存储器扩展能力,扩展的程序存储器和数据存储器的寻址范围分别可达64KB。

1、在物理上设有4个存储器空间:

①片内程序存储器;②片外程序存储器;③片内数据存储器;④片外数据存储器。

2、在逻辑上设有3个存储器地址空间:

①片内、片外统一的64KB程序存储器地址空间;②片内256B(80C52为384B)数据存储器地址空间;③片外64KB的数据存储器地址空间。

6.80C51片内数据存储器低128个存储单元划分为哪4个主要部分?

各部分主要功能是什么?

答:

80C51单片机片内RAM低128个存储单元划分为四个主要部分:

①寄存器区:

共4组寄存器,每组8个存储单元,各组以R0—R7作为单元编号。

常用于保存操作数及中间结果等。

R0—R7也称为通用寄存器,占用00H—1FH共32个地址单元。

②位寻址区:

20H—2FH既可作为一般数据存储单元使用,按字节进行操作,也可对单元内每一位进行位操作,因此称为位寻址区。

寻址区共16个数据存储器单元,共计128位,位地址为00H—7FH。

③堆栈区:

设置在内部数据存储器区内。

④用户数据存储器区:

在内部数据存储器00H—7FH低128单元中,除去前面3个区中可能会使用的单元外,剩下的单元都作为用户数据存储器区。

第三章P87

9.MOV、MOVC、MOVX指令有什么区别,分别用于那些场合,为什么?

答:

①MOV指令用于对内部数据存储器的访问。

②MOVC指令用于对程序存储器的访问,从程序存储器中读取数据(如表格、常数等)。

③MOVX指令采用间接寻址的方式访问外部数据存储器或I/O,有Ri和DPTR两种间接寻址方式。

MOVX指令执行时,在P3.7引脚上输出RD有效信号或在P3.6引脚上输出WR有效信号,可以作为单片机扩展外部存储器或I/O的读或写选通信号。

15.已知(R1)=20H,(20H)=AAH,请写出执行完下列程序段后A的内容。

MOVA,#55H

ANLA,#0FFH

ORL20H,A

XRLA,@R1

CPLA

答:

各指令执行结果如下:

MOVA,#55H;(A)=55HANLA,#0FFH;(A)=55HORL20H,A;(20H)=FFHXRLA,@R1;(A)=AAHCPLA;(A)=55H

16.阅读下列程序,说明其功能。

MOVR0,#30H

MOVA,@R0

RLA

MOVR1,A

RLA

RLA

ADDA,R1

MOV@R0,A

答:

源程序如下:

MOVMOVRLAMOVRLARLAADDMOV,R1,AA,R1,@R0,A,R0,#30H;(R0)=30H

A,@R0;30H单元内容送A;将A中的内容循环左移1位R1,A;将A中的内容送到R1;将A中的内容循环左移1位;将A中的内容循环左移1位A,R1;将R1中内容与A中的内容相加,得到和送到A中@R0,A;将求和的结果送到30H单元中

17.已知两个十进制数分别从内部数据存储器中的40H单元和50H单元开始存放(低位在前),其字节长度存放在内部数据存储器的30H单元中。

编程实现两个十进制数求和,并把和的结果存放在内部数据存储器40H开始的单元中。

答:

程序如下:

ORG0000HSJMPMAINORG0030HMAIN:

MOVR0,#40HMOVR1,#50HMOVR2,#30HCLRCPP:

MOVA,@R1ADDCA,@R0DAA

MOV@R0,AINCR0INCR1DJNZR2,PPAJMP$END

21.读程序,请⑴画出P1.0~P1.3引脚上的波形图,并标出电压V-时间T坐标;

⑵加以注释。

ORG0000H

START:

MOVSP,#20H

MOV30H,#01H

MOVP1,#01

MLP0:

ACALLD50ms;软件延时50mS

MOVA,30H

CJNEA,#08H,MLP1

MOVA,#01H

MOVDPTR,#ITAB

MLP2∶MOV30H,A

MOVCA,@A+DPTR

MOVP1,A

SJMPMLP0

MLP1:

INCA

SJMPMLP2

ITAB:

DB0,1,2,4,8

DB8,4,2,1

D50ms:

…;延时50ms子程序(略)

RET

(1)、波形图:

(2)、加以注释:

ORG0000HSTART:

MOVSP,#20H;设堆栈指示器初值MOV30H,#01H;P1输出第一拍MOVP1,#01H;P1引脚输出波形MLP0:

ACALLD50msMOVA,30HCJNEA,#08H,MLP1;判断表格中数据是否取完MOVA,#01H;取完,从表头开始取

MOVDPTR,#ITAB;表格首地址

MLP2∶MOV30H,AMOVCA,@A+DPTR;取表格中数据MOVP1,ASJMPMLP0MLP1:

INCA;表格中数据未取完,准备取下一个SJMPMLP2ITAB:

DB0,1,2,4,8;P1引脚输出波形表DB8,4,2,1D50ms:

…;软件延时50ms

RET

第四章P123

6.根据运算结果给出的数据到指定的数据表中查找对应的数据字。

运算结果给出的数据在片内数据存储器的40H单元中,给出的数据大小在00~0FH之间,数据表存放在20H开始的片内程序存储器中。

查表所得数据字(为双字节、高位字节在后)高位字节存于42H、低位字节存于41H单元。

其对应关系为:

给出数据;000102……0DH0EH0FH

对应数据:

00A0H7DC2HFF09H3456H89ABH5678H

请编制查表程序段,加上必要的伪指令,并加以注释。

答:

程序如下:

ORG0000HAJMPMAINORG0030HMAIN:

MOVA,40H

MOVDPTR,#TABRLA

MOV40H,A

MOVCA,@A+DPTRMOV41H,AMOVA,40HINCA

MOVDPTR,#TABMOVCA,@A+DPTRMOV42H,ASJMP$

ORG0070H

TAB:

DB0A0H,00H,0C2H,7DH,09H,0FFH,...,56H,34HDB0ABH,89H,78H,56H

10.把长度为10H的字符串从内部数据存储器的输入缓冲区INBUF向设在外部数据存储器的输出缓冲区OUTBUF进行传送,一直进行到遇见回车字符“CR”结束传送或整个字符串传送完毕。

加上必要的伪指令,并对源程序加以注释。

答:

程序如下:

ORG000HAJMPMAINORG0030H

MAIN:

MOVR7,#10H;数据长度

MOVR0,#INBUF;源数据首地址MOVDPTR,#OUTBUF;目的数据首地址LOOP:

MOVA,@R0;把源数据的值赋给ACJNEA,#0DH,LOOP1;判是否是字符“CR”SJMPEND1;是字符“CR”,则结束传送

LOOP1:

MOVX@DPTR,A;把A中的源数据赋给目的数据区

INCR0;源数据地址加1INCDPTR;目的数据地址加1

DJNZR7,LOOP;判断数据是否传送完毕

END1:

SJMPEND1END

 

12.比较两个ASCII码字符串是否相等。

字符串的长度在内部数据存储器的20H单元,第一个字符串的首地址在内部数据存储器的30H中,第二个字符串的首地址在内部数据存储器的50H中。

如果两个字符串相等,则置用户标志F0为0;否则置用户标志F0为1。

加上必要的伪指令,并加以注释。

(注:

每个ASCII码字符为一个字节,如ASCII码“A”表示为41H)

答:

字符串中每一个字符都可以用一个ASCII码表示。

只要有一个字符不相同,就可以判定字符串不相同。

ORG0000HAJMPMAINORG0030H

MAIN:

MOVR0,#30H;第一个字符串的首地址

MOVR1,#40H;第二个字符串的首地址

LOOP:

MOVA,@R0;第一个字符串的字符值赋给AMOVB,@R1;第二个字符串的子符值赋给B

CJNEA,B,NEXT;比较两个字符值,若有不相同则转INCR0INCR1

DJNZ20H,LOOP;判字符串是否比较完

CLRF0;字符串相等,则F0位清零SJMP$

NEXT:

SETBF0;字符串不等,则F0位置1SJMP$END

 

14.80C51单片机从内部数据存储器的31H单元开始存放一组8位带符号数,字节个数在30H中。

请编写程序统计出其中正数、零和负数的数目,并把统计结果分别存入20H、21H和22H三个单元中。

加上必要的伪指令,并对源程序加以注释。

答:

程序如下:

ORG000HAJMPMAINORG0030H

MAIN:

MOV20H,#0;统计结果存放单元初始值为0MOV21H,#0MOV22H,#0

MOVR0,#31H;数据首地址

LOOP:

MOVA,@R0;取数据

JBACC.7,INC_NEG;符号位为1,表示该数为负,跳转加1CJNEA,#0,INC_POS

INC21H;该数为0,0个数加1

AJMPLOOP1

INC_NEG:

INC22H;该数为负数,负数个数加1AJMPLOOP1

INC_POS:

INC20H;该数为正数,正数个数加1LOOP1:

INCR0;指向下一个数据地址DJNZ30H,LOOP;判断统计是否结束END

 

16.将外部数据存储器的2040H单元中的一个字节拆成2个ASCII码,分别存入内部数据存储器40H和41H单元中,试编写以子程序形式给出的转换程序,说明调用该子程序的入口条件和出口功能。

加上必要的伪指令,并加以注释。

答:

子程序的入口条件、出口功能及源代码如下:

子程序入口条件:

准备拆为2个ASCII码,分别存入外部数据存储器的40H单元中。

子程序出口功能:

拆成2个ASCII码,分别存入内部数据存储器40H和41H单元中。

ORG1000H

B_TO_A:

MOVDPTR,#40H;外部数据存储器40H单元MOVR0,#40H;内部数据存储器40H单元MOVXA,@DPTR;取数PUSHA

ANLA,#0FH;低4位转换为ASCII码LCALLCHANGE;调用转换子程序

MOV@R0,A;存入转换后的ASCII码INCR0POPASWAPA

ANLA,#0FH;高4位转换为ASCII码LCALLCHANGE;调用转换子程序

MOV@R0,A;存入转换后的ASCII码RET

CHANGE:

CJNEA,#0AH,NEXT;转换子程序AJMPNEXT2;=0AH,转移NEXT:

JNCNEXT2;>0AH,转移

ADDA,#30H;<=9,数字0-9转化为ASCII码RET

NEXT2:

ADDA,#37H;字母A-F转化为ASCII码RETEND

17.根据8100H单元中的值X,决定P1口引脚输出为:

2XX>0

P1=80HX=0(-128D≤X≤63D)

X变反X<0

答:

程序如下:

ORG0000HSJMPBEGINORG0030H

BEGIN:

MOVDPTR,#8100H;取X值MOVXA,@DPTRMOVR2,A

JBACC.7,SMALLER;X<0SJMPUNSIGNED;X≥0

SMALLER:

DECA;X<0,P1输出-X(先减1,再取反)CPLA

MOVP1,ASJMPOK

UNSIGNED:

CJNEA,#00H,BIGGER;不等于0即大于0MOVP1,#80H;X=0,P1输出80HSJMPOK

BIGGER:

CLRC;X>0,P1输出2XRLCA

MOVP1,AOK:

SJMP$END

编写求一组无符号数中最小值的子程序,入口条件为:

内部数据存储器的20H和21H中存数据块的起始地址,22H中存数据块的长度,求得的最小值存入30H中。

答:

程序如下:

;求无符号数最小值的子程序CMP1

ORG2000H

CMP1:

MOVDPL,20H;数据块起始地址DPTRMOVDPH,21H

MOV30H,#0FFH;最小值单元初始值设为最大值LOOP:

MOVXA,@DPTR;取数据

CJNEA,30H,CHK;比较两个数大小

SJMPLOOP1;两个数相等,不交换CHK:

JNCLOOP1;A较大,不交换MOV30H,A;A较小,交换LOOP1:

INCDPTR;数据地址加1

DJNZ22H,LOOP,判数据是否比较结束

RET

 

第五章p141

1.什么是中断?

在单片微机中中断能实现哪些功能?

答:

单片微机在程序执行过程中,允许外部或内部“事件”通过硬件打断程序的执行,使其转向执行处理外部或内部“事件”的中断服务子程序;而在完成中断服务子程序后,继续执行原来被打断的程序,这种情况称为“中断”,这样的过程称为“中断响应过程”。

7.80C51共有哪些中断源?

对其中断请求如何进行控制?

答:

1.中断源80C51单片微机中有5个中断源,包括两个外部中断源和三个内部中断源。

两个外部中断源INT0和INT1,三个内部中断源为定时器/计数器T0、T1的定时/计数溢出中断源和串行口发送或接送中断源。

2.中断的允许和禁止由中断允许寄存器IE控制,IE寄存器中相应位设置为0时,所对应的中断源被禁止中断;相应位设置为1时,所对应的中断源允许中断。

12.80C51的中断与子程序调用有哪些异同点,请各举两点加以说明。

答:

中断与子程序调用的相似点:

①两者都是中断当前正在执行的程序,转去执行子程序或中断服务子程序。

②两者都是有硬件自动地把断点地址压入堆栈,然后通过软件完成现场保护。

③执行完子程序或中断服务子程序后,都要通过软件完成现场恢复,并通过执行返回指令,重新返回到断点处,继续执行程序。

④两者都可以实现嵌套,如中断嵌套和子程序嵌套。

中断和子程序调用的不同点:

①中断请求信号可以由外部设备发出,是随机的,比如故障产生的中断请求。

②中断响应后由固定的矢量地址转入中断服务程序,而子程序地址由软件设定。

③中断响应是受控的,其响应时间会受一些因素影响;而子程序响应时间是固定的。

 

第六章P161

1.80C51单片微机内部设有几个定时器/计数器?

简述各种工作方式的功能特点?

1.80C51单片微机内部设有几个定时器/计数器?

简述各种工作方式的功能特点?

答:

80C51单片机内部设有2个16位定时器/计数器TO和T1。

定时器/计数器有4种工作方式,其特点如下:

①方式O是13位定时器/计数器。

由THx高8位(作计数器)和TLx的低5位(32分频的定标器)构成,TLx的低5位溢出时,向THx进位;THx溢出时,硬件置位TFx(可用于软件查询),并可以申请定时器中断。

②方式1是16位定时器/计数器。

TLx的低8位溢出时向THx进位,THx溢出时,硬

件置位TFx(可用于软件查询),并可以申请定时器中断。

③方式2是定时常数自动重装载的8位定时器/计数器。

TLx作为8位计数寄存器,

THx作为8位计数常数寄存器。

当TLx计数溢出时,一方面将TFx置位,并申请中断;另一方面将THx的内容自动重新装入TLx中,继续计数。

由于重新装入不影响THx的内容,所以可以多次连续再装入。

方式2对定时控制特别有用。

.④方式3只适用于TO,T0被拆成两个独立的8位计数器TLO和TH0。

TLO做8位计

数器,它占用了T0的GATE、INTO、启动/停止控制位TRO、TO引脚(P3.4)以及计数溢出标志位TF0和TO的中断矢量(地址为000BH)等TH0只能做8位定时器用,因为此时的外部引脚T0已为定时器/计数器TLO所占用。

这时它占用了定时器/计数器T1的启动/停止控制位TRl、计数溢出标志位TFl.及T1中断矢量(地址为001BH)。

T0设为方式3后,定时器/计数器T1只可选方式O、1或2。

由于此时计数溢出标志位TFI.及T1中断矢量(地址为001BH)已被TH0所占用,所以T1仅能作为波特率发生器或其他不用中断的地方。

5.在80C51单片微机系统中,已知时钟频率为6MHz,选用定时器T0方式3,请编程使P1.0和P1.l引脚上分别输出周期为2ms和400μs的方波。

加上必要的伪指令,并对源程序加以注释。

答:

机器周期为2μs,定时分别为2ms和400μs。

计算:

400μs定时,400μs=(28-TC)×2μs,TC=38H。

程序如下:

ORG0000H

00000130AJMPMAIN

ORG000BH;定时器TO中断矢量。

000B2100AJMPTIMEMAIN:

00307805MOVR0,#05H

0032758903MOV.TMOD,#03H;T0方式3,定时器中断0035758A38MOVTL0,#38H;TLO定时400μs0038D28CSETBTR0;开启定时器TL0003AC28ECLR,TRl

003CD2A9SETBET0;开定时器TLO中断

003ED2AFSETBEA

004080FESJMP$;中断等待ORG0100H.TIME:

0100758A38MOVTL0,#38H;TL0定时400~s

0103B291CPL.P1.1;400μs定时到,P1.1输出变反0105D804DJNZR0,RETURN01077805MOVR0,#05H

0109B290CP[.P1.0;400μs*5=2ms到,P1.O输出变反RETURN:

010B32RETIEND

14.监视定时器T3功能是什么?

它与定时器/计数器T0、T1有哪些区别?

答:

T3俗称“看门狗\,它的作用是强迫单片机进入复位状态,使之从硬件或软件故障中解脱出来。

在实际应用中,由于现场的各种干扰或者程序设计错误,可能使单片机的程序进入了“死循环\或\程序区\如表格数据区)之后,在一段设定的时间内,假如用户程序没有重装监视定时器T3,则监视电路将产生一个系统复位信号,强迫单片机退出“死循环\或“非程序区”,重新进行“冷启动”或“热启动”。

在程序正常运行时,需要不断地对T3进行“喂狗”,当由于干扰而没能及时“喂狗\,则强迫单片机进入复位状态,从而退出非正常运行状态。

“喂狗”的时间间隔就是允许的失控时间。

T3的定时溢出表示出现非正常状态,而TO和T1的定时溢出是正常状态。

 

第七章P186

⒌简述串行通信接口芯片UART的主要功能?

答:

①它是用于控制计算机与串行设备的芯片。

②将由计算机内部传送过传来的并行数据行转换为输出的串行数据流。

③将计算机外部来的串行数据串转换为字节,供计算机内部并行数据的器件使用。

④在输出的串行数据串流中加入奇偶校验位,并对从外部接收的数据流进行奇偶校验奇偶。

⑤在输出数据流中加入启停标记,并从接收数据流中删除启停标记启停。

⑥处理由键盘或鼠标发鼠出的中断信号(键盘和鼠标也是串行设备也是串行)。

⑦可以处理计算机与外部串行设备的同步管理问题。

⒎80C51单片微机串行口共有哪几种工作方式?

各有什么特点和功能?

答:

80C51单片机串行口有4种工作方式。

各方式的特点:

方式0:

串行口为同步移位寄存器的输入输出方式。

主要用于扩展并行输入或输出口。

波特率固定为晶振频率的1/12。

方式1:

为10位数据异步通信口。

波特率可变。

方式2或方式3:

为11位数据的异步通信口。

方式2波特率固定,相对于固定的晶振频率只有两种波特率。

方式3波特率可变。

使用时,根据需要和各方式的特点配合选择。

12.80C51单片微机串行口共有四种工作方式,它们的波特率分别为移位寄存器方式:

波特率为晶振的1/12,8位UART:

波特率可变,9位UART:

波特率为晶振的1/32或1/64,9位UART:

波特率可变。

第八章P259

1.简述单片微机系统扩展的基本原则和实现方法。

答:

系统扩展是单片机应用系统硬件设计中最常遇到的问题。

系统扩展是指单片机内部各功能部件不能满足应用系统要求时,在片外连接相应的外围芯片以满足应用系统要求。

80C51系列单片机有很强的外部扩展能力,外围扩展电路芯片大多是一些常规芯片,扩展电路及扩展方法较为典型、规范。

用户很容易通过标准扩展电路来构成较大规模的应用系统。

对于单片机系统扩展的基本方法有并行扩展法和串行扩展法两种。

并行扩展法是指利用单片机的三组总线((地址总线AB、数据总线DB和控制总线CB进行的系统扩展;串行扩展法是指利用SPI三线总线和I2C双线总线的串行系统扩展。

①外部并行扩展单片机是通过芯片的引脚进行系统扩展的。

为了满足系统扩展要求,80C51系列系列单片机芯片引脚可以构成三总线结构,即地址总线AB、数据总线DB和控制总线CB。

单片机所有的外部芯片都通过这三组总线进行扩展。

②外部串行扩展

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

当前位置:首页 > PPT模板 > 动态背景

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

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