当前位置:文档之家› 单片机原理及应用课后答案

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

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

单片机习题1

1.1什么是单片微型计算机?

答:单片微型计算机是将计算机的基本部件微型化并集成到一块芯片上的微型计算机,是计算机微型化的典型代表之一,通常片内都含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等。

1.2单片机的发展经历了哪几个阶段?在哪一阶段确立了单片机在嵌入式应用中的地位。答:单片机初级阶段(1974—1976年),芯片化探索阶段(1976—1978年),8位单片机成熟阶段(1978—1982年),从SCM向MCU过渡阶段(1983—1990年),MCU百花齐放阶段(1990年—至今)。

其中,芯片化探索阶段(1976—1978年)确立了单片机在嵌入式应用中的地位。

1.3 单片机可分为几个系列?简述每个系列的主要特性。

答:单片机按系列可分为80C51系列、PIC系列和A VR系列等。

PIC系列单片机是Micro Chip公司的产品,与51系列单片机不兼容。

1) PIC系列单片机最大的特点是从实际出发,重视产品的性能与价格比,发展多种型号来满足不同层次的应用要求。

2) 精简指令使其执行效率大为提高。

3) 产品上市零等待(Zero time to market)。

4) PIC有优越开发环境。

5) 其引脚具有防瞬态能力,通过限流电阻可以接至220V交流电源,可直接与继电器控制电路相连,无须光电耦合器隔离,给应用带来极大方便。

6) 彻底的保密性。

7) 自带看门狗定时器,可以用来提高程序运行的可靠性。

8) 睡眠和低功耗模式。

A VR单片机是1997年由A TMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。A VR单片机的主要特性

1) A VR单片机以字作为指令长度单位,将内容丰富的操作数与操作码安排在一字之中(指令集中占大多数的单周期指令都是如此),取指周期短,又可预取指令,实现流水作业,故可高速执行指令。

2) A VR单片机硬件结构采取8位机与16位机的折中策略,即采用局部寄存器堆(32个寄存器文件)和单体高速输入/输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑)。提高了指令执行速度(1MIPS/MHz),克服了瓶颈现象;同时又减少了对外设管理的开销,相对简化了硬件结构,降低了成本。

3) A VR单片机内嵌高质量的Flash程序存储器,擦写方便,支持ISP和IAP,便于产品的调试、开发、生产、更新。

4) A VR单片机的I/O线全部带可设置的上拉电阻、可单独设定为输入/输出、可设定(初始)高阻输入、驱动能力强(可省去功率驱动器件)等特性,使得I/O口资源灵活、功能强大、可充分利用。

5) A VR单片机片内具备多种独立的时钟分频器,分别供URA T、I2C、SPI使用。

6) 增强性的高速同/异步串口,具有硬件产生校验码、硬件检测和校验帧错、两级接收缓冲、波特率自动调整定位(接收时)、屏蔽数据帧等功能,提高了通信的可靠性,方便程序编写,更便于组成分布式网络和实现多机通信系统的复杂应用,串口功能大大超过MCS-51/96单片机的串口,加之A VR单片机高速,中断服务时间短,故可实现高波特率通讯。

7) 面向字节的高速硬件串行接口TWI、SPI。TWI与I2C接口兼容,具备ACK信号硬件发送与识别、地址识别、总线仲裁等功能,能实现主/从机的收/发全部4种组合的多机通信。

SPI支持主/从机等4种组合的多机通信。

8) A VR单片机有自动上电复位电路、独立的看门狗电路、低电压检测电路BOD,多个复位源(自动上电复位、外部复位、看门狗复位、BOD复位),可设置的启动后延时运行程序,增强了嵌入式系统的可靠性。

9) A VR单片机具有多种省电休眠模式,且可宽电压运行(5~2.7V),抗干扰能力强,可降低一般8位机中的软件抗干扰设计工作量和硬件的使用量。

10) A VR单片机技术体现了单片机集多种器件(包括FLASH程序存储器、看门狗、EEPROM、同/异步串行口、TWI、SPI、A/D模数转换器、定时器/计数器等)和多种功能(增强可靠性的复位系统、降低功耗抗干扰的休眠模式、品种多门类全的中断系统、具有输入捕获和比较匹配输出等多样化功能的定时器/计数器、具有替换功能的I/O端口等)于一身,充分体现了单片机技术的从“片自为战”向“片上系统SOC”过渡的发展方向

1.4 简述单片机技术发展的趋势。

答:(1)单片机的大容量化

单片机内存储器容量进一步扩大。以往片内ROM为1KB~8KB,RAM为64字节~256字节。现在片内ROM可达40KB,片内RAM可达4KB,I/O也不需再外加扩展芯片。OTPROM、Flash ROM成为主流供应状态。而随着单片机程序空间的扩大,在空余空间可嵌入实时操作系统RTOS等软件。这将大大提高产品的开发效率和单片机的性能。

(2)单片机的高性能化

高性能化主要是指进一步改进CPU的性能,加快指令运算的速度和提高系统控制的可靠性。采用精简指令集(RISC)结构,可以大幅度提高运行速度。并加强位处理功能、中断和定时控制功能;采用流水线结构,指令以队列形式出现在CPU中,因而具有很高的运算速度,有的甚至采用多级流水线结构。

单片机的扩展方式从并行总线到发展出各种串行总线,并被工业界接受,形成一些工业标准。如I2C、SPI串行总线等。它们采用3条数据总线代替现行的8条数据总线,从而减少了单片机引线,降低了成本。单片机系统结构更加简化及规范化。

(3)单片机的小容量低廉化

小容量低廉的4位、8位机也是单片机发展方向之一。其用途是把以往用数字逻辑电路组成的控制电路单片化。专用型的单片机将得到大力发展。使用专用单片机可最大限度地简化系统结构,提高可靠性,使资源利用率最高。在大批量使用时有可观的经济效益。

(4)单片机的外围电路内装化

随着集成度的不断提高,可以把众多的外围功能器件集成到单片机内。除了CPU、ROM、RAM外,还可把A/D、D/A转换器、DMA控制器、声音发生器、监视定时器、液晶驱动电路、锁相电路等一并集成在芯片内。为了减少外部的驱动芯片,进一步增强单片机的并行驱动能力。有的单片机可直接输出大电流和高电压,以便直接驱动显示器。为进一步加快I/O口的传输速度,有的单片机还设置了高速I/O口,可用最快的速度驱动外部设备,也可以用最快的速度响应外部事件。甚至单片机厂商还可以根据用户的要求量身定做,把所需要的外围电路全部集成在单片机内,制造出具有自己特色的单片机。

(5)单片机的全面CMOS化

单片机的全面CMOS化,将给单片机技术发展带来广阔的天地。CMOS芯片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。低功耗的技术措施可提高可靠性,降低工作电压,可使抗噪声和抗干扰等各方面性能全面提高。单片机的全盘CMOS化的效应不仅是功耗低,而且带来了产品的高可靠性、高抗干扰能力以及产品的便携化。

(6)单片机的应用系统化

单片机是嵌入式系统的独立发展之路,单片机向MCU发展的重要因素,就是寻求应用系统在芯片上的最大化解决。因此,专用单片机的发展自然形成了SOC(System on Chip)化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SOC的单片机应用系统设计会有较大的发展。因此,随着集成电路技术及工艺的快速发展,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。

1.5 单片机具有哪些突出优点?举例说明单片机的应用领域。

答:1.单片机寿命长

所谓寿命长,一方面指用单片机开发的产品可以稳定可靠地工作十年、二十年,另一方面是指与微处理器相比生存周期长。MPU更新换代的速度越来越快,以386、486、586为代表的MPU,几年内就被淘汰出局。而传统的单片机如8051、68HC05等年龄已有二十多岁,产量仍是上升的。一些成功上市的相对年轻的CPU核心,也会随着I/O功能模块的不断丰富,有着相当长的生存周期。

2.8位、32位单片机共同发展

这是当前单片机技术发展的另一动向。长期以来,单片机技术的发展是以8位机为主的。随着移动通讯、网络技术、多媒体技术等高科技产品进入家庭,32位单片机应用得到了长足、迅猛的发展。

3.低噪声与高速度

为提高单片机抗干扰能力,降低噪声,降低时钟频率而不牺牲运算速度是单片机技术发展之追求。一些8051单片机兼容厂商改善了单片机的内部时序,在不提高时钟频率的条件下,使运算速度提高了很多。Motorola单片机使用了琐相环技术或内部倍频技术使内部总线速度大大高于时钟产生器的频率。68HC08单片机使用4.9MHz外部振荡器而内部时钟达32MHz。三星电子新近推出了1.2GHz的ARM处理器内核。

4.低电压与低功耗

几乎所有的单片机都有Wait、Stop等省电运行方式。允许使用的电源电压范围也越来越宽。一般单片机都能在3~6V范围内工作,对电池供电的单片机不再需要对电源采取稳压措施。低电压供电的单片机电源下限已由2.7V降至2.2V、1.8V。0.9V供电的单片机已经问世。5.低噪声与高可靠性

为提高单片机系统的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片机商家在单片机内部电路中采取了一些新的技术措施。如ST公司的由标准8032核和PSD(可编程系统器件)构成的μPSD系列单片机片内增加了看门狗定时器,NS公司的COP8单片机内部增加了抗EMI电路,增强了“看门狗”的性能。Motorola 推出了低噪声的LN系列单片机。

6.ISP与IAP

ISP(In-System Programming)技术的优势是不需要编程器就可以进行单片机的实验和开发,单片机芯片可以直接焊接到电路板上,调试结束即成成品,免去了调试时由于频繁地插入取出芯片对芯片和电路板带来的不便。IAP(In-Application Programming)技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将程序从一个存储体转向另一个。ISP的实现一般需要很少的外部电路辅助实现,而IAP的实现更加灵活,通常可利用单片机的串行口接到计算机的RS232口,通过专门设计的固件程序来编程内部存储器,可以通过现有的INTERNET或其它通讯方式很方便地实现远程升级和维护。

单片机的应用领域:

1)智能化家用电器:各种家用电器普遍采用单片机智能化控制代替传统的电子线路控制,升级换代,提高档次。如洗衣机、空调、电视机、录像机、微波炉、电冰箱、电饭煲以及各

种视听设备等。

2)办公自动化设备:现代办公室使用的大量通信和办公设备多数嵌入了单片机。如打印机、复印机、传真机、绘图机、考勤机、电话以及通用计算机中的键盘译码、磁盘驱动等。

3)商业营销设备:在商业营销系统中已广泛使用的电子称、收款机、条形码阅读器、IC卡刷卡机、出租车计价器以及仓储安全监测系统、商场保安系统、空气调节系统、冷冻保险系统等都采用了单片机控制。

4)工业自动化控制:工业自动化控制是最早采用单片机控制的领域之一。如各种测控系统、过程控制、机电一体化、PLC等。在化工、建筑、冶金等各种工业领域都要用到单片机控制。

5)智能仪器仪表:采用单片机的智能化仪表大大提升了仪表的档次,强化了功能。如数据处理和存储、故障诊断、联网集控等。

6)智能化通信产品:最突出的是手机,当然手机内的芯片属专用型单片机。

7)汽车电子产品:现代汽车的集中显示系统、动力监测控制系统、自动驾驶系统、通信系统和运行监视器(黑匣子)等都离不开单片机。

