单片机原理及接口技术第四版答案篇

;中断返回【篇二:单片机原理及接口技术课后答案】>第一章单片机具有哪些特点片内存储容量越来越大。括存储器、接口适配器以及输入输出设备等。嵌入式系统的出现最初是基于单片机的。写程序的时候就是通过定义程序状态字来选择使用不同的寄存器组。单片机汇编语言进行程序设计的步骤如何?

在三种情况下,AT89S51将延迟对外部中断请求的响应:(1) AT89S52正在处理相同级别或更高优先级的中断。(2) 查询的机器周期不是当前正在执行指令的最后一个机器周期。(3) 正在执行的指令是 RETI 或访问 IE 或 IP 的指令。如果存在这三个条件之一,AT89S52将放弃中断查询结果,并延迟对外部中断请求的响应。中断查询确认后,可在以下AT89S51单片机运行条件下立即响应。当前正在执行高优先级中断处理当前指令是 div 指令,并且处于获取指令的机器周期中,当前指令为 mov a, r3A: D. AT89S51 微控制器响应中断后,生成长调用指令Lcall,执行该命令的过程包括: 首先将 的内容压入堆栈进行断点保护,然后发送长调用指令的 16 位地址,从而发送程序执行转向中的中断地址区域。答:pc,pc,程序内存。写入外部中断 1 以初始化跳转触发的中断的程序段。答:参考程序部分如下:??setbsetb setb??在AT89S51的中断请求源中,实现中断撤销需要添加的为 答:在关卡模式下,外部中断请求跳转模式的中断响应需要满足哪些条件 答:需要满足哪些条件才能应答中断响应?答:要响应来自中断源的中断请求,必须满足以下条件:(1)打开允许中断的总开关,即IE寄存器中允许的中断位总数ea=1。

(2)中断源发送中断请求,即中断源对应的中断请求标有“1”。(3)中断源的中断位=1,即允许中断。(4) 没有相同级别或更高级别的中断。以下说法是正确的。答:A、C、D级的中断请求按时间顺序同时响应多个中断请求,会形成一个块,系统无法响应1 ex1 EA低优先级中断请求不能中断高优先级的中断请求,但高优先级的中断请求可以中断,同一级别的低优先级中断请求不能嵌套), 然后需要单片机进行处理,它们的优先级处理顺序从高到低分别为3、2、1,中断处理程序的入口地址分别为1000h、1100h、1200h。尝试编写主程序并中断服务子程序(转到对应中断处理程序的入口)。答:参考图4-10所示电路,参考程序如下:org ljmp org ljmp orgclrsetbsetb 0000h main 0013h int_ex1 0030h it0 ex1 ea;使用电平触发,低电平有效中断;允许外部中断 1 main:;插入用户程序 wait:ajmp wait;微控制器等待中断;以下是JBLJMPJB P1.2 int_ex1外部中断1服务子程序,next1 int_ir3;确定它是否是 IR3 中断;跳转到 IR3 中断处理程序;确定它是否是 IR2 中断;跳转到 IR2 中断处理程序 跳转到 IR1 中断处理程序 Next1: P1.1 , Next2 int_ir2 int_ir11000hljmp ljmp org Next2:int_ir3: 对应的中断处理程序 reti;interrupt 返回 org 1100hint_ir2:相应的中断处理程序 reti;中断返回组织 1200hint_ir1:对应的中断处理程序 reti;中断返回【第2部分:MCU原理及接口技术课后解答】 > 第1章 MCU有哪些特点,片上存储容量越来越大。

