• 190.46 KB
  • 2022-04-22 11:23:27 发布

《单片机原理与接口技术》答案.docx

  • 29页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'《单片机原理与接口技术》课后习题参考答案习题一1.在计算机内部,一切信息的存取、处理和传送都是以(D)形式进行。A.EBCDIC码B.ASCII码C.十六进制编码D.二进制编码2.一个字节由8位二进制数组成,即由2位十六进制数组成。3.将下列十进制数转换成二进制数。(1)12(2)100(3)128(4)1000答:(1)00001100(2)01100100(3)10000000(4)0011111010004.将下列十进制数转换成十六进制数。(1)14(2)127(3)255(4)1024答:(1)1110(2)01111111(3)11111111(4)0100000000005.将下列二进制数分别转换成十进制和十六进制数。(1)11100100(2)10100001(3)11101000(4)10101101答:(1)228,E4H(2)161,A1H(3)232,E8H(4)173,ADH6.将下列十六进制数分别转换成二进制和十进制数。(1)2DH(2)F4H(3)0400H(4)FFFFH答:(1)00101101B,45(2)11110100,244(3)0000010000000000,1024(4)1111111111111111,655357.取字长8位,写出下列数据的补码。(1)-32(2)-45(3)-98(4)91答:(1)E0H(2)D3H(3)9EH(4)5BH8.完成下列十六进制数的加法运算。(1)8CH+3FH(2)1F34H+95D6H(3)205EH+12FFH答:(1)CBH(2)B50AH(3)335DH9.分别用十六进制和二进制数形式,写出数字0,1,2,…,9的ASCII码。答:30H,31H,…,39H;00110000B,00110001B,…,00111001B10.写出字符串的ASCII码:“***MCS-51***”答:2AH,2AH,2AH,4DH,53H,43H,2DH,35H,31H,2AH,2AH,2AH11.对于十进制数35,用二进制数表示为__00100011B__;用十六进制数表示为__23H__;用组合BCD码表示为00110101B;用非组合BCD码表示为__03H,05H__;用ASCII表示为_33H,35H_。12.16位PC机中整数的有效范围是(D)。A.-32768~32767B.-32767~32767C.0~65535D.-32768~32767或0~6553513.在(C)表示中,二进制数11111111B表示十进制数–1A.原码B.反码C.补码D.BCD码14.用8位的二进制数的补码形式表示一个带符号数,它能表示的整数范围是(D)。A.-127~+127B.-128~+128C.-127~+128D.-128~+12715.计算机中运算器和控制器合称为(A)A.CPUB.ALUC.主机D.ENIAC16.微机的主要性能指标中,字长是指(微处理器一次能处理的二进制数的位数)。17.若用MB作为PC机主存容量的计量单位,1MB等于(B)个字节。29 A.210B.220C.230D.24018.运算器的主要功能是(C)。A.算术运算B.逻辑运算C.算术运算与逻辑运算D.函数运算19.指出下列总线中,哪一个是单向的,哪一个是双向的?(1)数据总线(2)地址总线答:地址总线是单向的;数据总线是双向的。20.什么是微处理器?答:微处理器是微型计算机的核心,具有运算与控制功能。21.微型计算机由哪几部分组成的?答:微型计算机由CPU、存储器、I/O接口和总线组成。22.简要说明计算机系统中三种总线各自的作用。答:数据总线用来传送数据信息,数据总线的宽度决定了CPU一次能够与存储器或I/O接口传送数据的位数。地址总线传送地址信号,CPU输出地址信号,用来寻址一个存储单元或I/O端口,地址总线的位数决定了CPU最多能外接多大容量的存储器,若有CPU有N位地址线,外接存储器的最大容量是2N。控制总线传输控制或状态信号。23.说明微型计算机系统的组成。答:微型计算机系统由软件和硬件组成。硬件包括主机和外设,主机包括CPU,存储器,I/O接口和总线;外设包括输入设备和输出设备。软件包括系统软件和应用软件24.说明通用微机与单片机的主要区别。答:在结构上单片机是把微机的主要功能部件:CPU,存储器,I/O接口集成在一块芯片内。存储器结构也不一样,微机采用冯·诺依曼结构,数据和程序放在统一的存储空间;一些单片机,像MCS-51,其存储器分为数据存储器和程序存储器。应用场合不一样,微型计算机用于科学计算,信息管理,计算机辅助设计等等;单片机面向控制,将其与专业设备融为一体,形成智能系统,如工业控制系统、智能测量系统、自动化通信系统、专用数字处理系统等。编程方式也有不同,微机上用高级语言编程时,不需要了解微机的硬件结构,只需了解操作系统和编程环境。单片机用汇编语言或C编程,需要对硬件有所了解。习题二1.简述EU和BIU的主要功能?答:EU是执行单元,负责执行指令。BIU是总线接口单元,负责取指令,以及存/取数据。2.8086和8088的主要区别是什么?答:主要区别是(1)8086有16位数据线,8088有8位数据线。(2)8086内部有6字节的指令队列缓冲器,8088有4字节。3.8086/8088CPU采用流水线技术有什么好处?答:流水线技术可以提高CPU的工作效率。4.8086的数据总线是____16____位,地址总线是___20____位。5.8086可以寻址的存储器空间有多大?I/O空间有多大?答:8086可以寻址的存储器空间是1MB;I/O空间64KB6.在一般的微处理器中,(D)包含在CPU中。A.内存B.输入/输出单元C.磁盘驱动器D.算术逻辑单元7.8086中一共有多少寄存器?每个寄存器有什么特殊的用途?29 答:8086一共有14个16位的寄存器:AX,BX,CX,DX,SP,BP,SI,DI,CS,DS,SS,ES,IP,标志寄存器。有8个8位的寄存器:AH,AL,BH,BL,CH,CL,DH,DLAX,AL:特别用于乘除法指令、数据输入/输出指令中BX:可以用来存放地址CX:循环操作指令中,隐含用作计数器;CL:移位指令中用于存放移位次数DX:输入/输出指令中用于存放端口地址,乘/除法指令中用于存放乘积高位/被除数的高位SP:用于存放堆栈栈顶单元的地址BP:可以用来存放地址SI:串操作指令中,隐含存放源数据串单元地址DI:串操作指令中,隐含存放目的数据串单元地址CS:存放代码段的段地址;DS:存放代码数据段的段地址;SS:存放堆栈段的段地址;ES:存放附加数据段的段地址;IP:存放CPU将要执行指令所在存储单元的地址,CPU根据IP的值,到相应存储单元取指令8.什么是寄存器?存储单元?I/O端口?答:寄存器是在CPU中的数据存储部件,一般用符号来表示某个寄存器,即寄存器有名字,寄存器有8位、16位等类型存储单元是在存储器中一个单元,没有特殊说明时,一个存储单元存放一个字节的数据,存储单元通过地址来标识。I/O端口指的是I/O接口中的寄存器,也是地址来标识,单片机端口中也有符号名9.标志寄存器各位的含义?答:10.从功能上,8086的CPU由(C)两部分组成。A.SP、ALUB.控制器、FLAGSC.EU、BIUD.EU、ALU11.标志寄存器FLAGS中存放两类标志,即(B)。A.符号标志、溢出标志B.控制标志、状态标志C.方向标志、进位标志D.零标志、奇偶标志12.什么是最大模式?最小模式?答:最大模式是指系统中有多个微处理器,8086是主处理器,还有协处理器,系统控制总线的大部分信号由总线控制器产生。最小模式是指系统中只有一个微处理器,控制信号由CPU直接产生。13.什么是总线周期?答:是指CPU访问一次存储器(如读/写一个字节数据)所需要的时间。14.8086的总线周期由几个时钟周期组成?在总线周期中,CPU有哪些操作?答:8086的总线周期由4个时钟周期组成。又叫4个T状态。在T1状态,CPU输出地址和地址锁存信号;在T2状态CPU输出控制信号;T3状态数据出现在数据总线上;T4状态CPU撤销控制信号,总线周期结束。15.8284、8282、8286、8288、8259这几个芯片的作用是什么?29 答:8284是时钟发生器,为CPU提供工作时钟,以及使READY、RESET信号与时钟同步。8282是地址锁存器,用来锁存地址信号。8286是数据收发器,用来提高数据总线的驱动能力8288是总线控制器,当8086工作在最大模式下,可以产生控制信号。16.8086如何进入复位状态?答:8086的TESET引脚出现4个时钟周期的高电平,8086进入复位状态。17.复位后,8086芯片内寄存器状态如何?引脚信号状态如何?答:8086复位后,除了CS=FFFFH外,其它寄存器的值都为0。三态引脚呈高阻态,非三态引脚呈无效状态。18.最小模式时,当M/为低电平时,表示CPU正在对(D)进行访问。A.存储器B.I/O端口C.外部存储器D.EPROM19.某CPU的主频为250MHZ,则它的时钟周期为(D)。A.250nsB.50nsC.40nsD.4ns20.存储单元逻辑地址的表达方式?答:存储单元逻辑地址的表达方式是“段地址:偏移地址”,段地址和偏移地址都是16位。21.逻辑地址如何形成存储单元的物理地址?答:物理地址=段地址×10H+偏移地址22.程序设计中所使用的地址是(A)。A.逻辑地址B.有效地址C.物理地址D.段基址23.某单元在数据段中,已知DS=1000H,偏移地址为1200H,则它的物理地址为(B)。A.10000HB.11200HC.12100HD.13000H24.设某一个单元的物理地址是54321H,则正确的逻辑地址表示为(C)。A.4321H:50000HB.54320H:1HC.5430H:0021HD.5432H:00001H25.上电复位时,若CPU的CS=FFFFH,IP=0000H,则第一条指令从地址FFFF0H地方取。26.8088与外部交换数据的总线宽度是8位,EU内部总线宽度是16位。27.8086/8088将整个存储空间划分为许多逻辑段,每个逻辑段容量在64KB以内。28.8086/8088系统中,某存储单元只能有一个物理地址,但可以有多个逻辑地址。29.某存储单元物理地址为32413H,则相对于段地址为3000H,其偏移地址为2413H,若;它的偏移地址是1003H,则其段地址为3141H。30.说明存储器分类及特点。答:从存取功能分:只读存储器ROM、随机存取存储器RAM只读存储器:掩模ROM、PROM、EPROM、EEPROM随机存储器:静态RAM(SRAM)、动态RAM(DRAM)从制造工艺分:双极型和MOS(CMOS)型静态存储单元(SRAM)的优点:速度快、使用简单、不需刷新、常用作Cache;缺点:元件数多、集成度低、运行功耗大DRAM的主要特点有:基本存储电路用单管线路组成(靠电容存储电荷);集成度高;功耗比静态RAM低;价格比静态便宜;因动态存储器靠电容来存储信息,由于总是存在有泄漏电流,故要求刷新(再生)。适用于大存储容量的微型计算机,如微机中的内存主要由DRAM组成。掩模ROM:掩模只读存储器由制造厂做成,用户不能进行修改。可编程只读存储器PROM(ProgrammableROM),PROM允许用户对其进行一次编程,即写入数据或程序。一旦编程之后,用户可以读出其内容,但再也无法改变它的内容。29 紫外线可擦除的只读存储器EPROM(ErasableProgrammableROM),需要用紫外线照射来擦除,擦除后可编程,并允许用户多次擦除和编程;电可擦除的只读存储器EEPROM或E2PROM(ElectricallyErasableProgrammableROM),采用加上一定电压的方法进行擦除和编程,也可多次擦除和编程。31.存储器的功能是存储程序和数据。32.与外存相比,内存具有的特点是存储容量小,工作速度快。33.存储器的主要指标有存储器容量、存储周期和可靠性。34.随机访问存储器的访问速度与数据的存储位置无关。35.存储器中用地址来区分不同的存储单元。36.静态存储单元是由晶体管构成的双稳态触发器,保证记忆单元始终处于稳定状态。37.主存容量与地址总线的根数有关。38.要组成容量为4K×8的存储器,需要32片1K×1的存储器芯片。39.静态随机存储器SRAM靠双稳态触发器存储信息,动态随机存储器DRAM靠电容存储信息。40.为什么RAM被称为“易失性存储器”?答:因为掉电后,存储的内容会丢失。41.微型计算机的存储系统是指(D)。A.RAMB.ROMC.主存储器D.cache、主存储器和外存储器42.内存若为16MB,则表示其容量为(B)KB。A.16B.16384C.1024D.1600043.组成2M×8位的内存,可以使用(D)。A.1M×8的芯片进行位扩展B.1M×4位的芯片进行字扩展C.2M×4的芯片进行字扩展D.2M×4位的芯片进行位扩展44.若SRAM芯片的容量为4K×8位,则该芯片引脚中地址线和数据线的数目之和是(C)。A.15B.19C.20D.不可估计45.存储周期是指(B)。A.存储器的读出时间B.连续两次启动存储器的时间间隔C.存储器的写入时间D.存储器连续写操作的时间46.8088系统中用74LS138译码器产生片选信号,如下图示。若将接到存储器的片选信号端,则存储器的存储范围为(C)。G74LS138CBAA15A14A13A12A11A.B800H~BFFFHB.A800H~AFFFHC.B000H~B7FFHD.8800H~8FFFH47.若一台计算机的字长为4个字节,则表明该机器(C)。A.能处理数值最大值为4位十进制数B.能处理的数值最大为4位二进制数组成C.在CPU中能够作为一个整体处理32位的二进制代码D.能运算的结果为23229 48.根据存放信息的不同,端口通常有三种类型:数据端口、状态端口和控制端口。49.CPU与外设之间进行数据传送时,可以采用哪些方式?答:可以采用无条件传送方式、查询方式、中断方式和DMA方式习题三1.单片机是把组成微型计算机的各功能部件,即CPU、存储器、I/O接口及总线等部件制作在一块集成电路芯片上,构成一个完整的微型计算机。2.Intel公司生产的MCS-51系列单片机主要集成了哪些功能部件?答:MCS-51单片机内部包含了下列几个部件:一个8位CPU、一个片内振荡器及时钟电路、4K字节程序存储器、128字节数据存储器、两个16位定时器/计数器、一个可编程全双工串行口、四个8位可编程并行I/O端口、64K字节外部数据存储器和64K字节程序存储器扩展控制电路、五个中断源;两个优先级嵌套中断结构3.MCS-51系列单片机中,片内无ROM的机型是8031,有4KBROM的机型是8051,而有4KBEPROM的机型是8751。4.CPU由运算器和控制器组成。5.程序计数器PC的功能是什么?答:PC用于存放下一条将要从程序存储器中读取的指令的地址。由两个8位的计数器(PCH、PCL)组成,16位可容纳的最大数值为FFFFH(即65535),因此,MCS-51可寻址64KB的程序存储器。每取一字节指令,PC会自动加1。改变PC的值,就可改变程序执行的顺序。6.程序计数器PC的值是(C)。A.当前正在执行指令的前一条指令的地址B.当前正在执行指令的地址C.当前正在执行指令的下一条指令的地址D.控制器中指令寄存器的地址7.MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS-51的PC是16位的,因此其寻址空间为64KB,地址范围是从0000H到FFFFH。8.说明程序状态寄存器PSW中,各标志位的作用。答:Cy:进位标志位;AC:辅助进位标志,又称半字节进位标志位;F0:用户自定义标志。RS1,RS0:工作寄存器组选择控制位。OV:溢出标志。P:奇偶标志位。9.若A中的内容为63H,那么,奇偶标志位P的值为0。10.8051芯片的引脚可以分位以下四类:电源引脚VCC和GND、外接晶振引脚XTAL1和XTAL2、控制信号引脚和多功能I/O口引脚。FFH80H内部RAM80H~FFH(仅52系列有)只能通过间接寻址访问SFR区80H~FFH只能通过直接寻址访问普通RAM区地址30H~7FH位寻址区(20H~2FH)位地址00H~7FH工作寄存器区0(00H~07H)工作寄存器区3(18H~1FH)工作寄存器区2(10H~17H)工作寄存器区1(08H~0FH)00H(a)内部数据存储器30H11.8051单片机有4个8位并行I/O口,共32位I/O引脚。12.8051单片机内部数据存储器可以分为几个不同的区域?各有什么特点?答:分为4个区域:工作寄存器区位寻址区普通RAM区特殊功能寄存器区29 13.内部RAM中,哪些单元可作为工作寄存器区,哪些单元可以进行位寻址?写出它们的字节地址。答:内部RAM中,地址00H—1FH作为工作寄存器区;地址20H—2FH这16个单元可以进行位寻址。14.8031单片机复位后,R4所对应的存储单元的地址为04H,因上电时PSW=00H。这时当前的工作寄存器区是第0组工作寄存器。15.若PSW的内容为18H,则选取的是第3组通用寄存器。16.内部RAM中,位地址为30H的位,该位所在字节的字节地址为26H。17.在8031单片机内部,其RAM高端128个字节的地址空间称为特殊功能寄存器区,但其中仅有21个字节有实际意义。17.DPTR可以分成两个8位的寄存器:DPH和DPL。18.地址能被8整除的特殊功能寄存器可以位寻址。19.8051单片机堆栈可以设置在什么地方?如何实现?答:可以设置在片内RAM地址00H—7FH区域。通过设置SP的值可设置当前的堆栈顶。20.堆栈操作遵循的原则是什么?堆栈的用途是什么?答:堆栈遵循“先进后出”的数据存储原则。堆栈用来暂存数据或地址,当有中断时,保护断点地址。21.程序存储器中,有些单元是为中断处理保留的,这些存储单元的地址是多少?答:程序存储器的预留单元如下入口地址预留目的存储单元范围0000H复位后初始化引导程序0000H-0002H0003H外部中断0服务程序0003H-000AH000BH定时器/计数器0溢出中断服务程序000BH-0012H0013H外部中断1服务程序0013H-001AH001BH定时器/计数器1溢出中断服务程序001BH-0022H0023H串行口中断服务程序0023H-002AH002BH定时器/计数器2溢出中断服务程序002BH-0032H22.四个并行口P0~P3各自的功能是什么?答:P0口是一个双功能的端口:地址/数据分时复用口和通用I/O口;P1口是一个准双向口,只作通用输入/输出口使用;P2口是一个双功能的端口:用作高8位地址输出线或者作为通用I/O口;P3口是一个双功能的端口:通用输入/输出口,每位增加了第二输入/输出功能23.在8031单片机中,使用P2、P0口传送地址信号,且使用了P0口传送数据信号,这里采用的是分时复用技术。24.MCS-51单片机的时序单位主要有四种:振荡周期、状态周期、机器周期、指令周期,它们之间有何关系?答:振荡周期等于振荡频率的倒数;状态周期等于2个振荡周期;机器周期等于12个正当周期;指令周期等于1、2或4个机器周期。25.在MCS-51单片机中,如果采用6MHZ晶振,1个机器周期为2微秒。执行时间最长的指令周期为8us。26.当8051单片机的RST引脚出现2个机器周期的高电平时,单片机复位。27.单片机的复位方法有两种,分别是上电复位和手动,复位后SP=07H,29 P0~P3=FFH,PC=0000H。28.当MCS-51单片机运行出错或程序陷入死循环时,如何来摆脱困境?答:通过硬件复位。29.8051型单片机的时钟信号的产生方式有哪两种?答:一种是外接石英晶体振荡器;二是外接时钟源。30.说明MCS-51单片机的引脚接高电平和接低电平时各有何种功能?答:接地,单片机从外部程序存储器取指令。接高,单片机首先访问内部程序存储器,当访问地址超过内部程序存储器范围时,自动访问外部程序存储器。31.说明引脚信号、、、ALE的功能?答:是单片机读外部数据存储器的控制信号;是单片机向外部数据存储器写数据的控制信号;是单片机读外部程序存储器的控制信号。32.如果手中仅有一台示波器,可通过观察哪个引脚的状态,来大致判断MCS-51单片机正在工作?答:ALE信号。它的频率等于晶振频率的1/6.33.画出8051单片机外扩一片静态RAM6264(8K×8bit)的硬件连接图。34.8751单片机系统需要外扩8KB的程序存储器,要求地址范围为1000H~2FFFH,以便和内部程序存储器地址相衔接,采用2764(8K×8bit)存储芯片,画出系统扩展的硬件连接图。答:29 35.8031单片机系统需要外扩8KB的存储器空间,采用存储芯片EEPROM2864(8K×8bit),将8KB存储空间的前4KB作为ROM使用,后4KB作为RAM使用,画出实现该功能的系统硬件连接图。36.80C51单片机有哪两种低功耗方式?如何设置低功耗方式?如何停止低功耗方式?答:掉电方式和待机方式。通过设置PCON寄存器的最低两位可实现单片机的低功耗方式。结束待机方式可以通过中断或硬件复位;结束掉电方式只能通过硬件复位。习题四1.一台计算机的指令系统就是它所能执行的指令集合。2.以助记符形式表示的计算机指令的程序设计语言就是汇编语言。29 3.按长度分,MCS-51指令有单字节的,双字节的和三字节的。4.MCS-51汇编语言指令格式中,唯一不可缺少的部分是(B)。A.标号B.操作码C.操作数D.注释5.MCS-51的立即寻址方式中,立即数前面(D)。A.应加前缀“/”号 B.不加前缀号C.应加前缀“@”号D.应加前缀“#”号6.简述8051的寻址方式和每种寻址方式所涉及的寻址空间。答:寻址方式寻址空间(操作数的存放空间)立即寻址程序存储器直接寻址片内RAM低128字节、特殊功能寄存器寄存器寻址工作寄存器R0~R7、A、B、DPTR寄存器间接寻址片内RAM:@R0、@R1、SP片外RAM:@R0、@R1、@DPTR变址寻址程序存储器:@A+PC、@A+DPTR相对寻址程序存储器256字节范围内:PC+偏移量位寻址片内RAM的位寻址区(字节地址20H~2FH)、地址能被8整除的特殊功能寄存器7.MCS-51寻址方式中,操作数Ri加前缀“@”号的寻址方式是(A)。A.寄存器间接寻址       B.寄存器寻址     C.基址加变址寻址    D.立即寻址8.MCS-51寻址方式中,位寻址的寻址空间是(D)。A.工作寄存器R0~R7     B.专用寄存器SFR  C.程序存贮器ROMD.片内RAM的20H~2FH字节中的所有位和地址可被8整除的SFR的有效位9.MCS-51寻址方式中,直接寻址的寻址空间是(D)。A.工作寄存器R0~R7   B.专用寄存器SFR    C.程序存贮器ROMD.片内RAM 00H~7FH的128字节和80H~FFH中的SFR10.分析下面各指令源操作数的寻址方式。MOVA,32H;直接寻址MOVR7,A;寄存器寻址MOV@R0,#0FEH;立即寻址MOVA,@R1;寄存器间接寻址MOVDPTR,#1E00H;立即寻址MOVCA,@A+DPTR;变址寻址MOVC,20H;位寻址JC10H;相对寻址11.访问特殊功能寄存器和外部数据存储器,分别可以采用那些寻址方式?答:访问特殊功能寄存器只能用直接寻址;访问外部数据存储器只能用寄存器间接寻址。12.在寄存器寻址方式中,指令中指定寄存器的内容就是操作数。29 13.在寻址方式中,只能使用8位二进制数作为直接地址。14.在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的地址。15.在变址寻址方式中,以累加器A作变址寄存器,以PC或DPTR作基址寄存器。16.三种传送指令MOV、MOVC和MOVX,使用时有什么区别?答:MOV指令用来实现单片机内部寄存器、存储单元、特殊功能寄存器之间的数据传送。MOVC指令用来读程序存储器中的数据表。MOVX指令用来实现累加器A和外部数据存储器之间的数据传送。17.执行指令MOVX  A,@DPTR时,、引脚的电平为(C)。A.高电平,高电平        B.低电平,高电平C.高电平,低电平        D.低电平,低电平18.假定累加器(A)=30H,执行指令:“1000H:MOVCA,@A+PC”后,把程序存储器1031H单元的内容送累加器A中。19.假定DPTR的内容为8100H,累加器的内容为40H,执行下列指令“MOVCA,@A+DPTR”后,程序存储器8140H单元的内容送累加器A中。20.单片机中PUSH和POP指令常用来(C)。A.保护断点       B.保护现场C.保护现场,恢复现场   D.保护断点,恢复断点21.假定(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令:PUSHACCPOPB后,(SP)=60H,(61H)=30H,(B)=30H。22.假定(SP)=62H,(61H)=30H,(62H)=70H。执行指令:POPDPHPOPDPL后,(DPTR)=7030H,(SP)=60H。23.假定(A)=85H,(R0)=20H,(20H)=AFH。执行指令:ADDA,@R0后,累加器A的内容为34H,CY的内容为1,AC的内容为1,OV的内容为1。24.按指令的执行时间分,MCS-51指令有1、2和4机器周期的指令。25.假定(A)=0FFH,(30H)=0F0H,(R0)=4FH,(50H)=00H。执行指令序列:INCA;(A)=00HINCR0;(R0)=50HINC30H;(30H)=F1HINC@R0;(50H)=01H后,累加器(A)=00H,(R0)=50H,(30H)=F1H,(50H)=01H。26.假定(A)=56H,(R5)=67H。执行指令:ADDA,R6DAA后,累加器A的内容为23H,CY的内容为1。27.假定(A)=0FH,(R4)=19H,(30H)=00H,(R1)=40H,(40H)=0FFH。执行指令:DECA;(A)=0EHDECR4;(R4)=18HDEC30H;(30H)=FFH29 DEC@R1;(40H)=FEH后,(A)=0EH,(R4)=18H,(30H)=FFH,(40H)=FEH。28.假定(A)=50H,(B)=0A0H,执行指令:“MULAB”后,寄存器B的内容为32H,累加器A的内容为00H。29.假定(A)=0FBH,(B)=12H执行指令“DIVAB”后,累加器A的内容为0DH,寄存器B的内容为11H。30.下列指令可将累加器A最高位置1的是(B,C,D,E)。A.ORLA,#7FHB.ORLA,#80HC.SETB0E7HD.ORLE0H,#80HE.SETBACC.731.假定标号L2的地址为0100H,标号L3值为0123H,即跳转的目标地址为0123H。当执行指令“L2:SJMPL3”时,该指令的相对偏移量(即指令的第二字节)为21H。32.在位操作中,能起到与字节操作中累加器作用的是进位标志位C。33.下列指令判断若P1口最低位为高电平就转到LP,否则就执行下一句的是(B)。A.JNB  P1.0,LP       B.JB P1.0,LP   C.JC P1.0,LP   D.JNZ P1.0,LP34.累加器A中存放着一个其值小于等于127的8为无符号数,(CY)=0,执行RLCA指令后,则A中的数变为原来的2倍。35.设内部RAM中50H单元的内容为34H,请分析下列程序段,说明各指令源操作数、目的操作数的寻址方式以及按顺序执行指令后,A、R0以及内部RAM30H、31H、50H单元的内容各为何值?MOVR0,#50H;(R0)=50HMOVA,@R0;(A)=34HSWAPA;(A)=43HMOV30H,A;(30H)=43HMOV31H,#30H;(31H)=30HMOV50H,30H;(50H)=43H36.试根据以下要求写出相应的汇编语言指令。(1)将R6的高四位和R7的高四位交换,R6、R7的低四位内容保持不变。答:MOVA,R6MOV30H,R7MOVR0,#40HMOV@R0,30HXCHDA,@R0MOVR7,AMOV30H,@R0MOVR6,30H(2)两个无符号数分别存放在30H、31H,试求出他们的和并将结果存放在32H。答:MOVA,30HADDA,31HMOV32H,A(3)将30H单元的内容左环移两位,并送外部RAM3000H单元。答:MOVA,30HRLARLA29 MOVDPTR,#3000HMOVX@DPTR,A(4)将程序存储器中1000H单元的内容取出送外部RAM3000H单元。答:MOVA,#0MOVDPTR,#1000HMOVCA,@A+DPTRMOVDPTR,#3000HMOVX@DPTR,A(5)使累加器A的最高位置位。答:SETBACC.7(6)使进位标志位清0答:CLRC(7)使ACC.4、ACC.5和ACC.6置1。答:ORLA,#01110000B37.设堆栈指针SP的内容为20H,累加器A的内容为67H,内部RAM中1FH、20H单元的内容分别为25H和34H,执行下列程序段后,1FH、20H、21H、22H、23H、DPTR、SP及累加器A的内容分别是多少?PUSHACC;SP=21H,(21H)=67HPUSH1FH;SP=22H,(22H)=25HPUSH20H;SP=23H,(23H)=34HSWAPA;A=76HMOV1FH,A;(1FH)=76HRLA;A=ECHMOV20H,A;(20H)=ECHPOPDPL;(DPL)=34H,SP=22HPOPDPH;(DPH)=25H,SP=21H,(DPTR)=2534HCLR01H;(20H.1)=0,(20H)=ECH习题五1.用于程序设计的语言分为哪几种?它们各有什么特点?答:MCS-51单片机的编程语言可以是汇编语言也可以是高级语言(如C语言),名称特点缺点优点适用场合汇编语言用符号书写指令(用助记符表示操作码,特殊符号表示操作数)机器不能直接识别;程序员必须了解机器的结构和指令系统,不易推广和普及;不能移植,不具备通用性较易为人们识别、记忆和读写实时控制系统高级语言用以英语为基础的语句编程机器不能直接识别;执行时间长易于推广和交流;不依赖于机器,具有通用性科学运算和数据处理2.说明伪指令的作用。答:伪指令是指示性语句,没有对应的机器码,用来告诉汇编程序如何汇编源程序。3.说明常用伪指令ORG、EQU、DB、DW、END的作用。答:ORG--指出后面程序块或数据块在程序存储器中存放的起始地址。29 EQU--赋值命令DB--定义字节数据DW--定义字数据BIT --定义位地址符号命令END --汇编结束命令4.设常量和数据标号的定义为:ORG2000HDAT1:DB1,2,3,4,5DAT2:DB‘ABCD’NEQU$-DAT2DAT3:DW1200H,-2TAB:DWDAT1,DAT3(1)画出上述数据或地址的存储形式。(2)写出各标号的地址。答:地址内容(H)2000H01020304052005H414243442009H1200FFFE200DH20002009DAT1=2000H;DAT2=2005H;DAT3=2009H;TAB=200DH5.双字节加法。被加数放在内部RAM的30H(高字节)、31H(低字节)单元中,加数存放在内部RAM的32H(高字节)和33H(低字节)中,运算结果放存放在30H,31H中,进位存放在位寻址区的00H位。答:ORG0000HMOVA,31HADDA,33HMOV31H,AMOVA,30HADDCA,32HMOV30H,AMOV00H,CSJMP$29 END6.试编写程序,找出片内RAM30H~5FH单元中无符号数的最大数,并将结果存入60H单元。答:ORG0000HMOVR0,#30HMOVR7,#2FHMOVA,@R0AGAIN:INCR0MOVB,ACLRCSUBBA,@R0JNCL1MOVA,@R0AJMPL2L1:MOVA,BL2:DJNZR7,AGAINMOV60H,ASJMP$END7.从内部RAM30H单元开始存放了20个数,找出其中的最小数。答:ORG0000HMOVR0,#30HMOVR7,#19HMOVA,@R0AGAIN:INCR0MOVB,ACLRCSUBBA,@R0JCL1MOVA,@R0AJMPL2L1:MOVA,BL2:DJNZR7,AGAINMOV2FH,ASJMP$END8.试编写程序,查找在内部RAM的31H~50H单元中是否有41H这一数据。若有,则将51H单元置为-1;若未找到,则将51H单元置为0。答:ORG0000HMOVR0,#31HMOVR7,#20HMOVA,#41HMOV51H,#00HAGAIN:MOVB,ACLRC29 SUBBA,@R0JZL1INCR0MOVA,BDJNZR7,AGAINAJMPEXITL1:MOV51H,#-1EXIT:SJMP$END9.编写程序,将片内RAM40H~6FH单元中的无符号数按照从小到大的次序排列,结果仍然放在原存储空间。答:NEQU30HTABEQU40HORG0000HSORT:MOVR4,#N-1LOOP1:MOVA,R4MOVR3,AMOVR0,#TABLOOP2:MOVA,@R0MOVB,AINCR0CLRCSUBBA,@R0JCUNEXCHMOVA,BXCHA,@R0DECR0MOV@R0,AUNEXCH:DJNZR3,LOOP2DJNZR4,LOOP1SJMP$END10.试编写程序,统计片内RAM的20H~5FH单元中出现55H的次数,并将统计结果送60H单元。答:TABEQU20HORG0000HSTART:MOV60H,#0MOVR0,#TABLOOP2:MOVA,#55HCLRCSUBBA,@R0JNZNEXTINC60HNEXT:INCR029 CJNER0,#60H,LOOP2SJMP$END11.编写程序,将片内RAM30H~7FH单元的内容全部清零。答:TABEQU30HORG0000HSTART:MOVA,#0MOVR0,#TABLOOP:MOV@R0,AINCR0CJNER0,#80H,LOOPSJMP$END12.编写程序,将片外数据存储区中3000H~30FFH单元全部清零。答:ORG0000HSTART:MOVA,#0MOVR7,#0MOVDPTR,#3000HLOOP:MOVX@DPTR,AINCDPTRDJNZR7,LOOPSJMP$END13.从内部RAMDATA1单元开始,存放有20H个数据,试编写程序,将这20H个数据逐一移到片外RAMDATA2单元开始的存储空间。答:DATA1EQU30HDATA2EQU1000HORG0000HSTART:MOVR0,#DATA1MOVDPTR,#DATA2MOVR7,#20HLOOP:MOVA,@R0MOVX@DPTR,AINCR0INCDPTRDJNZR7,LOOPSJMP$END14.将外部RAM8000H开始的20个字节数据传送到外部RAM8100H开始的地址单元中去。答:DATA1EQU8000HDATA2EQU00HORG0000HSTART:MOVDPTR,#DATA129 MOVR0,#DATA2MOVR7,#20LOOP:MOVXA,@DPTRMOVP2,#81HMOVX@R0,AINCR0INCDPTRDJNZR7,LOOPSJMP$END15.编程统计累加器A中“1”的个数。答:以下程序将A中“1”的个数放在30H单元。DATEQU37HORG0000HSTART:PUSHACCMOVA,#DATMOV30H,#0NEXT:JZEXITCLRCRLCAJNCL1INC30HL1:AJMPNEXTPOPACCEXIT:SJMP$END16.从内部RAM30H单元开始,存放有50个数据。试编写程序,将其中的正数、负数分别送外部RAM5000H和5500H开始的单元,并分别记下正数和负数的个数送内部RAM70H和71H单元。答:BUFEQU30HNEQU50ORG0000HSTART:MOVR0,#BUFMOVR7,#NMOV70H,#0MOV71H,#0MOVDPTR,#5000HMOVR1,#00HNEXT:MOVA,@R0JNBACC.7,POSITINC71HMOVP2,#55HMOVX@R1,AINCR129 AJMPL1POSIT:INC70HMOVX@DPTR,AINCDPTRL1:INCR0DJNZR7,NEXTSJMP$END17.利用调子程序的方法,进行两个无符号数相加。请编主程序及子程序。答:ORG0000HSTART:MOVR6,#56H;主程序MOVR7,#7FHACALLADD_SUBSJMP$ADD_SUB:MOVA,R6;子程序ADDA,R7RETEND18.计算下面子程序执行的时间(晶振频率为12MHz)。DL:MOVR3,#15;1个机器周期DL1:MOVR4,#255;1个机器周期DL2:MOVP1,R3;2个机器周期DJNZR4,DL2;2个机器周期DJNZR3,DL1;2个机器周期RET;2个机器周期答:1个机器周期=1us延时时间t=1+15×(1+255×(2+2)+2)+2=15348us19.编写程序,将30H~34H单元中压缩的BCD码数(每个字节存放两个BCD码数)转换为ASCII码数,并将结果存放在片内RAM60H~69H单元。答:ORG0000HSTART:MOVR0,#30HMOVR1,#60HMOVR7,#2AGAIN:MOVA,@R0ANLA,#0F0HSWAPAADDA,#30HMOV@R1,AMOVA,@R0ANLA,#0FHADDA,#30HINCR1MOV@R1,AINCR0INCR129 DJNZR7,AGAINSJMP$END20.将内部RAM30H单元的内容转换成三位BCD码(百位、十位、个位),并将结果存入外部RAM1000H开始的单元。答:ORG0000HSTART:MOVA,30HMOVDPTR,#1000HMOVB,#100DIVABMOVX@DPTR,AINCDPTRMOVA,BMOVB,#10DIVABMOVX@DPTR,AMOVA,BINCDPTRMOVX@DPTR,ASJMP$END21.请使用位操作指令,编程实现:。(其中20H、2FH、2AH都是位地址)答:ORG0000HMOVC,20HANLC,2FHCPLCORLC,2AHMOVP1.0,CSJMP$END习题六1.MCS-51的外部中断输入引脚为/INT0和/INT1。2.MCS-51中断系统有5个中断源,2级中断优先级。3.MCS-51外部中断的触发方式有电平触发和边沿触发。4.对于中断允许(IE)寄存器的相应位写入“1”,便可开放MCS-51的中断。5.控制MCS-51中断优先级的寄存器为IP,可编程设定两级中断优先级。6.MCS-51中断源的总开关为EA,在IE寄存器中的第7位。7.MCS-51复位后,内部的查询电路自动设定外部中断0为最高优先级;串行口中断为最低优先级。8.什么是中断?答:“中断”是指由于外部或内部事件而改变原来CPU正在执行指令顺序的一种工作机制。9.为什么要引入中断机制?29 答:中断机制常用于计算机与外部数据的传送,以解决高速运行的CPU与低速外设之间的矛盾。较好地实现CPU与外部设备的同步工作,进行实时处理。10.MCS-51单片机的中断系统由哪些部分组成?答:MCS-51单片机的中断系统由中断源、中断控制、中断响应组成。11.MCS-51单片机有哪几类中断源?答:单片机有三类中断:外部硬件中断(2个)、定时器中断(2个)、串行口中断(1个)。12.中断控制主要解决哪些问题?答:中断控制主要解决中断的允许/禁止、中断的优先级以及优先级嵌套等问题。13.MCS-51中5个中断源的中断入口地址分别是什么?答:中断源名称入口地址外部中断00003H定时器/计数器0中断000BH外部中断10013H定时器/计数器1中断001BH串行口中断0023H14.MCS-51的中断请求信号由哪些标志位来确定?答:中断源名称中断请求标志所属寄存器外部中断0IE0TCON定时器/计数器0中断TF0TCON外部中断1IE1TCON定时器/计数器1中断TF1TCON串行口中断RI/TISCON15.MCS-51的中断响应过程有哪几个部分组成?答:(1)设置标志。将中断请求标志清“0”,将内部与中断优先级有关的触发器置“1”;(2)保护断点。将断点地址送到堆栈;(3)转到中断入口。相应的中断入口地址送到PC;(4)执行中断服务程序(5)中断返回。返回到原来程序,继续执行。16.中断服务程序中如用RET指令来代替RETI指令后有什么现象?答:当中断响应后,内部会将与中断优先级有关的触发器置位,RETI可是该触发器清0,。若用RET指令,将会禁止同级中断被响应。17.中断的初始化程序主要完成哪些工作?答:(1)设置中断入口,(2)开中断,包括中断总允许和中断源允许,(3)如果是外部中断,需要设置中断的有效触发方式,(4)设置优先级,(5)中断服务程序中有关工作单元的初始化等。18.中断服务程序通常由哪几部分组成?答:主要包括4个部分:保护现场、中断处理、恢复现场、中断返回(RETI)。习题七1.定时器/计数器的两个功能是定时和计数。2.MCS-51单片机有2个16位的定时器/计数器T0和T1。3.MCS-51单片机定时器/计数器的核心部件是计数器。4.MCS-51单片机定时器用方式2工作的优点是可以自动重装初值。5.只有MCS-51定时器0可采用方式3工作。29 6.MCS-51定时器1可用作串行口的波特率发生器。7.启动MCS-51单片机计数器0开始工作的指令是SETBTR0。8.MCS-51中的定时器/计数器由哪些部件组成?答:由TMOD、TCON、TH0TL0、TH1TL1等寄存器,以及计数脉冲输入引脚T0、T1组成。9.MCS-51中计数器的计数信号如何选择和控制?答:通过设置TMOD中的C//T位实现。如果C//T=1,计数脉冲来自外部引脚,最高计数频率是晶振频率的1/24;如果C//T=0计数脉冲来自内部,每个机器周期,计数器加1。10.TMOD中的GATE和位有什么控制作用?答:GATE对启动/停止计数器工作有控制作用。当GATE=0时,只要TR0/TR1=1,就可以启动计数器;当GATE=1时,要求TR0/TR1=1、/INT0//INT1为高电平时,计数器工作。C//T用来选择计数脉冲的来源。11.什么情况下会对定时器/计数器0有控制作用?答:当GATE=1时,/INT0对定时器/计数器0有控制作用。12.MCS-51中两个8位计数器如何级联?计数范围如何确定?答:可以将一个计数器的输出端,连接到另一个计数器的输入端。计数范围等于两个计数器的计数值相乘。13.MCS-51中定时器/计数器的4种计数工作方式各有什么特点?答:工作方式0主要为兼容早期的MCS-48单片机所保留,一般可用工作方式1来代替。工作方式1的特点是:16位计数,计数范围宽,但每次的初值均要由程序来设置。工作方式2的特点是:初值只需设置一次,每次溢出后,初值自动会从TH0加载到TL0或从TH1加载到TL1,但计数范围较工作方式1小。工作方式3的特点是:增加一个独立的计数器,但只适用于定时器/计数器0,且占用定时器/计数器1的TR1和TF1,所以此时的定时器/计数器1只能用于不需中断的应用,如作为串行口的波特率发生器。14.设MCS-51单片机的晶振频率为12MHz,使用定时器1的工作方式1,在P1.0端输出周期为100ms的方波,使用中断方式设计程序,试写出相应的是断初始化程序和中断服务程序。答:定时时间50ms。晶振频率12MHz,则一个机器周期为1us。计数初值=65536-50000/1=15536NEQU15536ORG0000H;复位入口LJMPMAINORG001BH;中断入口LJMPINT_T1ORG0030HMAIN:MOVTMOD,#00010000B;主程序MOVTH1,#HIGH(N)MOVTL1,#LOW(N)SETBET1SETBEASETBTR1SJMP$INT_T1:MOVTH1,#HIGH(N);中断服务程序MOVTL1,#LOW(N)CPLP1.0RETIEND15.对上题,在P1.0端输出周期为100ms方波的同时,还要在P1.1端输出周期为10s29 方波,试写出相应的是断初始化程序和中断服务程序。答:5s=50ms×100,每50ms中断一次P1.0取反,中断100次P1.1取反NEQU15536ORG0000H;复位入口LJMPMAINORG001BH;中断入口LJMPINT_T1ORG0030HMAIN:MOVTMOD,#00010000B;主程序MOVTH1,#HIGH(N)MOVTL1,#LOW(N)MOVR7,#100SETBET1SETBEASETBTR1SJMP$INT_T1:MOVTH1,#HIGH(N);中断服务程序MOVTL1,#LOW(N)CPLP1.0DJNZR7,EXIT;没有中断100次,直接返回MOVR7,#100CPLP1.1EXIT:RETIEND16.使用计数器0,记录T0引脚输入的脉冲数,计满200个脉冲,则对内部RAM单元COUNT进行加1操作,使用中断方式设计程序,试写出中断初始化程序和中断服务程序。答:计数初值为200,200<256,计数器0可工作在方式2NEQU200COUNTEQU30HORG0000H;复位入口LJMPMAINORG000BH;中断入口LJMPINT_T0ORG0030HMAIN:MOVTMOD,#00000110B;主程序MOVTH0,#HIGH(N)MOVTL0,#LOW(N)MOVCOUNT,#0SETBET0SETBEASETBTR0SJMP$INT_T0:INCCOUNTRETIEND习题八1.MCS-51单片机有1个全双工串行接口。2.串行通信有两种基本方式,分别是同步通信和异步通信。29 3.MCS-51单片机的串行口有2个8位数据缓冲器,它们共用一个地址。4.MCS-51单片机的串行口控制/状态寄存器是SCON。5.MCS-51单片机的串行口有4种工作方式。6.串行接口可将CPU输出的并行数据转换成串行数据输出到外设。7.在串行通信中采用奇校验,若传送的数据是65H,则其奇偶检验位为1。8.在异步传输中,每帧数据有10位,则波特率为4800bps时,每秒钟可传输480个字符。9.在异步通信中,每个字符前都会加上起始位。10.MCS-51单片机串行中断的中断入口地址为0023H。11.在异步传输中,每帧数据有11位,若每秒钟传输872个字符,则波特率为9592bps。12.8051内的中断系统中有5个中断源。其中,串口中断有1个。13.在异步传输中,每帧数据有10位,每秒钟传输960个字符,则波特率为9600bps。14.在异步传输中,每帧数据有10位,当波特率为9600bps时,每秒钟可传输960个字符。15.在串行通信中采用奇校验,若传送的数据是4BH,则其奇偶检验位为1。16.MCS-51单片机中,SBUF是一个8位的寄存器。17.串行通信中,单工方式、半双工方式和全双工方式有什么区别?答:单工方式:数据仅按一个固定方向传送。半双工方式:数据可实现双向传送,但不能同时进行。全双工方式:允许通信双方同时进行数据双向传送。18.串行通信与并行通信有什么区别?答:当数据一位接一位顺序传送时,称为串行通信。当数据的各位同时传送时,称为并行通信。并行通信速度快、效率高,但需要多根数据线同时传送多位数据,可靠性较低,费用较高,只适用于近距离通信。串行通信可用一根数据线传送多位信息,速度较慢,可大大节省硬件投资,适用于远距离通信。19.同步通信与异步通信有什么区别?答:同步通信与异步通信是串行通信的两种形式。同步通信数据成组传送,每组数据以同步字符开始,接着是一个接一个的数据,数据之间没有间隔。异步通信一帧一帧传送,每帧包含起始位、数据位、奇偶校验位、停止位等,数据之间有间隔。同步通信效率高,但对时钟要求严格;异步通信效率较低,但只要求位同步,不要求自同步,传输准确率较高。20.什么是串行通信?有什么特点?答:串行通信是指数据一位一位传送,只需要一位数据线,比较经济,适用于计算机与外设之间、计算机与计算机之间远距离的数据通信。21.MCS-51单片机的串行口有几种工作方式,各有什么特点?答:MCS-51单片机的串行口有4种工作方式。方式0:8位移位寄存器,波特率为晶振频率的1/12.方式1:8位异步通信口,波特率可变。方式2:9位异步通信口,波特率固定,方式3:9位异步通信口,波特率可变,29 22.串口工作在方式3时,有什么特点?答:串口工作在方式3时,是9位异步通信口,波特率由定时器1、SMOD、fosc共同决定。23.串口工作在方式1时,有什么特点?答:串口工作在方式3时,是8位异步通信口,波特率由定时器1、SMOD、fosc共同决定。习题九1.键盘可分为哪几类?各有什么特点?答:键盘可分为编码键盘和非编码键盘两种形式。编码键盘通过专用的硬件编码器产生键码,能自动识别按下的键并产生相应的键码值。非编码键盘是由若干个按键组合的开关矩阵,其必须有一套相应的软件与之配合,才能产生出相应的键码2.非编码键盘分为哪几类?答:非编码键盘分为独立式键盘和矩阵式键盘3.键盘的工作原理是什么?答:独立式键盘是指直接用I/O口线构成的单个按键电路,每个独立式键盘单独占有一根I/O口线。其工作原理是:按键输入采用低电平有效。当没有按下按键时,I/O口为高电平。矩阵式键盘又称行列式键盘。用I/O口线组成行、列结构,按键设置在行列的交点上。其工作原理是:行、列线分别和按键开关两端相连,即矩阵式键盘两端都与单片机I/O口相连,当按键被按下时,其交点的行线和列线接通,使相应行线和列线上的电平发生变化,根据电平变化情况确定被按下的键。4.键盘输入有哪些特点?答:键盘实质上是一组按键开关的集合。按键的闭合与否通常用高电平或低电平来进行检测。按键闭合时为低电平;按键断开时为高电平。因此通过电平高低状态的检测,便可确认按键按下与否。5.消除键盘抖动的方法有哪些?答:可采用硬件或软件两种方式消除抖动。采用硬件消除抖动有两种方法:双稳态消抖和RC滤波消抖。或者采用软件延时的方式解决抖动问题。6.矩阵式键盘的工作方式有哪些?答:编程扫描方式、定时扫描方式、中断扫描方式7.矩阵式键盘的识别方式有哪些?答:行扫描法和行反转法。8.行扫描法识别闭合键的工作原理是什么?答:行扫描法是在判定有键按下后逐行置低电平,其余各行置为高电平,同时读入列状态。若列状态出现非全1状态,这时0状态的行、列交点的键就是所按下的键。行扫描法的特点就是逐行(逐列)扫描查询。9.叙述行反转法的基本工作原理。答:线反转法的两个具体操作步骤:(1)将列线编程为输入线,将行线编程为输出线,并使输出线输出为全零电平,则列线中的电平由高到低发生变化的列为按键所在列。(229 )将第一步中的传送方向反转过来,即将行线编程为输入线,列线编程为输出线,并输出第一步中的输入列值,则行线中电平由高到低发生变化的行即为按键所在行。综合一、二两步的结果,可确定按键所在的行和列,从而识别出所按下的键。习题十10-1LED显示器有哪些特点?答:LED显示器是由发光二极管显示字段组成。当某一发光二极管导通时,相应地点亮某一点或某一笔画,通过发光二极管不同的亮暗组合形成不同的数字、字母以及符号。10-2LED显示器的连接方式有哪些?各有什么特点?答:LED数码管显示器分为共阴极和共阳极两种形式。共阴极LED显示器的发光二极管的阴极连接在一起,形成该模块的公共端,称为共阴极LED显示器。通常此公共阴极接地,当发光二极管的阳极接高电平时,该发光二极管点亮。同样,共阳极LED显示器是将二极管的阳极连接在一起,形成共阳极LED显示器的公共端,通常此公共阳极接正电源,当发光二极管的阴极接低电平时,该发光二极管被点亮。10-3多位LED数码管显示器的显示方式有哪几种?各有什么特点?答:多位数码显示器的显示方式有静态显示和动态显示两种方式。静态显示就是当LED数码管要显示某一个字符时,相应的发光二极管恒定地导通或截止。单片机只需将所要显示的数据送出后就不再控制LED数码管,直到下一次显示时再传送一次新的显示数据。静态显示的数据稳定、亮度高,占用的CPU时间少。但每个显示单元都需要单独的显示驱动电路,使用的电路硬件较多,所占用的I/O资源较多。动态显示就是一位一位地轮流点亮各位数码管。对于每一位LED数码管而言,每隔一段时间点亮一次,即CPU时刻对LED数码管进行数据刷新,显示数据具有闪烁感,占用的CPU时间较多。但使用的硬件少,所占用的I/O资源较少,节省印制板空间,是目前单片机数码管显示中较为常用的一种显示方法。10-4LCD显示器有哪些特点?答:液晶显示器件和其他显示器件相比有如下特点:(1)液晶显示器工作电压低,仅3~6V;且功耗极小(每平方厘米仅10~80微瓦),同样的显示面积其功耗要比LED显示器小几百倍,所以它特别适宜与CMOS电路直接相配,用于各种数字及图形的显示,尤其适用于便携式或需要进行复杂的数据及图形显示的智能化仪表。(2)液晶显示器可在明亮环境下正常使用,其显示清晰度不像LED显示器那样会随环境光的增强而减弱,它在太阳光下也能正常显示。(3)液晶显示器体积小、外型薄,为平板式显示器,使用极为方便。(4)液晶显示器显示面积和字形大小以及字符的多少在一定范围内不受限制。(5)液晶显示器响应时间和余辉时间较长,为ms级,因而响应速度较慢。(6)液晶显示器本身不发光,在黑暗环境下不能显示,需要辅助光源。(7)液晶显示器的工作温度范围较窄,通常为–10~+60℃。在单片机应用系统中使用液晶显示器作为输出器件具有以下优点:(1)显示质量高。由于液晶显示器每一个点在收到信号后就一直保持相应的色彩和亮度,恒定发光,而不像CRT显示器那样需要不断刷新亮点。因此,液晶显示器画面质量高而且不会闪烁。(2)数字式接口。液晶显示器都是数字式的,和单片机系统的接口更加简单,操作也更加方便。(3)体积小、重量轻。液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器件要轻得多。(4)功率消耗小。相比而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC芯片上,因而耗电量比其它显示器件也要小得多。29 10-5LCD显示器有哪些驱动方式?答:LCD的驱动方式由电极引线的选择方式确定,其驱动方式分为两种:静态驱动(直接驱动)和动态扫描驱动(也称多极驱动或时分割驱动)。具体分为:字段式LCD的驱动方式、字符点阵式LCD的驱动方式、全点阵图形式LCD的驱动方式。习题十一11-1ADC0809是8通道8位分辨率的A/D转换器,转换时间约为128us。11-2ADC0809有8个模拟信号输入端。11-3启动ADC0809芯片开始进行A/D转换的方法是START引脚输入正脉冲。11-4ADC0809采用的A/D转换方式是逐次逼近。11-5ADC0809引脚OE是A/D转换结束数据输出允许信号,高电平有效。11-6CPU用查询方式从A/D转换器读取数据时,CPU查询A/D转换器的EOC信号。11-7ADC0809为8位的A/D转换器,其分辨率为满量程电压的1/256。11-8A/D转换器与CPU的接口方式主要有查询方式、延时和中断方式。11-9CPU使用中断方式从ADC0809读取数据时,ADC0809向CPU发出的中断请求信号是EOC。11-10在A/D转换期间要求模拟信号保持稳定,当输入信号变化速率较快时,应采用采样保持电路。11-11DAC0832是8位双缓冲结构的D/A转换器芯片。11-12设DAC0832经反相放大器输出最大模拟电压为+5V,若要输出+3V的电压,则对应输入的数字量为99H。11-13DAC0832内部有2个8位的寄存器。11-14DAC0832上用来控制DAC寄存器的信号是/WR2和/XFER。11-15DAC0832有三种工作方式分别是:直通方式、单缓冲方式和双缓冲方式。11-16一个8位D/A转换器的分辨率是1/256。11-17D/A转换器的输出形式有两种,分别是单极性输出和双极性输出。11-18数/模转换器的主要性能指标是什么?答:数/模转换器的主要性能指标有:分辨率(Resolution)、转换速率(ConversionRate)、量化误差(QuantizingError)、转换精度(Accuracy)11-19模/数转换器的主要性能指标是什么?答:模/数转换器的主要性能指标:分辨率、转换精度、建立时间、环境及工作条件影响指标、D/A转换器的输入、输出形式11-20DAC0832工作在双缓冲方式下时有什么特点?答:此时DAC0832内部的两个寄存器,都作为工作寄存器,D/A转换需要2步完成,先把数据送到数据输入寄存器,再把数据送到DAC寄存器,才能完成D/A转换。若用总线连接方式,DAC0832要占用两个端口地址。习题十二略习题十三1.说明AVR、PIC、Freescale单片机分别是哪些公司的产品?答:ATMEL公司、Microchip(美国微芯公司)、飞思卡尔半导体(原摩托罗拉半导体部)2.简要说明AVR单片机的特点。29 答:1997年,由ATMEL公司挪威设计中心的A先生与V先生利用ATMEL公司的Flash新技术,共同研发出RISC精简指令集的高速8位单片机,简称AVR。相对于出现较早也较为成熟的51系列单片机,AVR系列单片机片内资源更为丰富,接口也更为强大,同时由于其价格低等优势,在很多场合可以替代51系列单片机。3.PIC单片机的指令系统与MCS-51的指令系统有什么区别?答:PIC单片机采用精简指令系统(reducedinstructionsetcomputer,RISC)。MCS-51单片机采用复杂指令系统(complexinstructionsetcomputer,CISC)4.根据字长不同,PIC单片机分为哪些系列?答:8位单片机:PIC10、PIC12、PIC16、PIC1816位单片机:PIC24、dsPIC30、dsPIC33为32位单片机:PIC325.简述PIC单片机的特点。答:PIC单片机采用了RISC结构的嵌入式微控制器,其高速度、低电压、低功耗、大电流LCD驱动能力和低价位OTP技术等都体现出单片机产业的新趋势。6.Freescale主流的8位单片机中,主要有几种不同的内核?答:主要有3种不同的内核:CPU08、S08、RS087.简述Freescale单片机的特点。答:飞思卡尔(freescale)半导体公司是原来的Motorola公司的半导体产品部。飞思卡尔于2004年从Motorola分离出来,更名为freescale。freescale系列单片机采用哈佛结构和流水线指令结构,在许多领域内都表现出低成本,高性能的的特点,它的体系结构为产品的开发节省了大量时间。此外freescale提供了多种集成模块和总线接口,可以在不同的系统中更灵活的发挥作用。飞思卡尔单片机独有的特点:(1)全系列   从低端到高端,从8位到32位全系列应有尽有,最近还新推出8位/32位管脚兼容的QE128,可以从8位直接移植到32位,弥补单片机业界8/32位兼容架构中缺失的一环。(2)多种系统时钟模块:三种模块,七种工作模式   多种时钟源输入选项,不同的MCU具有不同的时钟产生机制,可以是RC振荡器,外部时钟或晶振,也可以是内部时钟,多数CPU同时具有上述三种模块。可以运行在FEI,FEE,FBI,FBILP,FBE,FBELP,STOP这七种工作模式。(3)多种通讯模块接口   与其它系列的单片机不同,freescale单片机几乎在内部集成各种通信接口模块:包括串行通信接口模块SCI,多主I2C总线模块,串行外围接口模块SPI,MSCAN08控制器模块,通用串行总线模块(USB/PS2)。(4)具有更多的可选模块   某些MCU具有LCD驱动模块,某些MCU带有温度传感器,某些MCU具有超高频发送模块,部分MCu含有同步处理器模块,某写含有同步处理器的MCU还具有屏幕显示模块OSD,还有少数的MCU具有响铃检测模块RING和双音多频/音调发生器DMG模块!(5)可靠性高、抗干扰性强、低功耗   也许freescale系列的单片机的功耗没有msp430的低,但是他具有全静态的“等待”和“停止”两种模式,从总体上降低您的功耗!新近推出的几款超低功耗已经与msp430的不相上下。(6)多种引脚数和封装选择   可以说freescale系列单片机具有的MCU种类是最多的了,有些MCU本身就有几种不同的引脚数和封装形式,这样用户各异根据需要来选择,总有一款适合你的开发的单片机。29 习题十四1.简述利用KeilμVision调试汇编语言程序的主要步骤。答:利用KeilμVision调试软件的主要步骤包括:建立工程(project)→编写汇编语言源程序并保存→在工程中添加源文件→设置工程→编译并连接,创建目标文件→调试程序。2.如何产生.HEX文件?答:编译并连接时,在“ProjectWorkspace”窗口中,右键Target1,选择OptionsForTarget‘Target1’选项,弹出“optionforTarget”对话窗,选Output选项卡,选中CreateHEXFile。3.在KeilμVision环境中,如何查看寄存器和数据存储单元内容?答:点击“Regs”,可查看寄存器的内容。在Keil的菜单栏中,选择View→MemoryWindow选项,打开Memory对话窗,在Address栏中输入地址“D:0030H”,查看片内RAM中0030H的内容。(X:外部数据存储器,C:程序存储器)4.简述利用Proteus绘制电路图的主要步骤。答:主要步骤:新建设计→挑选元器件→摆放元器件→摆放终端(电源、地)→连线→选择、装载目标文件(.HEX)→设置单片机晶振→保存设计→仿真运行→调试。5.在ProteusISIS中的仿真运行前,需要对单片机进行哪些设置?答:设置单片机的晶振频率,并添加.HEX文件到单片机。6.仿真运行时,电路上红、蓝点代表什么含义?答:红点代表高电平;蓝点代表低电平。29'