8)航空航天系统和国防军事、尖端武器等领域:单片机的应用更是不言而喻。

习题2

2.1 MCS-51单片机内部包含哪些主要逻辑功能部件?

答:微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、特殊功能寄存器(SFR)、并行I/O口、串行通信口、定时器/计数器及中断系统。

2.2 说明程序计数器PC和堆栈指针SP的作用。复位后PC和SP各为何值?

答:程序计数器PC中存放将要执行的指令地址,PC有自动加1功能,以实现程序的顺序执行。它是SFR中唯一隐含地址的,因此,用户无法对它进行读写。但在执行转移、调用、返回等指令时能自动改变其内容,以实现改变程序的执行顺序。

程序计数器PC中内容的变化决定程序的流程,在执行程序的工作过程中,由PC输出将要执行的指令的程序存储器地址,CPU读取该地址单元中存储的指令并进行指令译码等操作,PC则自动指向下一条将要执行的指令的程序存储器地址。

SP是一个8位的SFR,它用来指示堆栈顶部在内部RAM中的位置。系统复位后SP为07H,若不对SP设置初值,则堆栈在08H开始的区域,为了不占用工作寄存器R0~R7的地址,一般在编程时应设置SP的初值(最好在30H~7FH区域)。

2.3 程序状态字寄存器PSW的作用是什么?其中状态标志有哪几位?它们的含义是什么?答:PSW是保存数据操作的结果标志,其中状态标志有CY(PSW.7):进位标志,AC(PSW.6):辅助进位标志,又称半进位标志,F0、F1(PSW.5、PSW.1):用户标志;OV(PSW.2):溢出标志;P(PSW.0):奇偶标志。

2.4 什么是堆栈? 堆栈有何作用? 为什么要对堆栈指针SP重新赋值? SP的初值应如何设定? 答:堆栈是一种数据结构,所谓堆栈就是只允许在其一端进行数据写入和数据读出的线性表。其主要作用有两个:保护断点和保护现场。

堆栈区的设置原则上可以在内部RAM的任意区域,但由于MCS-51单片机内部RAM的00H~1FH地址单元已被工作寄存器R0~R7占用,20H~2FH为位寻址区,故堆栈一般设在30H~7FH(对于8032系列芯片可为30H~0FFH)的区域内。单片机复位后,SP的内容为07H,堆栈事实上由08H单元开始,考虑到08H~1FH单元分别属于1~3组的工作寄存器区,则最好把SP值改置为1FH或更大的值。

2.5 开机复位后,CPU使用的是哪组工作寄存器? 它们的地址如何? CPU如何指定和改变当前工作寄存器组?

答:开机复位后使用的是0组工作寄存器,它们的地址是00H~07H,对程序状态字PSW中

的RS1和RS0两位进行编程设置,可指定和改变当前工作寄存器组。RS1、RS0=00H时,当前工作寄存器被指定为0组;RS1、RS0=01H时,当前工作寄存器被指定为1组;RS1、RS0=10H时,当前工作寄存器被指定为2组;RS1、RS0=11H时,当前工作寄存器被指定为3组。

2.6 MCS-51的时钟周期、机器周期、指令周期是如何定义的?当振荡频率为12MHz时,一个机器周期为多少微秒?

答:①时钟周期也称为振荡周期,定义为时钟脉冲的倒数,是计算机中最基本的、最小的时间单位。

②CPU取出一条指令至该指令执行完所需的时间称为指令周期,因不同的指令执行所需的时间可能不同,故不同的指令可能有不同的指令周期。

③机器周期是用来衡量指令或程序执行速度的最小单位。它的确定原则是以最小指令周期为基准的,即一个最小指令周期为一个机器周期。

④当振荡频率为12MHz时,一个机器周期1微秒

2.7 MCS-51单片机的控制信号、、有哪些功能?

答:是访问程序存储器控制信号。当端接低电平时,则不管芯片内部是否有程序存储器,CPU只访问外部程序存储器。对8031来说,因其内部无程序存储器,所以该引脚必须接地。当端接高电平时,CPU访问内部程序存储器,但当PC(程序计数器)值超过某一值时,将自动转向片外程序存储器1000H地址继续执行程序。

是地址锁存允许信号。当CPU访问外部存储器或I/O接口时,ALE输出脉冲的下降沿用于锁存16位地址的低8位。在不访问外部存储器或I/O接口时,ALE端有周期性正脉冲输出,其频率为振荡频率的1/6。但是,每当访问外部数据存储器或I/O接口时,在第二个机器周期中ALE只出现一次,即丢失一个ALE脉冲。

片外程序存储器读选通信号。在CPU从外部程序存储器读取指令(或常数)期间,每个机器周期两次有效,但在访问外部数据存储器或I/O接口时,信号将不出现。端可以驱动8个TTL负载。

2.8 MCS-51的片外程序存储器和片外数据存储器共处同一地址空间为什么不会发生总线冲突?

答:MCS-51的片外程序存储器和片外数据存储器共处同一地址空间,地址范围都是0000H~FFFFH(64 KB),但不会发生总线冲突。因片外程序存储器和片外数据存储器的读写控制信号不同,片外程序存储器的读信号是,而片外数据存储器的读信号为、写信号为,访问片外程序存储器和片外数据存储器的指令也不同,所以它们不会发生总线冲突。

2.9 简述MCS-51内部数据存储器的存储空间分配。

答:内部数据存储器分为3个区域:

工作寄存器区(00H~1FH);

位寻址区(20H~2FH);

堆栈和数据缓冲器区(30H~7FH或30H~0FFH)。

2.10 位地址和字节地址有何区别? 位地址20H具体在内存中什么位置?

答:MCS-51的位存储器由以内部RAM中20H~2FH单元和特殊功能寄存器中地址为8的倍数的特殊功能寄存器两部分组成。其中每个单元的每一位都有一个位地址映像,它们既可以像普通内部RAM单元一样按字节存取,也可以对单元中的任何一位单独存取。

字节地址是内部RAM中和特殊功能寄存器中每个存储单元的地址。

位地址20H是内部RAM24H中的D0位。

2.11 8051的4个I/O口作用是什么? 8051的片外三总线是如何分配的?

答:MCS-51单片机有4个8位并行I/O端口,分别记作P0、P1、P2、P3口。

①在访问片外扩展存储器时,P0口分时传送低8位地址和数据,P2口传送高8位地址。P1口通常作为通用I/O口供用户使用。P3口具有第二功能,为系统提供一些控制信号。

在无片外扩展存储器的系统中,这4个口均可作为通用I/O端口使用。在作为通用I/O端口使用时,这4个口都是准双向口。

②在访问片外扩展存储器时,片外三总线的构成:

P0口传送低8位地址经锁存器所存构成低8位地址总线,高8位地址总线由P2口构成。

P0口作为单片机系统的低8位地址/数据线分时复用,在低8位地址锁存后,P0口作为双向数据总线。

由P3口的第二功能输出数据存储器的读、写控制信号与片外程序存储器读选通信号,访问程序存储器控制信号,地址锁存允许信号构成控制总线。

习题3

3.1 汇编语句是由4个部分(字段)构成的,简述各部分的含义。

答:汇编语句的4个部分为:[标号:] [操作码] [操作数];[注释]

标号是用户设定的一个符号,表示存放指令或数据的存储单元地址。标号由以字母开始的1―8个字母或数字串组成,以冒号结尾。不能用指令助记符、伪指令或寄存器名来作标号。标号是任选的,并不是每条指令或数据存储单元都要标号,只在需要时才设标号。如转移指令所要访问的存储单元前面一般要设置标号。一旦使用了某标号定义一个地址单元,在程序的其它地方就不能随意修改这个定义,也不能重复定义。

操作码是指令或伪指令的助记符,用来表示指令的性质或功能。对于一条汇编语言指令,这个字段是必不可少的。

操作数给出参加运算(或其它操作)的数据或数据的地址。操作数可以表示为工作寄存器名、特殊功能寄存器名、标号名、常数、表达式等。这一字段可能有,也可能没有。若有两个或三个操作数,它们之间应以逗号分开。

注释字段不是汇编语言的功能部分,只是增加程序的可读性。言简意赅的注释是汇编语言程序编写中的重要组成部分。

3.2举例说明MCS-51单片机的7种寻址方式,各寻址方式的寻址空间。

立即寻址立即寻址方式的寻址空间为程序存储器。

例如:MOV A,#3FH ;3FH→A

直接寻址直接寻址方式中操作数存储的空间有三种:

内部数据存储器的低128个字节单元(00H~7FH)

例如:MOV A,30H ;(30H)→A

指令功能是把内部RAM 30H单元中的内容送入累加器A。

⑵位地址空间

例如:MOV C,00H ;直接位00H内容→进位位

⑶特殊功能寄存器

例如:MOV IE,#85H ;立即数85H→中断允许寄存器IE。

寄存器寻址寄存器寻址方式的寻址空间为工作寄存器和特殊功能寄存器等。

例如:MOV A,R6 ;(R6)→A

寄存器间接寻址寄存器间接寻址空间为内部RAM 128字节,外部RAM

例如:MOV A,@R0 ;((R0))→A

变址寻址变址寻址空间为程序存储器。

例如:MOVC A,@A+DPTR ;((DPTR)+(A))→A

MOVC A,@A+PC ;((PC)+(A))→A

相对寻址相对寻址空间为程序存储器。

当前PC值是指相对转移指令所在地址(源地址)加转移指令字节数。

即:当前PC值= 源地址+ 转移指令字节数

偏移量rel 是有符号的单字节数,以补码表示,相对值在-128~+127范围内,负数表示从当前地址向上转移,正数表示从当前地址向下转移。所以转移的目的地址为:

目的地址= 当前PC值+ rel = 源地址+ 转移指令字节数+ rel

例如:JNC 2AH , JZ F8H

位寻址位寻址空间为内部RAM 20H~2FH的128位和SFR中的83位。

例如:MOV C,30H,MOV P1.0, C

3.3指出下列指令的寻址方式和操作功能:

INC 40H ;直接寻址(40H)+1→40H

INC A ;寄存器寻址(A)+1→A

INC @R2 ;寄存器间接寻址((R2))+1→(R2)

MOVC A, @A+DPTR ;基址加变址寄存器寻址((A)+(DPTR)) →A

MOV A, #6EH ;立即寻址6EH→A

SETB P1.0 ;位寻址P1.0置1

3.4 设内部RAM中3AH单元的内容为50H,写出当执行下列程序段后寄存器A、R0和内部RAM 50H,51H单元的内容为何值?

MOV A,3AH ;(A)=50H

MOV R0,A ;(R0)=50H

MOV A,#00H ;(A)=00H

MOV @R0,A ;(50H)=00H

MOV A,#25H ;(A)=25H

MOV 51H,A ;(51H)=25H

答:(A)=25H, (3AH)=50H, (R0)=50H, (50H)=00H, (51H)=25H

3.5 设堆栈指针SP中的内容为60H,内部RAM 30H和31H单元的内容分别为27H和1AH,执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?

PUSH 30H ;(SP)+1→SP, (30H) →61H

PUSH 31H ;(SP)+1→SP, (31H) →62H

POP DPL ; (62) →DPL, (SP)-1→SP

POP DPH ; (61) →DPH, (SP)-1→SP

MOV 30H,#00H ; 00H→30H