(2)抗干扰性好,可靠性高。(3)芯片引线齐全,易于扩展。(4)运行速度快,控制功能强。单片机内部的数据信息存储时间长,有的芯片可以达到100年以上。89C51微控制器主要包含哪些逻辑功能?答:80C51系列单片机在芯片上集成了以下主要逻辑功能: CPU(中央处理器):8位片上RAM:128B 特殊功能寄存器:21 程序存储器:4KB 并行 I/O 端口:8 位,4 串行接口:全双工,1 个定时器/计数器:16 位,2 个片上时钟电路:1 什么是微处理器 (CPU), 微电脑和微控制器?答:微处理器本身不是计算机,而是小型计算机或微型计算机的控制和处理部分。微机是除微处理器外,还具有完整计算和控制功能的计算机,包括存储器、接口适配器和输入输出设备。微控制器是在芯片上集成微处理器、RAM、ROM、I/O 端口、定时器和其他电路的微型计算机。微型计算机如何执行程序?答:通过CPU指令,它被带入内存,然后一个接一个地执行。什么是嵌入式系统?它的类型是什么?为什么微控制器是典型的嵌入式系统?嵌入式系统是先进计算机技术、半导体技术、电子技术结合各行业具体应用的产物,这就决定了它必须是一个技术密集型、资本密集型、高度分散、不断创新的知识集成系统。

它具有嵌入式微处理器、嵌入式微控制器、嵌入式 DSP 处理器、嵌入式片上系统等。嵌入式系统的出现最初是基于微控制器的。从架构到指挥系统,都是根据嵌入式应用的特点专门设计的,最能满足面向控制对象、嵌入应用系统、现场可靠运行、超凡的控制质量等要求。因此,她是一个典型的嵌入式系统。第 2 章 1.89C51 微控制器主要包含哪些逻辑功能?答:80C51系列微控制器在芯片中集成了以下主要逻辑功能: (l) CPU(中央处理器):8 位 (2) 片上 RAM:128B (3) 特殊功能寄存器:21 (4) 程序存储器:4kB (5) 并行 I/O 端口:8 位,4 (6) 串行接口:全双工,1 (7) 定时器/计数器:16 位,2 (8) 片上时钟电路:2.89c51 EA 的目的是什么?89c51的记忆是什么?答:ROM(片上ROM和片外ROM统一寻址)(使用MOVC)(数据传输指令)(16位地址)(64KB) 片外RAM(MOVX)(16位地址)(64KB) 片上RAM(MOV)(8位地址)(256B) 简要描述89C51片上RAM的空间分配。

