单片机__第四章答案

合集下载

单片机第4章习题答案

单片机第4章习题答案

第4章习题答案一、填空题1.机器语言2.机器汇编、手工汇编3.AREA1=1000H、BUF=1004H、TIME=01H、ACK=1006H4.(A)=4FH、(R0)=4BH、(R1)=E5H、(21H)=D8H、(22H)=4BH、(2FH)=E5H二、简答题1.什么叫伪指令?伪指令与指令有什么区别?答:所谓伪指令又称为伪操作,它不象机器指令那样是在程序运行期间由计算机来执行的,它是在汇编程序对源程序汇编时,由汇编程序处理的操作,它们可以完成如数据定义、分配存储器、指示程序结束等功能。

2.汇编语言的格式是怎样的?汇编语言语句格式为:标号:操作码操作数;注释3.MCS-51系列单片机有哪些伪指令?它们的用途是什么?(1)编起始地址命令ORG功能:规定此命令之后的程序或数据的存放起始地址。

(2)定义字节伪指令格式:[标号:] DB X1,X2, (X)功能:从指定地址开始,存放若干字节数据。

(3)字定义伪指令格式:[标号:] DW Y1,Y2,…,Yn功能:从指定地址开始,存放若干字数据。

(4)汇编结束伪指令END功能:该伪指令指出结束汇编,即使后面还有指令,汇编程序也不处理。

(5)赋值伪指令格式:标号 EQU 表达式功能:将表达式的值(数据或地址)赋给标号。

(6)位定义伪指令格式:[标号] BIT 位地址功能:将位地址赋给标号。

4.汇编语言程序设计分为哪几个步骤?答:汇编语言程序设计一般要经过以下几个步骤:(1)分析问题,明确任务(2)确定算法(3)画出程序流程图(4)编写源程序(5)汇编和调试5.结构化程序设计有哪几种常用的程序结构?答:顺序结构、分支结构、循环结构和子程序结构6.子程序调用时,参数的传递方法有哪几种?答:常用的参数传递方法有:工作寄存器或累加器、指针寄存器、堆栈和程序段等。

7.分析下列程序的功能。

X DATA 30HY DATA 32HMOV A,XJNB ACC.7,TRUECPL AADD A,#01HTRUE:MOV Y,A答:该段程序的功能是:当30H单元的最高位不为0时,则把30H单元的内容送32H 单元,当30H单元的最高位为0时,则把30H单元的内容求反加1后送32单元。

单片机第四章习题答案

单片机第四章习题答案

第 4 章 单片机内部功能模块习题解答1. 什么是中断?中断有何优点?中断是指计算机在执行程序的过程中,由于计算机系统外界或内部发生某一紧急事件,要求CPU 暂时中止当前的工作转去处理所发生的紧急事件,待处理完后再回到原来被中止的地方,继续原来的工作的过程。

在计算机中引入中断技术具有以下优点:(1)可以提高CPU 的工作效率;(2)便于实时处理;(3)便于故障处理,提高系统的稳定性。

2. MCS-51单片机的中断系统有哪些功能部件组成?分别作什么用?MCS-51单片机的中断系统有4个与中断有关的特殊功能寄存器(TCON 、SCON ),中断允许控制寄存器IE ,中断优先级寄存器IP 和中断顺序查询逻辑等组成。

其功能分别为:TCON 用于寄存定时器T0、T1的溢出中断和外部0INT 、1INT 的中断请求及设置外部中断的触发方式;SVON 的低2位用于作串行发送和接收中断标志;IE 用于设置各中断源允许和禁止;IP 用于设置各中断源的优先级别;中断查询逻辑用于确定中断响应的次序。

3. MCS-51单片机有几个中断源?各中断标志如何产生,又如何清除?MCS-51有五个中断源,它们是:(1)外部中断0(0INT )中断,低电平有效。

通过P3.2引脚引入。

(2)外部中断1(1INT )中断,低电平有效。

通过P3.3引脚引入。

(3)定时/计数器0(T0)溢出中断。

(4)定时/计数器1(T1)溢出中断。

(5)串行口中断,当串行口完成一帧数据的发送和接收时,便请求中断。

中断标志位产生与复位:(1)外部中断0(0INT )中断标志:当外部中断0引脚0INT 上的电平由1变为0时,IE0由硬件置“1”,外部中断0请求中断。