MOV 31H,#0FFH ; FFH→31H

答:(61H)=27H, (62H)=1AH, (30H)=00H, (31H)=FFH, (DPTR)=271AH, (SP)=60H

3.6 设(A)=30H,(R1)=23H,(30H)=05H。执行下列两条指令后,累加器A和R1以及内部RAM 30H单元的内容各为何值?

XCH A,R1

XCHD A,@R1

答:(A)=25H, (R1)=30H, (30H)=03H

3.7 设(A)=01010101B,(R5)=10101010B,分别写出执行下列指令后的结果

ANL A,R5 ; (A)=0000 0000B, (R5)=10101010B

ORL A,R5 ; (A)= 10101010B, (R5)=10101010B

XRL A,R5 ; (A)=00000000B

3.8 设指令SJMP rel=7FH,并假设该指令存放在2113H和2114H单元中。当该条指令执行

后,程序将跳转到何地址?

答:程序将跳转到2194H地址

3.9 简述转移指令AJMP addr11,SJMP rel,LJMP addr16及JMP @A+DPTR的应用场合。答:AJMP addr11这是在当前PC的2K字节范围内的无条件转移指令,把程序的执行转移到指定的地址。

SJMP rel 这是相对跳转指令,其中rel为相对偏移量。转向的目标地址是在当前PC的前128字节到后127字节之间。

LJMP addR16 执行这条指令时把指令的第二和第三字节分别装入PC的高位和低位字节中,无条件地转向指定地址。转移的目标地址可以在64KB程序存储器地址空间的任何地方,不影响任何标志。

JMP @A+DPTR 把累加器A中8位无符号数与数据指针DPTR中的16位数相加,将结果作为转移的目标地址送入PC,不改变累加器A和数据指针DPTR内容,也不影响标志。本指令以DPTR内容作为基址,A的内容作为变址。只要把DPTR的值固定,而给A赋予不同的值,即可实现程序的多分支转移。

3.10 查指令表,写出下列两条指令的机器码,并比较一下机器码中操作数排列次序的特点。MOV 78H,80H ;85 80 78

MOV 78H,#80H ;75 78 80

答:直接寻址单元传送到直接寻址单元的机器码是第二个操作数在前,而立即数传送到直接地址单元是第一个操作数在前,次序正好相反。

3.11 试编写程序,查找在内部RAM 30H~50H单元中1AH这一数据。若找到1AH则将51H 单元置为01H;没找到则将51H单元置为00H。

答:参考程序如下

MOV R1, #2FH

LOOP1: INC R1

CJNE @R1, #1AH, LOOP2

SJMP LOOP3

LOOP2: CJNE R1, #51, LOOP1

MOV 51H, #00H

SJMP END

LOOP3: MOV 51H, #01H

END: RET

3.12 若SP=60H,子程序标号MULT所在的地址为3A40H。执行LCALL MULT指令后,堆栈指针SP和堆栈内容发生了什么变化?

答:(SP)=62H, (61H)=40H, (62H)=3AH

3.13 假设外部存储器215AH单元的内容为3DH,执行下列指令后,累加器A中的内容为何值?

MOV P2,#21H

MOV R0,#5AH

MOVX A,@R0

答:(A) = 3DH

习题4

4.1 编程将数据存储器中以2A00H为首地址的100个连续单元清零。

CLR A

MOV R0, #64H

MOV DPTR, #2A00H

LOOP: MOVX @DPTR,A

INC DPTR

DJNZ R0, LOOP

END

4.2 编程将片内50H~70H单元中的内容传送到以5C00H为起始地址的存储区中。

MOV DPTR, #5C00H

MOV R0, #50H

LOOP: MOV A,@R0

MOVX @DPTR,A

INC R0

INC DPTR

CJNE R0,#70H,LOOP

END

4.3 片外RAM区从1000H单元开始存有100个单字节无符号数,找出最大值并存入1100H 单元中,试编写程序。

MOV DPTR, #1000H ;置片外RAM区首地址

MOV R0,#00H ;清R0

MOV R1,64H ;置计数初值100

LOOP: MOVX A, @DPTR ;取片外RAM区的某个数送A

CJNZ A,R0,NT1 ;与R0中的数比较

NT1:JC NT2 ;(A)<(R0)跳转到NT2

MOV RO,A ;若(A)(R0),则大数送RO

NT2: INC DPTR ;修改数据块指针

DJNZ R1,LOOP ;未完,循环

RET

4.4 设有100个单字节有符号数,连续存放在以2100H为首地址的存储区中,试编程统计其中正数、负数、零的个数。

MOV R0, #00H ; 置负数的计数初值

MOV R1, #00H ; 置正数的计数初值

MOV R2, #00H ; 置0的计数初值

MOV R4, #64H ; 置循环计数初值

MOV DPTR, #2100H ; 置数据区首地址

START:MOVX A, @DPTR ; 取某一数据送入A

JZ EQUAL ;为0转EQUAL

JNB ACC.7, POSI ;为正数转POSI

INC R0 ; 负数计数值加1

INC DPTR ; 修改数据块指针

DJNZ R4, START ; 未完,返回

POSI:INC R1 ; 正数计数值加1

INC DPTR ; 修改数据块指针

DJNZ R4, START

EQUAL:INC R2 ; 0计数值加1

INC DPTR

DJNZ R4, START

END

4.5 从2030H单元开始,存有100个有符号数,要求把它传送到从20BOH开始的存储区中,但负数不传送,试编写程序。

MOV R1, #64H ;置计数初值

MOV R0, #B0H ;目标数据区首地址低8位,高8位为20H

MOV DPTR, #2030H ;源数据区首地址

START:MOVX A, @DPTR ;取源数据区某数据送入A

JB ACC.7, D1 ;负数,转D1

MOVX @R0,A ;正数,送入目标数据区

INC DPTR ; 修改源数据块指针

INC R0 ; 修改目标数据块指针

DJNZ R1, START ;未完,继续

RET ;返回

D1: INC DPTR ;修改源数据块指针

INC R0 ;修改目标数据块指针

DJNZ R1, START ;未完,继续

RET ;返回

4.6 若从30H单元开始有100个数,编一个程序检查这些数,正数保持不变,负数取补后送回。

MOV R0, #30H ;数据区首地址

MOV R1, #64H ;计数初值

START: MOVX A, @R0 ;取某个数

JNB ACC.7, POSI ;正数,转POSI

CPL A ;负数,取补

ADD A, #01H

MOVX @R0, A ;送回原地址

INC R0 ;修改数据块指针

DJNZ R1, START ;未完,继续

RET

POSI: INC R0 ;修改数据块指针

DJNZ R1, START ;未完,继续

RET

4.7 试编程把以2040H为首地址的连续10个单元的内容按升序排列,存到原来的存储区中。SORT: MOV DPTR, #2040H;

MOV R3, #09H;

CLR F0;

D1: MOVX A,@DPTR ;

MOV R2, A ;前一个数送R2

INC DPTR

MOVX A, @DPTR ;

MOV R4, A ;后一个数送R4

MOV A, R2 ;前一个数送A

CLR C

SUBB A, R4 ;前一个数减后一个数

JC NEXT ;

MOV A, R2 ;相邻数互换

MOVX @DPTR,A

MOV R0,DPL ;数据指针低8位减1

DEC R0

MOV DPL,R0

MOV A, R4 ;

MOVX @DPTR,A

INC DPTR;

SETB F0

NEXT: DJNZ R3, D1;

JB F0,SORT

RET

4.8 设在2000H~2004H单元中.存放有5个压缩BCD码,编程将它们转换成ASCII码,存放到以2005H为首地址的存储区中。

MOV DPTR,#2000H;

MOV R0, #05H;

MOV R1, #04H;

D1: MOVX A, @DPTR;

ANL A, #0FH

CLR C;

ADD A,#30H;

MOV P2,#20H

MOVX @R0,A

INC DPTR;

INC R0

DJNZ R1, D1;

RET

在以2000H为首地址的存储区中,存放着20个用ASCII码表示的O~9之间的数,试编程,将它们转换成BCD码,并以压缩BCD码的形式存放在3000H~3009H单元中。

MOV DPTR, 2000H;

MOV R0, #20H;

MOV R1, #00H;

ASCBIN: MOVX A, @DPTR;

CLR C

SUBB A, #30H;

MOV P2, 30H;

MOVX @R1,A;

INC R1;

INC DPTR;

DJNZ R0, ASCBIN;

RET

4.10 试编写多字节BCD码数加法、减法子程序。

4.11 若晶振为6MHz,试编写延时100ms、1s的子程序。

ORG 2000H 周期数

MOV R0,#0AH ;毫秒数→R0 1

DL2:MOV R1,#MT ;1ms延时值→R1 1

DL1:NOP 1

NOP 1

DJNZ R1,DL1 ;1ms延时循环2

DJNZ R0,DL2 ;10ms延时循环2

END

4.12 试设计一个子程序,其功能为将片内RAM 20H~21H中的压缩BCD码转换为二进制数,并存于以30H开始的单元。

BCDB:MOV A,20H

MOV R2,A;取千位、百位BCD码

ACALL BCDB1 ;调用子程序

MOV B,#0AH

MUL AB ;乘以10

MOV R6,A;乘积低8位送R6

XCH A,B ;交换乘积高、低位

MOV R5,A;乘积高位送R5

MOV A,21H ;取十位、个位BCD码

MOV R2,A;送入R2

ACALL BCDB1 ;调用子程序

ADD A,R6 ;加千位、百位乘积低8位

MOV 31H,A;低8位送入31H

MOV A,R5 ;乘积高8位送A

ADDC A,#00H ;加进位位

MOV 30H,A;结果高8位送入30H

HERE:SJMP HERE

子程序清单:

BCDB1: MOV A,R2 ;取压缩BCD码

ANL A,#0F0H ;屏蔽低4位

SWAP A

MOV B,#0AH

MUL AB ;高位BCD码乘以10

MOV R3,A;乘积送R3

MOV A,R2 ;取压缩BCD码

ANL A,#0FH ;屏蔽高4位

ADD A,R3 ;高位BCD码乘以10后加低位BCD码

MOV R2,A;送R2

RET

习题5

5.1 什么是中断系统?中断系统的功能是什么?

答:当CPU正在处理某件事情(例如,正在执行主程序)的时候,外部或内部发生的某一事件(如某个引脚上电平的变化,一个脉冲沿的发生或计数器的计数溢出等)请求CPU迅速去

处理,于是,CPU暂时终止当前的工作,转去处理所发生的事件。中断服务程序处理完该事件后,再回到原来被终止的地方,继续原来的工作,这样的过程称为中断。实现这种功能的部件称为中断系统。

中断系统的功能:

(1)实现中断及中断返回,(2)实现优先级排队,(3)实现优先级控制。

5.2 什么是中断嵌套?

答:当CPU响应某一中断源的请求而进行中断处理时,若有优先级更高的中断源发出中断请求,则CPU中断正在执行的中断服务程序,保留程序的断点和现场,响应更高一级的中断,即是中断嵌套。

5.3 什么是中断源?MCS-51有哪些中断源?各有什么特点?

答:向CPU发出中断请求的来源称为中断源。

MC5-51单片机的中断系统有5个中断请求源:

⑴—外部中断0请求,由引脚输入,中断请求标志为IE0。

⑵—外部中断l请求,由引脚输入,中断请求标志为IEl。

