微机原理与接口技术离线作业答案(必做)

上传人:cl****1 文档编号:561222159 上传时间:2022-11-14 格式:DOCX 页数:19 大小:181.13KB
返回 下载 相关 举报
微机原理与接口技术离线作业答案(必做)_第1页
第1页 / 共19页
微机原理与接口技术离线作业答案(必做)_第2页
第2页 / 共19页
微机原理与接口技术离线作业答案(必做)_第3页
第3页 / 共19页
微机原理与接口技术离线作业答案(必做)_第4页
第4页 / 共19页
微机原理与接口技术离线作业答案(必做)_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《微机原理与接口技术离线作业答案(必做)》由会员分享,可在线阅读,更多相关《微机原理与接口技术离线作业答案(必做)(19页珍藏版)》请在金锄头文库上搜索。

1、浙江大学远程教育学院微机原理与接口技术课程作业姓名:学 号:年级:学习中心:温州第二章P472. 80C51单片微机芯片引脚第二功能有哪些答:80C51单片机的P0、P2和P3引脚都具有第二功能。第一功能第二变异功能P0 口地址总线 A0A0数据总线 D0D7P2 口地址总线A8A15RXD律行输入口)TXD伟行输出口)INT0 (外部中断0)INT1 (外部中断1)T0 (定时器/计数器0的外部输入)T1 (定时器/计数器0的外部输出)WR (外部读写存储器或I/O的写选通)RD (外部读写存储器或I/O的读选通)4. 80C51存储器在结构上有何特点在物理上和逻辑上各有哪几种地址空间访问

2、片内数据存储器和片外数据存储器的指令格式有何区别答:80C51单片机采用哈佛(Haryard)结构,即是将程序存储器和数据存储器截然分开,分 别进行寻址。不仅在片内驻留一定容量的程序存储器和数据存储器及众多的特殊功能寄存 器,而且还具有强的外部存储器扩展能力,扩展的程序存储器和数据存储器寻址范围分别可达 64KB。L在物理上设有4个存储器空间片内程序存储器;片外程序存储器; 片内数据存储器; 片外数据存储器。2.在逻辑上设有3个存储器地址空间片内、片外统一的 64 KB程序存储器地址空间。片内256B (80C52为384 B)数据存储器地址空间。片内数据存储器空间,在物理上又包含两部分:对于

3、80C51型单片机,从0127字节为片内数据存储器空间;从128255字节为特殊功能寄存器(SFR充间(实际仅占用了 20多个字节)。片外64 KB的数据存储器地址空间。在访问三个不同的逻辑空间时,应采用不同形式的指令,以产生不同存储空间的选通信号。访问片内RAM采用MOV指令,访问片外 RAM则一定要采用 MOVX指令,因为 MOVX 指令会产生控制信号RD或WR ,用来访问片外RAM。访问程序存储器地址空间,则应采用 MOVC指令。6. 80C51片内数据存储器低128个存储单元划分为哪4个主要部分各部分主要 功能是什么答:寄存器区:共4组寄存器,每组8个存储单元,各组以R0R7作为单元编

4、号。常用于保存操作数及中间结果等等。R0R7也称为通用寄存器,占用 00H1FH共32个单元地址。位寻址区:20H2FH,既可作为一般 RAM单元使用,按字节进行操作,也可以对单元中的每一位进行位操作,称为位寻址区。寻址区共有16个RAM单元,共计128位,位地址为 00H7FH。堆栈区:设置在用户 RAM区内。用户RAM区:在内部RAM低128单元中,除去前面 3个区,剩下的所有单元。第三章P879. MOV、MOVC、MOVX指令有什么区别,分别用于那些场合,为什么答:MOV指令用于对内部 RAM的访问。MOVC指令用于对程序存储器的访问,从程序存储器中读取数据(如表格、常数等)。MOVX

5、指令采用间接寻址方式访问外部数据存储器,有Ri和DPTR两种间接寻址方式。MOVX指令执行时,在引脚上输出 rd有效信号或在引脚上输出 WR有效信号,可以用作外部数据 存储器或I/O的读或写选通信号,与单片机扩展电路有关。15.已知(R1)=20H,(20H)=AAH请写出执行5列程序段后MOVA, #55HANLA, #0FFHORL20H, AXRLA, R1CPLA答:各指令执行结果如下A的内容MOV A, #55HANL A, #0FFHXRL A R1;(A)=55H;(A)=55H;(A)=AAHCPL A;(A) =55H执行完程序段后, A 的内容为 55H。16 阅读下列程序

6、,说明其功能。MOVR0, #30HMOV A, R0RL AMOV R1, ARL ARL AADDA, R1MOVR0, A答:对程序注释如下:; (R0)=30H;取数;(A);(A)X4;(A)X8;(A)X10;存数MOVR0, #30HMOVA, R0RL AMOV R1, ARL ARL AADD A, R1MOVR0, A功能:将 30H 中的数乘以 10 以后再存回 30H 中。条件:30H中的数不能大于 25, 25 X 10=250仍为一个字节。若 30H中的数大于25,则应考 虑进位。17.已知两个十进制数分别从内部数据存储器中的40H单元和50H单元开始存放(低位在前

7、) ,其字节长度存放在内部数据存储器的 30H 单元中。编程实现两个十进制数求和,并把和的结果存放在内部数据存储器40H 开始的单元中。【答】程序如下:ORG 0000HSJMP MAINORG 0030HMAIN:;被加数首址又作两个十进制数和的首址;加数首址;字节长度MOVR0,#40HMOVR1,#50HMOVR2,30HCLR CPP:MOV A, R1;取加数ADDC A, R0 ;带进位加DA A ;二一十进制数调整MOVR0, A ;存和INC R0 ;修正地址INC R1DJNZR2, PP ;多字节循环加AJMP $END21 .读程序,请画出引脚上的波形图,并标出电压 V时