在CPU 响应该中断时由硬件清0。

(2)外部中断1(1INT )中断标志:当外部中断1引脚1INT 上的电平由1变为0时,IE1由硬件置“1”,外部中断1请求中断。

在CPU 响应该中断时由硬件清0。

单片机原理及应用第三版课后答案

单片机原理及应用第三版课后答案

单片机原理及应用第三版课后答案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) 单片机的定时器一般由计数器和一些控制寄存器组成,通过编程设置定时器的工作模式和计数值。

单片机习题集答案(第四章)

单片机习题集答案(第四章)

第四章习题1、何为“准双向I/O接口”?在MCS-51单片机的四个并口中,哪些是“准双向I/O接口”?准双向I/O接口是能实现输入输出功能,但在使用时只能从输入和输出中选择一个。

MCS-51单片机的四个并口中P1、P2、P3是准双向I/O接口。

2、80C51单片机有几个定时/计数器?它们由哪几个功能寄存器组成?怎样实现定时功能和计数功能?80C51单片机内部有两个16位的可编程定时/计数器,由TH0,TL0,TH1,TL1,TMOD和TCON功能寄存器组成。

通过TMOD中的C/T位选择对机器周期计数实现计数功能,选择对外部脉冲计数实现计数功能。

3、定时/计数器T0有几种工作方式?各自的特点是什么?M1M0工作方式方式说明00013位定时/计数器01116位定时/计数器1028位自动重置定时/计数器113两个8位定时/计数器(只有T0有)4、定时/计数器的四种工作方式各自的计数范围是多少?如果要计10个单位,不同的方式的初值应是多少?有四种方式。

方式0计数范围:1~8192;方式1计数范围:1~65536;方式2计数范围:1~256;方式3计数范围:1~256。

如果计10个单位,方式0初值为:8192-10=8182;方式1初值为:65536-10=65526;方式2初值为:256-10=246;方式2初值为:256-10=246。

5、设振荡频率为12MHz,如果要用定时器T0产生周期为100ms的方波,可以选择哪几种方式,其初值分别是多少?只能选择方式1,初值为65536-50000=155366、何为同步通信?何为异步通信?各自的特点是什么?异步通信方式的特点是数据在线路上传送时是以一个字符(字节)为单位,未传送时线路处于空闲状态,空闲线路约定为高电平“1”。

特点是对发送时钟和接收时钟的要求相对不高,线路简单,但传送速度较慢。

同步通信方式的特点是数据在线路上传送时以字符块为单位,一次传送多个字符,传送时须在前面加上一个或两个同步字符,后面加上校验字符。

第4章单片机原理课后答案(最新整理)

第4章单片机原理课后答案(最新整理)

习题1.C51特有的数据类型有哪些?答:C51特有的数据类型有位型bit、特殊位型sbit、8位特殊功能寄存器型sfr和16位特殊功能寄存器型sfr16。

2.C51中的存储器类型有几种,它们分别表示的存储器区域是什么?答:C51中的存储器类型有6种,分别表示的存储器区域是:data:直接寻址的片内RAM低128B,访问速度快bdata:片内RAM的可位寻址区(20H~2FH),允许字节和位混合访问idata:间接寻址访问的片内RAM,允许访问全部片内RAMpdata:用Ri间接访问的片外RAM低256Bxdata:用DPTR间接访问的片外RAM,允许访问全部64KB片外RAMcode:程序存储器ROM 64KB空间3.在C51中,bit位与sbit位有什么区别?答:bit位类型符用于定义一般的位变量,定义的位变量位于片内数据存储器的位寻址区。

定义时不能指定地址,只能由编译器自动分配。

sbit位类型符用于定义位地址确定的位变量,定义的位变量可以在片内数据存储器位寻址区,也可为特殊功能寄存器中的可位寻址位。

定义时必须指明其位地址,可以是位直接地址,也可以是可位寻址的变量带位号,还可以是可位寻址的特殊功能寄存器变量带位号。

4.在C51中,通过绝对地址来访问的存储器有几种?答:绝对地址访问形式有三种:宏定义、指针和关键字“_at_”。

5.在C51中,中断函数与一般函数有什么不同?答:中断函数是C51的一个重要特点,C51允许用户创建中断函数。