⑶定时器/计数器T0溢出中断请求,中断请求标志为TF0。

⑷定时器/计数器T1 溢出中断请求,中断请求标志为TF1。

⑸串行口中断请求,中断请求标志为TI或RI。

外部中断0:它的触发方式选择位为IT0。

IT0=0,为电平触发方式,引脚上低电平有效

IT0=1,为脉冲触发方式,引脚上的电平从高到低的负跳变有效。

IT0位可由软件置“1”或清“0”。

外部中断0请求标志位IE0。

当IT0=0,即电平触发方式时,每个机器周期的S5P2采样引脚,若脚为低电平,则置“1” IE0,否则清“0” IE0。

当IT0=1,即跳沿触发方式时,在第一个机器周期采样为低电平,则置“1” IE0。IE0=1,表示外部中断0正在向CPU申请中断。当CPU响应中断,转向中断服务程序时,由硬件清“0” IE0。

外部中断1中断原是与此相同。

定时器/计数器0:被启动计数后,从初值开始加1计数,当定时器/计数器0计数满而产生溢出时,由硬件自动使TF0置1,并向CPU申请中断。该标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。定时器/计数器1中断原理与此相同。

串行中断请求由TI、RI的逻辑“或”得到。即不论是发送标志还是接收标志,都将发生串行中断请求。

5.4 MCS-51单片机响应外部中断的典型时间是多少?在哪些情况下,CPU将推迟对中断请求的响应?

答:3~8个机器周期。

(1) CPU正在处理相同的或更高优先级的中断。因为当一个中断被响应时,要把对应的中断优先级状态触发器置“1”(该触发器指出CPU所处理的中断优先级别),从而封锁了低级中断和同级中断。

(2) 所查询的机器周期不是所执行指令的最后一个机器周期。作这个限制的目的是使当前指令执行完毕后,才能进行中断响应,以确保当前指令完整的执行。

(3) 正在执行的指令是RET1或是访问IE或IP的指令。因为按MCS-51中断系统特性的规定,在执行完这些指令后,需要再执行一条指令才能响应新的中断请求。

如果存在上述三种情况之一,CPU将推迟对中断请求的响应。

5.5 中断查询确认后,在下列各种运行情况中,能立即进行响应的是:

(1)当前正在进行高优先级中断处理

(2)当前正在执行RETI指令

(3)当前指令是DIV指令,且正处于取指令的机器周期

(4)当前指令是MOV A, R3

答:(4)能立即进行响应

5.6 试编写出外部中断1为跳沿触发方式的中断初始化程序。

答:

SETB EA

SETB EX1

SETB IT1

5.7 在MCS-51中,需要外加电路实现中断撤除的是:

(1)定时中断

(2)脉冲方式的外部中断

(3)串行中断

(4)电平方式的外部中断

答:(4)需要外加电路

5.8 MCS-51有哪几种扩展外部中断源的方法?各有什么特点?

答:

(1)定时器/计数器作为外部中断源的使用方法

当它们选择为计数器工作模式,T0或T1引脚上发生负跳变时,T0或T1计数器加1,利用这个特性,可以把T0、T1引脚作为外部中断请求输入引脚,而定时器/计数器的溢出中断TF1或TF0作为外部中断请求标志。

(2)中断和查询结合的方法

若系统中有多个外部中断请求源,可以按它们的轻重缓急进行排队,把其中最高级别的中断源IR0直接接到MCS-51的一个外部中断输入端,其余的中断源IR1~IR4用“线或”的办法连到另一个外部中断输入端,同时还连到P1口,中断源的中断请求由外设的硬件电路产生,这种方法原则上可处理任意多个外部中断。

查询法扩展外部中断源比较简单,但是扩展的外部中断源个数较多时,查询时间较长。(3)用优先权编码器扩展外部中断源

采用74LS148优先权编码器在硬件上对外部中断源进行排队,可以避免响应优先级最高的中断和响应优先级最低的中断所需的时间可能相差很大这样的问题。该方法的最大特点是结构简单,价格低廉,但该电路无法实现中断服务子程序的嵌套。

5.9 中断服务子程序和普通子程序有什么区别?

答:1,中断服务子程序的入口地址由中断向量表确定,而普通子程序的入口地址在中断向量表以外的程序存储空间内任意设定。

2,中断服务子程序的返回指令是RETI, 而普通子程序的返回指令是RET

5.10 试编写一段对中断系统初始化的程序,允许INT0,INT1,T0,串行口中断,且使T0中断为高优先级。

答:

SETB EA

SETB EX0

SETB EX1

SETB ET0

SETB ES

SETB PT0

5.11在MCS-51单片机中,外部中断有哪两种触发方式?如何加以区别?

答:电平触发方式和跳沿触发方式。

IT0=0时, 为电平触发方式,引脚低电平有效。

IT0=1时, 为跳沿触发方式,引脚负跳变有效。

IT1=0时,为电平触发方式,引脚低电平有效。

IT1=1时,为跳沿触发方式,引脚负跳变有效。

5.12 单片机在什么条件下可响应INT0中断?简要说明中断响应的过程。

答:1,中断允许寄存器IE中的EA=1,且EX1=1,同时没有其它优先于外部中断0的中断,若IT0=0,引脚上低电平有效;若IT0=1,引脚上的电平从高到低的负跳变有效。

2,当CPU正在处理某件事情(例如,正在执行主程序)的时候,外部发生的某一事件(如某个引脚上电平的变化,一个脉冲沿的发生)请求CPU迅速去处理,于是,CPU暂时终止当前的工作,转去处理所发生的事件。中断服务程序处理完该事件后,再回到原来被终止的地方,继续原来的工作,这样的过程称为中断。处理事件请求的过程,称为CPU的中断响应过程。

5.13 当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求?

答:1,一个中断源的中断请求被响应,需满足以下条件:

⑴该中断源发出中断请求。

⑵ CPU开中断,即中断总允许位EA=1。

⑶申请中断的中断源的中断允许位=1,即该中断没有被屏蔽。

⑷无同级或更高级中断正在被服务。

2,中断响应是有条件的,并不是查询到的所有中断请求都能被立即响应,当遇到下列三种情况之一时,中断响应被封锁:

(1) CPU正在处理相同的或更高优先级的中断。因为当一个中断被响应时,要把对应的中断优先级状态触发器置“1”(该触发器指出CPU所处理的中断优先级别),从而封锁了低级中断和同级中断。

(2) 所查询的机器周期不是所执行指令的最后一个机器周期。作这个限制的目的是使当前指令执行完毕后,才能进行中断响应,以确保当前指令完整的执行。

(3) 正在执行的指令是RETI或是访问IE或IP的指令。因为按MCS-51中断系统特性的规定,在执行完这些指令后,需要再执行一条指令才能响应新的中断请求。

如果存在上述三种情况之一,CPU将不能进行中断响应。

习题 6

6.1 MCS-51单片机的TO、T1用作定时器时,其定时时间与哪些因素有关?

答:定时器/计数器用作定时方式时,其定时时间与时钟周期、工作方式、定时初值等因素有关。

6.2 当MCS-51单片机的TO用于工作方式3时,由于TRl位已被TO占用,该如何控制定时器T1的开启和关闭?

答:这时T1只能用作串行口波特率发生器或不需要中断的场合。因为TR1已被T0借用,所以T1的控制只有和M1、M0 两个条件,选择定时或计数模式,M1、M0选择工作方式。这时只要把方式控制字送入TMOD寄存器就可启动T1运行,如果让它停止工作,只需送入一个将T1设置为工作方式3的方式控制字就可以了。

6.3 设MCS-51单片机的晶振频率为12MHz,试用单片机的内部定时方式产生频率为100kHz

的方波信号,由P1.1脚输出。

答:依据题意,只要使P1.0引脚每隔5us取反一次即可得到10us的方波,因此定是时间T=5us,可选择定时器/计数器T0,以中断方式工作。

设定TMOD

TMOD的低4位控制T0,设定T0定时模式,即=0;工作在方式0,即M1M0=00H;软件启动定时器,即GAME=0。TMOD的高4位与T0无关,一般取0,所以TMOD控制字为00H。

计算定时初值

晶振频率为12MHz,机器周期=1us

定时初值=8192-5=8187=1FFBH=0001111111111011B

因TL0的高3位未用,对计算出的初值要进行修正,即低5位前插入3个0构成低8位初值,从低6位向前取8位构成高8位初值,即1111111100011011B=FF1BH

ORG 0000H

AJMP MAIN ;转主程序

ORG 000BH ;T0中断矢量地址

AJMP ISER ;转中断服务程序

ORG 100H

MAIN:MOV SP,#60H ;设堆栈指针

MOV TMOD,#00H ;写控制字

MOV TL0,#1BH ;置T0 初值

MOV TH0,#0FFH

SETB ET0 ;允许T0中断

SETB EA;CPU开中断

SETB TR0 ;启动T0

SJMP $ ;等待中断

ISER:MOV TL0,#1BH ;T0中断服务子程序,重置T0 初值

MOV TH0,#0FFH

CPL P1.0 ;P1.1取反

RETI

END

6.4 设MCS-51单片机的晶振频率为6MHz,使用定时器T1的定时方式1,在P1.0输出周期为20ms、占空比为60%的矩形脉冲,以查询方式编写程序。

答:依据题意,使P1.0引脚输出12ms高电平,8ms低电平,即可得到周期为20ms、占空比为60%的矩形脉冲,因此定时时间T1=12ms,T2=8ms,定时器/计数器T1,以查寻方式工作。设定TMOD

TMOD的高4位控制T1,设定T1定时模式,即=0;工作在方式1,即M1M0=01H;软件启动定时器,即GAME=0。TMOD的低4位与T0无关,一般取0,所以TMOD控制字为10H。

计算定时初值

晶振频率为6MHz,机器周期=2us

定时初值=65536-6000 =59536=E890H

=65536-4000=61536=F060H

ORG 100H

MOV TMOD,#10H ;

LOOP0: MOV TL0,#90H ;

MOV TH0,#0E8H

SETB TR1 ;

LOOP1:JNB TF1,LOOP1 ;

CLR TF1;

SETB P1.0

MOV TL0,#60H ;

MOV TH0,#0F0H

SETB TR1

LOOP2:JNB TF1,LOOP2 ;

CLR TF1;

CLR P1.0;

SJMP LOOP0;

RET

6.5 设MCS-51单片机的晶振频率为6MHz,以计数器T1进行外部事件计数,每计数100个外部事件输入脉冲后,计数器T1转为定时工作方式,定时5ms后,又转为计数方式。如此周而复始地工作,试编程实现。

答:依据题意,设T1工作在计数模式时,工作在方式0,设T1工作在定时模式时,工作在方式1 。

设定TMOD

TMOD的高4位控制T1,设定T1计数模式,即=1;工作在方式1,即M1M0=10H;软件启动定时器,即GAME=0。TMOD的低4位与T0无关,一般取0,所以TMOD控制字为40H。

设定T1定时模式,即=0;工作在方式1,即M1M0=01H;软件启动定时器,即GAME=0。TMOD的低4位与T0无关,一般取0,所以TMOD控制字为10H。

计算计数初值

计数初值=8192-100 =8092=1F9CH=0001111110011100B