答:片上RAM有256B,128B是真正的RAM区域,128B是SFR(特殊功能寄存器)区域,布尔处理存储器的空间分配在片上RAM中简要描述。答:芯片上的RAM区域在00H~FFH(256B)之间,其中20H~2FH(字节地址)是位寻址区域,对应的位地址是00H~7FH,如何轻松判断89C51是否正常工作?答:用示波器观察8051的XTAL2端是否有脉冲信号输出(判断振荡电路是否正常工作?)、ale(地址锁存使能)输出为6路FOSC,用示波器观察 ale有脉冲输出吗(判断8051芯片是好是坏?观察 psen(以确定 8051 是否可以将命令代码读取到 EPROM?),因为 /psen 连接到 eprom 的 /oe 终端 (rom) oe=output enable (output allows) 89c51 如何确定和更改当前工作寄存器组 答案:PSW(程序状态字)中的 RS1 和 RS0。4种组合可用于从4组工作寄存器中选择SPSW属于SFR(特殊功能寄存器)89C51 P0端口作为通用I/O端口输入,通过ttl“o门输入数据需要注意什么?答:读口锁存器和“读引脚”有什么区别?答:读锁锁(ANL p0,a相当于从内存中获取数据,而读取引脚是从外部获取数据(如mov a,p1这个指令是读取引脚,意思是将端口p1输入数据发送到a)发送类mov,判断传输jb,jnb,这些都是读引脚, 通常用于实验中经常使用这些指令与外界沟通,判断外界键盘等;字节交换 xch、xchd 算术和逻辑运算 orl、cpl、anl、add、addc、subb、inc、dec 控制传输 cjne 和 djnz 都是读取锁存器。

89C51 P0的结构有什么区别?P3端口?用作通用I/O端口的输入数据时应注意什么?答:P0端口内部没有上拉电阻,可作为16位地址的下8位,P3有第二功能,P2端口可作为16位地址的上8位;需要一个上拉电阻。超频栅极电路不能输出高低电平,只有通过上拉电阻才能实现89C51单片机的EA信号 EA信号的作用是什么 使用8031时,EA信号引脚应该如何处理 答:(1)80C51单片机EA的EA信号的作用是片外程序存储器允许的访问信号, 低水平活跃;编程时,当将21V的编程电压施加到EA引脚上以连接到高电平时,从片上程序存储器执行程序,即访问片上存储器;当EA引脚为低电平时,它迫使系统执行所有片外程序存储器程序。(2)使用80C31时,EA信号引脚的处理方式是因为80C31没有片上程序存储器,所以使用时必须有一个外部程序存储器,EA信号引脚应连接到低电平。89C51 微控制器需要芯片引脚以功能 2 的形式提供哪些信号?答:第一功能 第二功能串口:P3.0 RXD(串口输入口) P3.1 TXD(串口输出口) 中断:P3.2 int0 外部中断 0p3.3 int1 外部中断 1 定时器/计数器(t0、t1) :p3.4 T0(定时器/计数器 0 的外部输入) P3.5 T1(定时器/计数器 1 的外部输入) 数据存储器门控: P3.6 WR(外部存储器写入门控,低电平有效,输出) p3.7 RD(外部存储器读取门控,/输出) 定时器/计数器 ( T2 ) :p1.0 T2 (定时器 T2 的计数器端) P1.1 T2EX(定时器 T2 的外部输入) 内部 RAM 低 128 字节单元分为哪 3 个主要部分?每个部分的主要功能是什么?答:片上RAM下部128个单元的划分和主要功能 :(l) 工作寄存器组 (00h~lfh) 这是寄存器直接寻址的区域,内部数据RAM区域为0~31(00h~lfh),共32个单元。

它是一组 4 个通用工作寄存器,每个寄存器包含 8 个 8 位寄存器,编号为 R0~R7。(2)位寻址区(20H~2FH)是内部数据RAM区为32~47(20H~2FH)的16字节单位的位寻址RAM区,共包含128位。这 16 字节单元可以对字节和位进行寻址。(3)字节寻址区(30H~7FH)从48~127(30H~7FH)的内部数据RAM区,共计80字节单元,可通过间接字节寻址方式访问。我可以通过多少种方式重置微控制器?复位后机器的初始状态是什么?答:(1)单片机复位方式 单片机复位方式有三种:上电自动复位、按键电平复位和外部脉冲,如图2-1所示。图2-1(2) 复位后的初始状态 除了复位后的机器初始状态外,即每个寄存器的状态:pc、复位操作也会对其他一些特殊功能寄存器产生影响,它们的复位状态如表2-1所示 开机复位后,CPU使用哪组工作寄存器?他们的地址是什么?CPU 如何确定和更改当前工作寄存器组?答:一般开机复位后,选择第一组通用工作寄存器作为工作寄存器,有4组,分别0.1.2.3依次位于00h到1fh地址,然后机器中有一个程序状态字psw,其第四位和第三位rs1,rs0用于选择工作寄存器组, 并且不同机器的地址可能略有不同。

它们的值与寄存器组之间的关系: rs1/rs0 0/00/11/01/1 使用的工作寄存器 01 2 3 地址 00-07 08-0F 10-17 18-1f 编写程序时,您可以通过定义程序状态字来选择使用不同的寄存器组。您还可以直接为 rs1 和 rs0 赋值。答:PSW 是位于片上 RAM 特定地址 D0H (00H~FFH) 的高 128B 中的 SFR(特殊功能寄存器) (片上 RAM 的寻址) (8 位寻址方法) psw=程序状态字 PSW的常见标志是什么?cy=carry(进位标志) ac=auxiliary carry(辅助进位标志) f0 用户标志rs1,rsO,用于选择当前工作寄存器组(r0~r7)(从4个中选择1个) ov=overflow(溢出标志) p=奇偶校验(奇偶校验位)位地址7ch和字节地址7ch?答:它的区别在于不同的寻址方法,即位寻址用于访问 128 位地址,字节寻址和间接寻址用于访问较低的 128 字节单元。

具体地址是2f的第五位数字,即7c。89C51微控制器的时钟周期和振荡周期有什么关系?答:时钟信号的周期称为机器状态周期,是振荡周期的两倍。机器周期是指 CPU 访问内存一次所需的时间。指令周期是执行指令所需的时间。答:一个机器周期 = 12 个振荡周期 = 6 个时钟周期(状态周期) s1p1 ,s1p2 ,s2p1 ,s2p2 ,s3p1 ,s3p2 ,s4p1 ,s4p2 ,s5p1 , s5p2 , s6p1 ,s6p2 其中 s=状态(状态),p=相位(相位) 什么是堆栈?堆栈指针sp的作用是什么?89c51 单片机的堆栈容量不能超过多少字节?答:堆栈是一种数据结构,其中数据项按顺序排列,数据项只能在一端插入和删除(称为堆栈顶部)。要点: 堆:顺序堆栈:后进先出(后进先出) 调用子程序时需要保存调用函数PC指针的CPU寄存器,PC指针通过调用指令自动按入SP指向的片上存储器中,CPU寄存器应由用户用推送指令保存, 所以 SP 的作用是指针,调用 interrupt 时,调用子函数时将字段数据压入 SP 指向的内存中,SP 自动增加 1 或 2,当中断以 reti 结尾时,调用返回 ret,pop 会弹出 sp 数据, SP自动减去1或28051至128字节的片上存储器,0x20上述理论可以堆叠96字节,8052是256字节和224字节可用,但是这样就没有其他空间用于数据存储了现在的单片机程序一般都可以用C51来做,不管堆栈大小和SP寄存器89C51有几种低功耗的方法呢?空闲模式和掉电模式 空闲模式和掉电模式由 SFR 中对应位置 1 的 PCON(地址 87h)启动。

当 CPU 完成执行 IDL=1 (PCON.1) 指令时,系统进入空闲工作模式。在这种情况下,内部时钟不提供给 CPU,而只提供给中断、串行和定时器部分。CPU内部状态保持不变,即堆栈指针SP、程序计数器PC、程序状态字PSW、累加器ACC都保持不变,端口状态也保持不变。ALE 和 PSEN 仍处于逻辑高位。当 CPU 执行将 pcon.1 位 (PD) 设置为 1 的指令时,系统进入掉电模式。在这种工作模式下,内部振荡器停止工作。由于没有摆动时钟,所有功能部件都停止工作。但是,内部RAM区域和特殊功能寄存器的内容被保留,而端口的输出状态值存储在相应的SFR中,并且ALE和PSEN都处于低电平。PC和DPTR有什么特点,有什么异同?【第3部分:李全利版单片机原理及接口技术课后答题(第4章)】s=txt>1.80C51单片机汇编语言有哪些特点?答:汇编语言紧凑灵活,汇编到其中的对象程序效率高,具有占用存储空间少、运行速度快、实时性强等优点。它是一种面向机器的语言,对于单片机硬件的操作直接方便,有利于初学者对单片机结构的识别。

但是,与高级语言相比,它不具有可移植性,编程复杂,对程序员的基本要求很高。使用80c51单片机汇编语言进行程序设计有哪些步骤?答:首先,任务分析,首先要对单片机应用系统的设计目标进行深入分析,明确系统设计任务:功能需求和技术指标。然后,对系统的运行环境进行了调查。这是应用系统编程的基础和条件。其次,经过任务分析和环境调查后,可以用数学方法(或模型)描述已经明确定义的功能需求和技术指标,然后将实际的系统需求转化为计算机处理的算法。对各种算法进行分析比较,进行合理优化。3.工艺描述程序的整体建设。首先,要确定程序结构和数据形式,资源分配和参数计算。然后,根据程序运行的过程,规划程序执行的逻辑顺序,并用图形符号在平面图上绘制程序流程。应用程序的功能通常可以分为几个部分,流程图用于将具有某些功能的部分有机地链接起来。流程图可分为一般流程图和部分流程图。一般流程图侧重于程序的逻辑结构和程序模块之间的相互关系,而部分流程图则反映了程序模块的具体实现细节。常用的程序结构有哪些,有哪些特点?顺序程序:无分支、无循环结构的程序,其执行过程按照指令存储在存储器中的顺序进行;分支程序:您可以更改程序的执行顺序;循环程序:按照一定的控制规则重复程序,将部分指令控制为重复多次,从而用一个短程序完成大量的处理任务。

调用子例程时传递参数的方法有哪些?利用累加器或寄存器,利用内存并利用堆栈。什么是伪指令,常用的伪指令函数有哪些?答:伪指令是汇编程序能够识别并对汇编过程进行某些控制的汇编命令。常用的伪指令包括:org,用于向汇编程序指定紧跟其后的程序段或数据段的起始地址,end,即结束程序集,db,用于定义程序内存中的字节数据,dw,用于定义程序内存中的字数据空间,从标签指定的地址单元开始, 和 bit,将 bit 地址分配给指定的符号名称。6.让加法存储在内部RAM的20h、21h单元中,加法存储在22h和23h单元中,如果需要并存储在24h和25h,尝试编写一个16位无符号数加法程序(使用大端模式存储)。答:程序如下:org0000h movr0,#21h movr1,#23hmova,@r0 adda,@r1 mov25h,adec r0dec r1 mova,@r0 addc a,@r1 mov24h,a sjmp$ endram7。

RAM 答案:org 0000h mov dptr,#1000h mov r0,#30h mov r7,#32 loop:movx a,@dptrmov @r0,a inc r0 inc dptrdjnz r7,loopret8.write 一个程序来实现双字节无符号数加法操作,需要 (R0R1)+(R6R7)— (60H61H). org 0000hmova,R1 adda,r7 mov61h,a mova,r0 addc a,r6 mov60h,a sjmp $ end9.如果 80c51 的晶振频率为 6MHz,则尝试计算延迟子程序 delay:movr7,#0f6hlp:movr6,#0fahdjnz r6,$djnz r7,lp ret10 单元格包含一组单字节无符号数字。要求:找出存入大单元的最大数量。试验方案实施。答案:org0000h 大数据 2fh 一数据 2ah 二数据 2bh start:movr7,#7 ;比较 movr0,#30h loop:mova,@r0 movone,aincr0 movtwo,@r0 clrc subb a,@r0 jc next ;一小,二大继续优于下一对 mov@r0,一 ;一大 put behind (swap) decr0mov@r0,two ;两个小放在 incr0 前面;下一篇:DJNZ R7,Loop Movbig,37H SJMP $ END11.编写一个程序,将累加器 A 中的二进制数转换为 3 位床代码,并在 50 小时、51 小时和 52 小时分别将百位、十位和个位数存储在内部 RAM 中。

答:将单字节二进制数转换为压缩床代码只需要 2 个字节,压缩床代码存储在 3 个单元格中,而不是压缩床代码。 dedth:movr7,#8 movr0,a;暂时存储在 R0 循环中:Elre Mova、R0 Rlea Movr0、AMOVR1、#51h;org0 mov52h,#0 mov51h,#0 mov50h,#0 mova,#0fdh leall dedth SJMP $mova,@r1 ;加 A,@r1 ;达;mov@r1,一个;DecR1 MOVA,@r1 ADDC A,@r1 DA A mov@r1,A DJNZ R7,Loop Incr1;50h是结果,r1指向51h,51h单位需要拆分mova,#00h xchd a,@r1 mov52h,一个mova,@r1答案:交换一个mov@r1,一个ret结束12。编写一个子例程,将 r1 中的 2 个十六进制数转换为 ascii 代码,并将它们存储在 r3 和 r4 中。组织 0 mov r1,#5bh mov a,r1 anl a,#0f0h swap a acallascii mov r3,a mov a,r1 anl a, #0fh acallascii mov r4, a sjmp $ ascii:push acc clr c subb a, #0ah pop acc jcloop add a, #07h loop: add a, #30h ret end 13 编写一个程序,求出50h~59h内部RAM中10个单元内容的平均值, 并将它们存放在 5ah 装置中。答案:org0000h movr7、#10 movr0、#50h movb、#10clrcclraloop:addc a、@r0 incr0

单片机

家宝果树种植需要注意什么?果树有什么作用?

2024-4-25 12:02:24

单片机

今年入了两种多年生的果树,一年可以结多次果实

2024-4-25 13:02:05

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索