中断函数用interrupt m修饰符,m的取值为0~31,对应的中断情况如下:0——外部中断01——定时/计数器T02——外部中断13——定时/计数器T14——串行口中断5——定时/计数器T2中断函数需要注意如下几点。

(1)中断函数不能进行参数传递(2)中断函数没有返回值(3)在任何情况下都不能直接调用中断函数(4)如果在中断函数中调用了其他函数,则被调用函数所使用的寄存器必须与中断函数相同(5)C51编译器对中断函数编译时会自动在程序开始和结束处加上相应的内容(6)C51编译器从绝对地址8m+3处产生一个中断向量(7)中断函数最好写在文件的尾部,并且禁止使用extern存储类型说明6.按给定的存储类型和数据类型,写出下列变量的说明形式。

单片机第四章课后答案.

单片机第四章课后答案.

00000000000
0800H~0FFFH 00001
②数据线 2716的8位数据线直接与单片机的P0口相连。因此P0 口是一个分时复用的地址/数据线
③控制线 CPU执行2716中存放的程序指令时,取指阶段就是对 2716进行读操作。
注意:CPU对EPROM只能进行读操作, 不能进行写操作。
CPU对2716的读操作控制都是通过控制线实现的,2716控制线的 连接有以下几条: CE 直接接地,若同时扩展多片,需通过译码器来完成片选工作 OE 接8031的读选通信号 PSEN 端。在访问片外程序存储器时, 只要 PSEN 端出现负脉冲,即可从2716中读出程序。
如:MOV SCON,#0F0H;设串口为方式3,SM2=1,允许接收 (3)各从机接收到地址信息,因为RB8=1,则置中断标志RI,中断后,首先判断主 机送过来的地址信息与自己的地址是否相符,对于地址相符的从机,置SM2=0, 以接收主机随后发来的所有信息;对于地址不相符的从机,保持SM2=1的状态, 对主机随后发来的信息不理睬,直到发送新的一帧地址信息。 (4)主机发送控制指令和数据信息给被寻址的从机。其中,主机置TB8=0,表 示发送的是数据或控制指令。对于没选中的从机,因为SM2=1,RB8=0,所以 不会产生中断,对主机发送的信息不接收
(5)连线说明: ①地址线 单片机扩展片外存储器时,地址是由P0和P2口提供的。 2716的11条地址线(A0~A10)中,低8位A0 ~A7通过锁存器 74LS373与P0口连接,高3位A8~A10直接与P2口的P2.0~P2.2连接 由于P2口只用作地址总线,所以高三位地址信息的传送不必加用地 址锁存器。锁存器的锁存使能端G必须和单片机的ALE管脚相连。 但必须注意:P2口既已用于传送片外程序存储器的地址 ,余下的引脚也不能再作为一般的I/O引脚

单片机第4章习题参考答案.docx

单片机第4章习题参考答案.docx

第4章部分习题答案作业:7、8、9、10、11、15、17、19、204.7设内部RAM 20H单元有两个非零的BCD数, 编写求两个BCD数的积并把积送入21H单元的程序。

ORG 1000HMOV A, 20HMOV B, A ; 保存SWAP AANL A, #0FH ;取高4位ANL B, #0FH ;取低4位MUL ABMOV B, #0AHDIV AB ;转换成BCD码的形式SWAP AORL A, BMOV 21H, ASJMP $END4.8已知从内部RAM BLOCK单元开始存放有一组带符号数,数的个数存放在LEN单元。

编写可以统计正数和负数个数并分别存入NUM和NUM+1单元的程序。

num org lOOOh data 30hlen data 20hblock data 40hmov rO, #blockmov num, #00h ;保存正数个数mov b, #00h ;保存负数个数loop: mov a, @r0inc rOjb acc.7, neginc numsjmp nextneg: inc bnext: djnz len, loopmov num+1, bsjmp $end 4.9设X为一无符号数,存放在内部RAM的VAX 单元,Y存放在FUNC单元。