因TL0的高3位未用,对计算出的初值要进行修正,即低5位前插入3个0构成低8位初值,从低6位向前取8位构成高8位初值,则计数初值为FC1CH

计算定时初值

晶振频率为6MHz,机器周期=2us

=65536-2500=63036=F63CH

ORG 100H;

START: MOV TMOD,#40H ;

MOV TL0,#1CH;

MOV TH0,#0FCH ;

SETB TR1;

LOOP1:JNB TF1,LOOP1;

CLR TF1;

MOV TMOD, #10H;

MOV TL0,#3CH;

MOV TH0,#0F6H;

SETB TR1;

LOOP2:JNB TF1,LOOP2;

CLR TF1;

SJMP START;

6.6 设MCS-51单片机的晶振频率为12 MHz,要求用定时器/计数器TO产生1 ms的定时,试确定计数初值以及TMOD寄存器的内容。

答:设T0工作定时模式,晶振频率为12MHz,机器周期=1us

方式1: 初值: =65536-1000=64536=FC18H

TMOD:00H

6.7 设MCS-51单片机的晶振频率为6MHz,要求用定时器/计数器产生100 ms

的定时,试确定计数初值以及TMOD寄存器的内容。

答:此题晶振频率改为6MHz,否则定时时间超出最大定时时间。

设定TMOD

TMOD的低4位控制T0,设定T0定时模式,即=0;若工作在方式1,即M1M0=01H;软件启动定时器,即GAME=0。TMOD的高4位与T0无关,一般取0,所以TMOD控制字为01H。

计算定时初值

晶振频率为6MHz,机器周期=2us

初值: =65536-50000=15536=3CB0H

6.8 设晶振频率为12 MHz。编程实现以下功能:利用定时/计数器TO通过P1.7引脚输出一个50 Hz的方波。

答:依据题意,只要使P1.7引脚每隔10ms取反一次即可得到20ms的方波,因此定是时间T=10ms, T0工作在定时模式的方式1,以中断方式工作。

1,设定TMOD

TMOD的低4位控制T0,设定T0定时模式,即=0;若工作在方式1,即M1M0=01H;软件启动定时器,即GAME=0。TMOD的高4位与T0无关,一般取0,所以TMOD控制字为01H。

2,计算定时初值

晶振频率为12MHz,机器周期=1us

初值: =65536-10000=55536=D8F0H

ORG 0000H

AJMP MAIN ;转主程序

ORG 000BH ;T0中断矢量地址

AJMP ISER ;转中断服务程序

ORG 100H

MAIN:MOV SP,#60H ;设堆栈指针

MOV TMOD,#01H ;写控制字

MOV TL0,#0F0H ;置T0 初值

MOV TH0,#0D8H

SETB ET0 ;允许T0中断

SETB EA;CPU开中断

SETB TR0 ;启动T0

SJMP $ ;等待中断

ISER:MOV TL0,#0F0H ;T0中断服务子程序,重置T0 初值

MOV TH0,#0D8H ;

CPL P1.7 ;P1.7取反

RETI

END

6.9 每隔1s读一次P1.O,如果所读的状态为“1’,则将片内RAM 10H单元内

容加1;如果所读的状态为“O”,则将片内RAM llH单元内容加1。设单片机的晶振频率为12 MHz,试编制程序。

答:依据题意,每隔1s读一次P1.0引脚,再根据读出的状态分别计数。因此定是时间T=1s, 设T0工作在定时模式的方式1,以中断方式工作。

1,设定TMOD

TMOD的低4位控制T0,设定T0定时模式,即=0;若工作在方式1,即M1M0=01H;软件启动定时器,即GAME=0。TMOD的高4位与T0无关,一般取0,所以TMOD控制字为01H。

2,计算定时初值

晶振频率为12MHz,机器周期=1us

因定时时间1s已超出定时器的定时能力,可将定时时间设为50ms,在中断服务程序中对定时器溢出进行计数20次时,读一次P1.0引脚,根据读出的状态分别计数。

=65536-50000=15536=3CB0H

ORG 100H

MOV 11H, #00H ; 清计数器

MOV 10H, #00H ; 清计数器

MOV TMOD,#01H ;写控制字,T1工作方式1

MOV TL0,#0B0H ;置T0初值

MOV TH0,#3CH

START: MOV A, #20 ;置溢出次数

LOOP:SETB TR1 ;启动T1

LOOP1:JNB TF1,LOOP1 ;

MOV TL0,#0B0H ;重置T1 初值

MOV TH0,#3CH ;

CLR TF1 ;

DJNZ A, LOOP ;

JNB P1.0, LOOP2 ;

INC 11H ;

SJMP STRA T ;

LOOP2: INC 10H ;

SJMP STRA T ;

6.10 简要说明若要扩展定时器/计数器的最大定时时间,可采用哪些方法?

答:1,降低晶体振荡器主频,

2,采用多次累计计数等方法,见例6-4.

习题7

7.1 什么是串行异步通信,它有哪些特点?

答:串行异步通信的数据通常是以字符(或字节)为单位组成字符帧按顺序传送的。字符帧通过传输线由发送端一帧一帧地发送到接收端,接收端一帧一帧地接收。

特点:优点是不需要传送同步脉冲,字符帧长度也不受限制,故所需设备简单。缺点是因字符帧中包含有起始位和停止位而降低了有效数据的传输速率。

7.2 串行异步通信的字符格式由哪几个部分组成?某异步通信接口,其帧格式由1个起始位

(O),7个数据位,1个偶校验和1个停止位组成。用图示方法画出发送字符“5”(ASCII码为0110101B)时的帧结构示意图。

答:1,串行异步通信的字符格式由一个起始位表示字符的开始,一个停止位表示字符的结束。数据位在起始位之后,停止位之前,这样构成一帧数据。奇偶校验位位与数据位之后,停止位之前,用于表示串行通信中采用奇校验位还是偶校验位,由用户根据需要决定。

2,发送字符“5”(ASCII码为0110101B)时的帧结构示意图:

7.3 MCS-51单片机的串行口由哪些功能模块组成?各有什么作用?

答:MCS-51单片机的串行口主要由两个数据缓冲寄存器SBUF,一个输入移位寄存器以及两个控制寄存器SCON和PCON组成。其中,缓冲寄存器SBUF是两个在物理上独立的专用寄存器,一个作发送缓冲器,另一个作接收缓冲器。两个缓冲器共用一个地址99H,可通过指令对SBUF的读写来区别,CPU写SBUF就是修改发送缓冲器的内容;读SBUF就是读接收缓冲器的内容。

控制寄存器SCON和PCON用来设定串行口的工作方式并对接收和发送进行控制。串行口对外有两条独立的收发信号线RXD(P3.0)、TXD(P3.1),因此可以同时发送、接收数据,实现全双工通信。

7.4 MCS-51单片机的串行口有哪几种工作方式?有几种帧格式?各工作方式的波特率如何确定?

答:有4种工作方式。

工作方式0为同步移位寄存器方式,该方式以8位数据为一帧,没有起始位和停止位,先发送或接收最低位。

工作方式1为8位异步通信方式,适合于点对点的异步通信。这种方式规定发送或接收一帧信息为10位,即1个起始位(0),8个数据位,1个停止位(1),先发送或接收最低位。数据传输率可以改变。

工作方式2和3为9位异步通信方式。每帧数据均为11位,1位起始位0,8位数据位(先低位),1位可程控的第9位数据和1位停止位。

1. 方式0的波特率

串行口工作在方式0时,波特率由振荡器的频率fosc所确定:

波特率=

2. 方式2的波特率

串行口工作在方式2时,波特率由振荡器的频率fosc和SMOD所确定:

波特率= fosc

若SMOD=0,则所选波特率为fosc/64;若SMOD=1,则波特率为fosc/32。

3. 方式1或3的波特率

串行口工作在方式1或方式3时,波特率由定时器T1的溢出率和SMOD所确定:

波特率= 定时器T1的溢出率

7.5 MCS-51单片机的串行口控制寄存器SCON的SM2,TB8,RB8有何作用?

答:1,SM2主要用于方式2和方式3,因为多机通信是在方式2和方式3下进行的。在方式2和方式3下,若SM2=1接收到第9位数据(RB8)为0时,则接收中断不被激活,将接收到的前8位数据丢弃。只有在接收到第9位数据(RB8)为1时才将接收到的前8位数据送入SBUF,并置位RI产生中断请求。当SM2=0时,则不论接收到第9位数据是0还是1,都将接收到的前8位数据送入SBUF中,并产生中断请求。在方式1中,若SM2=1,只有接收到有效的停止位RI才被激活。在方式0中,SM2必须是0。

2,TB8发送数据的第9位

在方式2、方式3中,TB8作为第9位数据发送出去,根据需要用软件置位或清0。TB8可

单片机教程详细图解-新华龙单片机学习教程

新华龙单片机学习入门教程基于本人学习单片机的痛苦经历,特编写本教程,以此献给广大的单片机初学者,希望您能从中受益。 单片机老鸟寄语:本教程乃最通俗易懂之单片机教材也,如果您还是看不懂,请千万不要涉足此行,以免误入歧途,耽误您的前程*_* 拿到这本教程您首先就会想,什么是 IAP 教学法?是不是一种什么全新的教学方法?当然不是,我可没有那么大的本事,其实这只是我杜撰的一个新名词,意思就是In Applications Program(在应用中编程),当然这只是针对单片机教学,说法是否正确,还得您说了算。 至于为什么要提这种说法,那我倒想说几句。大家都知道,学习电子技术是一件非常无聊和枯燥的事情,为什么会有这种想法,就是因为我们传统的教学方法只重理论而忽略了实践,要一个人记住那些空洞而有无聊的理论知识实在不是一件容易的事,好在我们总算熬过来了,不管如何,也多多少少的学习了一些电子基础知识。 接下来我们应该进一步掌握些什么知识呢,凡涉足此行的朋友都知道,那就是单片机。不过这可不是一件容易的事,倒不是因为单片机很难学,而实在是我们身边很难找到一本专为单片机入门者而编写的教材。翻一下传统的单片机教材,都好象是为已经懂单片机的人而写的,一般总是以单片机的结构为主线,先讲硬件原理,然后是指令,接着讲软件编程,再是系统扩展和外围器件,最后举一些实例(随便说一点:很多书中的实例都是有错误的),很少涉及单片机的基础知识,如果按照此种学习方法,想进行产品开发,就必须先把所有的知识全部掌握了才可以进行实际应用。孰不知,单片机不象模拟电路和数字电路那样,只要搞懂了电路原理,再按照产品要求设计好相应的电路就可以了。它是一种以简单的硬件结构,复杂而有灵活的软件系统来完成设计的通用性产品,不同的设计者只会使用其不同的功能,几乎没有人会把它的全部指令都使用起来,所以学习使用单片机只能靠循序渐进的积累,而不可能先把它全部掌握了再去做产品开发(当然天才就例外了*_*)。 基于以上原因,本人想尝试一种全新的单片机教学方法,打破传统的循序渐进式的教学方法,以单片机的应用为蓝本,结合基本的工业控制系统和实践工作中的具体应用,不分先后顺序,将各条指令贯串于一个又一个的实验中,通过所见即所得的实验来讲解各种指令的编程方法,顺便讲解相关的基本概念,使您尽快地熟悉单片机应用的基本步骤,掌握软件编程的基本方法。 如果您学完了就能成为单片机的入门者,完全可以进行一般产品的开发;下册部分是单片机应用的提高部分,主要学习单片机的系统扩展(比如:ROM 和RAM 存储器的扩展,并行口的扩展,串行口的扩展,A/D 和D/A 与单片机的接口)以及相关开发工具和软件的使用(包括KELL C51 的应用与调试技巧,硬件仿真器的使用)等等,如果您学完了下册部分,那就得恭喜您成为了单片机开发的高手了,不过单片机的技术是在不断的发展和提高的,您也不要太骄傲哦! 为了尽量把最新的单片机知识和应用成果收录进我们的教程,希望您能不吝赐教,共同来努力把我们的教程不断的改进和完善。还是那句题外话,技术是靠不断的积累和交流才会进步的,固封自守只会更加落后。 由于时间和精力的限制,我还是希望在您学习本教程之前,自己先熟悉一点相关的电子技术知识,特别是数字电路基础,这对您学习中碰到的相关概念会有很大的帮助。

