单片机应用技术中级教程3
单片机原理及应用教程第3版习题课后答案
《单片机原理及应用程序》(第三版)习题参考答案第一章1. 为什么计算机要采用二进制数?学习十六进制数的目的是什么?在计算机中,由于所采用的电子逻辑器件仅能存储和识别两种状态的特点,计算机内部一切信息存储、处理和传送均采用二进制数的形式。
可以说,二进制数是计算机硬件能直接识别并进行处理的惟一形式。
十六进制数可以简化表示二进制数。
2.(1) 01111001 79H (2) 0.11 0.CH (3) 01111001.11 79.CH(4) 11101010.101 0EA.AH (5)01100001 61H (6) 00110001 31H3.(1) 0B3H (2)80H (3) 17.AH (4) 0C.CH4.(1)01000001B 65 (2) 110101111B 4315.(1) 00100100 00100100 00100100 (2) 10100100 11011011 11011100(5) 10000001 11111110 111111116.00100101B 00110111BCD 25H7. 137 119 898.什么是总线?总线主要有哪几部分组成?各部分的作用是什么?总线是连接计算机各部件之间的一组公共的信号线。
一般情况下,可分为系统总线和外总线。
系统总线应包括:地址总线(AB)控制总线(CB)数据总线(DB)地址总线(AB):CPU根据指令的功能需要访问某一存储器单元或外部设备时,其地址信息由地址总线输出,然后经地址译码单元处理。
地址总线为16位时,可寻址范围为216=64K,地址总线的位数决定了所寻址存储器容量或外设数量的范围。
在任一时刻,地址总线上的地址信息是惟一对应某一存储单元或外部设备。
控制总线(CB):由CPU产生的控制信号是通过控制总线向存储器或外部设备发出控制命令的,以使在传送信息时协调一致的工作。
CPU还可以接收由外部设备发来的中断请求信号和状态信号,所以控制总线可以是输入、输出或双向的。
教学课件 《单片机应用技术 》(中职)
任务一 51系列单片机及最小化系统
知识准备
四、 MCS51系列单片机 MCS51是原先由美国INTEL公司生产的一系列单片机的总称,这
一系列单片机包括了许多的品种,如8031,8051,8751,8032, 8052,8752等,其中8051是最早最典型的产品,该系列其他单片机 都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯 于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行 的单片机,所以很多场合会看到8031的名称。
的“NEW”命令,会出现一个 文本编辑区域,在这个文本里 输入下面的程序,如图所示, 点击file中的“另存为”,如图 所示。这里我们保存的时候要 保存为××.c的格式。这里我们 保存为yz.c。
任务二 点亮LED灯
32
任务实施
一、 在KEIL软件中编写源程序 3. 新建源程序
任务二 点亮LED灯
18
任务一 51系列单片机及最小化系统
知识拓展
将示波器接在单片机的ALE引脚上,观察示波 器的输出。
目标检测
19
任务二 点亮LED灯
知识准备
本次任务我们将在KEIL 软件中编写源程序,并在Proteus 软件中仿真。具体要求为AT89S52单片机的P0.7引脚接发光二 极管(LED)的阴极,点亮发光二极管。
任务二 点亮LED灯
36
任务实施
一、 在KEIL软件中编写源程序 5. 设置 单击选项卡“Target”
任务二 点亮LED灯
37
任务二 点亮LED灯
任务实施
一、 在KEIL软件中编写源程序 6. 编译 设置好工程后,即可进行编译、连接。选择菜单
Project→Build target,对当前工程进行连接,如果当前文件已修 改,将先对该文件进行编译,然后再连接以产生目标代码。
单片机原理及应用第三章习题答案
单片机原理及应用第三章习题答案第一题:题目:什么是中断?中断是指在程序执行过程中,由于发生了某个特定事件,导致当前的程序需要暂时中断执行,转而去处理其他紧急或优先级更高的事件。
中断可以提高系统的实时性和响应速度。
第二题:题目:请简述中断的分类及其优缺点。
中断可以分为外部中断和内部中断。
外部中断:外部中断是通过外部设备触发的中断,例如按键输入、定时器溢出等。
外部中断的优点是能够及时响应外部事件,缺点是响应时间有一定延迟,并且可能会引起系统的不稳定性。
内部中断:内部中断是通过程序内部指令触发的中断,例如软件中断、硬件错误等。
内部中断的优点是响应时间几乎可以忽略,缺点是需要消耗较多的系统资源。
第三题:题目:简述中断的处理过程。
中断的处理过程一般包括以下几个步骤:1. 中断请求发生:外部设备或程序内部触发中断请求。
2. 中断响应:CPU接收到中断请求后,保存当前程序的执行状态,暂停当前程序的执行,并跳转到中断服务程序。
3. 中断服务程序执行:中断服务程序是为了处理中断事件而编写的程序,它会根据中断类型执行相应的操作,例如处理外部设备的输入、更新系统状态等。
4. 中断处理完成:中断服务程序执行完后,将恢复之前保存的执行状态,继续执行被中断的程序。
第四题:题目:请简述常见的中断优先级判断方式。
常见的中断优先级判断方式有两种:硬件优先级判断和软件优先级判断。
硬件优先级判断:硬件优先级判断是通过硬件电路来实现的,每个中断信号都有一个对应的硬件中断优先级,优先级高的中断信号将打断当前正在执行的中断信号。
软件优先级判断:软件优先级判断是通过编程的方式来实现的,每个中断信号都有一个对应的中断优先级,在中断服务程序中通过程序代码来判断当前是否有更高优先级的中断请求。
第五题:题目:请说明中断向量表的作用。
中断向量表是一个存储中断处理程序入口地址的数据结构,它将每个中断编号与对应的中断服务程序的入口地址进行映射。
当一个中断请求发生时,中断向量表将根据中断编号找到对应的中断服务程序的入口地址,从而实现中断的处理。
单片机应用技术第3章课件资料
单片机应用技术(C51语言版)(第4版)
第3章 C51基础和汇编程序设计
3.6 单片机C51数据类型
1.字符类型char 2.整型int 3.长整型long 4.浮点型float 5.指针型 6.位标量bit 7.特殊功能寄存器sfr 8.16位特殊功能寄存器sfr16 9.可寻址位sbit
单片机应用技术(C51语言版)(第4版)
第3章 C51基础和汇编程序设计
3.1.2 编制程序的流程图
1. 程序流程图的作用
2. 程序流程图的组成
单片机应用技术(C51语言版)(第4版)
第3章 C51基础和汇编程序设计
3.1.3 单片机51系列的伪指令
(1)起始地址伪指令ORG。 (2)汇编结束伪指令END。 (3)赋值伪指令EQU。 (4)定义字节伪指令DB。 (5)定义字伪指令DW。 (6)数据地址赋值伪指令DATA。 (7)位地址赋值伪指令BIT。
单片机应用技术(C51语言版) (第4版)
主 编 刘华东 电子工业出版社
第3章 C51基础和汇编程序设计
内容提要
1.讲解单片机汇编语言程序设计基础、汇编语言格式、伪指令,进一 步熟悉汇编语言和机器语言之间的关系,掌握人工汇编程序的方法。 2.单片机汇编语言程序结构:顺序程序、分支程序、循环程序、子程 序,查表程序和散转程序及其设计方法。 3.现阶段单片机C语言C51应用日新月异,甚至直接学习C51,本章系 统介绍C51语言基础知识,同时从第2章开始给予大量C51程序和例子 ,并通过实训任务工单方式循序渐进的学习掌握C51语言。
单片机应用技术(C51语言版)(第4版)
第3章 C51基础和汇编程序设计
3.5 单片机C51语言程序设计基础 3.5.1 C语言与C51语言简介
单片机原理与应用第3章课件
相对寻址示意图
注意:在相对寻址方式时,在rel为正数和负数两种不同情况下, 目的地址PC的求法可以用下列不同的公式求:
当rel为正数时, PC目的=PC当前+当前指令字节数+rel
当rel为负数时, PC目的=PC当前+当前指令字节数+rel-100H
在人工汇编时,往往知道PC目的和PC当前,需要求rel,如果 PC目的>PC当前,采用第一个公式;如果PC目的≤PC当前,采用第二个公式。
立即数寻址示意图
3.2.3 寄存器寻址
寄存器寻址(register addressing)方式在指令中指出了参 与运算的操作数所在的寄存器,操作数 存储在寄存器中。寄存器寻址方式中的 寄存器为工作寄存器R0~R7、DPTR、累 加器A、寄存器B(仅在乘除法时)和布尔 累加器C。
例如: MOV A,R0 ;(A)←(R0) 该指令执行的操作是把工作寄存器 R0中的数送到累加器A中,若R0寄存器 单元中的内容是55H,则该指令执行后A 的内容就是55H。
源操作数
机器语言指令格式 (1)单字节指令格式:操作码 【例】汇编语言指令 ADD A,R0 对应的机器语言是:
28 (2)双字节指令格式:操作码 操作数 【例】汇编语言指令 ADD A,#31H 对应的机器语言是:
24 31 (3)三字节指令格式:操作码 第一操作数 第二操作数 【例】汇编语言指令 MOV 30H,#7AH 对应的机器语言是:
3.2.7 位寻址
位寻址就是对内部RAM和特殊功能寄存器的可寻址位的内容进行操 作的寻址方式。这种寻址方式只是对指令指定的1位进行操作,其寻址 方式与直接寻址方式相同。 【例】如果A=74H,则执行指令
SETB ACC.3 后,A=7CH,见下图。
单片机原理及应用技术(第3版)习题答案
单片机原理及应用技术(第3版)+习题答案章1 绪论 1.第一台计算机的问世有何意义答第一台电子数字计算机ENIAC问世标志着计算机时代的到来与现代的计算机相比ENIAC有许多不足但它的问世开创了计算机科学技术的新纪元对人类的生产和生活方式产生了巨大的影响2.计算机由哪几部分组成答由运算器控制器存储器输入设备和输出设备组成运算器与控制器合称为CPU3.微型计算机由哪几部分构成答微型计算机由微处理器存储器和IO接口电路构成各部分通过地址总线AB 数据总线DB和控制总线CB相连4.微处理器与微型计算机有何区别答微处理器集成了运算器和控制器即CPU而微型计算机包含微处理器存储器和IO接口电路等5.什么叫单片机其主要特点有哪些答在一片集成电路芯片上集成微处理器存储器IO接口电路从而构成了单芯片微型计算机即单片机单片机主要特点有控制性能和可靠性高体积小价格低易于产品化具有良好的性能价格比6.微型计算机有哪些应用形式各适于什么场合答微型计算机有三种应用形式多板机系统机单板机和单片机多板机通常作为办公或家庭的事务处理及科学计算属于通用计算机单板机IO设备简单软件资源少使用不方便早期主要用于微型计算机原理的教学及简单的测控系统现在已很少使用单片机单片机体积小价格低可靠性高其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势目前单片机应用技术已经成为电子应用系统设计的最为常用技术手段7.当前单片机的主要产品有哪些各有何特点答多年来的应用实践已经证明80C51的系统结构合理技术成熟因此许多单片机芯片生产厂商倾力于提高80C51单片机产品的综合功能从而形成了80C51的主流产品地位近年来推出的与80C51兼容的主要产品有ATMEL公司融入Flash存储器技术推出的AT89系列单片机Philips公司推出的80C5180C552系列高性能单片机华邦公司推出的W78C51W77C51系列高速低价单片机ADI公司推出的ADμC8xx系列高精度ADC单片机LG公司推出的GMS9097系列低压高速单片机im公司推出的DS89C420高速50MIPS单片机Cygnal公司推出的C8051F系列高速SOC单片机等 8.简述单片机的开发过程答系统需求分析硬件方案设计软件编程仿真调试实际运行9.单片机应用系统开发方法有哪些新方法答在系统编程ISP技术在应用编程IAP技术章 2 80C51的结构和原理1.80C51单片机在功能上工艺上程序存储器的配置上有哪些种类答功能上分为基本型和增强型工艺上分为HMOS工艺和CHMOS工艺在片内程序存储器的配置上有掩膜ROMEPROM和Flash无片内程序存储器形式2. 80C51单片机的存储器的组织采用何种结构存储器地址空间如何划分各地址空间的地址范围和容量如何在使用上有何特点答采用哈佛结构在物理上设计成程序存储器和数据存储器两个独立的空间80C51基本型单片机片内程序存储器为4KB地址范围是0000H-0FFFH用于存放程序或常数片内数据存储器为128字节RAM地址范围是00H-7FH用于存放运算的中间结果暂存数据和数据缓冲另外在80H-FFH还配有21个SFR3.80C51单片机的P0P3口在结构上有何不同在使用上有何特点答作为通用IO口时P0P1P2和P3都是准双向口P0可以作为地址数据总线此时是一个真正的双向口P2口可以作为地址线的高8位P3口是双功能口每条口线还具有不同的第二功能另外P0口的驱动能力为8个TTL负载而其它口仅可驱动4个TTL负载4.如果80C51单片机晶振频率分别为6 MHz110592 MHz12MHz时机器周期分别为多少答机器周期分别为2μs1085μs1μs5.80C51单片机复位后的状态如何复位方法有几种答复位后PC内容为0000HP0口~P3口内容为FFHSP内容为07HSBUF内容不定IPIE和PCON的有效位为0其余的特殊功能寄存器的状态均为00H复位方法一种是上电复位另一种是上电与按键均有效的复位6.80C51单片机的片内片外存储器如何选择答80C51的引脚为访问片内片外程序存储器的选择端访问片内片外数据存储器需要采用不同的指令加以区分7.80C51单片机的PSW寄存器各位标志的意义如何答CY进位借位标志有进位借位时 CY 1否则CY 0AC辅助进位借位标志高半字节与低半字节间的进位或借位F0用户标志位由用户自己定义RS1RS0当前工作寄存器组选择位OV溢出标志位有溢出时OV 1否则OV 0P奇偶标志位存于ACC中的运算结果有奇数个1时P 1否则P 08. 80C51单片机的当前工作寄存器组如何选择答当前工作寄存器组的选择由特殊功能寄存器中的程序状态字寄存器PSW的RS1RS0 来决定9.80C51单片机的控制总线信号有哪些各信号的作用如何答RSTVPD复位信号输入引脚备用电源输入引脚ALE地址锁存允许信号输出引脚编程脉冲输入引脚VPP内外存储器选择引脚片内EPROM或FlashROM编程电压输入引脚外部程序存储器选通信号输出引脚10.80C51单片机的程序存储器低端的几个特殊单元的用途如何答0000H单片机复位入口地址0003H外部中断0的中断服务程序入口地址000BH定时计数器0溢出中断服务程序入口地址0013H外部中断1的中断服务程序入口地址001BH定时计数器1溢出中断服务程序入口地址0023H串行口的中断服务程序入口地址章3 80C51的指令系统 1.80C51系列单片机的指令系统有何特点答执行时间短1个机器周期指令有64条2个机器周期指令有45条而4个机器周期指令仅有2条即乘法和除法指令指令编码字节少单字节的指令有49条双字节的指令有45条三字节的指令仅有17条位操作指令丰富这是80C51单片机面向控制特点的重要保证2.80C51单片机有哪几种寻址方式各寻址方式所对应的寄存器或存储器空间如何答80C51单片机的寻址方式有七种即寄存器寻址直接寻址寄存器间接寻址立即寻址基址寄存器加变址寄存器变址寻址相对寻址和位寻址这些寻址方式所对应的寄存器和存储空间如下表所示序号寻址方式寄存器或存储空间 1 寄存器寻址寄存器R0R7AABDPTR和C布尔累加器 2 直接寻址片内RAM低128字节SFR3 寄存器间接寻址片内RAMR0R1SP片外RAMR0R1DPTR 4 立即寻址ROM 5 变址寻址ROMA+DPTRA+PC 6 相对寻址ROMPC当前值的+127~-128字节7 位寻址可寻址位内部RAM20H2FH单元的位和部分SFR的位3.访问特殊功能寄存器SFR可以采用哪些寻址方式答直接寻址和位寻址方式4.访问内部RAM单元可以采用哪些寻址方式答直接寻址寄存器间接寻址和位寻址方式5.访问外部RAM单元可以采用哪些寻址方式答寄存器间接寻址6.访问外部程序存储器可以采用哪些寻址方式答立即寻址变址寻址和相对寻址方式7.为什么说布尔处理功能是80C51单片机的重要特点答单片机指令系统中的布尔指令集存储器中的位地址空间与CPU中的位操作构成了片内的布尔功能系统它可对位bit变量进行布尔处理如置位清零求补测试转移及逻辑与或等操作在实现位操作时借用了程序状态标志器PSW中的进位标志Cy作为位操作的累加器8.对于80C52单片机内部RAM还存在高128字节应采用何种方式访问答寄存器间接寻址方式9.试根据指令编码表写出下列指令的机器码1MOV A88H----------------74H 88H2MOV R350H----------------ABH50H3MOV P155H----------75H90H55H4ADD AR15SETB 12H10.完成某种操作可以采用几条指令构成的指令序列实现试写出完成以下每种操作的指令序列1将R0的内容传送到R12内部RAM单元60H的内容传送到寄存器R23外部RAM单元1000H的内容传送到内部RAM单元60H4外部RAM单元1000H的内容传送到寄存器R25外部RAM单元1000H的内容传送到外部RAM单元2000H答1MOV AR0MOV R1A2MOV R260H3MOV DPTR1000HMOVX ADPTRMOV 60HA4MOV DPTR1000HMOVX ADPTRMOV R2A5MOV DPTR1000HMOVX ADPTRMOV DPTR2000HMOVX DPTR A11.若R1 30HA 40H30H 60H40H 08H试分析执行下列程序段后上述各单元内容的变化MOV AR1MOV R140HMOV 40HAMOV R17FH答R1 7FHA 60H30H 08H40H 60H12.若A E8HR0 40HR1 20HR4 3AH40H 2CH20H 0FH试写出下列各指令独立执行后有关寄存器和存储单元的内容若该指令影响标志位试指出CYAC和OV的值 1MOV AR02ANL 40H0FH3ADD AR44SWAP A5DEC R16XCHD AR1答1A 2CH240H 0CH3A 22HCY 1AC 1OV 04A 8EH520H 0EHP 16A EFH20 08H13.若50H 40H试写出执行以下程序段后累加器A寄存器R0及内部RAM的40H41H42H单元中的内容各为多少MOV A50HMOV R0AMOV A00HMOV R0AMOV A3BHMOV 41HAMOV 42H41H答A 3BHR0 40H40H 00H41H 3BH42H 3BH14.试用位操作指令实现下列逻辑操作要求不得改变未涉及的位的内容1使ACC0置位2清除累加器高4位3清除ACC3ACC4ACC5ACC6答1SETB ACC02ANL A0FH3ANL A87H15.试编写程序将内部RAM的20H21H22H三个连续单元的内容依次存入2FH2EH和2DH单元答MOV 2FH20HMOV 2EH21HMOV 2DH22H16.试编写程序完成两个16位数的减法7F4DH-2B4EH结果存入内部RAM 的30H和31H单元30H单元存差的高8位31H单元存差的低8位答CLR CYMOV 30H7FHMOV 31H4DHMOV R0 31HMOV AR0SUBB A 4EMOV R0A 保存低字节相减结果DEC R0MOV A R0SUBB A2BHMOV R0A 保存高字节相减结果 17.试编写程序将R1中的低4位数与R2中的高4位数合并成一个8位数并将其存放在R1中答MOV AR2ANL A0F0HORL R1A18.试编写程序将内部RAM的20H21H单元的两个无符号数相乘结果存放在R2R3中R2中存放高8位R3中存放低8位答MOV A20HMOV B21HMUL ABMOV R3AMOV R2B19.若CY 1P1 10100011BP3 01101100B试指出执行下列程序段后CYP1口及P3口内容的变化情况MOV P13CMOV P14CMOV CP16MOV P36CMOV CP10MOV P34C答CY 1 P1 10111011B P3 00111100B 章 4 80C51的汇编语言程序设计1.80C51单片机汇编语言有何特点答汇编语言结构紧凑灵活汇编成的目标程序效率高具有占存储空间少运行速度快实时性强等优点它是面向机器的语言对于单片机硬件的操作直接方便有利于初学者对单片机结构的认知但它与高级语言相比移植性不好编程复杂对编程人员的基础要求高2.利用80C51单片机汇编语言进行程序设计的步骤如何答一任务分析首先要对单片机应用系统的设计目标进行深入分析明确系统设计任务功能要求和技术指标然后对系统的运行环境进行调研这是应用系统程序设计的基础和条件二算法设计经过任务分析和环境调研后已经明确的功能要求和技术指标可以用数学方法或模型来描述进而把一个实际的系统要求转化成由计算机进行处理的算法并对各种算法进行分析比较并进行合理的优化三流程描述程序的总体构建先要确定程序结构和数据形式资源分配和参数计算等然后根据程序运行的过程规划程序执行的逻辑顺序用图形符号将程序流程绘制在平面图上应用程序的功能通常可以分为若干部分用流程图将具有一定功能的各部分有机地联系起来流程图可以分为总流程图和局部流程图总流程图侧重反映程序的逻辑结构和各程序模块之间的相互关系局部流程图反映程序模块的具体实施细节3.常用的程序结构有哪几种特点如何答顺序程序无分支无循环结构的程序其执行流程是依指令在存储器中的存放顺序进行的分支程序可以改变程序的执行顺序循环程序按某种控制规律重复执行的程序控制一部分指令重复执行若干次以便用简短的程序完成大量的处理任务4.子程序调用时参数的传递方法有哪几种答利用累加器或寄存器利用存储器利用堆栈5.什么是伪指令常用的伪指令功能如何答伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令常用的伪指令包括ORG功能是向汇编程序说明下面紧接的程序段或数据段存放的起始地址END功能是结束汇编DB功能是从标号指定的地址单元开始在程序存储器中定义字节数据DW功能是从标号指定的地址单元开始在程序存储器中定义字数据空间EQU功能是将表达式的值或特定的某个汇编符号定义为一个指定的符号名BIT功能是将位地址赋给指定的符号名6.设被加数存放在内部RAM的20H21H单元加数存放在22H23H单元若要求和存放在24H25H中试编写出16位无符号数相加的程序采用大端模式存储答程序如下ORG 0000HMOV R0#21HMOV R1#23HMOV AR0ADD AR1MOV 25HADEC R0DEC R1MOV AR0ADDC AR1MOV 24HASJMPEND7.编写程序把外部RAM中1000H101FH的内容传送到内部RAM的30H4FH中答ORG 0000HMOV DPTR1000HMOV R030HMOV R732LOOPMOVX ADPTRMOV R0AINC R0INC DPTRDJNZ R7LOOPRET8.编写程序实现双字节无符号数加法运算要求 R0R1R6R7→60H61H 答ORG 0000HMOV AR1ADD AR7MOV 61HAMOV AR0ADDC AR6MOV 60HASJMPEND9.若80C51的晶振频率为6MHz试计算延时子程序的延时时间DELAYMOV R70F6HLPMOV R60FAHDJNZ R6DJNZ R7LPRET答延时时间 2μs [1 122502246 2]2 0247486秒含调用指令2个机器周期10.在内部RAM 的30H37H单元存有一组单字节无符号数要求找出最大数存入BIG 单元试编写程序实现答ORG 0000HBIG DATA 2FHONE DATA 2AHTWO DATA 2BH STARTMOV R77 比较次数MOV R030HLOOPMOV AR0MOV ONEAINC R0MOV TWOR0CLR CSUBB AR0JC NEXT ONE小TWO大继续比下一对数MOV R0ONE ONE大放后面交换DEC R0MOV R0TWO TWO小放前面INC R0NEXTDJNZ R7LOOPSJMPEND11.编写程序把累加器A中的二进制数变换成3位BCD码并将百十个位数分别存放在内部RAM的50H51H52H中答单字节二进制数转换为压缩的BCD码仅需要2个字节在将压缩的BCD码拆分存于3个单元org 0MOV 52H0MOV 51H0MOV 50H0MOV A0FDhLCALL DCDTHSJMP DCDTHMOV R78MOV R0A 暂存于R0LOOPCLR CMOV AR0RLC AMOV R0AMOV R151H MOV AR1ADDC AR1DA ADEC R1MOV AR1ADDC AR1DA AMOV R1ADJNZ R7LOOPINC R1 50H已是结果R1指向51H51H单元需拆分MOV A00HXCHD AR1MOV 52HAMOV AR1SWAP AMOV R1ARETEND12.编写子程序将R1中的2个十六进制数转换为ASCII码后存放在R3和R4中答ORG 0MOV R15BHMOV AR1ANL A0F0HSWAP AACALL ASCIIMOV R3AMOV AR1ANL A 0FHACALL ASCIIMOV R4 ASJMPASCIIPUSH ACCCLR CSUBB A 0AHPOP ACCJC LOOPADD A 07HLOOP ADD A 30HRETEND13.编写程序求内部RAM中50H59H十个单元内容的平均值并存放在5AH单元答ORG 0000HMOV R710MOV R050HMOV B10CLR CCLR ALOOPADDC AR0INC R0DJNZ R7LOOPDIV ABMOV 5AHASJMPEND14.如图410所示编制程序实现上电后显示P有键按下时显示相应的键号07答实现程序如下TEMP EQU 30HORG 0000HJMP STARTORG 0100HSTARTMOV SP5FHMOV P08CH 正序显示"P"MOV P30FFH 输入方式CLR CYNOKEYMOV AP3CPL AJZ NOKEY 无键按下MOV TEMPP3 有键按下CALL D10msMOV AP3CJNE ATEMPNOKEY 去抖动MOV R20 键号计数器复位 MOV ATEMPLPRRC AJNC DONEINC R2SJMP LPDONEMOV AR2MOV DPTRCODE_P0MOVC AADPTRMOV P0AJMP NOKEYD10msMOV R510 10MSD1msMOV R4249DLNOPNOPDJNZ R4DLDJNZ R5D1msRETCODE_P0DB 0C0H0F9H0A4H0B0H99H92H82H0F8HDB 80H90H88H83H0C6H0A1H86H8EHEND章5 80C51的中断系统及定时计数器 180C51有几个中断源各中断标志是如何产生的又是如何复位的CPU响应各中断时其中断入口地址是多少答5个中断源分别为外中断和T0和T1溢出中断串口中断电平方式触发的外中断标志与引脚信号一致边沿方式触发的外中断响应中断后由硬件自动复位T0和T1CPU响应中断时由硬件自动复位RI和TI由硬件置位必须由软件复位另外所有能产生中断的标志位均可由软件置位或复位各中断入口地址―0003HT0000BH0013HT1001BHRI和TI0023H2某系统有三个外部中断源123当某一中断源变低电平时便要求CPU处理它们的优先处理次序由高到低为321处理程序的入口地址分别为2000H2100H2200H 试编写主程序及中断服务程序转至相应的入口即可答将3个中断信号经电阻线或接LJMP MAINORG 00013HLJMP ZDFZORG 0040HMAINSETB EASETB EX1SJMP 0RG 0200H ZDFZPUSH PSWPUSH ACCJB P10DV0JB P11DV1JB P12DV2INRETPOP ACCPOP PSWRETIORG 2000HDV0------------JMP INRETORG 2100HDV1------------JMP INRETDV2------------JMP INRET3外部中断源有电平触发和边沿触发两种触发方式这两种触发方式所产生的中断过程有何不同怎样设定答当IT0 0时为电平触发方式电平触发方式时CPU在每个机器周期的S5P2采样引脚电平当采样到低电平时置IE0=1向CPU请求中断采样到高电平时将IE0清0在电平触发方式下CPU响应中断时不能自动清除IE0标志电平触发方式时外部中断源的有效低电平必须保持到请求获得响应时为止不然就会漏掉在中断服务结束之前中断源的有效的低电平必须撤除否则中断返回之后将再次产生中断该方式适合于外部中断输入为低电平且在中断服务程序中能清除外部中断请求源的情况当IT0 1时为边沿触发方式边沿触发方式时CPU在每个机器周期的S5P2采样引脚电平如果在连续的两个机器周期检测到引脚由高电平变为低电平即第一个周期采样到 1第二个周期采样到 0则置IE0=1产生中断请求在边沿触发方式下CPU响应中断时能由硬件自动清除IE0标志边沿触发方式时在相继两次采样中先采样到外部中断输入为高电平下一个周期采样到为低电平则在IE0或IE1中将锁存一个逻辑1若CPU暂时不能响应中断申请标志也不会丢失直到CPU响应此中断时才清0另外为了保证下降沿能够被可靠地采样到和引脚上的负脉冲宽度至少要保持一个机器周期若晶振频率为12MHz为1微秒边沿触发方式适合于以负脉冲形式输入的外部中断请求4定时计数器工作于定时和计数方式时有何异同点答定时计数器实质是加1计数器不同点设置为定时器模式时加1计数器是对内部机器周期计数1个机器周期等于12个振荡周期即计数频率为晶振频率的112计数值乘以机器周期就是定时时间设置为计数器模式时外部事件计数脉冲由T0或T1引脚输入到计数器在每个机器周期的S5P2期间采样T0T1引脚电平当某周期采样到一高电平输入而下一周期又采样到一低电平时则计数器加1更新的计数值在下一个机器周期的S3P1期间装入计数器相同点它们的工作原理相同它们都有4种工作方式由TMOD中的M1M0设定即方式013位计数器方式116位计数器方式2具有自动重装初值功能的8位计数器方式3T0分为两个独立的8位计数器T1停止工作 5定时计数器的4种工作方式各有何特点答方式0位13位计数器由TL0的低5位高3位未用和TH0的8位组成TL0的低5位溢出时向TH0进位TH0溢出时置位TCON中的TF0标志向CPU发出中断请求计数初值计算的公式为X=213-N方式1的计数位数是16位由TL0作为低8位TH0作为高8位组成了16位加1计数器计数个数与计数初值的关系为X=216-N方式2为自动重装初值的8位计数方式TH0为8位初值寄存器当TL0计满溢出时由硬件使TF0置1向CPU发出中断请求并将TH0中的计数初值自动送入TL0TL0从初值重新进行加1计数周而复始直至TR0 0才会停止计数个数与计数初值的关系为 X=28-N方式3只适用于定时计数器T0定时器T1处于方式3时相当于TR1=0停止计数方式3时T0分成为两个独立的8位计数器TL0和TH0TL0使用T0的所有控制位当TL0计数溢出时由硬件使TF0置1向CPU发出中断请求而TH0固定为定时方式不能进行外部计数并且借用了T1的控制位TR1TF1因此TH0的启停受TR1控制TH0的溢出将置位TF16要求定时计数器的运行控制完全由TR1TR0确定和完全由高低电平控制时其初始化编程应作何处理答TMOD中GATE的值不同完全由TR1TR0确定时GATE为0完全由高低电平控制时GATE为17当定时计数器T0用作方式3时定时计数器T1可以工作在何种方式下如何控制T1的开启和关闭答T0用作方式3时T1可以工作在方式01和2T1的开启由TR1控制即TR1=1时T1开始工作TR1=0时或者定时计数器工作在方式3时T1停止工作8利用定时计数器T0从P10输出周期为1s脉宽为20ms的正脉冲信号晶振频率为12MHz试设计程序答采用定时20ms然后再计数149次的方法实现aT0工作在定时方式1时控制字TMOD配置M1M0 01GATE 0C 0可取方式控制字为01Hb计算计数初值X晶振为12 MHz所以机器周期Tcy为1N=t Tcy =20×10-31×10-6=20000X=216-N=65536-20000=45536=4E20H即应将4EH送入TH1中20H送入TL1中c实现程序如下ORG 0000HAJMP MAIN 跳转到主程序 ORG 0030H MAINMOV TMOD01H 设T1工作于方式2MOV TH0 4EH 装入循环计数初值MOV TL020H 首次计数值LP0SETB P10ACALL NT0CLR P10MOV R749 计数49次LP1ACALL NT0DJNZ R7LP1AJMP LP0NT0MOV TH0 4EHMOV TL020HSETB TR0JNB TF0CLR TR0CLR TF0RETEND9要求从P11引脚输出1000Hz方波晶振频率为12MHz试设计程序答采用T0实现aT0工作在定时方式1时控制字TMOD配置M1M0 01GATE 0C 0可取方式控制字为01Hb计算计数初值X晶振为12 MHz所以机器周期Tcy为111000 1×10-3N=t Tcy =05×10-31×10-6=500X=216-N=65536-500=65036=FE0CH即应将FEH送入TH0中0CH送入TL0中c实现程序如下ORG 0000HAJMP MAIN 跳转到主程序ORG 000BH T0的中断入口地址LJMP DVT0ORG 0030HMAINMOV TMOD01H 设T0工作于方式2MOV TH0 0FEH 装入循环计数初值MOV TL00CH 首次计数值SETB ET0 T0开中断SETB EA CPU开中断SETB TR0 启动T0SJMP 等待中断DVT0CPL P11MOV TH0 0FEHMOV TL0 0CHSETB TR0RETIEND10试用定时计数器T1对外部事件计数要求每计数100就将T1改成定时方式控制P17输出一个脉宽为10ms的正脉冲然后又转为计数方式如此反复循环设晶振频率为12MHz答aT1工作在计数方式2时控制字TMOD配置M1M0 10GATE 0C 1可取方式控制字为60HT1工作在定时方式1时控制字TMOD配置M1M0 01GATE 0C 0可取方式控制字为10Hb计算初值X定时10ms时晶振为12 MHz所以机器周期Tcy为1N=t Tcy =10×10-31×10-6=10000X=216-N=65536-10000=55536=D8F0H即应将D8H送入TH1中F0H送入TL1中计数100时N=100X=28-N=256-100=156=9CHc实现程序如下ORG 0000HAJMP MAIN 跳转到主程序ORG 001BH T1的中断入口地址LJMP DVT1ORG 0030HMAINMOV TMOD60H T1工作于计数方式2MOV TH19CH 装入计数初值MOV TL19CHCLR P17SETB ET1 T1开中断SETB EA CPU开中断SETB TR1 启动T1SJMP 等待中断 DVT1SETB P17CLR ET1CLR TR1MOV TMOD10H T1工作于定时方式1MOV TH10D8H 装初值MOV TL10F0HSETB TR1JNB TF1 查询等待10msCLR TF1CLR TR1CLR P17MOV TMOD60H T1工作于计数方式2MOV TH19CH 装初值MOV TL19CHSETB ET1 T1开中断SETB TR1 启动T1RETIEND 11利用定时计数器T0产生定时时钟由P1口控制8个指示灯编一个程序使8个指示灯依次闪动闪动频率为1次秒即亮1秒后熄灭并点亮下一个-----答采用定时20ms计数50次实现1秒定时编制1秒延时子程序由主程序调用aT0工作在定时方式1时控制字TMOD配置M1M0 01GATE 0C 0可取方式控制字为01Hb计算计数初值X晶振为12 MHz所以机器周期Tcy为1N=t Tcy =20×10-31×10-6=20000X=216-N=65536-20000=45536=4E20H即应将4EH送入TH1中20H送入TL1中c实现程序如下ORG 0000HAJMP MAIN 跳转到主程序ORG 0030HMAINCLR CYMOV A01HLP0MOV P1ACALL D1SECRL AAJMP LP0 D1SECMOV R750 计数50次MOV TMOD01HDLMOV TH04EHMOV TL020HSETB TR0JNB TF0CLR TR0CLR TF0DJNZ R7DLRETEND - 95 -。
单片机原理与应用技术第三章课后答案更新版
3-11若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。
试分析执行下列程序段后上述各单元内容的变化。
MOV A,@R1 ;(A)=60H 其余不变MOV @R1,40H ;(30H)=40H 其余不变MOV 40H,A ; (40H) =60H 其余不变MOV R1,#7FH ;(R1)=7FH 其余不变3-12下列程序段汇编后,从3000H开始的各有关存储单元的内容将是什么?地址是3000H的单元存放‘S’的ascii码53H地址是3001H的单元存放‘T’的ascii码54H地址是3002H的单元存放‘A’的ascii码41H地址是3003H的单元存放‘R’的ascii码52H地址是3004H的单元存放‘T’的ascii码54H地址是3005H的单元存放34H地址是3006H的单元存放32H地址是3007H的单元存放00H地址是3008H的单元存放40H地址是3009H的单元存放00H地址是300AH的单元存放90H3-13若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20H)=0FH,试写出下列各指令独立执行后有关寄存器和存储单元的内容?若该指令影响标志位,试指出CY、AC、和OV的值。
(1)MOV A,@R0 ; (A)=2CH 其余不变(2)ANL 40H,#0FH ;(40H)=0CH(3)ADD A,R4; AC=1,OV=0,CY=1,(A)=22H(4)SWAP A ;(A)=8EH(5)DEC @R1 ; (20H)=0EH(6)XCHD A,@R1 ;(A)=EFH,(20H)=08H3-14若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM的40H、41H、42H单元中的内容各为多少?M OV A,50H ;(A)=40HMOV R0,A ;(R0)=40HMOV A,#00H ;(A)=0MOV @R0,A ;(40H)=0MOV A, 3BH ;(A)=(3BH)MOV 41H,A ;(41H)=(3BH)MOV 42H,41H ;(42H)=(3BH)3-18设自变量X为一无符号数,存放在内部RAM的VAX单元,函数Y存放在FUNC单元。
单片机中级教程原理与应用课程设计
单片机中级教程原理与应用课程设计引言单片机作为嵌入式系统中不可或缺的重要组成部分,其应用范围十分广泛。
本课程设计旨在通过深入浅出的方式,介绍单片机中级原理和应用,帮助学生深入了解增强单片机程序运行效率和性能方面的知识,提升学生综合素养和实际操作技能。
课程内容1. 单片机架构与指令结构本章主要介绍单片机的架构和指令结构,包括CPU、存储器、IO端口、定时器等模块。
通过分析和比较不同的指令集原理,使学生掌握程序设计的基础知识,并能够进行类比、抽象和推理。
2. 单片机编程技巧本章主要介绍利用单片机的硬件特性和编程技巧实现常见的功能和算法,包括IO端口的控制、中断处理、定时器的应用、PWM信号的输出、AD采样等。
通过实例演示和模拟实验,使学生能够快速掌握各种编程技巧和应用方法。
3. 单片机通信协议及网络应用本章主要内容是介绍单片机通信协议和网络应用,包括UART、SPI、I2C、CAN等通信协议的原理和应用、以及TCP/IP协议和网络通信架构的应用。
通过讲解和实践,让学生了解通信协议和网络应用的基本原理和操作方法,提高学生开发和应用能力。
4. 单片机嵌入式系统设计案例分析本章主要介绍单片机嵌入式系统的设计方法和案例分析,通过对不同实际问题和应用场景的分析,提高学生综合运用单片机理论和实际技能解决实际问题的能力和自主创新精神。
教学方法本课程设计采用“理论 + 实验 + 作业”的教学方法。
教学内容主要由教师讲解理论知识和实践应用方法,并配合实验练习和实际项目开发,让学生在实践中提升实际操作能力和解决问题的能力。
同时,每个章节都有相应的作业,让学生在课堂外巩固并拓展所学知识。
课程评估本课程设计的考核方式主要为实验、作业和期末考试。
其中,实验作业占总成绩的30%,课堂作业占总成绩的20%,期末考试占总成绩的50%。
通过课堂表现和考试成绩,评价学生的掌握情况和实际操作能力。
总结本课程设计旨在通过深入浅出的方式,介绍单片机中级原理和应用,提升学生实际操作技能和解决问题的能力。
精品课件-单片机技术及应用(王玮)-第3章 MCS-51的指令系统
指令执行后: (A)=35H,Cy=1,Ac=1,OV=0,P=0
指令执行前:(A)=ACH,(R1)=65H, (65H)=D3H。
执行指令: ADD A, @R1
1010 1100 +) 1101 0011 1 ← 0111 1111 指令执行后: (A)=7FH,Cy=1,Ac=0,OV=1,P=1
寻址方式 指令分类
指令格式 【标号:】操作符 【目的操作数】【,源操作数】【;注 释】
约定标识符 Ri和Rn:i=0、1,n=0~7。 #data/#data16:表示8/16位立即数。 rel:8位偏移量。-128~127,补码。 addr16/addr11:16/11位直接地址。 direct:8位直接地址。内部RAM或SFR。 bit:直接位地址
基址+变址寻址-操作数在程序存储器中
MOVC A,@A+DPTR
;((A)+(DPTR))→A
MOVC A,@A+PC ;((A)+(PC))→A
查表
JMP @A+DPTR
;((A)+(DPTR))→PC 指令
相对寻址
为转移指令所用
目的地址=转移指令所在地址+该转移指令的字节数+rel
=下条指令地址+rel
立即数寻址 • MOV A,#40H ;40H→A
直接寻址 • MOV A,40H ;(40H)→A
寄存器寻址 • MOV A,Rn ;(Rn)→A,n=0~7
寄存器间接寻址 • MOV A,@Ri ;((Ri))→A,片内RAM,i=0、1 • MOVX A,@Ri ;((Ri))→A,片外RAM
单片机中级教程课程设计
单片机中级教程课程设计1. 课程简介本课程是单片机中级教程,旨在进一步深入了解单片机的应用及其相关技术,为学生打下坚实的硬件基础和实践能力。
本课程包括理论课和实验课两部分,覆盖单片机的原理、操作系统、编程语言、应用等方面的内容。
本课程的教学目标是:•了解单片机的基本原理、处理器结构等;•掌握单片机的基本操作系统和编程语言;•能够运用单片机进行简单的数字电路设计、嵌入式系统开发等;•培养能力,通过实验,掌握实用的硬件设计技能和团队协作能力。
2. 课程教学大纲2.1 理论课程第一章单片机的基本原理(2 学时)• 1.1 单片机的发展历程• 1.2 单片机系统的组成及特点• 1.3 单片机的种类及其应用第二章单片机的体系结构(2 学时)• 2.1 单片机的主要组成部分• 2.2 单片机的处理器结构• 2.3 单片机的寄存器第三章单片机的操作系统(2 学时)• 3.1 单片机操作系统的概述• 3.2 单片机的中断系统• 3.3 单片机的定时器第四章单片机的编程语言(2 学时)• 4.1 基于C语言的单片机编程• 4.2 单片机的汇编语言第五章单片机的应用(2 学时)• 5.1 单片机在通信中的应用• 5.2 单片机在控制中的应用• 5.3 单片机在嵌入式系统中的应用2.2 实验课程第一章实验基础(2 学时)• 1.1 实验室安全规范• 1.2 实验常用仪器的使用方法• 1.3 实验常用元器件的特性及使用方法第二章单片机系统基础实验(6 学时)• 2.1 单片机的系统组成及操作• 2.2 单片机的编程工具及语言• 2.3 单片机的IO口• 2.4 单片机的定时器第三章数字电路实验(6 学时)• 3.1 逻辑运算电路设计及调试• 3.2 时序控制电路设计及调试• 3.3 计数器及时序控制器的设计及调试第四章嵌入式系统设计实验(6 学时)• 4.1 嵌入式系统的基本组成部分• 4.2 嵌入式系统的实时操作系统• 4.3 基于嵌入式系统的消息传输3. 课程教学方法本课程采用课堂讲授和实验相结合的教学方法。
单片机中级教程原理与应用教学设计
单片机中级教程原理与应用教学设计前言单片机是现代电子技术中不可或缺的一部分,具有广泛的应用前景。
为了更好地提高学生的技能,本文将设计一门单片机中级教程课程,以帮助学生更深入地了解单片机的原理和应用。
课程目标本课程旨在帮助学生:•掌握单片机的基本原理和应用;•熟练使用单片机编程语言;•能够使用单片机解决实际问题;•培养独立解决问题的能力。
教学内容1. 单片机概述1.1 单片机的基本构成•CPU•存储器•输入输出接口1.2 单片机的内部结构•寄存器•程序计数器•状态字寄存器•程序存储器•数据存储器1.3 单片机的编程语言•汇编语言•高级语言2. 单片机编程基础2.1 通信端口•串口通信•并口通信•USB通信2.2 中断•外部中断•内部中断2.3 定时器•时间计算•定时器的使用2.4 PWM•PWM的原理•PWM的应用3. 单片机应用3.1 数码管的应用•单片机控制数码管•数码管的驱动方式•LED数码管的应用3.2 温度传感器的应用•温度传感器的工作原理•单片机读取温度值•温度控制系统的应用3.3 按键输入的应用•单片机读取按键状态•按键消抖技术•按键控制系统的应用教学方法本课程采用“理论讲解 + 实践操作”的教学模式。
具体而言:•理论课将向学生介绍单片机的基本原理和应用,并探讨部分实际例题;•实验课将引导学生进行实际操作,例如控制数码管、读取温度传感器等,以加深对单片机应用的理解和掌握。
教学评估和考核本课程将通过以下方式进行评估和考核:•平时成绩:包括课堂表现、实验报告等内容;•实验成绩:由实验课负责人评分;•期末考试:以笔试方式进行。
结语本文设计了一门单片机中级教程课程,主要介绍了单片机的概念和原理、单片机的编程语言、单片机的各种输入输出接口,以及单片机的应用和实现方式。
通过本门课程的学习和实践,学生将更好地掌握单片机的原理和应用,增强独立解决问题的能力,为未来的工作和学习打下坚实的基础。
《单片机应用技术项目教程》电子教案 第3章
• 中断优先级和嵌套:就像生活中的例了一样,事件之间是有先后缓急 区别的。关闭煤气比接听电话紧急,接听电话比看}J紧急。在某一瞬 间,CPU因响应某一中断源的中断请求而正在执行它的中断服务程序 时,若有中断优先级更高的中断源提出中断请求,那它可以把正在执 行的中断服务程序停下来,转而响应和处理中断优先权更高的中断源
上一页 下一页 返回
3.1 单键程控彩灯
• 的中断请求,等到处理完后再转回来继续执行原来的中断服务程序, 这就是中断嵌套。单片机里的5个优先级别不同的中断,80C51最多 能嵌套两层。
• 2.与外部中断控制相关的特殊功能寄存器 • 与外部中断控制相关的特殊功能寄存器主要有:TCON寄存器、IE
寄存器、IP寄存器、SCON。这些寄存器都可以位寻址。IP寄存器与 中断优先级别控制有关,其相关内容将在本章第一节进行论述;最后 一个寄存器SCON与串行通信有关;本章将重点简述前3个寄存器。 • TCON控制寄存器(字节地址为88H ) : TCON用来保存是否有中断请 求信息和中断请求信号的方式,其中高4位与定时器/计数器有关,后
上一页 下一页 返回
3.1 单键程控彩灯
• 续章节将进行详细的论述,低4位与外部中断有关,在此将先行讲述。 TCON寄存器的结构见表3-2。
• IE0:外部中断0的中断标志。若IE0=0,外部中断0没有中断请求,否 则有请求。
• IE1:外部中断1的中断标志。若IE1=0,外部中断1没有中断请求, 否则有请求。
单片机原理及应用技术(第3版)+李全利+习题答案
章1 绪论1.第一台计算机的问世有何意义?答:第一台电子数字计算机ENIAC问世,标志着计算机时代的到来。
与现代的计算机相比,ENIAC有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生了巨大的影响。
2.计算机由哪几部分组成?答:由运算器、控制器、存储器、输入设备和输出设备组成,运算器与控制器合称为CPU。
3.微型计算机由哪几部分构成?答:微型计算机由微处理器、存储器和I/O接口电路构成。
各部分通过地址总线(AB)、数据总线(DB)和控制总线(CB)相连。
4.微处理器与微型计算机有何区别?答:微处理器集成了运算器和控制器(即CPU);而微型计算机包含微处理器、存储器和I/O接口电路等。
5.什么叫单片机?其主要特点有哪些?答:在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。
单片机主要特点有:控制性能和可靠性高;体积小、价格低、易于产品化;具有良好的性能价格比。
6.微型计算机有哪些应用形式?各适于什么场合?答:微型计算机有三种应用形式:多板机(系统机)、单板机和单片机。
多板机,通常作为办公或家庭的事务处理及科学计算,属于通用计算机。
单板机,I/O设备简单,软件资源少,使用不方便。
早期主要用于微型计算机原理的教学及简单的测控系统,现在已很少使用。
单片机,单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。
目前,单片机应用技术已经成为电子应用系统设计的最为常用技术手段。
7.当前单片机的主要产品有哪些?各有何特点?答:多年来的应用实践已经证明,80C51的系统结构合理、技术成熟。
因此,许多单片机芯片生产厂商倾力于提高80C51单片机产品的综合功能,从而形成了80C51的主流产品地位,近年来推出的与80C51兼容的主要产品有:●ATMEL公司融入Flash存储器技术推出的AT89系列单片机;●Philips公司推出的80C51、80C552系列高性能单片机;●华邦公司推出的W78C51、W77C51系列高速低价单片机;●ADI公司推出的ADμC8xx系列高精度ADC单片机;●LG公司推出的GMS90/97系列低压高速单片机;●Maxim公司推出的DS89C420高速(50MIPS)单片机;●Cygnal公司推出的C8051F系列高速SOC单片机等。
单片机中级教程张俊谟
单片机中级教程张俊谟单片机作为一种微型控制器,近年来在各个领域得到了广泛的应用。
为了能够更好地学习和掌握单片机的相关知识,一些专家学者也开发了各种教程和教材来帮助学习者更好地入门和提高。
其中,“单片机中级教程张俊谟”是一本广受欢迎的单片机学习教程。
本篇文档将对这本教程的内容和特点进行详细介绍,帮助更多的学习者对其有更深入的了解和认识。
一、教程内容简介《单片机中级教程张俊谟》是由著名单片机专家张俊谟研制的一本中级单片机教程,书籍共分为18章,涵盖了单片机的入门基础知识、单片机开发环境、单片机汇编语言程序设计、单片机应用程序设计等多个方面的知识。
在教程的第一章,作者详细介绍了单片机的基础知识和相关术语,为后续的学习和开发奠定了基础。
随后的几章主要介绍了单片机的相关模块和功能,如定时器计数器、PWM输出、串口通信等。
在这些章节中,作者不仅讲解了每个模块的具体实现方法和操作步骤,还提供了大量的案例和实例源码,供学习者参考和借鉴。
在后面的章节中,作者开始介绍单片机应用程序设计的具体方法和步骤。
在这些章节中,作者主要介绍了单片机的应用程序设计方法和技巧,如音乐播放器、LED灯控制、温度测量等应用程序的设计方法。
通过这些具体的案例和实例,学习者可以更好地理解和掌握单片机的应用程序设计方法。
二、教程特点和优势1.内容全面: “单片机中级教程张俊谟”在对单片机的整体介绍之外,还深入探讨了单片机的常用模块和应用程序的设计以及相关实例代码,为学习者提供更为全面的知识和实例参考。
2.案例丰富: 教程提供了大量的实例代码,从简单的闪灯程序到更为复杂的嵌入式系统开发,都有详细的介绍和案例说明,让学习者能够通过实践提高理论知识的应用能力。
3.易于理解: 本教程采用通俗易懂的语言,手把手教学法,将复杂的技术问题以简单易懂的形式呈现,让初学者不再为编程入门而犯难。
4.知识点精选: 本教程选取了单片机开发的核心技术和知识点,涵盖了单片机开发的常用领域,使得学习者能够在短时间内掌握单片机开发的核心技术和知识。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
80C51单片机的指令系统 第三章 80C51单片机的指令系统• 教学内容:80C51的指令分类、指令格式、七种寻址方 式及各种寻址方式适用的存贮空间,指令系统介绍。
• 教学重点:寻址方式及各种寻址方式适用的存贮空间、 指令功能与用法。
• 教学要求:掌握指令中的操作数采用的寻址方式,掌握 指令的功能与用法,能读通和编写简短的程序段。
第三章 80C51单片机的指令系统 3. 1 概 述 ( p38 ~ )3.1.1 指令分类 80C51单片机的指令系统共有111条指令,按其功能可以分为五 大类: · 数据传送类指令(28条) · 算术运算类指令 (24条) · 逻辑运算类指令 (25条) · 控制转移类指令 (17条) · 布尔操作(位)类指令 (17条) 所有指令在书后P235~239的附录中列出 。
3.1.2 指令格式 指令的表示方法称为指令格式,其内容包括指令的长度和指令的 内部信息的安排等。
一条指令通常由两部分组成:操作码和操作数。
操作码:用来规定指令所要完成的操作。
操作数:用来表示操作的对象。
它可能是一个具体的数据,也可 能是指明取得数据的地址或符号。
( 如: MOV A, #5FH )如前所述,80C51单片机的指令是不定字长的指令,有单、双、三字节指 令: (1)单字节指令:操作码和操作数同在一个字节中。
共49条,占 44%。
(2)双字节指令:一个字节为操作码,另一个字节为操作数。
共 45条,占41%。
(3)三字节指令:操作码占一字节,操作数占两个字节。
共17条, 占15%。
3.1.3 指令系统中使用的符号 下面将80C51系列的指令中常使用的符号作一简单的说明: Rn : 当前寄存器组的8个通用寄存器R0~R7,n=0~7。
Ri : 可用作间接寻址的寄存器R0,R1。
i=0 或 1。
direct:片内的8位地址,既可以是RAM的低128个单元地址,也可以 : 是特殊功能寄存器的地址或符号。
它表示直接寻址方式。
#data:8位立即数。
: #data16:16位立即数。
: addr16:16位的目的地址,只在LCALL和LJMP指令中使用。
: addr11:11位的目的地址,只在ACALL和AJMP指令中使用。
: rel:相对转移指令中的偏移量,为8位带符号的数或标号。
:DPTR:数据指针。
: A:累加器。
B:B寄存器。
: : bit:片内RAM(包括特殊功能寄存器)中的直接寻址位。
: C:进位标志位。
: @ :间址寄存器的前缀标志。
/ :位地址取反的前缀标志。
←:表示箭头左边内容被右边取代。
: ):表示某寄存器或单元的 内容。
如:(B) 、(08H) (×): ((×)):表示由×寻址单元所指定的单元的内容。
如 (( 34H )),表 ((×)): 示由34H单元所指的那个单元中的内容。
3.2 寻址方式和寻址空间指令操作时,计算机有多种寻址方式。
寻址方式越多,计算机的功能 就越强,灵活性越大,指令系统也愈复杂。
80C51系列的单片机指令系统 中共有7 种寻址方式。
分别是: 1。
立即寻址 立即寻址是指在指令中直接给出操作数 直接给出操作数。
直接给出操作数 例如:MOV A,#3AH ;(A)←8位立即数3AH,#data) 例如 MOV DPTR,#556H ;(DPTR)←16位立即数,#data16) 2。
直接寻址 直接寻址是指在指令中直接给出操作数单元的地址 直接给出操作数单元的地址 直接给出操作数单元的地址。
例如:MOV A,3AH ;把片内3AH单元的数据传送给累加器A。
例如 , 注意与 MOV A,# 3AH 指令区分开。
直接寻址方式只能给出8位地址,因此,这种寻址范围只限于片内 RAM:①低128B; ②特殊功能寄存器(可用符号表示)。
直接寻址方式是访问特殊功能寄存器的唯一 唯一方法。
唯一 3。
寄存器寻址 它在指令中将指定的寄存器的内容作为操作数 寄存器的内容作为操作数,指令中用符号名 寄存器的内容作为操作数 称来表示寄存器。
例如: INC R0 ;把寄存器R0的内容加1; (R0) ← (R0) +1 。
例如 寄存器寻址方式的寻址范围包括: 寄存器寻址方式的寻址范围 ① 四个寄存器组共32个通用寄存器。
但指令中只涉及当前寄存器组 (由PSW的RS1及RS0确定)。
② 部分特殊功能寄存器。
如累加器A、寄存器B、DPTR等。
4。
寄存器间接寻址 它是指在指令中要从寄存器的内容所指的地址去取操作数。
注意:在寄存器寻址方式中,寄存器中放的是操作数;而在寄存器间接 寻址方式中,寄存器中放的是操作数的地址 寄存器中放的是操作数的地址 寄存器中放的是操作数的地址。
因此,应在该寄存器的名 称前加 “@”。
如:INC @R0 ;((R0)) ←((R0))+1. (请与上述 INC R0 区别开)。
又如:ANL A,@R1 ;假定(R1)=60H, 则它的功能是将60H地址 单元中的数与累加器A中的数相“与”。
(A) ← (A) ∧ ((R1)) 。
寄存器间接寻址的寻址范围: (4 部分) ①片内RAM低128B:只能使用R0和R1作间址寄存器, @Ri (i =1,2) ②片 外RAM64KB:使用DPTR作间址寄存器, MOVX A,@DPTR 。
③片外RAM低256B:使用R0和R1作间址寄存器, MOVX A,@ Ri 。
④ 堆栈区:把PUSH和POP的操作也算作寄存器间接寻址,即以堆栈指 针SP作间址寄存器的间接寻址方式 (其操作数为隐含方式) 。
5。
相对寻址 它是指在指令中给出的操作数是 操作数是作为程序转移的偏移量 转移的偏移量。
相对寻址 操作数是 转移的偏移量 方式是为实现程序的相对转移而设立的。
其地址偏移量用 rel 表示。
把PC的当前值 加上偏移量就是程序转移的目的地址 (PC) ←(PC)+rel 。
偏移量 rel 是一个带符号的8位二进制补码数 二进制补码数,所能表示的数的范围 二进制补码数 为-128 ~ +127。
(负数表示向后转移) 例如:JC 80H ;若进位位C=0,则不转移;若C=1,则以 (PC) ←(PC)+rel 转移。
设JC指令(双字节)所在地址为1000H,其执行 情况示意图如 P42 图3-6 所示:即转到地址 地址为0F82H处进行。
地址6。
变址寻址 它是指以DPTR或PC作为基址寄存器,累加器A作为变址寄存器,以 两者相加形成的16位程序存储器地址作为操作数地址(有效地址 有效地址)。
所以, 有效地址 它又称为基址寄存器 变址寄存器 基址寄存器+变址寄存器 基址寄存器 变址寄存器间接寻址。
例如: ;(A) ← ( (A)+(DPTR) ) 例如:MOVC A,@A+DPTR MOVC A,@A+PC ;(A) ← ( (A)+(PC) ) 假定指令执行前(A)=54H,(DPTR)=3F21H (见P42图3-7) A =54H DPTR =3F21H P42 3-7 变址寻址形成的操作数地址为:3F21H+54H=3F75H, 若3F75H单元的内 容为7FH,则该指令执行的结果是(A)=7FH。
注意: 注意 P42 图3-7中有错误,请修改!80C51的变址寻址有如下特点:( 4方面, 见P43 ) ①变址寻址只能对程序存储器进行寻址。
②变址寻址指令只有三条: MOVC A, @A+DPTR MOVC A, @A+PC ;以上2条是程序 程序存储器读指令。
程序 JMP @A+DPTR ;无条件散转指令, (PC) ←(A)+(DPTR) 。
③尽管变址寻址方式复杂,但三条指令都是单字节指令。
④变址寻址方式常用于查表操作:如: MOV DPTR, #TABL MOVC A, @A+DPTR ······ TABL:DB 41H,42H,43H · · · · · · 7。
位寻址 (80C51比8086特殊的寻址功能) 80C51单片机有位处理功能,可以对数据进行位操作,因此就有相应 的位寻址方式。
位寻址方式的寻址范围有两部分: (1)片内RAM的位寻址区:单元地址20H~2FH共16个字节,位地 址是 00H ~ 7FH 共128个位。
对这128个位的寻址采用直接位地址表 示。
如:MOV C, 2BH ;(C) ← (位2BH) 。
请区分 MOV A, 2BH(2)可位寻址的特殊功能寄存器位:其字节地址能被 8 整除的11个特殊功 个 能寄存器,可以位寻址,这些寻址位在指令中有 种表示方法 在指令中有4种表示方法 在指令中有 种表示方法: ●直接使用位地址表示; 如: SETB 0D5H ●单元地址加位表示,如:SETB 0D0H . 5 表示0D0H单元位5 (右6)。
●特殊功能寄存器符号加位的表示法,如:SETB PSW . 5 ●位名称表示法,某些特殊功能寄存器的寻址位是有名称的,可用它们的位 名称表示。
如: PSW . 5 可用 F0 表示, SETB F0 。
有些指令操作伴有从右向左传送数据的内容, 如: MOV 45H, R1 我们 把左边的操作数称为目的操作数 而右边的称为源操作数 目的操作数, 源操作数。
目的操作数 源操作数 上面所讲的各种寻址方式都是针对源操作数的,而目的操作数也有寻 址问题,只是其寻址方式较少,只有四种 四种方式:寄存器寻址、直接寻址、 四种 寄存器间接寻址和位寻址。
P44 表3-1概括了80C51指令系统的7种寻址方式及其寻址空间。
-3. 3 指令系统如前所述, 80C51指令系统有五大类指令, 下面我们将分类介绍。
3.3.1 数据传送类指令 共28条,按功能又可分为:一般传送指令、 目的地址传送指令、累加器传送指令、栈操作指令。
数据传送指令的特点 ( P44 ) ①可以进行直接地址到直接地址的数据传送,把I/O口内容传到片内 RAM,而不必经累加器A或工作寄存器Rn。
如:MOV 32H, P1 ②用R0或R1寄存器间址访问片外RAM的低256单元之一;用DPTR的16 位间址访问片外全部64KB的片外数据存储器的任一单元。
③累加器A 能与选定的Rn中的任一个寄存器直接寻址;与@Ri 间 接寻址;与特殊功能寄存器进行字节传送;与片内RAM进行字节 或低半字节的数据交换。
④能用变址寻址方式访问程序存储器中的表格 MOVC A , @ A+… + 1。