单片机第五章作业答案
单片机教程之第5章 作业
解:首先理解压缩BCD码的含义,比如54H表示十进制54, 转换成ASCII码则分别为35H和34H,放到相邻的两个单元中。 假设200H中存放54H,则最后要将34H放到205H,35H放到 206H。
程序分两步,先将压缩BCD码转换为ASCII码存放在片内30H 开始的单元;然后在将片内30H开始的10个数据送到片外205H开 始的单元。
22.求一个16位二进制数的补码,设此16位二进制数放在R1、R0 中,求补后存入R3、R2中。 解:首先理解16位二进制数补码的含义,如果最高位是0,则 补码是其本身;如果最高位是1,则符号位不变,其余数取反 再加1,还要考虑后8位加1后可能向高8位进位的情况。 MAIN: MOV A,R1 JNB ACC.7,RET1;最高位是0则直接将数送到R3、R2 MOV A , R0;取出低位 CPL A;低位字节取反 ADD A,#1;加1 ;将补码送到R3、R2 MOV R0,A;送回到R0 RET1:MOV A,R1 MOV A,R1;取出高位 MOV R3,A CPL A;高位字节取反 MOV A,R0 ADDC A,#0;加低位的进位Cy MOV R2,A SETB ACC.7;设置最高位 SJMP $ MOV R1,A;送到R1
正解: ORG 0000H MOV R2,#03H;除以8 LJMP MAIN ;相当于右移3位 ORG 0100H LP3: MOV A,R3;高位 MAIN:MOV R3,#00H;和的高位 RRC A;带Cy右移 MOV R4,#00H;和的低位 MOV R3,A;保存高位 MOV R2,#08H;8个数 MOV A,R4;低位 MOV R0,#50H;起始地址 RRC A;带Cy右移 LP2: MOV A,@R0;取出新值 ;R3的最后位会移过来 ADD A,R4;和上次结果加 MOV R4,A;保存低位 JNC LP1;如果没进位继续 DJNZ R2,LP3;结束否 INC R3;如果有进位高位加1 MOV 5AH,R4;保存 SJMP $ LP1: MOV R4,A;保存结果第位 END DJNZ R2,LP2;看是否结束
单片机第5章习题答案
第5章习题答案1.8051定时器/计数器有哪几种工作模式?各有什么特点?答:8051定时器/计数器有0,1,2,3四种工作模式。
模式0为13位1定时器/计数器,模式1为16位1定时器/计数器,模式2为自动赋初值的8位定时器/计数器,模式3可以增加一个8位定时器(T1没有模式3)。
2.8051定时器作定时和计数时,其计数脉冲分别由谁提供?答:8051定时器作定时器时,输入的记数脉冲是由晶体振荡器的输出经12分频后得到的,所以定时器可看作是对单片机机器周期的计数器。
8051定时器作计数器时,则对外部事件进行计数。
3.8051定时器的门控信号GATE为1时,定时器如何启动?答:8051定时器的门控信号GATE为1时,只有INT0(或INT1)引脚为高电平且TR0(或TR1)置1时,相应的T0或T1才能选通工作。
4.定时器/计数器0已预置为156,且选定用于模式2的计数方式,现在T0引脚上输入周期为1ms的脉冲,问:(1) 此时定时器/计数器0的实际用途是什么?(2) 在什么情况下,定时器/计数器0溢出?答:(1)此时定时器/计数器0的实际用途是0.1S脉冲信号发生器。
(2)当T0每记数100次后定时器/计数器0溢出。
5.设f osc=12MHz,定时器0的初始化程序和中断服务程序如下:MAIN: MOV TH0, #9DHMOV TL0, #0D0HMOV TMOD, #01HSETB TR0…中断服务程序:MOV TH0, #9DHMOV TL0, #0D0H…RETI问:(1) 该定时器工作于什么方式?(2) 相应的定时时间或计数值是多少?答:(1)该定时器以模式1工作于定时方式。
(2)相应的定时时间为25.136ms.6.8051单片机的f osc=6MHz,如果要求定时时间分别位0.1ms和5ms,当T0工作在模式0、模式1和模式2时,分别求出定时器的初值。
答:(1)定时时间分别位0.1ms时:模式0初值为8142、模式1初值为65486,模式2初值206。
第5章 习题参考答案
第五章习题参考答案一、填空题1、MCS-51有5个中断源,2个中断优先级,优先级由软件填写特殊功能寄存器 IP 加以选择。
2、外中断请求标志位是 IE0 和 IE1 。
3、 RETI 指令以及任何访问 IE 和 IP 寄存器的指令执行过后,CPU不能马上响应中断。
4、8051单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:首先把 PC的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送 PC ,使程序执行转向程序存储器中的中断地址区。
二、选择题:1、在中断服务程序中,至少应有一条( D )。
A、传送指令B、转移指令C、加法指令D、中断返回指令2、要使MCS-51能够响应定时器T1中断,串行接口中断,它的中断允许寄存器IE的内容应是( A )。
A、 98HB、 84HC、 42HD、 22H3、MCS-51响应中断时,下列哪种操作不会发生( A )A、保护现场B、保护PCC、找到中断入口D、保护PC转入中断入口4、MCS-51中断源有( A )A、 5个B、 2个C、 3个D、6个5、计算机在使用中断方式与外界交换信息时,保护现场的工作应该是( C )A、由CPU自动完成B、在中断响应中完成C、应由中断服务程序完成D、在主程序中完成6、MCS-51的中断允许触发器内容为83H,CPU将响应的中断请求是( D )。
A、 INT0,INT1B、 T0,T1C、 T1,串行接口D、 INT0,T07、若MCS-51中断源都编程为同级,当它们同时申请中断时,CPU首先响应( B )。
A、 INT1B、 INT0C、 T1D、T08、当CPU响应串行接口中断时,程序应转到( C )。
A、 0003HB、 0013HC、 0023HD、 0033H9、执行MOV IE,#03H后,MCS-51将响应的中断是( D )。
A、 1个B、 2个C、 3个D、0个10、外部中断1固定对应的中断入口地址为( C )。
单片机第五章作业答案
5.试编制一个子程序将字符串^MCS-51 Microcomputer^装入外部RAM8000H 开始的显示 缓冲区。
ORG 0000HAJMP0030HMIAN :MOV DPTR, #800011MOV Rl, #0MOV R0, #20LOOP :MOV A,R1ADD A, #5MOVCA, @A+PCMOVX ©DPTR, A ;1BINC DPTR ;1BINCR1 ;1BDJNZR0, LOOP;3BTAB :DBC' ,‘ S' / -,,‘ 5,,99• c ,‘ r ,, 'o'DB"J9999o t m t 999p , u , END6.试设计一个n 字节的无符号十进制数加法子程序,其功能为将(R0)和(R1)指出的内 部RAM中两个n 字节压缩BCD 码无符号十进制数相加,结果存放于被加数单元中。
子程 序入口时,RO, R1分别指向被加数和加数的低位字节,字节数n 存于R2,出口时R0指 向和的最高位字节.CY 为进位位。
其功能为判断(R2R3R4R5)中压缩BCD 码十进制最高位是否为零.若 最高位为0,且该十进制数不为0,则通过左移使最高位不为0。
ORG 0000H AJMP MAINLENMAIN :EQU 30 ORG 0000H AJMPMAINORG 0030HMOV SP. #60H MOV R2, #LEN ACALL ADD NBYTE SJMP$ CLR c MOV A, @R0 ADDC A. @R1 DAAMOV @R0, AINC R0 INC R1 DJNZ R2. LOOPRETEND试设计一个程序. ADD NBYTE : LOOP :ORG 0030HMAIN:MOV A. R2ANL A. #80HJNZ NEXTCLR CLOOP:MOV A, R5RLC AMOV R5, AMOV A, R4RLC AMOV R4, AMOV A, R3RLC AMOV R3, AMOV A, R2RLC AMOV R2, AANL A, #80HJZ LOOPNEXT:SJMP $END9.试设计一个双字节无符号整数乘法子程序,其功能为将(R3R2)和(R5R4)相乘,积存放于30H~33H。
单片机第五章习题部分答案
1. P0口用作输出端口时,输出级为漏极开路电路,在驱动NMOS电路及TTL电路时应外接上拉电阻(用作输入时与其他三个端口一样,在输入之前,都需要先向端口写“1”)。
P0口除用作I/O口外,还用作外部地址总线(用于送出16位地址的低8位)和外部数据总线。
3. P2口除用作I/O口外,还用外部地址总线(用于送出16位地址的高8位)。
4. P3口各口线的第二功能:P3.0——RXD,串行数据接收;P3.1——TXD,串行数据发送;P3.2——(INT0)’,外部中断0中断请求信号输入端;P3.3——(INT1)’,外部中断1中断请求信号输入端;P3.4——T0,定时器/计数器T0外部计数脉冲输入;P3.5——T1,定时器/计数器T1外部计数脉冲输入;P3.6——(WR)’,外部数据存储器写选通信号;P3.7——(RD)’,外部数据存储器读选通信号。
5. 优点:方便灵活,不需专门电路,改变逻辑关系只需重新编程即可。
缺点:延迟大。
6. 读-改-写指令:先读端口,然后对读入的数据进行修改,最后再写回到端口,这类指令称为读-改-写指令。
读-改-写指令不直接读取引脚上的数据而读锁存器Q端内容是为了消除错读错电平的可能性。
例如,用一根口线去驱动一个晶体管的基极,当向该端口写1时,晶体管导通,并把引脚上的电平拉低。
这时若从引脚读数据,将读回0,而实际输出的是1。
输出数据在锁存器中保存着,从锁存器的Q端读取,可以得到正确的结果。
7. 对端口的读-改-写指令,读的是端口锁存器,其他需要读端口的指令,读的是引脚。
(1)MOV C,P1.0;读引脚(2)MOV P1,#55H;写端口指令(3)PUSH P2;读引脚(4)INC P1;读锁存器(5)XRL P1,#01H;读端口锁存器(6)SETB P3.2;读端口锁存器(7)JBC P1.7,NEXT;读端口锁存器(8)JNB P3.2,$;读引脚8. 简单并行输出口的扩展方法:使用1片锁存器芯片,锁存器的数据输入端直接与单片机的P0口连接,单片机的(WR)’信号与锁存器的锁存脉冲信号,可用外部地址总线的高8位的某些位作为锁存器的片选(选通)信号。
单片机原理及应用第五章课后题答案
第五章作业答案6. 当DAC 0832 D/A转换器的CS接8031的P2.0时,程序中0832的地址指针DPDR寄存器应置为(D)。
A:0832H B;FE00H C:FEF8H D;以上三种都可以10.简述D/A转换器的主要技术指标。
解:D/A转换器的主要性能指标有:(1)分辨率:单位数字量所对应模拟量增量,即相邻两个二进制码对应的输出电压之差称为D/A转换器的分辨率。
它确定了D/A产生的最小模拟量变化,也可用最低位(LSB)表示。
(2)精度:精度是指D/A转换器的实际输出与理论值之间的误差,它是以满量程V FS 的百分数或最低有效位(LSB)的分数形式表示。
(3)线性误差:D/A转换器的实际转换特性(各数字输入值所对应的各模拟输出值之间的连线)与理想的转换特性(始、终点连线)之间是有偏差的,这个偏差就是D/A的线性误差。
即两个相邻的数字码所对应的模拟输出值(之差)与一个LSB所对应的模拟值之差。
常以LSB的分数形式表示。
(4)转换时间T S(建立时间):从D/A转换器输入的数字量发生变化开始,到其输出模拟量达到相应的稳定值所需要的时间称为转换时间。
22.具有8位分辨率的A/D转换器,当输入0~5V电压时,其最大量化误差是多少?解:对于8位A/D转换器,实际满量程电压为5V,则其量化单位1LSB=5V/256=0.0196V, 通常,A/D采用均匀量化,即每一量化层的输出都取该量化层的中值。
所以最大量化误差为(1/2)LSB,即0.0098V。
23.在一个80C51单片机与一片DAC0832组成的应用系统中,DAC0832的地址为7FFFH,输出电压为0~5V。
试画出有关逻辑电路图,并编写产生矩形波,其波形占空比为1:4,高电平为2.5V,低电平为1.25V的转换程序。
解:硬件电路连接图如图5.23所示。
图5.23 5.23题逻辑电路图DAC0832的口地址为7FFFH。
波形占空比为1:4,高电平波形时间/低电平波形时间为1/3。
第五章-MCS-51单中断系统习题答案.doc
第五章MCS-51单片机中断系统习题答案一、填空题1、中断允许寄存器,中断优先级寄存器。
2、电平触发,边沿触发(或答跳变触发)。
二简答题1、写出8052的中断源和相应的中断入口。
INT0 0003HT0 000BHINT1 0013HT1 001BHTI或RI 0023H2、8051单片机的中断优先级是如何排列的?硬件INT0 T0 INT1 T1 TI或RI软件通过IP定义两个优先级3、外部中断有哪几种触发方式?边沿触发和电平触发。
4、8052单片机程序存储器中的六个特殊单元是什么,各有何用途?0000H(PC),0003H(int0),000BH(c/T0),0013H(int1),001BH(c/T1),0023H(s口)。
4、三、程序设计1、8031芯片的INT0、INT1引脚分别输入压力超限及温度超限中断请求信号,定时器/计数器0作定时检测的实时时钟,用户规定的中断优先权排队次序为:压力超限温度超限定时检测要求确定IE、IP的内容,以实现上述要求。
解:(1)中断控制寄存器各位定义:D7:CPU中断允许位EA,应设为1D6:未定义,可为随意量,取为0D5:定时器/计数器2中断允许位ET2,可取0D4:串行口中断允许位ES, 可取0D3:定时器/计数器1中断允许位ET1, 应取0D2:外部中断1中断允许位EX1, 应取1D1:定时器/计数器0中断允许位ET0, 应取1D0:外部中断0中断允许位EX0, 应取1故IE=87H(2)由硬件确定的同一优先级中断源的优先权排队顺序如下:INT0-C/T0-INT1-C/T1-串行口中断-c/2MCS-51有两个中断优先级,中断优先权选择寄存器IP可对各中断源用软件进行编程,确定为高优先级中断还是低优先级中断。
因些可以用硬件与软件相结合的方法对中断源的优先级进行排序。
由题意,根据IP各位的定义:D7:未定义,可为随意量,取为0D6:未定义,可为随意量,取为0D5:定时器/计数器2优先权选择位PT2,可取0D4:串行口优先权选择位PS, 可取0D3:定时器/计数器1优先权选择位PT1, 应取0 D2:外部中断1优先权选择位PX1, 应取1,应接温度超限信号。
单片机原理及接口技术第5章习题答案
1、什么是中断和中断系统?其主要功能是什么?答:当CPU正在处理某件事情的时候,外部发生的某一件事件请求CPU迅速去处理,于是,CPU暂时中止当前的工作,转去处理所发生的事件,中断服务处理完该事件以后,再回到原来被终止的地方,继续原来的工作。
这种过程称为中断,实现这种功能的部件称为中断系统。
功能:(1)使计算机具有实时处理能力,能对外界异步发生的事件作出及时的处理(2)完全消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率(3)实现实时控制2、试编写一段对中断系统初始化的程序,使之允许INT0,INT1,TO,串行口中断,且使T0中断为高优先级中断。
解:MOV IE, #097HMOV IP, #02H3、在单片机中,中断能实现哪些功能?答:有三种功能:分时操作,实时处理,故障处理4、89C51共有哪些中断源?对其中端请求如何进行控制?答:(1)89C51有如下中断源①INT0:外部中断0请求,低电平有效②INT1:外部中断1请求,低电平有效③T0:定时器、计数器0溢出中断请求④T1:定时器、计数器1溢出中断请求⑤TX/RX:串行接口中断请求(2)通过对特殊功能寄存器TCON、SCON、IE、IP的各位进行置位或复位等操作,可实现各种中断控制功能5、什么是中断优先级?中断优先处理的原则是什么?答:中断优先级是CPU相应中断的先后顺序。
原则:(1)先响应优先级高的中断请求,再响应优先级低的(2)如果一个中断请求已经被响应,同级的其它中断请求将被禁止(3)如果同级的多个请求同时出现,则CPU通过内部硬件查询电路,按查询顺序确定应该响应哪个中断请求查询顺序:外部中断0→定时器0中断→外部中断1→定时器1中断→串行接口中断6、说明外部中断请求的查询和响应过程。
答:当CPU执行主程序第K条指令,外设向CPU发出中断请求,CPU接到中断请求信号并在本条指令执行完后,中断主程序的执行并保存断点地址,然后转去响应中断。
单片机原理及应用第三版课后答案
单片机原理及应用第三版课后答案1. 第一章题目答案:a) 单片机的定义: 单片机是一种集成电路,具有CPU、存储器和输入输出设备等功能,并且可以根据程序控制进行工作的微型计算机系统。
b) 单片机的核心部分是CPU,它可以通过执行程序指令来完成各种计算、逻辑和控制操作。
c) 存储器分为程序存储器和数据存储器,程序存储器用于存放程序指令,数据存储器用于存放数据和暂存中间结果。
d) 输入输出设备用于与外部环境进行数据交换,如开关、LED、数码管等。
e) 单片机的应用广泛,包括家电控制、智能仪器、工业自动化等领域。
2. 第二章题目答案:a) 单片机中的时钟系统用于提供CPU运行所需的时序信号,常见的时钟源有晶体振荡器和外部信号源。
b) 时钟频率决定了单片机的运行速度和精度,一般通过控制分频器、定时器等来调整时钟频率。
c) 单片机中的中断系统用于处理紧急事件,如外部输入信号、定时器溢出等,可以提高系统的响应能力。
d) 中断源包括外部中断、定时器中断和串口中断,通过编程设置中断向量和优先级来处理不同的中断事件。
e) 中断服务程序是处理中断事件的程序,包括保存现场、执行中断处理和恢复现场等步骤。
3. 第三章题目答案:a) I/O口是单片机与外部设备进行数据交换的接口,包括输入口和输出口两种类型。
b) 输入口用于接收外部信号,如开关、传感器等,可以通过编程设置输入口的工作模式和读取输入口的状态。
c) 输出口用于控制外部设备,如LED、继电器等,可以通过编程设置输出口的工作模式和输出口的状态。
d) I/O口的工作模式包括输入模式、输出模式和双向模式,可以根据具体应用需求设置相应的模式。
e) 串行通信接口是单片机与外部设备进行数据传输的一种常见方式,包括UART、SPI和I2C等多种通信协议。
4. 第四章题目答案:a) 定时器的作用是产生指定时间间隔的定时信号,可以用于延时、计时、PWM等功能。
b) 单片机的定时器一般由计数器和一些控制寄存器组成,通过编程设置定时器的工作模式和计数值。
烟台大学单片机第5章作业及答案
第5章 MCS - 51单片机的中断
作业:
4、5、8
第5章 MCS - 51单片机的中断
4
4、简述MCS-51单片机的中断响应过程。
10
程序存储器的任意地址(Add16)
处,执行相应的中断程序.
IE IP EA X X X ET2 PT2 ES ET1 EX1 ET0 EX0 PS PT1 PX1 PT0 PX0
2、设定所用中断源的中断优先级; 3、若为外部中断,则应规定低电平还是负边沿的中断触发方式。 请写出INT1为低电平触发的中断系统初始化程序.
解(1)采用位操作指令 SETB EA SETB EX1 ; 开INT1中断 (2)采用字节型指令 MOV IE, #84H ; 开INT1中断
ORL IP, #04H ;令INT1为高优先级 ANL TCON, #0FBH ; 令INT1为 电平触发
SETB PX1 ;令INT1为高优先级 CLR IT1 ; 令INT1为电平触发
第5章 MCS - 51单片机的中断 10、MCS-51的中断服务程序能否存放在64KB程序 存储器的任意区域?如何实现? 答:可以。 在相应的中断源的中断程序入口 地址处,用一条长跳转指令 (LJMP Add16),转到相应64K
答:单片机一旦响应中断请求, 就由硬件完成以下功能:
(1) 根据响应的中断源的中断优先级, 使相应的优先级状 态触发器置 1;
(2) 执行硬件中断服务子程序调用, 并把当前程序计数器
PC的内容压入堆栈(串行口中断请求标志 RI和 TI除外);
单片机第五章习题解答(word文档良心出品)
第五章单片机接口技术习题解答1.简述单片机系统扩展的基本原则和实现方法。
(1)以P0作数据/地址总线,此地址总线是系统总线的低8位。
(2)P2口作高8位地址总线。
(3)控制总线:使用ALE作为地址锁存选通信号,以实现低8位地址锁存。
以PSEN信号作为扩展程序存储器的读选通信号。
以EA信号作为片内或片外程序存储器的选择信号。
以WR和RD作为片外数据存储器的读/写选通信号,当执行片外数据存储器操作指令MOVX时,这两个信号分别自动生成。
2.如何构造MCS-51单片机的系统总线?单片机扩展时,为了便于与各种芯片相连接,应把单片机的外部总线变成一般微机所具有的三总线结构形式,即地址总线、数据总线、控制总线。
MCS-51单片机数据总线由P0口提供。
地址总线的低8位A7~A0由P0口经地址锁存储器提供,高8位A15~A8由P2口直接提供。
控制总线由P3口的第二功能扩展出读/写控制信号,包括WR,RD,PSEN,ALE,EA。
3.在MCS-51单片机中,程序存储器器和数据存储器的地址空间均为0000H~FFFFH,在访问它们时,会发生地址冲突吗?为什么?不会。
扩展片外数据存储器和程序存储器的地址线、数据线由P0口和P2口提供,但数据存储器读写控制线是用WR、RD扩展线,而不使用PSEN。
外部程序存储器时所使用的控制信号是PSEN。
因此,数据存储器和程序存储器地址空间完全重叠,不会发生地址冲突。
4.系统扩展中低8位地址为什么需要用外部地址锁存器,而高8位地址却不需要锁存?地址总线的低8位A7~A0由P0口经地址锁存储器提供,高8位A15~A8由P2口直接提供。
由于P0口是数据、地址分时复用的,故P0口输出的低8位地址必须用锁存器进行锁存。
P2口一直提供高8位地址,故不需要外加地址锁存器。
5. MCS-51单片机可以外接64KB的片外程序存储器和64KB的片外数据存储器。
这两种片外存储器共处同一地址空间而不会发生总线冲突,主要依靠单片机外引脚上的哪些信号来区分?片外程序存储器靠单片机引脚上的PESN信号访问;片外数据存储器则靠RD或WR信号访问。
单片机原理及应用(高教第二版)第5章参考答案及解析
第5章 AT89S51的中断系统参考答案及解析:1.答:0013H;001BH解析:P93 表5-2,由表各中断源入口地址2.答:串行口中断;T1溢出中断解析:P92 由于(IP)=00010100B,PS=1,PX1=1,故串行口、外部中断1中断为高优先级,其余为低优先级,再由表5-1,同级中断查询次序T1溢出中断为最低3.答:P96 设置中断允许控制寄存器IE,允许相应的中断请求源中断。
设置中断优先级寄存器IP,确定并分配所使用的中断的优先级。
若是外部中断源,还要设置中断请求的触发方式IT0或IT1,以决定采用电平触发方式还是跳沿触发方式。
中断程序返回使用RETI指令,RETI指令在返回的同时清除相应的优先级触发器,以允许下次中断,而普通子程序RET指令则没有这个操作。
4.答:D解析:P88 5.2.2 5个中断源的中断请求标志分别由特殊功能寄存器TCON和SCON的相应位锁存。
5.答:P94 5.5在一个单一中断的系统里,AT89S51单片机对外部中断请求的响应时间总是在3~8个机器周期之间。
推迟对外部中断请求的响应:P94 5.4(1)A T89S51正在处理同级或更高优先级的中断。
因为当一个中断被响应时,要把对应的中断优先级状态触发器置1(该触发器指出CPU所处理的中断优先级别),从而封锁了低级中断请求和同级请求。
(2)所查询的机器周期不是当前正在执行指令的最后一个机器周期。
设定这个限制的目的是只有在当前指令执行完毕后,才能进行中断响应,以确保当前指令执行的完整性。
(3)正在执行的指令是RETI或是访问IE或IP的指令。
因为按照AT89S51中断系统的规定,在执行完这些指令后,需要再执行完一条指令,才能响应新的中断请求。
如果存在上述三种情况之一,AT89S51将丢弃中断查询结果,将推迟对外部中断请求的响应。
6.答:D解析:P94(A)如果已在处理同级或更高级中断,外部中断请求的响应时间取决于正在执行的中断服务程序的处理时间,这种情况下,响应时间就无法计算了。
单片机习题集(第五章)答案
0100 0000 0000 0000~0101 1111 1111 1111;即3000H~5FFFH;
9、试用一片74LS373扩展一个并行输入口,画出硬件连接图,指出相应的控制命令。
硬件电路图如下:74LS373的输入端为扩展的输入口,输出端接8051的数据总路线P0口,控制端接高电平,输出允许由片外数据存储器读信号RD和P2.0控制。当片外数据存储器读信号RD和P2.0同为低平时从74LS373中读入输入的数据。
第五章习题
本次作业采用纸质提交
1、什么是MCS-51单片机的最小系统?
所谓最小系统,是指一个真正可用的单片机的最小配置系统。对于单片机内部资源已能够满足系统需要的,可直接采用最小系统。
2、简述存储器扩展的一般方法。
存储器芯片与单片机扩展连接具有共同的规律。即不论何种存储器芯片,其引脚都呈三总线结构,与单片机连接都是三总线对接。另外,电源线接电源线,地线接地线。
使用2764(8K8)芯片通过部分译码法扩展24KB程序存储器,须要3块。采用线译码,P2.5与第一片2764的CE相连,P2.6与第二片2764的CE相连,P2.7与第三片2764的CE相连,硬件连接如下:
地址空间如下:
第一片:
1100 0000 0000 0000~1101 1111 1111 1111;即C000H~DFFFH;
3、什么是部分译码?什么是全译码?它们各有什么特点?用于形成什么信号?
部分译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线仅用一部分参加译码。部分译码使存储器芯片的地址空间有重叠,造成系统存储器空间的浪费。全译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线全部参加译码。这种译码方法中存储器芯片的地址空间是唯一确定的,但译码电路要相对复杂。译码形成存储器芯片的片选信号线 。
单片机的第五章习题答案
单片机的第五章习题答案第五章习题参考答案一、填空题:1、工作方式1。
2、工作方式0。
3、单工,半双工,全双工。
4、起始位,数据位,奇偶较验,停止位。
5、工作模式3。
6、T1。
7、SUBF。
8、串行数据通信。
9、93000,186000。
10、串行通信11、异,412、串行二、选择题:1、C2、C3、D4、D5、D6、C三、简答题:1、答:异步通信与同步通信的区别:1)异步通信中,数据以字符为单位组成字符帧传送;同步通信传送的是数据块,字符与字符间没有间隙,不用起始位和停止位,仅在数据块开始时用SYNC来指示。
2)异步通信中,发送端和接收端由各自独立的时钟来控制数据的发送和接收,两个时钟独立,互不同步。
同步通信中,要求用时钟实现发送端和接收端的同步。
3)异步通信数据传送速率比同步通信低,但准确度高,实现起来也较简单。
异步通信的格式是:起始位,数据位,奇偶校验位,停止位。
2、答:工作方式0下,串行口作同步移位寄存器用,移位数据的发送和接收以8位为一帧,这种方式常用作扩展I/O 口。
方式1为波特率可调8位通用异步通信接口。
发送和接收一帧信息为10位。
方式2、3下,串行口为9位异步通信接口,发送、接收一帧信息为11位。
3、串行通信的标准有RS-232,RS-422,RS-485等。
4、在实际应用中,为减少误码率,通信距离越远,通信速率应取低一些。
5、传输线采用双绞线,在传输线末端接120欧姆的电阻进行阻抗匹配。
四、计算题:1、设f OSC 为6MHz ,利用定时器T1工作于方式2产生600bps 的波特率,试计算定时器初值。
波特率=n SMOD ?32/2,得出1)SMOD=0,n=19200据)]256(12/[x fosc n -?=,X=230,即X=E6H2)SMOD=1,n=9600据)]256(12/[x fosc n -?=,X=204,即X=CCH2、波特率=(1800/60)*10=300 bps五、编程题:1、8051以方式1工作,设主频6M ,波特率为600bps ,编制程序将MCS-51单片机片内RAM30H ~3FH 的数据通过串行口传送到乙机片内RAM40H ~4FH 单元中(接收分别采用查询方式和中断方式)。
单片机第五章习题答案
第五章习题答案第五章习题答案5-1 什么是中断系统?中断系统的功能是什么?什么是中断系统?中断系统的功能是什么?实现中断功能的硬件和软件称为中断系统. 中断系统功能包括进行中断优先排队、实现中断嵌套、自动响应中断和实现中断返回。
中断系统功能包括进行中断优先排队、实现中断嵌套、自动响应中断和实现中断返回。
5-2 什么是中断嵌套?什么是中断嵌套?CPU 在响应某一个中断源中断请求而进行中断处理时,若有中断优先级更高的中断源发出中断请求,CPU 会暂停正在执行的中断服务程序,转向执行中断优先级更高的中断源的中断服务程序,等处理完后,再返回继续执行被暂停的中断服务程序,这个过程称为中断嵌套。
5-3 什么是中断源?MCS-51有哪些中断源?各有什么特点?有哪些中断源?各有什么特点?①实现中断功能的硬件和软件称为中断系统,产生中断请求的请求源称为中断源. ②5个中断源中共有两个外部中断、两个定时中断和一个串行中断。
个中断源中共有两个外部中断、两个定时中断和一个串行中断。
(1)外部中断源)外部中断源外部中断是由外部原因(如打印机、键盘、控制开关、外部故障)引起的,可以通过两个固定引脚来输入到单片机内的信号,即外部中断0(INT0)和外部中断1(INT1)。
(2)定时中断类)定时中断类定时中断是由内部定时(或计数)溢出或外部定时(或计数)溢出引起的,即T0和T1中断。
中断。
(3)串行口中断类)串行口中断类串行口中断是为接收或发送一帧串行数据,硬件自动使RI 和TI 置1,并申请中断,并申请中断 5-4 MCS-51单片机响应外部中断的典型时间是多少?在哪些情况下,CPU 将推迟对外部中断请求的响应?中断请求的响应?(1)MCS-51单片机的最短响应时间为3个机器周期,最长响应时间8个机器周期。
个机器周期。
(2)有下列任何一种情况存在,则中断响应会受到阻断。
)有下列任何一种情况存在,则中断响应会受到阻断。
① CPU 正在执行一个同级或高一级的中断服务程序;正在执行一个同级或高一级的中断服务程序;② 当前的机器周期不是正在执行的指令的最后一个周期,即正在执行的指令还未完成前,任何中断请求都得不到响应;前,任何中断请求都得不到响应;③ 正在执行的指令是返回指令或者对专业寄存器IE 、IP 进行读/写的指令,此时。
单片机作业答案第5、6、7、8章教材
第5、6、7、8章习题一、问答题1.说明51单片机读端口锁存器的必要性,为什么?答:MCS-51系列单片机有不少指令可以直接进行端口操作,例如:ANL、ORL、XRL、JBC、CPL、INC、DEC、DJNZ、MOV PX.x,C、CLR PX.x、SETB PX.x。
这些指令的执行过程分成“读-修改-写”三步,即先将端口的数据读入CPU,在ALU中进行运算,运算结果再送回端口。
执行“读-修改-写”类指令时,CPU实际上是通过三态门读回锁存器Q端的数据。
这种读锁存器的方式是为了避免可能出现的一种错误。
例如,用一根口线直接去驱动端口外的一个NPN晶体管基极,当向口线写“1”时,该晶体管导通,导通了的三极管集极与发射极间只有0.7V,会把端口引脚的高电平拉低,这样直接读引脚就会把本来的“1”误读为“0”。
但若从锁存器Q端读,就能避免这样的错误,得到正确的数据。
也就是说,如果某位输出为1时,有外接器件拉低电平, 读端口引脚与读锁存器就有区别了,读锁存器状态是1,读引脚状态是0,锁存器状态取决于单片机企图输出什么电平,引脚状态则是引脚的实际电平。
因此,当作为读引脚方式使用时,应先对该口写“1”,使场效应管截止,再进行读操作,以防止场效应管处于导通状态,使引脚为“0”,而引起误读。
2.请说明为什么使用LED需要接限流电阻,当高电平为+5V时,正常点亮一个LED需要多大阻值的限流电阻(设LED的正常工作电流为8~mA,导通压降为0.6V),为什么?答:因为LED导通时,电压降是基本固定的(如0.6V)。
为了使LED既能正常工作(电流为8~20mA),又不至于被过大的电流损坏,所以必须加一个限流电阻,电阻值为100~500Ω。
3.简述在使用普通按键的时候,为什么要进行去抖动处理,如何处理。
答:键抖动会引起一次按键被误读多次。
为了确保CPU对键的一次闭合仅做一次处理,有必要去除键抖动。
在键闭合稳定时,读取键的状态;在键释放稳定后,再作处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.试编制一个子程序将字符串‘51 ’装入外部8000H开始的显
示缓冲区。
0000H
0030H
: , #8000H
R1, #0
R0, #20
LOOP: A, R1
A, #5
A,
, A ;1B
;1B
R1 ;1B
R0, LOOP ;3B
: ‘M’,’C’,’S’,’-‘,’5’,’1’,’‘,’M’,’i’,’c’,’r’,’o’
‘c’,’o’,’m’,’p’,’u’,’t’,’e’,’r’
6.试设计一个n字节的无符号十进制数加法子程序,其功能为将(R0)和(R1)指出的内部中两个n字节压缩码无符号十进制数相加,结果存放于被加数单元中。
子程序入口时,R0,
R1分别指向被加数和加数的低位字节,字节数n存于R2,出口时R0指向和的最高位字节,为进位位。
30
0000H
MAIN
0030H
MAIN: . #60H
R2,
$
: C
LOOP: A, 0
A, 1
A
0, A
R0
R1
R2, LOOP
8.试设计一个程序,其功能为判断(R2R3R4R5)中压缩码十进制最高位是否为零,若最高位为0,且该十进制数不为0,
则通过左移使最高位不为0。
0000H
MAIN
0030H
MAIN: A, R2
A, #80H
C
LOOP: A, R5
A
R5, A
A, R4
A
R4, A
A, R3
A
R3, A
A, R2
A
R2, A
A, #80H
LOOP
: $
9. 试设计一个双字节无符号整数乘法子程序,其功能为将(R3R2)和(R5R4)相乘,积存放于3033H 。
L L
L
×
L
+
: R7, #04 ;结果单元清0
R0, #33H
: 0,#00H R7,
A , R2 ;取被乘数低位字节
B , R4 ;取乘数低位字节R4
;R4×R2
;调用乘积相加子程序
A , R2
;取被乘数低位字节 R2
B,R5 ;取乘数高位字节R5
;R5×R2
R0 ;积字节指针减1
;调用乘积相加子程序
A,R4
B,R3
;R4×R3
R0
R0
A,R5
B,R3
;R5×R3
R0
R0
:A,0 ;累加子程序
0,A
A,B
R0
A,0
0,A
R0
A,0
A,#00H ;加进位
0,A
11.试设计一个子程序,其功能为将(R0)指出的内部中6个单字节正整数按从小到大的次序重新排列。
2: R4, #5
F0
00H 0入栈
01H ;出栈赋给R1
R1
0: A, R4
R5, A
1: A, 0
B, A
A, 1
A, B,
:
F0
0, A
A, B
1, A
: R0
R1
R5, 1
F0,
R4, 0
:
12.试设计一个子程序,其功能为查表指令:A,,求累加器(A)的平方值,结果送A,入口时(A)<15。
: A,#1
A,
: 0,1,4,9,…,225。