编写满足如下关系的程序:X X>50Y =(5X 50> X > 202X X<20org 2000hvax data 20hfunc data 30hmov a, vaxcjne a, # 32h, complcompl: jc nextlmov func, asjmp donenextl: cjne a, #14h、comp2comp2: jc next2mov b, #05hmul abmov func, asjmp donenext2: clr crlc amov func, adone: sjmp $end4.10在例4.6的128分支程序中,若用LJMP指令代替AJMP指令,以便分支程序可以放在64KB地址范围的任何位置。

单片机习题参考答案4章

单片机习题参考答案4章

第4章 AT89C51单片机汇编语言程序设计1.已知程序执行前有A = 02H,SP = 42H,(41H) = FFH,(42H) = FFH。

下述程序执行后,A = ;SP = ;(41H) = ;(42H) = ;PC = 。

POP DPHPOP DPLMOV DPTR,#3000HRL AMOV B,AMOVC A,@A+DPTRPUSH AccMOV A,BINC AMOVC A,@A+DPTRPUSH AccRETORG 3000HDB 10H,80H,30H,80H,50H,80H答:A=80H,SP=40H,(51H)=50H,(52H)=80H ,PC=8050H。

2.说明伪指令的作用。

“伪”的含义是什么?常用伪指令的功能如何?答:伪指令不属于指令系统中的汇编语言指令,它是程序员发给汇编程序的控制命令。

只有在汇编前的源程序中才有伪指令。

所以“伪”体现在汇编后,伪指令没有相应的机器代码产生。

3.解释手工汇编、机器汇编、交叉汇编、反汇编术语概念。

答:(1)手工汇编:手工编程,首先把程序用助记符指令写出,然后通过查指令的机器代码表,逐个把助记符指令“翻译”成机器代码,这种人工查表“翻译”指令的方法称为手工汇编。

(2)机器汇编:是借助于微型计算机上的软件(汇编程序)来代替手工汇编,完成把助记符指令“翻译”成机器代码的工作。

(3)交叉汇编:使用微型计算机来完成汇编,而汇编后得到的机器代码却是在另一台计算机(这里是单片机)上运行,称这种机器汇编为交叉汇编。

(4)反汇编:将二进制的机器代码语言程序翻译成汇编语言源程序的过程。

4.下列程序段经汇编后,从1000H开始的各有关存储单元的内容是什么?ORG 1000HTAB1 EQU 1234HTAB2 EQU 3000HDB "MAIN"DW TAB1,TAB2,70H答:4D 41 49 4E 12 34 30 00 00 705.设计子程序时应注意哪些问题?答:在编写子程序时应注意以下问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ORG START:MOV CLR 0000H TMOD, #02H;定时器T0工作方式2 P1.0 ;设置方波的起始状态
250μs
MOV TL0, #83H;送计数初值, MOV TH0, #83H; 保证定时时间始终为125μs SETB TR0 ;启动定时器 LOP: JBC TF0, $ ;等待125μs定时到 JNB P3.0,L0;P3.0=0 JNB P3.1,L1;P3.1=0,P3.0=1,产生1kHz方波 CPL P1.0 ;P3.1=1,P3.0=1,产生4kHz方波 SJMP LOP ;产生连续的方波 L0: JNB P3.1,L2 ;P3.1=0,P3.0=0,产生0.5kHz方波 ;P3.1=1,P3.0=0, P1.0产生2kHz方波 CPL 00H ;改变00H的状态;00H,产生4kHz方波 JNB 00H,LOP CPL P1.0 ;00H位的上升沿,改变P1.0的状态,产生2kHz方波 S式:ORG 0000H START:MOV TMOD, #10H ;(主程序开始)定时器T1工作方式1 CLR P1.0 ;设置方波的起始状态 MOV TL1, #0A1H MOV TH1, #0FEH ;送初值,保证定时时间为350us SETB P1.0 SETB TR1 ;启动定时器 LOOP:JNB TF1, $ ;查询是否溢出, CLR TF1 ;清溢出标志,以便下次判断 JNB P1.0,N0 ;现在为低电平时,150us定时到,转移 MOV TL1, #69H;溢出处理 MOV TH1, #0FFH;再送计数初值,保证定时时间始终为150us SJMP N1 N0:MOV TL1, #0A1H;溢出处理 MOV TH1, #0FEH ;再送计数初值,保证定时时间始终为350us N1:CPL P1.0 ;改变P1.0的状态 SJMP LOOP ;产生连续的7:10的矩形波 END
第 4章 80C51的定时/计数器与中 断系统
思考题与习题
[思考题与习题] 1. 80C51单片机的定时/计数器的定时和计数两种功能各有什么 特点?脉冲源不同 2. 当定时/计数器的加1计数器计满溢出时, 溢出标志位TF1由硬 件自动置1,简述对该标志位的两种处理方法。查询软件清除和中 断硬件自动清除 3. 当定时/计数器工作于方式0时,晶振频率为12MHz,请计算最 小定时时间、最大定时时间、最小计数值和最大计数值。 最小计数值为1,最小定时时间为1us 最大计数值位213,最大计数时间为8.19ms 4. 80C51单片机的定时/计数器四种工作方式各有什么特点? 5.当定时/计数器T0用作方式3时,定时/计数器T1可以工作在何 种方式下? 0、1、2,如何控制T1的开启和关闭?设置工作方式 6. 硬件定时与软件定时的最大区别是什么? 不占用CPU 7. 根据定时/计数器0方式1逻辑结构图,分析门控位GATE取不同 值时,启动定时器的工作过程。
250μs L1:;P3.1=0,P3.0=1,产生1kHz方波 CPL 01H;改变01H的状态;01H产生4kHz方波 JNB 01H,LOP CPL 02H;改变02H的状态;02H,产生2kHz方波 JNB 02H,LOP CPL P1.0;02H位的上升沿,改变P1.0的状态产生1kHz方波 SJMP LOP L2:;P3.1=0,P3.0=0,产生0.5kHz方波 CPL 03H;改变03H的状态;03H产生4kHz方波 JNB 03H,LOP CPL 04H;改变04H的状态;04H,产生2kHz方波 JNB 04H,LOP CPL 05H;改变05H的状态;05H产生1kHz方波 JNB 05H,LOP CPL P1.0;05H位的上升沿,改变P1.0的状态产生0.5kHz方波 SJMP LOP END
10. 两只开关分别接入P3.0、P3.1,在开关信号4种不同的组合 逻辑状态,使P1.0分别输出频率0.5kHz、1kHz、2kHz、4kHz 的方波,晶振频率为12MHz。 查询方式。 解:①TMOD初始化: GATE=0 , C/T=0, M1M0=10B ②计算初值:方式2:X = 28 – t(fosc/12)=256-125(12/12)=83H
CLR CLR MOV MOV MOV SETB LOOP: JNB CLR MOV MOV INC CJNE MOV CPL JNB CPL SJMP END P1.0 ;设置方波的起始状态 P1.1 R2,#0 TL1, #0CH TH1, #0F0H ;送初值,保证定时时间为500us TR1 ;启动定时器 TF1, $ ;查询是否溢出,等待500us定时到 TF1 ;清溢出标志,以便下次判断 TL1, #0CH ;溢出处理 TH1, #0F0H ;再送计数初值,保证定时时间始终为500us R2 R2,#5 ,LOOP R2,#0 P1.0 ;改变P1.0的状态 P1.0,LOOP P1.1 ;P1.0的上升沿,改变P1.1的状态 LOOP ;产生连续的方波
8. 用方式0设计两个不同频率的方波,P1.0输出频率为200Hz, P1.1输出频率为 100Hz,晶振频率12MHz。
5ms 10ms
解:① TMOD初始化: GATE=0 , C/T=0, M1M0=00B ②计算定时500us初值:方式0:X = 213 - 500 = 7692 = 1E0CH ORG 0000H =1111000001100B START:MOV TMOD, #00H ;(主程序开始)定时器T1工作方式0
9. P1.0输出脉冲宽度调制(PWM)信号,即脉冲频率为2kHz、占 空比为7:10的矩形波,晶振频率12MHz。
方式1:X = 216 - t/T = 216 -1/2000*30%*12*106/12 =FF69H 方式1:X = 216 - t/T = 216 -1/2000*70%*12*106/12 = FEA1H
10. 两只开关分别接入P3.0、P3.1,在开关信号4种不同的组合 逻辑状态,使P1.0分别输出频率0.5kHz、1kHz、2kHz、4kHz 的方波,晶振频率为12MHz。 查询方式。 解:①TMOD初始化: GATE=0 , C/T=0, M1M0=10B ②计算初值:方式2:X = 28 – t(fosc/12)=256-125(12/12)=83H
相关文档
最新文档