版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、习题 1 1.1 什么是单片微型计算机 ?通常片答:单片微型计算机是将计算机的基本部件微型化并集成到一块 芯片上的微型计算机, 是计算机微型化的典型代表之一,内都含有、并行、串行、定时器/ 计数器、 时钟及系统总线等。1.2 单片机的发展经历了哪几个阶段?在哪一阶段确立了单片机 在嵌入式应用中的地位。答:单片机初级阶段( 19741976 年),芯片化探索阶段19761978年), 8 位单片机成熟阶段( 19781982年),从向过渡阶段( 1983 1990年),百花齐放阶段( 1990 年至 今)。其中,芯片化探索阶段( 19761978 年)确立了单片机在嵌入 式应用中的地位。1.3
2、单片机可分为几个系列?简述每个系列的主要特性。答:单片机按系列可分为 80C51系列、系列和系列等。系列单片机是 公司的产品,与 51 系列单片机不兼容。1) 系列单片机最大的特点是从实际出发,重视产品的性能与价格比,发展多种型号来满足不同层次的应用要求。2)精简指令使其执行效率大为提高。3)产品上市零等待()。4)有优越开发环境。5)其引脚具有防瞬态能力, 通过限流电阻可以接至 220V 交流电 源,可直接与继电器控制电路相连 , 无须光电耦合器隔离,给应用带来极大方便。6)彻底的保密性。7)自带看门狗定时器,可以用来提高程序运行的可靠性。8)睡眠和低功耗模式。精简指令单片机是 1997 年
3、由公司研发出的增强型内置的 ( )集高速 8 位单片机。单片机的主要特性1) 单片机以字作为指令长度单位,将内容丰富的操作数与操作),码安排在一字之中 ( 指令集中占大多数的单周期指令都是如此 取指周期短,又可预取指令, 实现流水作业, 故可高速执行指令。2) 单片机硬件结构采取 8位机与 16 位机的折中策略, 即采用局 部寄存器堆 (32 个寄存器文件 )和单体高速输入 /输出的方案 (即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑)。提高了指令执行速度 (1) ,克服了瓶颈现象;同时又减少了对外设管 理的开销,相对简化了硬件结构,降低了成本。3)单片机内嵌高质量的程序存储器,擦写方便
4、,支持和,便于 产品的调试、开发、生产、更新。4)单片机的线全部带可设置的上拉电阻、可单独设定为输入 /输出、可设定(初始)高阻输入、驱动能力强(可省去功率驱动 器件)等特性,使得口资源灵活、功能强大、可充分利用。5)单片机片内具备多种独立的时钟分频器,分别供、丨2C使用。6)增强性的高速同 /异步串口, 具有硬件产生校验码、 硬件检测 和校验帧错、两级接收缓冲、波特率自动调整定位(接收时)、 屏蔽数据帧等功能,提高了通信的可靠性,方便程序编写,更便 于组成分布式网络和实现多机通信系统的复杂应用, 串口功能大中断服务时间短,大超过 51/96 单片机的串口, 加之单片机高速, 故可实现高波特率
5、通讯。7)面向字节的高速硬件串行接口、。与l2C接口兼容,具备信号硬件发送与识别、地址识别、总线仲裁等功能,能实现主 / 从 机的收 / 发全部 4 种组合的多机通信。 支持主 / 从机等 4 种组合的 多机通信。8) 单片机有自动上电复位电路、独立的看门狗电路、低电压检 测电路,多个复位源 ( 自动上电复位、外部复位、看门狗复位、 复位 ) ,可设置的启动后延时运行程序,增强了嵌入式系统的可 靠性。9) 单片机具有多种省电休眠模式,且可宽电压运行(52.7V) , 抗干扰能力强, 可降低一般 8 位机中的软件抗干扰设计工作量和 硬件的使用量。10) 单片机技术体现了单片机集多种器件 ( 包括
6、程序存储器、看门狗、同 / 异步串行口、模数转换器、定时器 /计数器等 )和多种功能 ( 增强可靠性的复位系统、降低功耗抗干扰的休眠模 式、品种多门类全的中断系统、 具有输入捕获和比较匹配输出等 多样化功能的定时器 / 计数器、具有替换功能的端口等 ) 于一身, 充分体现了单片机技术的从“片自为战”向“片上系统”过渡 的发展方向1.4 简述单片机技术发展的趋势。答:( 1)单片机的大容量化单片机内存储器容量进步扩大。以往片内为18,为64字节256 字节。现在片内可达 40,片内可达 4,也不需再外加扩展芯片。、 成为主流供应状态。而随着单片机程序空间的扩大,在空余空间可嵌入实时操作系统等软件
7、。这将大大提高产品的开发效率和单片机的性能。2)单片机的高性能化高性能化主要是指进一步改进的性能,加快指令运算的速度和提高系统控制的可靠性。采用精简指令集)结构,可以大幅度提高运行速度。并加强位处理功能、中断和定时控制功能;采用流 水线结构,指令以队列形式出现在中, 因而具有很高的运算速度,有的甚至采用多级流水线结构。单片机的扩展方式从并行总线到发展出各种串行总线,并被工业界接受,形成一些工业标准。如l2C、串行总线等。它们采用3条数据总线代替现行的 8 条数据总线,从而减少了单片机引线, 降低了成本。单片机系统结构更加简化及规范化。3)单片机的小容量低廉化小容量低廉的 4 位、8 位机也是单
8、片机发展方向之一。其用途是 把以往用数字逻辑电路组成的控制电路单片化。 专用型的单片机 将得到大力发展。使用专用单片机可最大限度地简化系统结构, 提高可靠性, 使资源利用率最高。 在大批量使用时有可观的经济 效益。4)单片机的外围电路内装化随着集成度的不断提高, 可以把众多的外围功能器件集成到单片 机内。除了、外,还可把、转换器、控制器、声音发生器、监 视定时器、液晶驱动电路、锁相电路等一并集成在芯片内。为了 减少外部的驱动芯片, 进一步增强单片机的并行驱动能力。 有的 单片机可直接输出大电流和高电压, 以便直接驱动显示器。 为进步加快口的传输速度, 有的单片机还设置了高速口, 可用最快 的速
9、度驱动外部设备, 也可以用最快的速度响应外部事件。 甚至 单片机厂商还可以根据用户的要求量身定做, 把所需要的外围电 路全部集成在单片机内,制造出具有自己特色的单片机。5)单片机的全面化单片机的全面化, 将给单片机技术发展带来广阔的天地。 芯片除 了低功耗特性之外, 还具有功耗的可控性, 使单片机可以工作在功耗精细管理状态。 低功耗的技术措施可提高可靠性, 降低工作电压,可使抗噪声和抗干扰等各方面性能全面提高。单片机的全高抗干盘化的效应不仅是功耗低, 而且带来了产品的高可靠性、 扰能力以及产品的便携化。(6) 单片机的应用系统化 单片机是嵌入式系统的独立发展之路,单片机向发展的重要因 素,就是
10、寻求应用系统在芯片上的最大化解决。因此,专用单片 机的发展自然形成了( )化趋势。随着微电子技术、设计、工具的发展,基于的单片机应用系统设计会有较大的发展。因此, 随着集成电路技术及工艺的快速发展, 对单片机的理解可以从单 片微型计算机、单片微控制器延伸到单片应用系统。1.5 单片机具有哪些突出优点 ?举例说明单片机的应用领域。答: 1单片机寿命长所谓寿命长, 一方面指用单片机开发的产品可以稳定可靠地工作 十年、二十年,另一方面是指与微处理器相比生存周期长。更新 换代的速度越来越快,以 386、486、586 为代表的,几年内就被淘汰出局。而传统的单片机如 8051 、6805 等年龄已有二十
11、多岁,产量仍是上升的。 一些成功上市的相对年轻的核心,也会随着功能模块的不断丰富,有着相当长的生存周期。2 8位、 32 位单片机共同发展这是当前单片机技术发展的另一动向。 长期以来,单片机技术的多媒体技术发展是以 8 位机为主的。随着移动通讯、网络技术、 等高科技产品进入家庭, 32 位单片机应用得到了长足、迅猛的 发展。3低噪声与高速度为提高单片机抗干扰能力, 降低噪声, 降低时钟频率而不牺牲运 算速度是单片机技术发展之追求。一些 8051 单片机兼容厂商改善了单片机的内部时序, 在不提高时钟频率的条件下, 使运算速 度提高了很多。 单片机使用了琐相环技术或内部倍频技术使内部 总线速度大大
12、高于时钟产生器的频率。 6808 单片机使用 4.9 外 部振荡器而内部时钟达 32。三星电子新近推出了 1.2 的处理器 内核。4低电压与低功耗几乎所有的单片机都有、 等省电运行方式。 允许使用的电源电压 范围也越来越宽。一般单片机都能在 36V范围内工作,对电池供电的单片机不再需要对电源采取稳压措施。 低电压供电的单片 机电源下限已由2.7V降至2.2V、1.8V。 0.9V供电的单片机已经问世。5低噪声与高可靠性为提高单片机系统的抗电磁干扰能力, 使产品能适应恶劣的工作 环境,满足电磁兼容性方面更高标准的要求, 各单片机商家在单 片机内部电路中采取了一些新的技术措施。 如公司的由标准 8
13、032核和(可编程系统器件)构成的 卩系列单片机片内增加了看门 狗定时器,公司的 8 单片机内部增加了抗电路,增强了“看门 狗”的性能。推出了低噪声的系列单片机。6与( )技术的优势是不需要编程器就可以进行单片机的实验和开 发,单片机芯片可以直接焊接到电路板上,调试结束即成成品, 免去了调试时由于频繁地插入取出芯片对芯片和电路板带来的 不便。( )技术是从结构上将存储器映射为两个存储体,当运 行一个存储体上的用户程序时, 可对另一个存储体重新编程, 之 后将程序从一个存储体转向另一个。 的实现一般需要很少的外部 电路辅助实现, 而的实现更加灵活, 通常可利用单片机的串行口 接到计算机的 232
14、 口,通过专门设计的固件程序来编程内部存储 器,可以通过现有的或其它通讯方式很方便地实现远程升级和维 护。单片机的应用领域:1)智能化家用电器:各种家用电器普遍采用单片机智能化控制代替传统的电子线路控制,升级换代,提高档次。如洗衣机、空 调、电视机、录像机、微波炉、电冰箱、电饭煲以及各种视听设 备等。2)办公自动化设备:现代办公室使用的大量通信和办公设备多数嵌入了单片机。 如打印机、 复印机、传真机、 绘图机、考勤机、 电话以及通用计算机中的键盘译码、磁盘驱动等。3)商业营销设备:在商业营销系统中已广泛使用的电子称、收款机、条形码阅读器、卡刷卡机、出租车计价器以及仓储安全监测系统、商场保安系统
15、、空气调节系统、冷冻保险系统等都采用 了单片机控制。4)工业自动化控制:工业自动化控制是最早采用单片机控制的领域之一。如各种测控系统、过程控制、机电一体化、等。在化 工、建筑、冶金等各种工业领域都要用到单片机控制。5)智能仪器仪表:采用单片机的智能化仪表大大提升了仪表的档次, 强化了功能。 如数据处理和存储、 故障诊断、 联网集控等。6)智能化通信产品:最突出的是手机,当然手机内的芯片属专用型单片机。7)汽车电子产品:现代汽车的集中显示系统、动力监测控制系统、自动驾驶系统、通信系统和运行监视器(黑匣子)等都离不 开单片机。8)航空航天系统和国防军事、尖端武器等领域:单片机的应用更是不言而喻。习
16、题 22.1 51 单片机内部包含哪些主要逻辑功能部件答:微处理器()、数据存储器()、程序存储器()、特殊功 能寄存器()、并行口、串行通信口、定时器 / 计数器及中断系 统。2.2 说明程序计数器和堆栈指针的作用。复位后和各为何值 答:程序计数器中存放将要执行的指令地址,有自动加 1 功能, 以实现程序的顺序执行。它是中唯一隐含地址的,因此,用户无 法对它进行读写。但在执行转移、调用、返回等指令时能自动改 变其内容,以实现改变程序的执行顺序。程中程序计数器中内容的变化决定程序的流程, 在执行程序的工作过 ,由输出将要执行的指令的程序存储器地址, 读取该地址单 元中存储的指令并进行指令译码等
17、操作, 则自动指向下一条将要 执行的指令的程序存储器地址。是一个 8 位的,它用来指示堆栈顶部在内部中的位置。 系统复位 后为07H,若不对设置初值,则堆栈在 08H开始的区域,为了不占用工作寄存器 R07 的地址,一般在编程时应设置的初值(最好 在 307 区域)。2.3 程序状态字寄存器的作用是什么?其中状态标志有哪几位 ?它们的含义是什么?答:是保存数据操作的结果标志,其中状态标志有( .7):进位标志,(.6 ):辅助进位标志, 又称半进位标志, F0、 F1( .5 、 .1 ): 用户标志;( .2 ):溢出标志; P(.0 ):奇偶标志。2.4 什么是堆栈 ? 堆栈有何作用 ?
18、为什么要对堆栈指针重新赋 值 ? 的初值应如何设定 ?答:堆栈是一种数据结构, 所谓堆栈就是只允许在其一端进行数 据写入和数据读出的线性表。其主要作用有两个:保护断点和保护现场。堆栈区的设置原则上可以在内部的任意区域,但由于 51 单片机 内部的001地址单元已被工作寄存器 R07占用,202为位寻址区,故堆栈一般设在 307(对于 8032 系列芯片可为 300)的区域内。单片机复位后,的内容为 07H,堆栈事实上由08H单元开始,考虑到 081 单元分别属于 13组的工作寄存器区, 则最好把值改置 为 1 或更大的值。2.5 开机复位后,使用的是哪组工作寄存器 ? 它们的地址如何 ?如何指
19、定和改变当前工作寄存器组 ?答:开机复位后使用的是 0组工作寄存器, 它们的地址是 0007H,对程序状态字中的 1 和 0 两位进行编程设置, 可指定和改变当前 工作寄存器组。1、0=00H时,当前工作寄存器被指定为 0组;1、0=01H时,当前工作寄存器被指定为 1组;1、0=10H时,当前工作寄存器被指定为2组;1、0=11H时,当前工作寄存器被指定 为 3 组。2.6 51 的时钟周期、机器周期、指令周期是如何定义的 ?当振荡频率为 12 时,一个机器周期为多少微秒 ?答: 时钟周期也称为振荡周期,定义为时钟脉冲的倒数,是 计算机中最基本的、最小的时间单位。 取出一条指令至该指令执行完
20、所需的时间称为指令周期,因 不同的指令执行所需的时间可能不同, 故不同的指令可能有不同 的指令周期。 机器周期是用来衡量指令或程序执行速度的最小单位。它的 确定原则是以最小指令周期为基准的, 即一个最小指令周期为一 个机器周期。 当振荡频率为 12 时,一个机器周期 1 微秒2.7 51 单片机的控制信号、有哪些功能? 答:是访问程序存储器控制信号。当端接低电平时,则不管芯片 内部是否有程序存储器, 只访问外部程序存储器。 对 8031 来说, 因其内部无程序存储器, 所以该引脚必须接地。 当端接高电平时,访问内部程序存储器,但当(程序计数器)值超过某一值时,将 自动转向片外程序存储器1000
21、H地址继续执行程序。是地址锁存允许信号。 当访问外部存储器或接口时, 输出脉冲的 下降沿用于锁存 1 6位地址的低 8 位。在不访问外部存储器或接 口时,端有周期性正脉冲输出, 其频率为振荡频率的 1/6。但是,每当访问外部数据存储器或接口时, 在第二个机器周期中只出现一次,即丢失一个脉冲。片外程序存储器读选通信号。在从外部程序存储器读取指令 (或常数)期间,每个机器周期两次有效,但在访问外部数据存储器 或接口时,信号将不出现。端可以驱动 8 个负载。2.8 51 的片外程序存储器和片外数据存储器共处同一地址空间 为什么不会发生总线冲突 ?答:51 的片外程序存储器和片外数据存储器共处同一地址
22、空间, 地址范围都是0000H(64 ),但不会发生总线冲突。因片外 程序存储器和片外数据存储器的读写控制信号不同, 片外程序存 储器的读信号是,而片外数据存储器的读信号为、写信号为 , 访 问片外程序存储器和片外数据存储器的指令也不同, 所以它们不 会发生总线冲突。2.9 简述 51 内部数据存储器的存储空间分配。答:内部数据存储器分为 3 个区域:1.工作寄存器区( 001);2.位寻址区( 202);3.堆栈和数据缓冲器区( 307 或 300)。2.10答:51 的位存储器由以内部中202 单元和特殊功能寄存器中地位地址和字节地址有何区别 ? 位地址 20H 具体在内存中什么位置?址为
23、 8 的倍数的特殊功能寄存器两部分组成。 其中每个单元的每 一位都有一个位地址映像, 它们既可以像普通内部单元一样按字 节存取,也可以对单元中的任何一位单独存取。字节地址是内部中和特殊功能寄存器中每个存储单元的地址。位地址20H是内部24H中的DO位。2.11 8051的4个I /O 口作用是什么? 8051的片外三总线是如何分配的? 答:51单片机有 4个8位并行端口,分别记作 P0、P1、P2、P3口。 在访问片外扩展存储器时, P0 口分时传送低 8 位地址和数 据,P2 口传送高8位地址。P1 口通常作为通用口供用户使用。P3 口具有第二功能,为系统提供一些控制信号。在无片外扩展存储器
24、的系统中,这 4个口均可作为通用端口使用。在作为通用端口使用时,这 4个口都是准双向口。 在访问片外扩展存储器时,片外三总线的构成:P0 口传送低8位地址经锁存器所存构成低 8位地址总线,高8位地址总线由P2 口构成。P0 口作为单片机系统的低8位地址/数据线分时复用,在低8位 地址锁存后,P0 口作为双向数据总线。由P3 口的第二功能输出数据存储器的读、写控制信号与片外程序存储器读选通信号,访问程序存储器控制信号, 地址锁存允许信号构成控制总线。习题 33.1 汇编语句是由 4 个部分(字段)构成的,简述各部分的含义。答:汇编语句的 4个部分为: 标号: 操作码 操作数 ;注释标号是用户设定
25、的一个符号,表示存放指令或数据的存储单元地址。标号由以字母开始的18个字母或数字串组成,以冒号结尾。不能用指令助记符、伪指令或寄存器名来作标号。标号是任选的,并不是每条指令或数据存储单元都要标号,只在需要时才设标号。如转移指令所要访问的存储单元前面一般要设置标号。一旦使用了某标号定义一个地址单元, 在程序的其它地方就不能 随意修改这个定义,也不能重复定义。操作码是指令或伪指令的助记符,用来表示指令的性质或功能。对于一条汇编语言指令,这个字段是必不可少的。操作数给出参加运算 ( 或其它操作 ) 的数据或数据的地址。 操作数 可以表示为工作寄存器名、特殊功能寄存器名、标号名、常数、 表达式等。这一
26、字段可能有,也可能没有。若有两个或三个操作 数,它们之间应以逗号分开。注释字段不是汇编语言的功能部分, 只是增加程序的可读性。 言 简意赅的注释是汇编语言程序编写中的重要组成部分。3.2 举例说明 51 单片机的 7 种寻址方式,各寻址方式的寻址空 间。1. 立即寻址 立即寻址方式的寻址空间为程序存储器。例如:A , #3 ; 3A1. 直接寻址 直接寻址方式中操作数存储的空间有三种:1.内部数据存储器的低128个字节单元(00H7)例如: A ,3OH ;(30H)f A指令功能是把内部30H 单元中的内容送入累加器 A。 位地址空间例如: C ,OOH ;直接位OOH内容f进位位 特殊功能
27、寄存器例如: , #85H ;立即数85Hf中断允许寄存器。1. 寄存器寻址 寄存器寻址方式的寻址空间为工作寄存器和特殊功能寄存器等。例如: A ,R6 ;(R6) fA1. 寄存器间接寻址 寄存器间接寻址空间为内部 128 字节,外例如: A ,O ;(RO) ) fA1. 变址寻址 变址寻址空间为程序存储器。例如:A ,+ ;() + (A)f AA,+ ;() + (A)f A1. 相对寻址 相对寻址空间为程序存储器。2. 当前值是指相对转移指令所在地址(源地址)加转移指令字节数。即:当前值 = 源地址 + 转移指令字节数1. 偏移量 是有符号的单字节数,以补码表示,相对值在-128+1
28、27范围内,负数表示从当前地址向上转移,正数表示从当前地址向下转移。所以转移的目的地址为:目的地址 = 当前值 + = 源地址 + 转移指令字节数 +例如: 2 , F8H1. 位寻址 位寻址空间为内部 202 的 128 位和中的 83 位。例如: C , 30H,P1.0, C3.3 指出下列指令的寻址方式和操作功能:40H ;直接寻址(40H)+1 f 40HA ;寄存器寻址(A)+1 f A 2 ; 寄存器间接寻址 (R2)+1 f(R2)A, ; 基址加变址寄存器寻址 (A)+()fAA, #6 ; 立即寻址6 f AP1.0 ; 位寻址 P1.0 置 1 3.4设内部中3单元的内容
29、为50H,写出当执行下列程序段后寄存器A RO和内部50H,51H单元的内容为何值?A, 3 ;(A)=50HRO, A ;(RO)=5OHA,#OOH ;(A)=OOHO,A ;(5OH)=OOHA,#25H ;(A)=25H51H, A ;(51H)=25H答: (A)=25H , (3)=5OH, (RO)=5OH, (5OH)=OOH, (51H)=25H 3.5设堆栈指针中的内容为60H,内部30H和31H单元的内容分别为27H和1,执行下列程序段后,61H, 62H, 30H, 31H,及中的内容将有何变化?3OH ;()+1f, (3OH) f61H31H ; ()+1f, (3
30、1H) f62H; (62); (61)()-1 f) -1 f30H,#00H ; 00H f30H 31H,#0 ; f31H答: (61 H)=27H, (62H)=1, (30H)=00H, (31H), ()=271, ()=60H 3.6 设(A) =30H,( R1) =23H,( 30H) =05H。执行下列两条指A,R1令后,累加器 A 和 R1 以及内部 30H 单元的内容各为何值?A,答:(A)=25H, (R1)=30H, (30H)=03H3.7设( A) =01010101B,(R5) =10101010B,分别写出执行下列指令后的结果A,R5 ; (A)=0000
31、 0000B,R5) =10101010BA,R5 ; (A)= 10101010B,R5) =10101010BA,R5 ; (A)=00000000B3.8设指令7 ,并假设该指令存放在 2113H和2114H单元中。当该条指令执行后,程序将跳转到何地址?答:程序将跳转到2194H地址3.9答:简述转移指令 11 ,16 及 的应用场合。11这是在当前的2K字节范围内的无条件转移指令,把程序的执行转移到指定的地址。这是相对跳转指令, 其中为相对偏移量。 转向的目标地址是在 当前的前 128字节到后 127字节之间。16 执行这条指令时把指令的第二和第三字节分别装入的高位 和低位字节中, 无
32、条件地转向指定地址。 转移的目标地址可以在64 程序存储器地址空间的任何地方,不影响任何标志。把累加器 A中 8 位无符号数与数据指针中的16 位数相加,将结果作为转移的目标地址送入,不改变累加器A 和数据指针内 容,也不影响标志。本指令以内容作为基址,A的内容作为变址。只要把的值固定,而给A赋予不同的值,即可实现程序的多分支 转移。3.10 查指令表,写出下列两条指令的机器码,并比较一下机器 码中操作数排列次序的特点。78H,80H ;85 80 7878H,#80H ;75 78 80答:直接寻址单元传送到直接寻址单元的机器码是第二个操作数 在前,而立即数传送到直接地址单元是第一个操作数在
33、前, 次序1 这一数据。若找正好相反。3.11 试编写程序,查找在内部 3050H 单元中 到1则将51H单元置为01H;没找到则将51H单元置为00H。答:参考程序如下R1, #2 1: R11, #1, 22: R1, #51, 151H, #00H3: 51H, #01H3.12若60H,子程序标号所在的地址为 3A40H执行 指令后, 堆栈指针和堆栈内容发生了什么变化? 答:()=62H, (61H)=40H, (62H)=3 3.13 假设外部存储器 215单元的内容为 3,执行下列指令后,累加器A中的内容为何值?P2 , #21HR0, #5答: (A) = 3习题 4 4.1编程
34、将数据存储器中以2A00H为首地址的100个连续单元清零。R0, #64H, #2A00H,AR0, LOOP4.2编程将片内50H70H单元中的内容传送到以 5C00H为起始地址的存储区中。, #5C00HR0, #50HLOOP: 0R0R0,#70H,4.3片外区从1000H单元开始存有100个单字节无符号数,找出最大值并存入1100H单元中,试编写程序。, #1000H ; 置片外区首地址R000H ; 清 R0R1,64H ; 置计数初值 100: A, ; 取片外区的某个数送 A0 , 1 ;与RO中的数比较 1: 2 ;(A)<(R0) 跳转到 2;若(A)(R0),则大数
35、送 2: ; 修改数据块指针R1 ; 未完,循环4.4设有100个单字节有符号数,连续存放在以2100H为首地址的存储区中,试编程统计其中正数、负数、零的个数。R0, #00H ; 置负数的计数初值R1, #00H ; 置正数的计数初值R2, #00H ;置 0 的计数初值R4, #64H ;置循环计数初值, #2100H ;置数据区首地址: A, ; 取某一数据送入 A;为 0 转.7, ;为正数转R0 ; 负数计数值加 1修改数据块指针R4, ; 未完,返回修改数据块指针R4,: R2 ; 0 计数值加 1R4,4.5从2030H单元开始,存有100个有符号数,要求把它传送到从 20 开始
36、的存储区中,但负数不传送,试编写程序。R1, #64H ; 置计数初值R0, 0H ; 目标数据区首地址低 8位,高 8位为 20H , #2030H ; 源数据区首地址 : A, ; 取源数据区某数据送入 A .7, D1 ; 负数,转 D1 0, A ; 正数,送入目标数据区修改源数据块指针R0 ; 修改目标数据块指针; 返回D1: ; 修改源数据块指针R0 ; 修改目标数据块指针; 返回4.6若从30H单元开始有100个数,编一个程序检查这些数, 正 数保持不变,负数取补后送回。R0, #30H ; 数据区首地址R1, #64H ; 计数初值: A, 0 ;取某个数.7, ; 正数,转A
37、 ; 负数,取补A, #01H0, A ; 送回原地址R0 ; 修改数据块指针R1, ;: R0 ;修改数据块指针R1, ;4.7试编程把以2040H为首地址的连续10个单元的内容按升序排列,存到原来的存储区中。: , #2040H;R3, #09H;F0;D1: A , ;R2, A ;前一个数送R2A, ;R4, A ;后一个数送R4A, R2 ;前一个数送A, R4 ;前一个数减后一个数A, R2 ;相邻数互换,AR0, ; 数据指针低 8 位减 1R0,R0A, R4 ;,AF0 : R3, D1;F04.8设在2000H2004H单元中.存放有5个压缩码,编程将它们转换成码,存放到以
38、2005H为首地址的存储区中。2000H;R0, #05H;R1, #04H;D1: A, ;A, #0C;A,#30H;P220HR0R1, D1;1.在以2000H为首地址的存储区中,存放着20个用码表示的O-9之间的数,试编程,将它们转换成码,并以压缩码的形式存放在 3000H-3009H单元中。, 2000H;R0, #20H;R1, #00H;: A, ;A, #30H;P2, 30H;1;R1;R0, ;4.10 试编写多字节码数加法、减法子程序。4.11 若晶振为 6,试编写延时 100、1s 的子程序。2000H 周期数RO , #0 ;毫秒数f RO 12: R1 ,; 1
39、延时值f R1 1 1: 1R1 , 1 ; 1 延时循环 2RO , 2 ; 10延时循环24.12试设计一个子程序,其功能为将片内20H21H中的压缩码转换为二进制数,并存于以 30H开始的单元。A , 20HR2 , A ;取千位、百位码1 ;调用子程序B , #0;乘以 10R6, A ;乘积低 8 位送 R6A , B ;交换乘积高、低位R5 , A ;乘积高位送 R5A , 21H ;取十位、个位码R2 , A ;送入 R2 1 ;调用子程序A, R6 ;加千位、百位乘积低 8 位31H, A ;低 8 位送入 31HA, R5 ;乘积高 8 位送 AA ,#00H ;加进位位30
40、H,A ;结果高 8 位送入 30H子程序清单:1: A ,R2 ;取压缩码A,#0F0H ;屏蔽低 4 位B,#0高位码乘以 10R3 ,A ;乘积送 R3A ,R2 ;取压缩码A,#0 ;屏蔽高 4 位A , R3 ;高位码乘以 10 后加低位码R2 ,A ;送 R2习题 55.1 什么是中断系统 ?中断系统的功能是什么 ?答:当正在处理某件事情 ( 例如,正在执行主程序 ) 的时候,外部 或内部发生的某一事件 ( 如某个引脚上电平的变化,一个脉冲沿的发生或计数器的计数溢出等 ) 请求迅速去处理,于是,暂时终止当前的工作, 转去处理所发生的事件。中断服务程序处理完该事件后,再回到原来被终止
41、的地方,继续原来的工作,这样的过 程称为中断。实现这种功能的部件称为中断系统。中断系统的功能:1)实现中断及中断返回,( 2)实现优先级排队,( 3)实现优先级控制。5.2 什么是中断嵌套 ?答:当响应某一中断源的请求而进行中断处理时, 若有优先级更 高的中断源发出中断请求, 则中断正在执行的中断服务程序, 留程序的断点和现场,响应更高一级的中断,即是中断嵌套。5.3 什么是中断源? 51 有哪些中断源 ?各有什么特点 ?答:向发出中断请求的来源称为中断源。0。5-51 单片机的中断系统有 5 个中断请求源: 外部中断 0 请求,由引脚输入,中断请求标志为0。外部中断 l 请求,由引脚输入,中
42、断请求标志为。定时器/计数器TO溢出中断请求,中断请求标志为定时器 /计数器 T1 溢出中断请求,中断请求标志为1。串行口中断请求,中断请求标志为或。外部中断0:它的触发方式选择位为O。0=0,为电平触发方式,引脚上低电平有效 0=1,为脉冲触发方式,引脚上的电平从高到低的负跳变有效。0位可由软件置“ 1”或清“ 0”。外部中断 0请求标志位 0。当0=0,即电平触发方式时,每个机器周期的S5P2采样引脚,若脚为低电平,则置“ 1” 0 ,否则清“ 0” 0。当 0=1,即跳沿触发方式时,在第一个机器周期采样为低电平,则置“1” 0。0=1,表示外部中断 0正在向申请中断。当响应中断,转向中断
43、服务程序时,由硬件清“ 0” 0。外部中断 1中断原是与此相同。定时器/计数器 0:被启动计数后,从初值开始加 1 计数,当定 时器/计数器 0计数满而产生溢出时,由硬件自动使 0置 1,并向申请中断。 该标志一直保持到响应中断后, 才由硬件自动清 0。也可用软件查询该标志,并由软件清 0。定时器 /计数器 1 中断 原理与此相同。串行中断请求由、 的逻辑“或”得到。 即不论是发送标志还是接 收标志,都将发生串行中断请求。5.4 51 单片机响应外部中断的典型时间是多少 ?在哪些情况下,将推迟对中断请求的响应 ?答: 38个机器周期。(1) 正在处理相同的或更高优先级的中断。 因为当一个中断被
44、响 应时,要把对应的中断优先级状态触发器置“ 1”( 该触发器指出 所处理的中断优先级别 ) ,从而封锁了低级中断和同级中断。(2) 所查询的机器周期不是所执行指令的最后一个机器周期。 作 这个限制的目的是使当前指令执行完毕后,才能进行中断响应, 以确保当前指令完整的执行。(3) 正在执行的指令是 1 或是访问或的指令。因为按 51 中断系合匕统特性的规定, 在执行完这些指令后, 需要再执行一条指令才能 响应新的中断请求。如果存在上述三种情况之一,将推迟对中断请求的响应。5.5中断查询确认后, 在下列各种运行情况中,能立即进行响应的是:(1)当前正在进行高优先级中断处理(2)当前正在执行指令(
45、3)当前指令是指令,且正处于取指令的机器周期(4)当前指令是 A, R3答:4)能立即进行响应5.6试编写出外部中断 1 为跳沿触发方式的中断初始化程序。答:5.7在 51 中,需要外加电路实现中断撤除的是(1) 定时中断(2) 脉冲方式的外部中断(3) 串行中断(4) 电平方式的外部中断 答:( 4)需要外加电路 5.8 51 有哪几种扩展外部中断源的方法 ?各有什么特点 ?答:1)定时器 / 计数器作为外部中断源的使用方法当它们选择为计数器工作模式,TO或T1引脚上发生负跳变时,TO或T1计数器加1,利用这个特性,可以把TO、T1引脚作为外部中断请求输入引脚,而定时器 / 计数器的溢出中断
46、 1 或 0 作为 外部中断请求标志。2)中断和查询结合的方法若系统中有多个外部中断请求源, 可以按它们的轻重缓急进行排 队,把其中最高级别的中断源 O 直接接到 51 的一个外部中断输入端,其余的中断源14用“线或”的办法连到另一个外部中断输入端,同时还连到 P1 口,中断源的中断请求由外设的硬件电路产生,这种方法原则上可处理任意多个外部中断。查询法扩展外部中断源比较简单, 但是扩展的外部中断源个数较 多时,查询时间较长。3)用优先权编码器扩展外部中断源可以采用 74148 优先权编码器在硬件上对外部中断源进行排队, 避免响应优先级最高的中断和响应优先级最低的中断所需的时 间可能相差很大这样
47、的问题。 该方法的最大特点是结构简单, 价格低廉,但该电路无法实现中断服务子程序的嵌套。5.9中断服务子程序和普通子程序有什么区别00答: 1 ,中断服务子程序的入口地址由中断向量表确定,而普通 子程序的入口地址在中断向量表以外的程序存储空间内任意设 定。2,中断服务子程序的返回指令是 , 而普通子程序的返回指令是5.10试编写一段对中断系统初始化的程序,允许0, 1, TO,串行口中断,且使 T0 中断为高优先级。答:5.11 在 51 单片机中,外部中断有哪两种触发方式?如何加以区 别?答:电平触发方式和跳沿触发方式。0=0 时, 为电平触发方式,引脚低电平有效。0=1 时, 为跳沿触发方
48、式,引脚负跳变有效。1=0时,为电平触发方式,引脚低电平有效。1=1时,为跳沿触发方式,引脚负跳变有效。5.12 单片机在什么条件下可响应 0 中断 ?简要说明中断响应的过程。答:1,中断允许寄存器中的 1,且 1=1,同时没有其它优先于外部中断 0 的中断,若 0=0,引脚上低电平有效;若 0=1,引脚上的电平从高到低的负跳变有效。2,当正在处理某件事情 (例如,正在执行主程序 ) 的时候,外部 发生的某一事件 ( 如某个引脚上电平的变化, 一个脉冲沿的发生 )请求迅速去处理,于是,暂时终止当前的工作,转去处理所发生 的事件。 中断服务程序处理完该事件后, 再回到原来被终止的地 方,继续原来
49、的工作,这样的过程称为中断。处理事件请求的过 程,称为的中断响应过程。5.13 当正在执行某一中断源的中断服务程序时,如果有新的中 断请求出现,问在什么情况下可响应新的中断请求 ?在什么情况不能响应新的中断请求? 答: 1,一个中断源的中断请求被响应,需满足以下条件该中断源发出中断请求。开中断,即中断总允许位 1。申请中断的中断源的中断允许位 =1,即该中断没有被屏蔽。2,无同级或更高级中断正在被服务。中断响应是有条件的,并不是查询到的所有中断请求都能被立即响应,当遇到下列三种情况之一时,中断响应被封锁(1) 正在处理相同的或更高优先级的中断。 因为当一个中断被响 应时,要把对应的中断优先级状
50、态触发器置“ 1”( 该触发器指出 所处理的中断优先级别 ) ,从而封锁了低级中断和同级中断。(2) 所查询的机器周期不是所执行指令的最后一个机器周期。 作 这个限制的目的是使当前指令执行完毕后,才能进行中断响应, 以确保当前指令完整的执行。(3) 正在执行的指令是或是访问或的指令。因为按 51 中断系统 特性的规定, 在执行完这些指令后, 需要再执行一条指令才能响 应新的中断请求。如果存在上述三种情况之一,将不能进行中断响应。习题 66.1 51 单片机的、 T1 用作定时器时,其定时时间与哪些因素有 关?答:定时器 / 计数器用作定时方式时,其定时时间与时钟周期、 工作方式、定时初值等因素
51、有关。6.2 当 51 单片机的用于工作方式 3 时,由于位已被占用,该如 何控制定时器 T1 的开启和关闭 ?答:这时 T1 只能用作串行口波特率发生器或不需要中断的场合。因为1已被TO借用,所以T1的控制只有和M1、M0两个条件, 选择定时或计数模式, M 1、 M 0选择工作方式。这时只要把方式控制字送入寄存器就可启动 T1 运行,如果让它停止工作,只需 送入一个将 T1 设置为工作方式 3 的方式控制字就可以了。6.3 设 51 单片机的晶振频率为 12,试用单片机的内部定时方式产生频率为100的方波信号,由P1.1脚输出。答:依据题意, 只要使 P1.0 引脚每隔 5取反一次即可得到
52、 10 的 方波,因此定是时间5,可选择定时器/计数器TO,以中断方式工 作。1. 设定 的低4位控制TO,设定TO定时模式,即=0;工作在方式0,即M1M0=00H软件启动定时器,即 0。的高4位与TO无关,一般取 0,所以控制字为 00H。1. 计算定时初值 晶振频率为 12,机器周期 =1定时初值 =8192-5=8187=111011B因 0的高 3位未用, 对计算出的初值要进行修正, 即低 5位前插入3个0构成低 8位初值,从低6位向前取 8位构成高 8位初值,即 11111111000110111 0000H;转主程序000 ; T0 中断矢量地址;转中断服务程序100H,#60H
53、 ;设堆栈指针 ,#00H ;写控制字0 , #1 ;置 T0 初值0 , #0;允许 T0 中断;开中断;启动 T0;等待中断0 ,#1 ;T0 中断服务子程序,重置 T0 初值0 , #0P1.0 ; P1.1 取反6.4设51单片机的晶振频率为6,使用定时器T1的定时方式1,在 P10 输出周期为 20、占空比为 60的矩形脉冲,以查询方式编写程序。答:依据题意,使 P1.0 引脚输出 12高电平, 8低电平,即可得到周期为 20、占空比为 60的矩形脉冲, 因此定时时间 T1=122=8,定时器/计数器T1,以查寻方式工作。1. 设定 的高4位控制T1,设定T1定时模式,即=0;工作在
54、方式1,即M1M0=01H软件启动定时器,即 0。的低4位与T0无关,一般取 0,所以控制字为 10H。1. 计算定时初值 晶振频率为 6,机器周期 =2定时初值 =65536-6000 =59536890H =65536-4000=61536060H100H, #10H ;0: 0 , #90H ;0 , #0E8H1: 1 , 1 ;1;P1.00,#60H ;0,#0F0H2:1,2 ;1;P1.0;0;6.5设51单片机的晶振频率为6,以计数器T1进行外部事件计数,每计数 100 个外部事件输入脉冲后,计数器 T1 转为定时工 作方式,定时 5 后,又转为计数方式。如此周而复始地工作,试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026电子商务笔试题及答案
- 2026电商退货模拟操作考试题及答案
- 2026电气控制考试题库及答案
- 2026电路搭建技能考试题目及答案
- 2026电力法考试题库及答案
- 2026年执业药师考试模拟试题及详解
- 手术室污物通道管理方案
- 心肺复苏培训考核实施方案
- 2026年教育专业技术人员继续教育专业科目考核题库(含答案)
- 塔城地区全国英语等级考试(PETS)复习试题及答案高分策略(全新版)第五级(2026年上半年)
- 原发性高血压课件
- 2025至2030年中国笔记本无线网卡行业市场发展现状及投资战略咨询报告
- 肇庆辅警考试题库2025(有答案)
- DB64∕T 2131-2025 建筑施工非常规高处吊篮施工规程
- 厂区生活垃圾管理制度
- 直播公司入股协议书范本
- 励耕计划 申请书
- DB11-T 1771-2020 地源热泵系统运行技术规范
- T-CSAE 186-2021 电动汽车动力蓄电池箱火灾用气体防控装置
- 游戏开发外包合同
- 呼吸机雾化吸入疗法护理实践专家共识
评论
0/150
提交评论