单片机原理及应用期末考试试卷及答案

苏州经贸职业技术学院 2009-2010学年第二学期 《单片机原理及应用》期终试卷(A) 班级:姓名:学号:成绩: 一﹑填空题(将正确答案填在题干的空白处。1分×35=35分) 1、十进制数-47用8位二进制补码表示为:11010001B。 2、89C51含4KB Flash ROM,128B的RAM,在物理上有4个独立的存储器 空间。 3、若8031单片机的晶振频率fosc=12MHz,则振荡周期为1/12us ,状态周期为1/6us ,机器周期为1us ,执行MUL AB指令需要时间为4us 。 4、假定A=85H,R0=20H,(20H)=0AFH。执行指令:ADD A,@R0后,累加器 A的内容34H ,CY的内容1 ,AC的内容1 ,OV的内容1 。 5、假定DPTR的内容为8100H,累加器A的内容为40H,执行下列指令: MOVC A,@A+DPTR 后,送入A的是程序存储器8140H 单元的内容。 6、PSW中RS1 RS0=10H时,R2的地址为12H 。 7、ROM在物理上分为片内ROM 和片外ROM ,在逻辑上两者统一编址。 8、MCS-51单片机当EA=1时,首先使用的是片内程序存储器,存储容量超过4KB时开始使用外部程序存储器;EA=0时,则仅仅使用片外程序存储器。 9、MCS—51单片机访问片外存储器时,利用ALE 信号锁存来自P0 口的低8位地址信号。 10、欲使P1口的高4位输出1,而低4位不变,应执行一条ORL P1,#0F0H指令。 11、12根地址线可选4KB个存储单元,32KB存储单元需要15 根地址线。 12、设80C51 fosc=12MHz,定时器工作在方式0,则最大定时时间为8192μs。 13、异步串行数据通讯有单工、半双工和全双工共三种传送方式。 14、51单片机的中断系统最多可以有 2 个嵌套。 15、8031单片机指令MOV是访问内RAM ,最大范围为256B ,MOVX是访问外RAM ,最大范围为64KB,MOVC是访问ROM ,最大范围为64KB 。 二、单项选择(1分×15=15分) 1、MCS-51上电复位后,SP的内容是(B) (A)00H (B)07H (C)60H (D)70H 2、80C51是(C)

单片机原理及应用习题答案第三版

单片机原理及应用习题 答案第三版 集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]

第一章习题参考答案 1-1:何谓单片机与通用微机相比,两者在结构上有何异同 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。例如,现在的单片机产品的CPU大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术和段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠标、打印机、硬盘、光盘等)。用户通过标准总线连接外设,能达到即插即用。单片机应用系统的外设都是非标准的,且千差万别,种类很多。单片机的I/O接口实际上是向用

单片机原理及应用在线考试试题答案

中国石油大学(北京)远程教育学院期末考核 《单片原理及应用》 说明:共100分,每题20分,在下题中任选5题。 1.MCS-51的时钟周期、机器周期、指令周期是如何分配的?当振荡频率为10MHz时,一 个机器周期为多少毫秒? 参考第二章第四节。MCS-51典型的指令周期为一个机器周期,每个机器周期由6个状态周期组成,每个状态周期由2个时钟周期(振荡周期)组成。一个机器周期=6×一个状 态周期=12×一个时钟周期=12× 答: 为使单片机能够完成取指、译码、执行指令等操作,需要为单片机提供时钟信号以产生必要的时序。单片机振荡电路中的振荡信号对应的周期叫振荡周期(时钟周期)。对振荡周期12分频后得到的信号周期叫做机器周期,即12个时钟周期,是1个机器周期。一个机器周期宽度为6个状态周期,并依次表示为S1~S6。每个状态周期由2个时钟周期(振荡周期)组成。Mcs51单片机的111条指令,执行时,所花费的时间,称为指令周期。 一个机器周期=6×一个状态周期=12×一个时钟周期=12×=12×1/10=1.2 us=0.0012ms 2.指出下列指令中画线的操作数的寻址方式? MOV R0, #55H ;立即寻址 MOV A, 2AH ;直接寻址 MOV A, @R1 ;寄存器间接寻址 MOV @R0, A ;寄存器寻址 ADD A, R7 ;寄存器寻址 MOVX A, @DPTR ;寄存器间接寻址 MOV DPTR, #0123H ;立即寻址 MOVC A, @A+DPTR ;基址加变址寻址 INC DPTR;寄存器寻址 参考第三章第二节指令寻址方式 3.外部RAM中从1000H到10FFH有一个数据区,现在将它传送到外部RAM中2500H单元 开始的区域中,编程完成上述功能。 参考第三章第三节数据传送类指令和第六章第二节外部存储器扩展 START: MOV R0,#00H MOV DPTR,#1000H LOOP: MOVX A,@DPTR MOV DPH,#25H MOVX @DPTR,A MOV DPH,#10H

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

第1章单片机概述参考答案 1.1 答:微控制器,嵌入式控制器 1.2 答:CPU、存储器、I/O口、总线 1.3 答:C 1.4 答:B 1.5 答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。 嵌入式处理器一般意义上讲,是指嵌入系统的单片机、DSP、嵌入式微处理器。目前多把嵌入式处理器多指嵌入式微处理器,例如ARM7、ARM9等。嵌入式微处理器相当于通用计算机中的CPU。与单片机相比,单片机本身(或稍加扩展)就是一个小的计算机系统,可独立运行,具有完整的功能。而嵌入式微处理器仅仅相当于单片机中的中央处理器。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。 1.6 答:MCS-51系列单片机的基本型芯片分别:8031、8051和8071。它们的差别是在片内程序存储器上。8031无片内程序存储器、8051片内有4K字节的程序存储器ROM,而8751片内有集成有4K字节的程序存储器EPROM。 1.7 答:因为MCS-51系列单片机中的"MCS"是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。 1.8 答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash存储器取代了87C51片内的4K字节的EPROM。 1.9 单片机体积小、价格低且易于掌握和普及,很容易嵌入到各种通用目的的系统中,实现各种方式的检测和控制。单片机在嵌入式处理器市场占有率最高,最大特点是价格低,体积小。 DSP是一种非常擅长于高速实现各种数字信号处理运算(如数字滤波、FFT、频谱分析等)的嵌入式处理器。由于对其硬件结构和指令进行了特殊设计,使其能够高速完成各种复杂的数字信号处理算法。广泛地用于通讯、网络通信、数字图像处理,电机控制系统,生物信息识别终端,实时语音压解系统等。这类智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP的长处所在。与单片机相比,DSP具有的实现高速运算的硬件结构及指令和多总线,DSP处理的算法的复杂度和大的数据处理流量以及片内集成的多种功能部件更是单片机不可企及的。 嵌入式微处理器的基础是通用计算机中的CPU,它的地址总线数目较多能扩展较大的存储器空间,所以可配置实时多任务操作系统(RTOS)。RTOS是嵌入式应用软件的基础和开发平台。正由于嵌入式微处理器能运行实时多任务操作系统,所以能够处理复杂的系统管理任务和处理工作。因此,广泛地应用在移动计算平台、媒体手机、工业控制和商业领域(例如,智能工控设备、ATM机等)、电子商务平台、信息家电(机顶盒、数字电视)以及军事上的应用。 1.10 广义上讲,凡是系统中嵌入了"嵌入式处理器",如单片机、DSP、嵌入式微处理器,都称其为"嵌入式系统"。但多数人把 "嵌入"嵌入式微处理器的系统,称为"嵌入式系统"。目前"嵌入式系统"还没有一个严格和权威的定义。目前人们所说的"嵌入式系统",多指后者。 第2章 AT89S51单片机的硬件结构 1.答:AT89S51单片机的片内都集成了如下功能部件:(1)1个微处理器(CPU);(2)128

(精校版)单片机原理及应用期末考试试卷及答案

(完整word版)单片机原理及应用期末考试试卷及答案 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整word版)单片机原理及应用期末考试试卷及答案)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整word版)单片机原理及应用期末考试试卷及答案的全部内容。

单片机原理及应用期末考试试卷 班级:_______________学号:_______________姓名:_______________得分:_______________(卷面共有100题,总分100分,各大题标有题量和总分,每小题标号后有小分) 一、单项选择题(33小题,共33分) [1分](1)要MCS—51系统中,若晶振频率屡8MHz,一个机器周期等于( A )μs A 1。5 B 3 C 1 D 0.5 [1分](2)MCS—51的时钟最高频率是 ( A )。 A 12MHz B 6 MHz C 8 MHz D 10 MHz [1分](3)下列不是单片机总线是( D ) A 地址总线 B 控制总线 C 数据总线 D 输出总线 [1分](4)十进制29的二进制表示为原码( C ) A 11100010 B 10101111 C 00011101 D 00001111 [1分](5)电子计算机技术在半个世纪中虽有很大进步,但至今其运行仍遵循着一位科学家提出的基本原理。这位科学家是:( D ) (A)牛顿(B)爱国斯坦(C)爱迪生(D)冯·诺伊曼 [1分](6)在CPU中,控制器的功能是:( C ) (A)进行逻辑运算(B)进行算术运算 (C)分析指令并发出相应的控制信号(D)只控制CPU的工作 [1分](7)下列数据中有可能是八进制数的是:( A) (A)764 (B)238 (C)396 (D)789 [1分](8)MCS—51的时钟最高频率是 (D ) A、6MHz B、8MHz C、10MHz D、12MHz [1分](9)-49D的二进制补码为.( B) A、 11101111 B、11101101 C、0001000 D、11101100 [1分](10)要用传送指令访问MCS—51片外RAM,它的指令操作码助记符应是( B) A、 MOV B、 MOVX C、 MOVC D、以上都行 [1分](11)若某存储芯片地址线为12根,那么它的存储容量为(C ) A、1KB B、2KB C、 4KB D、 8KB [1分](12)PSW=18H时,则当前工作寄存器是(D ) A、 0组成 B、 1组成 C、2组成 D、3组成 [1分](13)所谓CPU是指( B) A、运算器与存储器 B、运算器与控制器 C、输入输出设备 D、控制器与存储器 [1分](14)PSW=18H时,则当前工作寄存器是(D ) (A)0组(B)1组(C)2组(D)3组 [1分](15)P1口的每一位能驱动( B ) (A)2个TTL低电平负载有(B)4个TTL低电平负载 (C)8个TTL低电平负载有(D)10个TTL低电平负载 [1分](16)二进制数110010010对应的十六进制数可表示为( A) A、192H B、C90H C、1A2H D、CA0H [1分](17)一3的补码是( D ) A、10000011 B、11111100 C、11111110 D、11111101 [1分](18)对于8031来说,脚总是( A ) A、接地 B、接电源 C、悬空 D、不用 [1分](19)进位标志CY在( C)中 A、累加器 B、算逻运算部件ALU C、程序状态字寄存器PSW D、DPOR