8、间T坐标; 加以注释。ORGSTART: MOV MOV MOVMLP0: ACALL MOV CJNE MOV MOVMLP2: MOV MOVC MOV SJMPMLP1: INC SJMPITAR DB 0, DB 8,D50ms: RET0000HSR #20H 30H, #01H P1, #01 D50msA, 30HA, #08H, MLP1A, #01H DPTR #ITAB 30H, A A, A+DPTRP1, AMLP0 AMLP2 1, 2, 4, 8 4、2、1;软件延时50mS;延时50ms子程序(略)答:序功能:引脚上的波形图如图3-2所示。注释见源程序右边所述。O

9、RG 0000HSTART:MOVSP, #20HMOV30H, #01HMOVP1, #01H;引脚输出波形MLP0:ACALL D50ms;软件延时50msMOVA, 30HCJNEA,#08H, MLP1 ;判表格中数据是否取完判表格中数据是否取完MOVA, #01H;取完,从表头开始取MOVDPTR, #ITAB;表格首地址MLP2 :MOV 30H, AMOVCA, A+DPTR;取表格中数据MOVP1,ASJMPMLP0MLP1:INCA;表格中数据未取完,准备取下一个SJMPMLP2ITAB:DB 0,1, 2, 4, 8;表DB 8,4, 2 , 1D50ms:;软件延时50m

10、s 子程序RET第四章 P1236 根据运算结果给出的数据到指定的数据表中查找对应的数据字。运算结果给出的数据在片内数据存储器的 40H 单元中,给出的数据大小在000FH之间,数据表存放在20H开始的片内程序存储器中。查表所得数据字(为 双字节、高位字节在后)高位字节存于 42H、低位字节存于41H单元。其对应 关系为:给出数据;0001020DH 0EH 0FH对应数据: 00A0H 7DC2H FF09H 3456H 89ABH 5678H请编制查表程序段,加上必要的伪指令,并加以注释。答 : 程序如下:ORG 0000HAJMP MAIN ,0RG 0020HTAB: DB OAOH,

11、 OOH, 0C2H, 7DH, 09H , OFFH, .,56H, 34H , 0 ABH, 89H , DB 78H,56H; 数据字表ORG 0050HMAIN : MOVA, 40H ;运算结果给出的数据放在 40H 中MOV DPTR, #TAB;指向数据字表首地址RL A ;由于是双字节,所以A 左移1 位 (乘 2)MOV 40H , A ;结果放在 40HMOVC A, A+DPTR ;查表,找出对应的值MOV41H, A;查找出的数据值低字节放入 41HMOVA 40HADDA, #01H ;查找数据的高位字节MOV DPTR, #TABMOVC A, A+DPTRMOV4

12、2H , A 。 ;查找出的数据值高字节放入 42HSJMP$注意:数据表存放在 20 H 开始的片内存储器中,该存储器应为内部程序存储器,因为查表指令MOVC 的功能是从程序存储器中读数据。10.把长度为10H的字符串从内部数据存储器的输入缓冲区INBUF向设在外部数 据存储器的输出缓冲区OUTBUF进行传送,一直进行到遇见回车字符“CR吉束传 送或整个字符串传送完毕。加上必要的伪指令,并对源程序加以注释。答:程序如下:程序如下:ORG0000HAJMPMAINORG0030HMAIN:MOVR7, #10H;数据长度MOVR0, #INBUF;源数据首地址MOVDPTR, #OUTBUF;

13、目的数据首地址LOOP:MOVA, R0;把源数据的值赋给ACJNEA ,#0DH, LOOP1 ;是“CRASCII码值为 0DH)SJMPEND1;是“CR则结束传送LOOP1:MOVXDPTR, A;把 A 的值赋给目的数据INCR0;源数据下一个地址值INCDPTR; 目的数据下一个地址值DJNZR7, LOOP;判数据传送是否完毕END1: SJMP END112.比较两个ASCII码字符串是否相等。字符串的长度在内部数据存储器的20H单元,第一个字符串的首地址在内部数据存储器的 30H 中,第二个字符串的首地址在内部数据存储器的 50H 中。 如果两个字符串相等, 则置用户标志F0

14、 为 0;否则置用户标志F0为1。加上必要的伪指令,并加以注释。(注:每个ASCI网字符为一个字节,如 ASCIB A”表示为41H)答:字符串中每一个字符都可以用一个ASCII码表示。只要有一个字符不相同,就可以判断字符串不相等。ORG 0000HAJMP MAINORG 0030HMAIN : MOV R0, #30H 第一个字符串的首地址MOV R1, #5 0H 第二个字符串的首地址LOOP:MOVA, R0 第一个字符串的字符值赋给AMOV B, R1 ;第二个字符串的字符值赋给BCJNE A, B, NEXT ;两个字符值比较INC R0 字符值相等,则继续比较DJNZ 20H , LOOP ;判断字符串是否比较完CLR F0 字符串相等,则 F0位清0SJMP $NEXT:SETB F0字符串不等,则 F0位置1SJMP

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号