ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:34.01KB ,
资源ID:9157463      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9157463.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理与接口技术离线作业答案必做.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、微机原理与接口技术离线作业答案必做 浙江大学远程教育学院 微机原理与接口技术课程作业 号: 姓名: 学 温州学习中心: 年级: P47第二章 单片微机芯片引脚第二功能有哪些80C512 P2和P3引脚都具有第二功能。P0答:80C51单片机的、 第一功能 第二变异功能 D7D0 地址总线A0A7/数据总线P0口 A15地址总线口 A8P2 RXD (串行输入口) 串行输出口) TXD ( 0INT (外部中断 0) INT1 (外部中断 1) T0 (定时器/计数器0的外部输入) T1 (定时器/计数器0的外部输出) WR (外部读写存储器或I/O的写选通 ) (外部读写存储器或I/O的读选通

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

3、。384 B为80C52(256B片内 片内数据存储器空间,在物理上又包含两部分: 255 字节为片内数据存储器空间;从1280 对于80C51型单片机,从127 空间(实际仅占用了20多个字节)。字节为特殊功能寄存器(SFR) 片外64 KB的数据存储器地址空间。以产生不同存储空间的选通信在访问三个不同的逻辑空间时,应采用不同形式的指令, 号。MOVXRAM指令,因为则一定要采用MOVX访问片内RAM采用MOV指令,访问片外WR。访问程序存储器地址空间,则应采用或指令会产生控制信号RAM,用来访问片外RD 指令。MOVC 个主要部分各部分主要480C51片内数据存储器低128个存储单元划分为

4、哪6 功能是什么作为单元编号。R7每组8个存储单元,各组以R0寄存器区: 答:共4组寄存器,1FH常用于保存操作数及中间结果等等。R0R7也称为通用寄存器,占用00H 个单元地址。共32单元使用,按字节进行操作,也可以对2FH,既可作为一般 位寻址区:20HRAM单元,共计个RAM单元中的每一位进行位操作,称为位寻址区。寻址区共有16 7FH。128位,位地址为00H RAM区内。 堆栈区:设置在用户 3个区,剩下的所有单元。RAM低128单元中,除去前面 用户RAM区:在内部 P87第三章 指令有什么区别,分别用于那些场合,为什么、MOVC、MOVX 9MOVRAM的访问。 答:MOV指令用

5、于对内部MOVC指令用于对程序存储器的访问,从程序存储器中读取数据(如表格、常数等)。 MOVX指令采用间接寻址方式访问外部数据存储器,有Ri和DPTR两种间接寻址方式。MOVX指令执行时,在引脚上输出有效信号或在引脚上输出有效信号,可以用作外部数据WRRD存储器或I/O的读或写选通信号,与单片机扩展电路有关。 已知(R1)=20H,(20H)=AAH,请写出执行完下列程序段后A的内容。 15MOV A,#55H A,#0FFH ANL 20H,A ORL A, XRL R1 A CPL 答:各指令执行结果如下: MOV A, #55H (A)=55H; ANL A;(A)=55H,#0FFH

6、 XRL A(A)=AAH; ,R1 A CPL (A) =55H; 执行完程序段后,A的内容为55H。 阅读下列程序,说明其功能。 16MOV R0,#30H R0 MOV A,RL A AR1MOV , RL A RL A R1AADD , MOV R0,A 答:对程序注释如下: MOV R0,#30H ;(R0)=30H MOV A,R0 ;取数 RL A ;(A)2 MOV R1,A RL A ;(A)4 RL A ;(A)8 ADD A,R1 ;(A)10 MOV R0,A ;存数 功能:将30H中的数乘以10以后再存回30H中。 条件:30H中的数不能大于25,2510=250仍为

7、一个字节。若30H中的数大于25,则应考虑进位。 17. 已知两个十进制数分别从内部数据存储器中的40H单元和50H单元开始存放(低位在前),其字节长度存放在内部数据存储器的30H单元中。编程实现两个十进制数求和,并把和的结果存放在内部数据存储器40H开始的单元中。 【答】程序如下: ORG 0000H SJMP MAIN ORG 0030H MAIN: MOV R0,#40H ;被加数首址又作两个十进制数和的首址 MOV R1,#50H ;加数首址 MOV R2,30H ;字节长度 CLR C PP: MOV A,R1 ;取加数 ADDC A,R0 ;带进位加 DA A ;二一十进制数调整

8、;存和 A ,R0 MOV INC R0 ;修正地址 INC R1 DJNZ R2,PP ;多字节循环加 AJMP $ END 21读程序,请画出引脚上的波形图,并标出电压V时间T坐标; 加以注释。 ORG 0000H START: MOV SP,#20H MOV 30H,#01H MOV P1,#01 MLP0:ACALL D50ms ; 软件延时50mS MOV A, 30H CJNE A, #08H,MLP1 MOV A, #01H MOV DPTR,#ITAB MLP2MOV 30H, A MOVC A,A+DPTR MOV P1, A SJMP MLP0 MLP1:INC A SJM

9、P MLP2 ITAB: DB 0,1,2,4,8 DB 8,4,2,1 D50ms: ; 延时50ms子程序(略) RET 答: 序功能:引脚上的波形图如图3-2所示。 注释见源程序右边所述。 ORG 0000H START: MOV SP ,#20H MOV 30H ,#01H MOV P1,#01H ;引脚输出波形 MLP0:ACALL D50ms ;软件延时50ms MOV A, 30H CJNE A, #08H ,MLP1 ;判表格中数据是否取完 MOV A, #01H ;取完,从表头开始取 MOV DPTR,#ITAB ;表格首地址 MLP2MOV 30H, A MOVC A,A+

10、DPTR ;取表格中数据 MOV P1, A SJMP MLP0 MLP1:INC A ;表格中数据未取完,准备取下一个 MLP2 SJMP ;表 ITAB: DB 0,1 , 2,4,8 DB 8,4,2,1 D50ms子程序;软件延时50ms : RET 第四章P123 6 根据运算结果给出的数据到指定的数据表中查找对应的数据字。 运算结果给出的数据在片内数据存储器的40H单元中,给出的数据大小在000FH之间,数据表存放在20H开始的片内程序存储器中。查表所得数据字(为双字节、高位字节在后)高位字节存于 42H、低位字节存于41H单元。其对应关系为: 给出数据;00 01 02 0DH

11、0EH 0FH 对应数据:00A0H 7DC2H FF09H 3456H 89ABH 5678H 请编制查表程序段,加上必要的伪指令,并加以注释。 答: 程序如下: ORG 0000H AJMP MAIN , 0RG 0020H TAB:DB OAOH,OOH,0C2H,7DH,09H,OFFH,.,56H,34H,0ABH,89H,DB 78H,56H; 数据字表 ORG 0050H MAIN: MOV A,40H ;运算结果给出的数据放在40H中 MOV DPTR,#TAB ;指向数据字表首地址 RL A ;由于是双字节,所以A左移1位(乘2) MOV 40H,A ;结果放在40H MOV

12、C A,A+DPTR ;查表,找出对应的值 MOV 41H,A ;查找出的数据值低字节放入41H 40HA MOV ADD A,#01H ;查找数据的高位字节 MOV DPTR,#TAB MOVC A,A+DPTR MOV 42H,A 。 ;查找出的数据值高字节放入42H SJMP$ 注意:数据表存放在20 H开始的片内存储器中,该存储器应为内部程序存储器,因为查表指令MOVC的功能是从程序存储器中读数据。 10. 把长度为10H的字符串从内部数据存储器的输入缓冲区INBUF向设在外部数据存储器的输出缓冲区OUTBUF进行传送,一直进行到遇见回车字符“CR”结束传送或整个字符串传送完毕。加上必

13、要的伪指令,并对源程序加以注释。 答:程序如下: ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV R7,#10H ;数据长度 MOV R0,#INBUF ;源数据首地址 MOV DPTR,#OUTBUF ;目的数据首地址 LOOP: MOV A,R0 ;把源数据的值赋给A CJNE A,#0DH,LOOP1 ;是“CR”(ASCII码值为0DH) SJMP END1 ;是“CR”,则结束传送 LOOP1:MOVX DPTR,A ;把A的值赋给目的数据 INC R0 ;源数据下一个地址值 INC DPTR ;目的数据下一个地址值 DJNZ R7,LOOP ;判数据

14、传送是否完毕 END1:SJMP END1 12比较两个ASCII码字符串是否相等。字符串的长度在内部数据存储器的20H单元,第一个字符串的首地址在内部数据存储器的30H中,第二个字符串的首地址在内部数据存储器的50H中。如果两个字符串相等,则置用户标志F0为0;否则置用户标志F0为1。 加上必要的伪指令,并加以注释。(注:每个ASCII码字符为一个字节,如ASCII码“A”表示为41H) 答: 字符串中每一个字符都可以用一个ASCII码表示。只要有一个字符不相同,就可以判断字符串不相等。 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV R0,#30H 第一个字

15、符串的首地址 MOV R1,#5 0H 第二个字符串的首地址 LOOP: MOV A,R0 第一个字符串的字符值赋给A MOV B,R1 ;第二个字符串的字符值赋给B CJNE A,B,NEXT ;两个字符值比较 字符值相等,则继续比较 R0 INC DJNZ 20H,LOOP ;判断字符串是否比较完 CLR F0 字符串相等,则F0位清0 SJMP $ NEXT: SETB F0 字符串不等,则F0位置1 SJMP $ END 例如:(2OH)=03H,(3OH)=41H,(31H)=42H,(32H)=43H,(5OH)=41H,(51H)= 42H,(52H)=43H。两个字符串均为“?

16、屃。 执行结果:F0=0 14. 80C51单片机从内部数据存储器的31H单元开始存放一组8位带符号数,字节个数在30H中。请编写程序统计出其中正数、零和负数的数目,并把统计结果分别存入20H、21H和22H三个单元中。加上必要的伪指令,并对源程序加以注释。 答:分析:带符号数以字节最高位D7的值来区分是正数(包括零)和负数。D7=1,则该带符号数为负数。 程序如下: POS_NUM EQU 20H ;正数个数 ZERO_NUM EQU 21H ;零个数 NEG_NUM EQU 22H ;负数个数 MAIN: MOV POS_NUM,#0 ;计数单位初始化为0 MOV ZERO_NUM,#0

17、MOV NEG_NUM,#0 MOV R1,30H ;数据长度 MOV R0,#31H ;数据首地址 LOOP: MOV A,R0 JB , INC_NEG ;符号位为,该数为负数,跳转加1 CJNE A,#0,INC_POS INC ZERO_NUM ;该数为0,0个数加1 AJMP LOOP1 INC_NEG: INC NEG_NUM ;负数个数加1 LOOP1AJMP INC_POS: INC POS_NUM ;该数为正数,正数个数加1 LOOP1: INC R0 ;判断统计是否结束 DJNZ R1,LOOP END 例如:已知(30H)=08H,31H单元起存放数据为:00H,80H,

18、7EH,6DH,2FH,34H,EDH,FFH。 执行结果:(20H)=04H,(21H)=01H,(22H)=03H。 16将外部数据存储器的2040H单元中的一个字节拆成2个ASCII码,分别存入内部数据存储器40H和41H单元中,试编写以子程序形式给出的转换程序,说明调用该子程序的入口条件和出口功能。加上必要的伪指令,并加以注释。 子程序的入口条件、出口功能及源代码如下:: 答 40 H单元中。ASCII码的数存入外部RAM的 子程序人口条件:准备拆为2个码,分别存入内部数据个ASCII子程序出口功能:完成外部RAM单元一个字节拆成2 41 H单元中。存储器40 H和 1 000H OR

19、G RAM40H单元 ;外部 B_TO_A:MOV DPTR,#40H ,#40H R0 MOV ;取数DPTR MOVX A, APUSH ASCII码;低4位转换为A,#0FH ANL CHANGE LCALL A RO, MOV R0 INC POP A A SWAP 码位转换为ASCII ;高4 ANL A,#0FH CHANGE LCALL AR0, MOV RET ;转换子程序 #0AH,NEXT CHANGE:CJNE A, 0AH,转移 NEXT2 ; NEXT: JNC ASCII码,数字0-9转化为 A,#3 0H ;9 ADD RET 码F转化为ASCII #37H ;字

20、母A NEXT2: ADD A, RET END 。 设外部(40 H)=12 H 。,(41 H)=32 H 执行程序B_TO_A后:内部(40 H)=31 H 。设外部RAM(40 H)=ABH 。,(41 H)=42 H后,内部(40 H)=41 H执行程序B_TO_A P1口引脚输出为:8100H单元中的值X,决定17 根据 X02X P1= 80H X=0 (128DX63D) X变反 X0 答: 程序如下: ORG 0000H SJMP BEGIN ORG 0030H BEGIN: MOV DPTR,#8100H MOVX A,DPTR A,R2 MOV JB ,SMALLER;有

21、符号数0 SJMP UNSIGNED ;无符号数0 SMALLER:DEC A ;X0,输出-X(先减1,再取反) CPL A MOV P1,A SJMP OK UNSIGNED:CJNE A,#00H,BIGGER ;不等于0即大于0 MOV P1,#80H ;X等于0,输出80H SJMP OK BIGGER: CLR C ;X大于0,输出A2 RLC A ;A2 MOV P1,A OK: SJMP $ END 例如:输入55 H,P1口引脚输出AAH;输入00 H,P1口引脚输出80 H;输入F1(一1 5的补码),P1口引脚输出0FH。 22. 编写求一组无符号数中最小值的子程序,入口

22、条件为:内部数据存储器的20H和21H中存数据块的起始地址,22H中存数据块的长度,求得的最小值存入30H中。 答: 程序如下: ;求无符号数最小值的子程序CMPI ORG 2000H CMPI: MOV DPL,20H MOV DPH,21H MOV 30H,#0FFH ;最小值单元初始值设为最大值 LOOP: MOVX A,DPTR MOVX A,DPTR CJNE A,3 0H,CHK ;比较两个数大小 SJMP LOOP1 ;两个数相等,不交换 CHK: JNC LOOP1 ;A较大,不交换 MOV 30H,A ;A较小,交换 LOOP1: INC DPTR DJNZ 22HLOOP

23、RET 注意:30 H中始终存放两个数比较后的较小值,比较结束后存放的即是最小值。 例如:(20 H)=00 H,(21 H)=80 H(22 H)=0 5 H。从8000 H开始存放下列数:02 H, 04 H,01 H,FFH,03 H。 调用子程序CMPl后的结果:(30 H)=01 H p141 第五章1什么是中断在单片微机中中断能实现哪些功能 答: 单片机在程序执行过程中,允许外部或内部“事件通过硬件打断程序的执行,使其转向执行处理外部或内部“事件的中断服务子程序;而在完成中断服务子程序以后,继续执行原来被打断的程序,这种情况称为“中断,这样的过程称为“中断响应过程。 780C51共

24、有哪些中断源对其中断请求如何进行控制 答: 中断响应是有条件的,即: 中断源申请中断; 该中断源已被允许中断,且CPU也已允许中断; 没有同级或高优先级中断在执行中断服务程序。 在接受中断申请时,如遇下列情况之一,硬件生成的长调用指令LCALL将被封锁: CPU正在执行同级或高一级的中断服务程序。因为当一个中断被响应时,其对应的中断优先级触发器被置1,封锁了同级和低级中断。 查询中断请求的机器周期不是执行当前指令的最后一个周期。目的在于使当前指令执行完毕后,才能进行中断响应,以确保当前指令的完整执行。 当前正在执行RETI指令或执行对IE、IP的读写操作指令。80C51中断系统的特性规定,在执

25、行完这些指令之后,必须再继续执行一条指令,然后才能响应中断。 1280C51的中断与子程序调用有哪些异同点,请各举两点加以说明。 相同点: 都是中断当前正在执行的程序,都要通过执行返回指令,返回到原来的程序。 都是由硬件自动地把断点地址压入堆栈;当执行到返回指令时,自动弹出断点地址以便返回原来的程序。 都要通过软件完成现场保护和现场恢复。 都可以实现嵌套。 不同点: 中断请求信号可以由外部设备发出,是随机的;子程序调用子程序却是由软件编排好的。 中断响应后由固定的矢量地址转入中断服务程序,而子程序地址由软件设定。 中断响应是受控的,其响应时间会受一些因素影响素;子程序响应时间是固定的。 第六章

26、P161 1. 80C51单片微机内部设有几个定时器计数器简述各种工作方式的功能特点 答:80C51 单片机内部设有2 个 16 位定时器计数器 TO 和 T1。定时器计数器有 4 种工作方式,其特点如下: 方式 O 是 13 位定时器计数器。由 THxT 高 8 位(作计数器)和TLx的低5位(32分频的定标器)构成。TLx的低5位溢出时,向THxT进位;THxT 溢出时,硬件置位件TFx(可用于软件查询),并可以申请定时器中断定时器 。 方式1 是16 位定时器计数器。TLxT 的低 8 位溢出时向THx进位(可 ,并可以申请定时器中断。)用于软件查询 方式 2 是定时常数是定时自动重装载

27、的8位定时器计数器。TLx作为8位计数寄存器,THx作为 8 位计数常数寄存器数。当 TLx计数溢出时,一方面将TFx 置位,并申请中断;另一方面将 THx的内容的自动重新装入TLxT中,继续计数。由于重新装重入不影响 THx的内容,所以可以多次连续再装入。方式2对定时控制特别有用。 方式 3 只适用于TO,T0被拆成两个独立的8位计数器位计TLO和THO 。TLO做8位计数器,它占用了T0的 GATE、INTO 、启动停止控制位TRO、TO引脚()以及计数溢出标志位TF0和TO的中断矢量(地址为000BH)等 TH0只能做8位定时器用,因为此时的外部引脚TO已为定时器计数器 TLO 所占用。

28、这时它占用了定时器计数器 T1 的启动停止控制位 TRl、计数溢出标志位 TFl及T1中断矢量(地址为001BH)。 T0 设为方式 3 后,定时器计数器 T1 只可选方式 O、1 或 2。由于此时计数溢出标志位 TFI及T1 中断矢量(地址为001BH)已被 TH0T 所占用,所以 T1 仅能作为波特率发生器或其他不用中断的地方。 5在80C51单片微机系统中,已知时钟频率为6MHz,选用定时器T0方式3,请编程使 P10和 P1l引脚上分别输出周期为2ms和400s的方波。加上必要的伪指令,并对源程序加以注释。 答:机器周期为 2s,定时分别为定时分 2ms和 400 s。 8-TC)T

29、2s,TC=38 Hs 定时,400s=(2。 计算:4004 程序如下: ORG 0000H 0000 0130 AJMA MAIN ORG 000BH ;定时器 TO 中断矢量。 000B 2100 AJMP TIME MAIN: 0030 7805 MOV R0,#05H 0032 758903 MOV TMOD,#03H ;T0 方式 3,定时器中断 0035 758A38 MOV TL0,#38H ;TLO 定时 400s 0038 D28C SETB TR0T ;开启定时器定 TL0 003A C28E CLR,TR1 003C D2A9 SETB ET0E ;开定时器 TLO中断 003E D2AF SETB EA 0040 80FE SJMP$

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

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