单片机原理及应用试卷和答案(三套试卷和答案)

试卷一 一、填空题(20分,每小题2分) 1、-19D的二进制的补码表示为11101101B。 2、89C51含4KB掩膜ROM,128B的RAM,在物理上有4个独立的存储器空间。 3、通过堆栈操作实现子程序调用,首先要把PC 的内容入栈,以进行断点保护。调 用返回时再进行出栈操作,把保护的断点弹回 PC。 4、74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中8 块芯片。 5、PSW中RS1 RS0=10H时,R2的地址为12H。 6、假定DPTR的内容为8100H,累加器A的内容为40H,执行下列指令: MOVC A,@A+DPTR 后,送入A的是程序存储器8140H单元的内容。 7、设SP=60H,片内RAM的(30H)=24H,(31H)=10H,在下列程序段注释中填执 行结果。 PUSH 30H ;SP=61H,(SP)=24H PUSH 31H ;SP=62H,(SP)=10H POP DPL ;SP=61H,DPL=10H POP DPH ;SP=60H,DPH=24H MOV A,#00H MOVX @DPTR,A 最后执行结果是执行结果将0送外部数据存储器的2410H单元。 8、在中断系统中,T0和T1两引脚扩展成外部中断源时,计数初值应当是(TH)=(TL)= 0FFH。 9、12根地址线可寻址4KB存储单元。 二、选择题(10分,每小题1分) 1、MCS-51响应中断时,下面哪一个条件不是必须的(C) (A)当前指令执行完毕(B)中断是开放的 (C)没有同级或高级中断服务(D)必须有RETI 2、执行PUSH ACC指令,MCS-51完成的操作是(A) (A)SP+1→SP,(ACC)→(SP);(B)(ACC)→(SP),SP-1→SP (C)SP-1→SP,(ACC)→(SP);(D)(ACC)→(SP),SP+1→SP 3、89C51是(C) (A)CPU (B)微处理器 (C)单片微机(D)控制器 4、关于MCS-51的堆栈操作,正确的说法是(C) (A)先入栈,再修改栈指针(B)先修改栈指针,再出栈 (C)先修改栈指针,再入栈(D)以上都不对

单片机原理和应用习题答案解析(第三版)

第一章习题参考答案 1-1:何谓单片机?与通用微机相比,两者在结构上有何异同? 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。例如,现在的单片机产品的CPU大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术和段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠标、打印机、硬盘、光盘等)。用户通过标准总线连接外设,能达到即插即用。单片机应用系统的外设都是非标准的,且千差万别,种类很多。单片机的I/O接口实际上是向用户提供的与外设连接的物理界面。用户对外设的连接要设计具体的接口电路,需有熟练的接口电路设计技术。 另外,单片机的微处理器(CPU)、存储器、I/O接口电路集成在一块芯片上,而通用微机的微处理器(CPU)、存储器、I/O接口电路一般都是独立的芯片 1-4 IAP、ISP的含义是什么? ISP:In System Programable,即在系统编程。用户可以通过下载线以特定的硬件时序在线编程(到单片机内部集成的FLASH上),但用户程序自身不可以对内部存储器做修改。 IAP:In Application Programable,即在应用编程。用户可以通过下载线对单片机进行在线编程,用户程序也可以自己对内部存储器重新修改。 1-6 51单片机与通用微机相比,结构上有哪些主要特点? (1)单片机的程序存储器和数据存储器是严格区分的,前者为ROM,后者为RAM; (2)采用面向控制的指令系统,位处理能力强; (3)I/O引脚通常是多功能的; (4)产品系列齐全,功能扩展性强; (5)功能是通用的,像一般微处理机那样可广泛地应用在各个方面。 1-7 51单片机有哪些主要系列产品? (1)Intel公司的MCS-51系列单片机:功能比较强、价格比较低、较早应用的单片机。此系列三种基本产品是:8031/8051/8751; (2)ATMEL公司的89系列单片机:内含Flash存储器,开发过程中可以容易地进行

单片机原理与应用期末考试试题

单片机原理及应用期末考试试题 一、填空题(每空1分,共20分) 1.相对寻址是以PC的当前值为基准,加上指令中给出的相对偏移量形成目标地址的方式。 2.AT89S51单片机的1个机器周期含有12 个晶振周期或 6 状态周期。 3.AT89S51单片机进行扩展时,用P0 口作为地址/数据总线,用P2口作为地址总线高8位。 4.假定累加器A的容30H,执行指令:1000H:MOVC A,A+PC后,把程序存储器1031H单元的容送累加器A中 5.指令格式是由操作码和操作数部分组成。 6. AT89S51单片机的串行口控制寄存器中有2个中断标志位,它们是TI和RI 7.在进行BCD码加法运算时,紧跟ADD 或 ADDC 指令后的指令必须是DA A 指令 8. JNC rel指令执行时,当CY位为0时程序发生跳转。 9.单片机位寻址区的单元地址是从20H单元到2FH单元,若某位地址是10H,它所在单元 的地址应该是22H 。 10.外部中断0的中断入口地址为0003H,定时/记数器T1的中断入口地址为001BH。 11.串行口工作方式2为9位异步通信,若SMOD=0,f OSC = 6 MH Z,则其相应波特率为6×106/64 b/s 12.堆栈应遵循先进后出规律,堆栈指针的符号为SP 二、单项选择题(每小题1分,共20分) 1.AT89S51单片机的( d )口的引脚,还具有外中断、串行通信等第二功能。 a)P0 b)P1 c)P2 d)P3 2.单片机应用程序一般存放在(b) a)RAM b)ROM c)寄存器 d)CPU 3.已知某数的BCD码为00010 则其表示的十进制数值为(b) a) 7542H b) 7542 c) 75.42H d) 75.42

单片机原理与应用试题及答案

单片机原理与应用试题 及答案 https://www.doczj.com/doc/3d17413904.html,work Information Technology Company.2020YEAR

单片机原理与应用试卷及答案 一、填空题 1、10110110B 作为无字符数时,十进制数值为182;作为补码时,十进制数值为—74. 2、原码01101011B 的反码为01101011B ;补码为01101011B 。 3、由8051的最小系统电路除芯片外,外部只需要复位电路和时钟(晶振)电路,如果由8031的最小系统,还需要扩展外部ROM 电路。 4、若已知8051RAM 的某位地址为09H ,则该位所处的单元地址为21H 。 5、C51语言中,指令#define ADC XBYTE[OXFFEO]能够正确编译的前提是包含头文件absacc.h ,该指令的作用是定义一个外部地址单元为OXFFEO 。 二、选择题 1、程序和常数都是以(二进制)的形式存放在单片机程序的存储器中。 2、下列哪一个选项的指令语句不是任何时候都可以被C51正确编译(uchar; k=ox20) 3、当PSW 的RS0和RS1位分别为1和0时,系统选用的寄存器组为(1组) 4、若某存储器芯片地址线为12根,那么它的存储容量为(4KB ) 5、已知T osc =12MHZ ,TH1=177,TL1=224,TMOD=ox10,则从定时器启动到正常溢出的时间间隔为(20ms ) 三、简答题 答:①新建工程项目②配置工程项目属性③创建源文件④将源文件加入项目⑤保存项目 3、PSW 寄存器有何作用其各位是如何定义的 4、 答:标志寄存器PSW 是一个8位的寄存器,它用于保存指令执行结果的状态,以供工程查询和判别。 C (PWS.7):进位标志位 AC (PWS.6):辅助进位标志位 FO (PWS.5):用户标志位 RS1、RS0(PWS.4、PWS.3 PSW DOH

单片机原理及应用习题答案

思考与练习题1 1.1单项选择题 (1)单片机又称为单片微计算机,最初的英文缩写是( D ) A.MCP B.CPU C.DPJ D.SCM (2)Intel公司的MCS-51系列单片机是( C )的单片机。 A.1位 B.4位 C.8位 D.16位 (3)单片机的特点里没有包括在内的是( C ) A.集成度高 B.功耗低 C.密封性强 D.性价比高 (4)单片机的发展趋势中没有包括的是( B ) A.高性能 B.高价格 C.低功耗 D.高性价比 (5)十进制数56的二进制数是( A ) A.00111000B B.01011100B C.11000111B D.01010000B (6)十六进制数93的二进制数是( A ) A.10010011B B.00100011B C.11000011B D.01110011B (7)二进制数11000011的十六进制数是( B ) A. B3H B.C3H C.D3H D.E3H (8)二进制数11001011的十进制无符号数是( B ) A. 213 B.203 C.223 D.233 (9)二进制数11001011的十进制有符号数是( B ) A. 73 B.-75 C.-93 D.75 (10)十进制数29的8421BCD压缩码是( A ) A.00101001B B.10101001B C.11100001B D.10011100B (11)十进制数-36在8位微机中的反码和补码是( D ) A.00100100B、11011100B B.00100100B、11011011B C.10100100B、11011011B D.11011011B、11011100B (12)十进制数+27在8位微机中的反码和补码分别是( C ) A.00011011B、11100100B B.11100100B、11100101B C.00011011B、00011011B D.00011011B、11100101B (13)字符9的ASCII码是( D ) A.0011001B B.0101001B C.1001001B D.0111001B (14)ASCII码1111111B的对应字符是( C ) A. SPACE B.P C.DEL D.{ (15)或逻辑的表达式是( B ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (16)异或逻辑的表达式是( C ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (17)二进制数10101010B与00000000B的“与”、“或”和“异或”结果是( B ) A.10101010B、10101010B、00000000B B.00000000B、10101010B、10101010B C.00000000B、10101010B、00000000B D.10101010B、00000000B、10101010B (18)二进制数11101110B与01110111B的“与”、“或”和“异或”结果是( D ) A.01100110B、10011001B、11111111B B.11111111B、10011001B、01100110B C.01100110B、01110111B、10011001B D.01100110B、11111111B、10011001B (19)下列集成门电路中具有与门功能的是( D ) A.74LS32 B.74LS06 C.74LS10 D.74LS08

单片机原理及应用教程第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 31H 3. (1) 0B3H (2)80H (3) 17.AH (4) 0C.CH 4. (1)01000001B 65 (2) 110101111B 431 5. (1) 00100100 00100100 00100100 (2) 10100100 11011011 11011100 (5) 10000001 11111110 11111111 6. 00100101B 00110111BCD 25H 7. 137 119 89 8.什么是总线?总线主要有哪几部分组成?各部分的作用是什么? 总线是连接计算机各部件之间的一组公共的信号线。一般情况下,可分为系统总线和外总线。 系统总线应包括:地址总线(AB)控制总线(CB)数据总线(DB) 地址总线(AB):CPU根据指令的功能需要访问某一存储器单元或外部设备时,其地址信

息由地址总线输出,然后经地址译码单元处理。地址总线为16位时,可寻址围为216=64K,地址总线的位数决定了所寻址存储器容量或外设数量的围。在任一时刻,地址总线上的地址信息是惟一对应某一存储单元或外部设备。 控制总线(CB):由CPU产生的控制信号是通过控制总线向存储器或外部设备发出控制命令的,以使在传送信息时协调一致的工作。CPU还可以接收由外部设备发来的中断请求信号和状态信号,所以控制总线可以是输入、输出或双向的。 数据总线(DB):CPU是通过数据总线与存储单元或外部设备交换数据信息的,故数据总线应为双向总线。在CPU进行读操作时,存储单元或外设的数据信息通过数据总线传送给CPU;在CPU进行写操作时,CPU把数据通过数据总线传送给存储单元或外设9.什么是接口电路? CPU与接口电路连接一般应具有哪些信号线?外部设备与接口电路连接一般应具有哪些信号线? CPU通过接口电路与外部输入、输出设备交换信息, 一般情况下,外部设备种类、数量较多,而且各种参量(如运行速度、数据格式及物理量)也不尽相同。CPU为了实现选取目标外部设备并与其交换信息,必须借助接口电路。一般情况下,接口电路通过地址总线、控制总线和数据总线与CPU连接;通过数据线(D)、控制线(C)和状态线(S)与外部设备连接。 10. 存储器的作用是什么?只读存储器和随机存储器有什么不同? 存储器具有记忆功能,用来存放数据和程序。计算机中的存储器主要有随机存储器(RAM)和只读存储器(ROM)两种。随机存储器一般用来存放程序运行过程中的中间数据,计算机掉电时数据不再保存。只读存储器一般用来存放程序,计算机掉电时信息不会丢失。 11.某存储器的存储容量为64KB,它表示多少个存储单元?64×1024 12. 简述微型计算机硬件系统组成。

单片机原理及应用期末考试试题汇总

单片机原理及应用期末考试试题汇总

单片机原理及应用期末考试试题汇总 1、单片机是将微处理器、一定容量的 RAM 和ROM 以及 器等电路集成在一块芯片上而构成的微型计算机 2、 单片机89C51片内集成了 有 5 个中断 源。 3、 两位十六进制数最多可以表示 4、 89C51是以下哪个公司的产 品? 4 KB 的 FLASH RO ,共 256 个存储单元。 C ) A 、INTEL B 、AMD C 、ATMEL D 、PHILIPS 8、当CPU 访问片外的存储器时,其低八位地址由 P0 口提供,高八位 地址由 P2 口提供,8位数据由 P0 口提供。 9、在I/O 口中, P0 口在接LED 时,必须提供上拉电 阻, P3 口具有第二功能。 10、是非题:MCS-51系列单片机直接读端口和读端口锁存器的结果永远是相同 的。F 11、 是非题:是读端口还是读锁存器是用指令来区别的。 T 12、 是非题:在89C51的片内RAM 区中,位地址和部分字节地址是冲突的。 F 13、 是非题:中断的矢量地址位于 RAM 区中。F 14、 M CS-51系列单片机是属于( B )体系结构。 A 、冯诺依曼 B 、普林斯顿 C 、哈佛 D 、图 灵 15、 89C51具有 64 KB 的字节寻址能力。 16、 是非题:在89C51中,当CPU 访问片内、夕卜ROM 区时用MOV 指令,访问片 外RAM 区时用MOV 指令,访问片内 RAM 区时用MOV 旨令。T I/O 口、定时 5、在89C51中,只有当EA 引脚接 Flash ROM 。 高 电平时,CPU 才访问片内的 6、是非题:当89C51的EA 引脚接低电平时, 内是否有程序存储器。T CPL 只能访问片外ROM 而不管片 7、是非题:当89C51的EA 引脚接高电平时, CPU 只能访问片内的4KB 空间。F

单片机原理试题库答案

单片机原理及应用复习题及答案 一、选择题(在每个小题四个备选答案中选出一个或几个正确答案,填在题的括号中) 1、80C51基本型单片机内部程序存储器容量为(C)。 (A)16KB (B)8KB (C)4KB (D)2KB 2、在80C51单片机应用系统中,可以作为时钟输出的是(C)引脚。 (A)EA(B)RST (C)ALE (D)PSEN 3、在80C51的4个并行口中,能作为通用I/O口和高8位地址总线的是(C)。 (A)P0 (B)P1 (C)P2 (D)P3 4、当优先级的设置相同时,若以下几个中断同时发生,(D)中断优先响应。 (A)并口(B)T1 (C)串口(D)T0 5、在80C51中,要访问SFR使用的寻址方式为(AB)。 (A)直接寻址(B)寄存器寻址(C)变址寻址(D)寄存器间接寻址 6、以下的4条指令中,不合法的指令为(D)。 (A)INC A (B)DEC A (C)INC DPTR (D)SWAP ACC 7、当需要扩展一片8KB的RAM时,应选用的存储器芯片为(B)。 (A)2764 (B)6264 (C)6116 (D)62128 8、若想扩展键盘和显示,并希望增加256字节的RAM时,应选择(A)芯片。 (A)8155 (B)8255 (C)8253 (D)8251 9、80C51单片机要进行10位帧格式的串行通讯时,串行口应工作在(B )。 (A)方式0 (B)方式1 (C)方式2 (D)方式3 10、80C51复位初始化时未改变SP的内容,第一个入栈的单元地址为(A)。 (A)08H (B)80H (C)00H (D)07H 11、MCS—51单片机的复位信号是( A )有效。 A.高电平 B.低电平 C.脉冲 D.下降沿 12、若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过( B )。 A.2μs B.4μs C.8μs D.1ms 13、若PSW.4=0,PSW.3=1,要想把寄存器R0的内容入栈,应使用( D )指令。 A.PUSH R0 B.PUSH @R0 C.PUSH 00H D.PUSH 08H 14、能够用紫外光擦除ROM中程序的只读存储器称为( C )。 A.掩膜ROM B.PROM C.EPROM D.EEPROM 15、在片外扩展一片2764程序存储器芯片要( B )地址线。 A.8根 B.13根 C.16根 D.20根 16、定时器/计数器工作方式1是( D )。 A.8位计数器结构 B.2个8位计数器结构 C.13位计数结构 D.16位计数结构 17、设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为 ( C ) A.2MHz B.1MHz C.500KHz D.250KHz 18、已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,它的字形代码应为( A )。 A.06H B.F9H C.30H D.CFH

单片机原理及应用期末考试试题

单片机原理及应用期末考试试题

单片机原理及应用期末考试试题 一、填空题(每空1分,共20分) 1.相对寻址是以PC 的当前值为基准,加上指令中给出的相对偏移量形成目标地址的方式。 2.AT89S51单片机的1个机器周期含有12 个晶振周期或 6 状态周期。 3.AT89S51单片机进行扩展时,用P0 口作为地址/数据总线,用P2 口作为地址总线高8位。 4.假定累加器A的内容30H,执行指令:1000H:MOVC A,@A+PC后,把 程序存储器1031H单元的内容送累加器A中5.指令格式是由操作码和操作数部分 组成。 6.AT89S51单片机的串行口控制寄存器中有2 个中断标志位,它们是TI和RI 7.在进行BCD码加法运算时,紧跟ADD 或 ADDC 指令后的指令必须是DA A 指令 8.JNC rel指令执行时,当CY位为0时程序发生跳转。 9.单片机位寻址区的单元地址是从20H单元到 2FH单元,若某位地址是10H,它所在单元 的地址应该是22H 。 10.外部中断0的中断入口地址为0003H ,定时/记数器T1的中断入口地址为 001BH。 11.串行口工作方式2为9位异步通信,若SMOD=0,f OSC = 6 MH Z,则其相应波特 率为6×106/64 b/s

12.堆栈应遵循先进后出规律,堆栈指针的符号为SP 二、单项选择题(每小题1分,共20分) 1.AT89S51单片机的( d )口的引脚,还具有外中断、串行通信等第二功能。 a)P0 b)P1 c) P2 d)P3 2.单片机应用程序一般存放在(b) a)RAM b)ROM c)寄存器 d)CPU 3.已知某数的BCD码为0111010101000010 则 其表示的十进制数值为(b) a) 7542H b) 7542 c) 75.42H d) 75.42 4.下列指令中不影响标志位CY的指令有(d)。 a)ADD A,20H b)CLR c)RRC A d)INC A 5.CPU主要的组成部部分为(a) a)运算器、控制器b)加法器、寄存器 c)运算器、寄存器d)运算器、指令译 码器 6.AT89S51 的CPU是(c)位的单片机 a)16 b) 4 c)8 d)准16 7.AT89S51复位后,PC与SP的值为(b) a )0000H,00H b)0000H, 07H c) 0003H,07H d)0800H,00H 8.当需要从AT89S51单片机程序存储器取数据时,采用的指令为(b)。

单片机原理及应用试题库答案

《单片机原理及应用》试题库 一、填空题 1.单片机就是把(CPU)、( 输入/输出)、和( 存储器)等部件都集成在一个电路芯片上,并具备一套功能完善的( 指令系统),有的型号同时还具备( AD )和( DA )等功能部件,其简称为( 微处理器)或(微控制器)。 2.Intel公司典型的单片机有( MCS-51系列)和( MCS-96系列)。 3.单片机具有体积( 下)、重量( 轻)、价格( 低)、功耗( 小)、控制功能强、运算速度快、运用灵活、易于产品化、抗扰能力( 强)等特点,故在国民经济建设、军事及家用电器等领域均得到了广泛的应用。 4.微处理器本身不是计算机,它是微型计算机的核心部件,又称它为(CPU )。它包括两个主要部分:(运算器)、(控制器)。 5.当扩展外部存储器或I/O口时,P2口用作(地址线的高8位)。 6.MCS-51单片机内部RAM区有( 4 )个工作寄存器区。 7.MCS-51单片机内部RAM区有(128 )个位地址。 8.89C51单片机片内RAM中位寻址区的地址范围是(20H—2FH ),工作寄存器区的地址范围是(00H—1FH ),片内程序存储器中寻址区的地址范围是(0000H—07FFH )。 9.MCS-51有( 4 )个并行I\O口。 10.MCS-51的堆栈是软件填写堆栈指针临时在(30H—7FH )内开辟的区域. 11.MCS-51片内(20H—2FH )范围内的数据存储器,既可以字节寻址又可以位寻址。 12.程序状态标志字寄存器PSW中的PSW.7的含义是(进位和借位标志位);PSW.0的含义是(奇偶校验位)。 13.若不使用89C51片内的程序存储器,引脚(EA’)必须接地。 14.MCS-51中凡字节地址能被(0和8 )整除的特殊功能寄存器均能寻址。 15.MCS-51有4组工作寄存器,它们的字节地址范围是(00H—1FH )。 16.当MCS-51引脚(ALE )信号有效时,表示从P0口稳定地送出了低8位地址. 17.在单片机的RESET端出现(两个机器周期以上的高电平时),便可以可靠复位,复位后的程序指针PC指向(0000H )地址。 18.MCS-51系列单片机有:(外部中断0), (外部中断1 ), (定时/计数器T0溢出中断), (定时/计数器T1溢出中断), (串行口)等5个中断请求源。 39.KeiL C51软件中,工程文件的扩展名是__UV2______,编译连接后生成可烧写的文件扩展名是__hex_______。

相关主题
文本预览
相关文档 最新文档