《单片机应用技术课后习题答案任务1-7(高职).pdf》由会员分享,可在线阅读,更多相关《单片机应用技术课后习题答案任务1-7(高职).pdf(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机应用技术课后习题答案任务L 7北邮学习任务一课后习题答案1什么是单片微型计算机?答:单片微型计算机是将计算机的基本部件微型化并集成到一块芯片上的微型计算机,是计算机微型化的典型代表之一,通常片内都含有CPU、ROMs RAM、并 行 I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等。2单片机的发展经历了哪几个阶段?答:单片机初级阶段(1974 1976年),芯片化探索阶段(19761978年),8 位单片机成熟阶段(1978 1982年),从 SCM 向 MCU过 渡 阶 段(1983 1990年),M CU百花齐放阶段(1990年一至今)。3单片机可分为几个系列?简述
2、每个系列的主要特性。答:单片机按系列可分为80C51系列、PIC系列和AVR系列等。PIC系列单片机是Micro Chip公司的产品,与 5 1 系列单片机不兼容。D PIC 系列单片机最大的特点是从实际出发,重视产品的性能与价格比,发展多种型号来满足不同层次的应用要求。2)精简指令使其执行效率大为提高。3)产品上市零等待(Zero time to market)。4)PIC有优越开发环境。5)其引脚具有防瞬态能力,通过限流电阻可以接至220V交流电源,可直接与继电器控制电路相连,无须光电耦合器隔离,给应用带来极大方便。6)彻底的保密性。7)自带看门狗定时器,可以用来提高程序运行的可靠性。8)
3、睡眠和低功耗模式。AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的 RISC(Reduced Instruction Set CPU)精简指令集高速8 位单片机。AVR单片机的主要特性1)AVR单片机以字作为指令长度单位,将内容丰富的操作数与操作码安排在一字之中(指令集中占大多数的单周期指令都是如此),取指周期短,又可预取指令,实现流水作业,故可高速执行指令。2)AVR单片机硬件结构采取8 位 机 与 16位机的折中策略,即采用局部寄存器堆(3 2 个寄存器文件)和单体高速输入/输出的方案(即输入捕获寄存器 输出比较匹配寄存器及相应控制逻辑)。提高了指令执行速度(lMIP
4、S/MHz),克服了瓶颈现象;同时又减少了对外设管理的开销,相对简化了硬件结构,降低了成本。3)AVR单片机内嵌高质量的Flash程序存储器,擦写方便,支持 ISP和 IA P,便于产品的调试、开发、生产 更新。4)AVR单片机的I/O线全部带可设置的上拉电阻 可单独设定为输入/输出、可 设 定(初始)高阻输入 驱动能力强(可省去功率驱动器件)等特性,使 得 I/O 口资源灵活、功能强大、可充分利用。5)AVR单片机片内具备多种独立的时钟分频器,分别供URAT、I2C、SPI 使用。6)增强性的高速同/异步串口,具有硬件产生校验码 硬件检测和校验帧错 两级接收缓冲、波特率自动调整定位(接收时)
5、屏蔽数据帧等功能,提高了通信的可靠性,方便程序编写,更便于组成分布式网络和实现多机通信系统的复杂应用,串口功能大大超过MCS-51/96单片机的串口,加 之AVR单片机高速,中断服务时间短,故可实现高波特率通讯。7)面向字节的高速硬件串行接口 TWI、SPIo TWI与12c接口兼容,具 备ACK信号硬件发送与识别、地址识别、总线仲裁等功能,能实现主/从机的收/发全部4种组合的多机通信。SPI支持主/从机等4种组合的多机通信。8)AVR单片机有自动上电复位电路 独立的看门狗电路、低电压检测电路B O D,多个复位源(自动上电复位、外部复位、看门狗复位、BOD复位),可设置的启动后延时运行程序,
6、增强了嵌入式系统的可靠性。9)AVR单 片 机 具 有 多 种 省 电 休 眠 模 式,且可宽电压运行(52.7V),抗干扰能力强,可降低一般8位机中的软件抗干扰设计工作量和硬件的使用量。10)AVR单片机技术体现了单片机集多种器件(包括FLASH程序存储器 看门狗 EEPROM、同/异步串行口、TWI、SPI、A/D模数转换器 定时器/计数器等)和多种功能(增强可靠性的复位系统 降低功耗抗干扰的休眠模式 品种多门类全的中断系统、具有输入捕获和比较匹配输出等多样化功能的定时器/计数器、具有替换功能的I/O端口等)于一身,充分体现了单片机技术的从“片自为战”向“片上系统SOC”过渡的发展方向4简
7、述单片机技术发展的趋势。答:(1)单片机的大容量化单片机内存储器容量进一步扩大。以往片内ROM为1KB-8KB,RAM为64字 节 256字节。现在片内ROM可 达40K B,片内RAM可达4KB,I/O也不需再外加扩展芯片。OTPROM、FlashROM成为主流供应状态。而随着单片机程序空间的扩大,在空余空间可嵌入实时操作系统RTOS等软件。这将大大提高产品的开发效率和单片机的性能。(2)单片机的高性能化高性能化主要是指进一步改进CPU的性能,加快指令运算的速度和提高系统控制的可靠性。采用精简指令集(RISC)结构,可以大幅度提高运行速度。并加强位处理功能 中断和定时控制功能;采用流水线结构
8、,指令以队列形式出现在CPU中,因而具有很高的运算速度,有的甚至采用多级流水线结构。单片机的扩展方式从并行总线到发展出各种串行总线,并被工业界接受,形成一些工业标准。如I2C、SPI串行总线等。它们采用3条数据总线代替现行的8条数据总线,从而减少了单片机引线,降低了成本。单片机系统结构更加简化及规范化。(3)单片机的小容量低廉化小容量低廉的4位、8位机也是单片机发展方向之一。其用途是把以往用数字逻辑电路组成的控制电路单片化。专用型的单片机将得到大力发展。使用专用单片机可最大限度地简化系统结构,提高可靠性,使资源利用率最高。在大批量使用时有可观的经济效益。(4)单片机的外围电路内装化随着集成度的
9、不断提高,可以把众多的外围功能器件集成到单片机内。除了 CPU、ROMs RAM外,还可把A/D、D/A转换器 DMA控制器 声音发生器 监视定时器、液晶驱动电路、锁相电路等一并集成在芯片内。为了减少外部的驱动芯片,进一步增强单片机的并行驱动能力。有的单片机可直接输出大电流和高电压,以便直接驱动显示器。为进一步加快I/O 口的传输速度,有的单片机还设置了高速I/O口,可用最快的速度驱动外部设备,也可以用最快的速度响应外部事件。甚至单片机厂商还可以根据用户的要求量身定做,把所需要的外围电路全部集成在单片机内,制造出具有自己特色的单片机。(5)单片机的全面CMOS化单片机的全面CMOS化,将给单片
10、机技术发展带来广阔的天地。CMOS芯片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。低功耗的技术措施可提高可靠性,降低工作电压,可使抗噪声和抗干扰等各方面性能全面提高。单片机的全盘CMOS化的效应不仅是功耗低,而且带来了产品的高可靠性、高抗干扰能力以及产品的便携化。(6)单片机的应用系统化单片机是嵌入式系统的独立发展之路,单片机向MCU发展的重要因素,就是寻求应用系统在芯片上的最大化解决。因此,专用单片机的发展自然形成了 SOC(System on C h ip)化趋势。随着微电子技术、IC 设计 EDA工具的发展,基 于SOC的单片机应用系统设计会有较大的发展。
11、因此,随着集成电路技术及工艺的快速发展,对单片机的理解可以从单片微型计算机单片微控制器延伸到单片应用系统。5单片机具有哪些突出优点?举例说明单片机的应用领域。答:1.单片机寿命长所谓寿命长,一方面指用单片机开发的产品可以稳定可靠地工作十年、二十年,另一方面是指与微处理器相比生存周期长。M PU 更新换代的速度越来越快,以 386、486、586为代表的M P U,几年内就被淘汰出局。而传统的单片机如8051、68HC05等年龄已有二十多岁,产量仍是上升的。一些成功上市的相对年轻的CPU 核心,也会随着I/O 功能模块的不断丰富,有着相当长的生存周期。2.8 位、32位单片机共同发展这是当前单片
12、机技术发展的另一动向。长期以来,单片机技术的发展是以8 位机为主的。随着移动通讯、网络技术、多媒体技术等高科技产品进入家庭,32位单片机应用得到了长足、迅猛的发展。3.低噪声与高速度为提高单片机抗干扰能力,降低噪声,降低时钟频率而不牺牲运算速度是单片机技术发展之追求。一 些 8051单片机兼容厂商改善了单片机的内部时序,在不提高时钟频率的条件下,使运算速度提高了很多。Motorola单片机使用了琐相环技术或内部倍频技术使内部总线速度大大高于时钟产生器的频率。68HC08单片机使用4.9MHz外部振荡器而内部时钟达32MHz。三星电子新近推出了 2GHz的 ARM处理器内核。4.低电压与低功耗几
13、乎所有的单片机都有Wait、Stop等省电运行方式。允许使用的电源电压范围也越来越宽。一般单片机都能在36V 范围内工作,对电池供电的单片机不再需要对电源采取稳压措施。低电压供电的单片机电源下限已由2.7V降至2.2V、8Vo0.9V供电的单片机已经问世。5.低噪声与高可靠性为提高单片机系统的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片机商家在单片机内部电路中采取了一些新的技术措施。如 S T 公司的由标准8032核和 PSD(可编程系统器件)构成的pPSD系列单片机片内增加了看门狗定时器,N S公司的COP8单片机内部增加了抗EM I电路,增强了 看门
14、狗 的性能。Motorola推出了低噪声的LN 系列单片机。6.ISP 与 IAPISP(In-System Programming)技术的优势是不需要编程器就可以进行单片机的实验和开发,单片机芯片可以直接焊接到电路板上,调试结束即成成品,免去了调试时由于频繁地插入取出芯片对芯片和电路板带来的不便。IAP(In-Application Programming)技术是从结构上将 Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将程序从一个存储体转向另一个。ISP的实现一般需要很少的外部电路辅助实现,而IAP的实现更加灵活,通常可利用单片机的串行口接
15、到计算机的RS232 口,通过专门设计的固件程序来编程内部存储器,可以通过现有的INTERNET或其它通讯方式很方便地实现远程升级和维护。单片机的应用领域:1)智能化家用电器:各种家用电器普遍采用单片机智能化控制代替传统的电子线路控制,升级换代,提高档次。如洗衣机、空调电视机 录像机 微波炉 电冰箱 电饭煲以及各种视听设备等。2)办公自动化设备:现代办公室使用的大量通信和办公设备多数嵌入了单片机。如打印机 复印机 传真机 绘图机、考勤机、电话以及通用计算机中的键盘译码、磁盘驱动等。3)商业营销设备:在商业营销系统中已广泛使用的电子称 收款机 条形码阅读器、IC卡刷卡机 出租车计价器以及仓储安全
16、监测系统 商场保安系统 空气调节系统、冷冻保险系统等都采用了单片机控制。4)工业自动化控制:工业自动化控制是最早采用单片机控制的领域之一。如各种测控系统、过程控制、机电一体化、PLC等。在化工 建筑 冶金等各种工业领域都要用到单片机控制。5)智能仪器仪表:采用单片机的智能化仪表大大提升了仪表的档次,强化了功能。如数据处理和存储 故障诊断 联网集控等。6)智能化通信产品:最突出的是手机,当然手机内的芯片属专用型单片机。7)汽车电子产品:现代汽车的集中显示系统 动力监测控制系统、自动驾驶系统、通 信 系 统 和 运 行 监 视 器(黑 匣 子)等都离不开单片 机。8)航空航天系统和国防军事 尖端武
17、器等领域:单片机的应用更是不言而喻。6 MCS-51单片机内部包含哪些主要逻辑功能部件?答:微 处 理 器(CPU)、数 据 存 储 器(RAM)、程 序 存 储 器(ROM/EPROM)、特 殊 功 能 寄 存 器(SFR)、并 行I/O 口、串行通信口 定时器/计数器及中断系统。7说 明 程 序 计 数 器PC和 堆 栈 指 针SP的作用。复 位 后PC和SP各为何值?答:程 序 计 数 器PC中存放将要执行的指令地址,PC有 自 动 加1功 能,以实现程序的顺序执行。它 是SFR中唯一隐含地址的,因此,用户无法对它进行读写。但在执行转移、调 用、返回等指令时能自动改变其内容,以实现改变程
18、序的执行顺序。程 序 计 数 器PC中内容的变化决定程序的流程,在执行程序的工作过程中,由PC输出将要执行的指令的程序存储器地址,CPU读取该地址单元中存储的指令并进行指令译码等操作,P C则自动指向下一条将要执行的指令的程序存储器地址。SP是 一 个8位 的S F R,它用来指示堆栈顶部在内部RAM中的位 置。系 统 复 位 后SP为0 7H,若 不 对SP设置初值,则 堆 栈 在08H开始的区域,为了不占用工作寄存器R0 R 7的地址,一般在编程时应设置SP的初值(最好在30H 7FH区域)。8程序状态字寄存器PSW的作用是什么?其中状态标志有哪几位?它们的含义是什么?答:P S W是保存
19、数据操作的结果标志,其中状态标志有CY(PSW.7):进位标志,A C(PSW.6):辅助进位标志,又称半进位标志,F0、Fl(PSW.5、PSW.1):用户标志;O V(PSW.2):溢出标志;P(PSW.0):奇偶标志。9什么是堆栈?堆栈有何作用?为什么要对堆栈指针S P重新赋值?SP的初值应如何设定?答:堆栈是一种数据结构,所谓堆栈就是只允许在其一端进行数据写入和数据读出的线性表。其主要作用有两个:保护断点和保护现场。堆栈区的设置原则上可以在内部RAM的任意区域,但由于MCS-51单片机内部RAM的00H-1FH地址单元已被工作寄存器R0-R7占用,20H 2FH为位寻址区,故堆栈一般设
20、在30H 7FH(对于8032系列芯片可为30H 0FFH)的区域内。单片机复位后,SP的内容为07H,堆栈事实上由08H单元开始,考虑到08H-1FH单元分别属于1 3组的工作寄存器区,则最好把SP值改置为1FH或更大的值。1 0开机复位后,C PU使用的是哪组工作寄存器?它们的地址如何?CPU如何指定和改变当前工作寄存器组?答:开机复位后使用的是0组工作寄存器,它们的地址是0 0 H-0 7 H,对程序状态字P S W中的R S 1和R SO两位进行编程设置,可指定和改变当前工作寄存器组。R S I、RSO=OOH时,当前工作寄存器被指定为0组;RS1、RSO=O1H时,当前工作寄存器被指
21、定为1组;R S I、RS0=10H时,当前工作寄存器被指定为2组;R S I、RSO=11H时,当前工作寄存器被指定为3组。11MCS-51的时钟周期、机器周期 指令周期是如何定义的?当振荡频率为12MHz时,一个机器周期为多少微秒?答:时钟周期也称为振荡周期,定义为时钟脉冲的倒数,是计算机中最基本的 最小的时间单位。C P U取出一条指令至该指令执行完所需的时间称为指令周期,因不同的指令执行所需的时间可能不同,故不同的指令可能有不同的指令周期。机器周期是用来衡量指令或程序执行速度的最小单位。它的确定原则是以最小指令周期为基准的,即一个最小指令周期为一个机器周期。当振荡频率为12MHz时,一
22、个机器周期1微秒12 MCS-51单片机的控制信号有哪些功能?答:是访问程序存储器控制信号。当端接低电平时,则不管芯片内部是否有程序存储器,C P U只访问外部程序存储器。对8031来说,因其内部无程序存储器,所以该引脚必须接地。当端接高电平时,CPU访问内部程序存储器,但 当PC(程序计数器)值超过某一值时,将自动转向片外程序存储器1000H地址继续执行程序。是地址锁存允许信号。当CPU访问外部存储器或I/O接口时,ALE输出脉冲的下降沿用于锁存16位地址的低8位。在不访问外部存储器或I/O接口时,ALE端有周期性正脉冲输出,其频率为振荡频率 的1/6。但是,每当访问外部数据存储器或I/O接
23、口时,在第二个机器周期中ALE只出现一次,即丢失一个ALE脉冲。片外程序存储器读选通信号。在CPU从外部程序存储器读取指令(或常数)期间,每个机器周期两次有效,但在访问外部数据存储器或1/0接口时,信号将不出现。端可以驱动8个TTL负载。13 MCS-51的片外程序存储器和片外数据存储器共处同一地址空间为什么不会发生总线冲突?答:MCS-51的片外程序存储器和片外数据存储器共处同一地址空间,地址范围都是0000H-FFFFH(64KB),但不会发生总线冲突。因片外程序存储器和片外数据存储器的读写控制信号不同,片外程序存储器的读信号是,而片外数据存储器的读信号为 写信号为,访问片外程序存储器和片
24、外数据存储器的指令也不同,所以它们不会发生总线冲突。1 4简 述MCS-51内部数据存储器的存储空间分配。答:内部数据存储器分为3个区域:1.工作寄存器区(00H 1FH);2.位 寻 址 区(20H 2FH);3.堆栈和数据缓冲器区(30H7FH或30H-0FFH)o1 5位地址和字节地址有何区别?位 地 址20H具体在内存中什么位置?答:MCS-51的位存储器由以内部RAM中20H2FH单元和特殊功能寄存器中地址为8的倍数的特殊功能寄存器两部分组成。其中每个单元的每一位都有一个位地址映像,它们既可以像普通内部RAM单元一样按字节存取,也可以对单元中的任何一位单独存取。字节地址是内部RAM中
25、和特殊功能寄存器中每个存储单元的地址。位地址20H是内部RAM24H中的D 0位。16 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位地址经锁存器所
26、存构成低8位地址总线,高8位地址总线由P2 口构成。P0 口作为单片机系统的低8位地址/数据线分时复用,在低8位地址锁存后,P0 口作为双向数据总线。由P3 口的第二功能输出数据存储器的读 写控制信号与片外程序存储器读选通信号,访问程序存储器控制信号,地址锁存允许信号构成控制总线。1 7 汇编语句是由4 个 部 分(字段)构成的,简述各部分的含义。答:汇编语句的4个部分为:标号:n操作码”操作数;注释标号是用户设定的一个符号,表示存放指令或数据的存储单元地址。标号由以字母开始的1一8个字母或数字串组成,以冒号结尾。不能用指令助记符 伪指令或寄存器名来作标号。标号是任选的,并不是每条指令或数据存
27、储单元都要标号,只在需要时才设标号。如转移指令所要访问的存储单元前面一般要设置标号。一旦使用了某标号定义一个地址单元,在程序的其它地方就不能随意修改这个定义,也不能重复定义。操作码是指令或伪指令的助记符,用来表示指令的性质或功能。对于一条汇编语言指令,这个字段是必不可少的。操作数给出参加运算(或其它操作)的数据或数据的地址。操作数可以表示为工作寄存器名、特殊功能寄存器名 标号名、常数 表达式等。这一字段可能有,也可能没有。若有两个或三个操作数,它们之间应以逗号分开。注释字段不是汇编语言的功能部分,只是增加程序的可读性。言简意赅的注释是汇编语言程序编写中的重要组成部分。18举例说明MCS-51单
28、片机的7 种寻址方式,各寻址方式的寻址空间。1.立即寻址 立即寻址方式的寻址空间为程序存储器。例如:MOV A,#3FH;3FHA2.直接寻址 直接寻址方式中操作数存储的空间有三种:1.内部数据存储器的低128个字节单元(00H7FH)例如:MOV A,30H;(30H)-A指令功能是把内部RAM 30H单元中的内容送入累加器Ao位地址空间例如:MOV C,00H;直接位00H 内容一进位位特殊功能寄存器例如:MOV IE,#85H;立即数85H一中断允许寄存器lEo3.寄存器寻址寄存器寻址方式的寻址空间为工作寄存器和特殊功能寄存器等。例如:MOV A,R6;(R6)-A4.寄存器间接寻址 寄
29、存器间接寻址空间为内部RAM 128字节,外部RAM例如:MOV A,R0;(RO)-A5.变址寻址 变址寻址空间为程序存储器。例如:MOVC A,A+DPTR;(DPTR)+(A)一A学习任务二课后习题答案1.单片机应用系统设计与开发过程分为几个阶段?答:单片机系统的传统开发过程一般可分为3步:(1)单片机系统原理图设计 选择元器件插件、安装和电气检测等(简称硬件设计)。(2)单片机系统程序设计 汇编编译、调试和编程等(简称软件设计)。(3)单片机系统实际运行、检测 在线调试直至完成(简称单片机系统综合调试)。2.单片机开发系统由哪些部分组成?各部分的具体任务是什么?答:主要有总体设计 硬件
30、系统设计与调试、软件设计、仿真调试和系统脱机运行检查5个部分组成(1)总体设计总体设计包括以下几方面:1)机型选择。2)器件选择 3)软硬件功能划分。(2)硬件设计硬件的设计是根据总体设计要求,进行系统电路设计和PCB绘制。(3)软件设计软件设计包括拟定程序的总体方案 画出程序流程图 编制具体程序以及程序的检查修改等。(4)系统脱机运行检查系统应用程序调试合格后,利用程序写入器将应用程序固化到单片机的程序存储器中,然后将应用系统脱离仿真器进行上电运行检查。由于单片机实际运行环境和仿真调试环境的差异,即使仿真调试合格,脱机运行时也可能出错,所以这时应进行全面检查,针对可能出现的问题,修改硬件 软
31、件或总体设计方案。3.应用系统可靠性设计方法有哪些?答:提高系统可靠性的措施如下:(1)采用抗干扰措施1)抑制电源噪声干扰:安装低通滤波器、减少印制板上交流电引进线长度,电源的容量留有余地,完善滤波系统、逻辑电路和模拟电路的合理布局等。2)抑制输入/输出通道的干扰:使用双绞线、光电隔离等方法和外部设备传送信息。3)抑制电磁场干扰:电磁屏蔽。(2)提高元器件可靠性1)选用质量好的元器件并进行严格老化测试、筛选。2)设计时技术参数留有一定余量。3)印制板和组装的工艺质量。4)E2ROM型 和Flash型单片机不宜在环境恶劣的系统中使用。(3)采用容错技术1)信息冗余:通信中采用奇偶校验 累加和校验
32、 循环码校验等措施,使系统具有检错和纠错能力。2)使用系统正常工作监视器(watchdog):对于内部有watchdog的单片机,合理选择监视计数器的溢出周期,正确设计监视计数器的程序。对于内部没有watchdog的单片机,可以外接监视电路。4.如何创建汇编语言原代码仿真文件?答:创建汇编语言原代码仿真文件需要如下4 步:(1)源文件的建立(2)建立工程文件(3)工程设置(4)编译 连接5.如何在原理图中进行汇编语言源代码仿真调试?答:在原理图中进行汇编语言源代码仿真调试需要如下4 步:(1)安装 vdmagdi.exe 插件(2)Proteus 的设置(3)Keil Vision3 的设置(
33、4)Proteus 与 Keil Vision3 联调6.单片机的硬件调试主要内容有哪些?答:(1)Proteus电路设计。利用Proteus进行单片机系统硬件设计,在 ISIS平台上进行单片机系统电路设计、选择元器件 插接件 连接电路和电气检测。(2)Keil源程序设计。在 Keil平台上进行单片机系统程序设计、编辑、汇编编译 调试,最后生成日标代码文件(*.hex);或在ISIS平台上进行单片机系统程序设计、编辑 汇编编译 调试,最后生成目标代码文件(*.hex)。(3)Proteus实时仿真。在ISIS平台上将目标代码文件加载到单片机系统中,并实现单片机系统实时交互、协同仿真,它在相当程
34、度上反应了实际单片机系统的运行情况。(4)PCB与硬件的设计和制作。利 用Proteus自动生成PCB板电路图,并 制 作PCB板,安装元器件和接口,利用开发系统将上面生成的.hex文件下载到单片机芯片,完成调试与设计。7.单片机的软件设计步骤是什么?答:(1)程序的总体设计。这是指从系统高度考虑程序结构、数据形式和程序功能的实现手法及手段。在拟定总体设计方案时,要求设计者根据系统的总任务选用切合实际的程序设计方法,画出程序的流程图(2)程序的编制。程序流程图绘制成后,整个程序的轮廓和思路已十分清楚。设计者就可统筹考虑和安排一些带有全局性的问题,例如程序地址空间分配 工作寄存器安排、数据结构、
35、端口地址和输入/输出格式等,然后依照流程图来编制具体程序。(3)程序的检查和修改。一个实际的应用程序编好以后,往往会有不少潜在隐患和错误,因此,源程序编好后在上机调试前进行静态检查是十分必要的。静态检查采用自上而下的方法进行,发现错误及时修改,可以加快整个程序的调试进程。(4)仿真调试。在硬件系统测试合格且应用程序通过汇编检查合格后,方能进入仿真调试。8.Keil C51编译器除了支持基本数据类型之外,还支持哪些扩充数据类型?答:bit:位类型,可以定义一个位变量,但不能定义位指针,也不能定义位数组。sfr:特殊功能寄存器,可以定义AT89S51单片机的所有内部8 位特殊功能寄存器。sfr型数
36、据占用一个内存单元,其取值范围是0 255。sfrl6:16特殊功能寄存器,可以定义AT89s51单片机的所有内部 16位特殊功能寄存器。sfrl6型数据占用两个内存单元,其取值范围是 0 65535。sbit:可寻址位,可定义AT89S51单片机内部RAM中可寻址位或特殊功能寄存器中的可寻址位。9.Keil C51编译器能够识别哪些存储器类型?答:存储器类型 data、idata、bdata、xdata、pdata 和 code10.C 51中的AT89S51单片机的特殊功能寄存器如何定义?试举例说明。答:sfr变量名=地址值举例:sfr Pl=0 x90;11.C51中的AT89S51单片
37、机的并口如何定义?试举例说明。答:对于AT89S51片内I/O 口按特殊功能寄存器方法定义。例如:sfr P0=0 x80;对于片外扩展I/O 口,则根据硬件译码地址,将其视为片外数据存储器的一个单元,使用#define语句来定义。例如:#include#define PORTA XBYTE OxffcO12.C51中的AT89S51单片机的位单元如何定义?试举例说明。答:使用sbit来定义,sbit的用法有3种。(1)sb it位变量名=地址值;如sbit OV=OXd2;(2)sb it位变量名=特殊功能寄存器名称人变量位地址值;如sbit OV=PSWA2;(3)sb it位变量名=特殊
38、功能寄存器地址值人变量位地址值;如 sbit OV=OxDOA2;13.Keil C51编译器支持哪两种类型的指针?这两种指针有什么区别?答:C51支持“基于存储器”和“一般”两种指针类型。基于存储器的指针类型由C语言源代码中存储器的类型决定,并在编译时确定,可以高效地访问对象且只需1 2字节。一般指针需占3个字节:存储器类型占1个字节,偏移量占2个字节。存储器类型决定对象所用的AT89S51存储空间,偏移量指向实际地址。一个一般指针可访问任何变量而不管它在AT89S51存储器中的位置。1 4.如何实现用Keil C51与Proteus原理图进行高级语言源代码仿真调试?答:(1)通 过Keil
39、 C51生成仿真文件(2)添加仿真文件(3)系统调试学习任务三课后习题答案1.发光二极管导通的条件是什么?在本单元中如何控制发光二极管的亮灭。答:发光二极管导通的条件是:发光二极管的PN结加正向偏置,即二极管正极加正向电压,其负极加负向电压,当正极和负极之间电压超过0.3V以上时,发光二极管导通。在本单元中,由于单片机的结构原因,51系列单片机对外提供负载 电 流(拉电流)的能力很弱,如果外接多个负载(本项目中负载是发光二极管),需要单片机对外提供的总电流会很大,超出它的供给能力,所以驱动不了这些负载(这里就指外接的这些发光二极管不能完全发光),还会造成单片机损坏。但单片机接受灌电流(单片机接
40、受负载输入的电流)的能力却很强,这样本项目中的8个发光二极管的 负 极 与P0 口的各位直接连接,每个发光二极管的正极串联一支47220Q的限流电阻到V”上。当需要哪个发光二极管点亮时,P0口的相应位输出低电平0 即可,熄灭时,相应位输出高电平1 即可。2.本单元中用到哪些类型的数据传送指令,举例说明?答:本单元中用到的数据传送指令有如下几种方式:MOV Pl,#0FFHMOV P2,#0FFHMOV A,Pl;(可以用ANL A,P l指令来完成同样的任务)MOV PO,A注释:前两条指令是对单片机的I/O 端口进行初始化,主要是由于51系列单片机的结构原因决定的。后两条传送指令的用途是:读
41、取端口 P1的输入值,再把这一数值送给P0端口输出。3.查阅相关资料,说明为什么在读5 1 系列单片机的并行端口之前要先对端口初始化(置 1)?答:51系列单片机在并行口 P0、P l、P2或 P3作输入数据的端口时,先给此8 位并行口送去全1,然后再读这些并行端口,才能保证读入的数据不会出错。这是由于单片机在设计之初存在的一个缺陷,同学们可以通过分析学习任务一中图1-10单片机并行端口结构得出结论,以P0 口为例:当 P0 口作为数据输入时,仅从外部存储器(或 I/O)读入信息,对应的“控制”信号为0,MUX接通锁存器的Q端。当 P0 口从外部读取数据时,必须先给P0端口写入0FFH,使下方
42、场效应管截止,上方场效应管由于控制信号为0 也截止,从而保证数据信息的高阻抗输入,从外部存储器输入(或从I/O读取)的数据信息直接由PO.X引脚通过输入缓冲器BUF2进入内部总线。如果下方的场效应管导通接地,这时读入的数据就始终是0,就不能把高电平正确读入了。4.利用伟福仿真软件W AVE进行程序编译并仿真时,需要哪些步骤?答:用伟福仿真软件WAVE进行程序编译并仿真时,需要如下步骤:(1)打开WAVE仿真软件,选择“新建文件”,输入软件程序。保存新建文件,扩展名必须为(.ASM或.asm)。(3)选择“新建项目”,加入刚保存的新建文件。(4)保存新建项目,系统自动添加项目名称的扩展名。(5)
43、仿真器设置中,在“语言”选项里选“伟福汇编器”。(6)在“项目”菜单中选“编译”或按F9键,进行程序编译。(7)根据编译提示信息进行修改,直到编译成功,生成可执行的十六进制文件(.Hex)。(8)打开CPU窗口和外设端口,“单步运行”或设置好断点进行“连续运行”。5.单片机程序设计时,程序的结构主要分哪几种,各有什么特点?答:3 种基本程序结构组成,分别是顺序结构、分支结构 循环结构。顺序结构程序设计的特点:程序简单明了,结构清晰,往往是构成复杂结构程序的基础。但这种结构编写出来的程序,在修改时效率低,程序冗长,占用存储空间大。分支结构程序设计的特点:根据实际问题设定条件,通过对条件是否满足的
44、判断,产生一个或多个分支,以决定程序的流向。分支程序的特点就是程序中含有条件转移指令,在智能化判断方面分支结构有明显优势,正确合理地运用条件转移指令是编写分支程序的关键。循环结构程序设计的特点:实际应用系统中,对同一组操作要重复执行许多次的情况,这种有规律可循又反复出现的问题,可以采用循环结构设计的程序来解决。这样可以使程序简短 条理清晰 运行效率高,占用存储空间少。6.结合本学习任务中手动控制彩灯电路图,编写程序段,实现当开关S3闭合时,8个彩灯分成两组,实现每组(4个)彩灯交替闪烁,间 隔500ms。宏.ORGMOV行初始化MOV00HPl,#0FFHP0,#0FFHLOOP:MOV A,
45、Pl;读 Pl 口之前,对其进;对 P0初始化;读开关状态,JNB ACC.2,FLASH;第 3 个开关闭合,转FLASH程序MOV P0,A;不是第3 开关闭合,就输出开关当前状态LCALL DEL500ms;延时500MsSJMP LOOPFLASH:闪烁程序MOV A,#0FHRETURN:MOV P0,ALCALL DEL500msMOV A,#0F0HMOV P0,ALCALL DEL500msSJMP FLASH;最高4 位灯点亮;最低4 位灯点亮DEL500ms:延时500ms子程序MOV R3,#5LOOP3:MOV R4,#200LOOP2:MOV R5,#250LOOP1
46、:DJNZ R5,LOOP1DJNZR4,LOOP2DJNZR3,LOOP3RETEND7.简述把编译好的程序下载到单片机中的过程。(1)把单片机从电路板上取下,放到编程器上。(2)打开编程器软件,在“操作”菜单下选单片机型号。(3)打开编译好的可执行文件(.H ex)到文件缓冲区。点 击“运行”中的“开始”按钮,把程序下载到单片机中,把调试好的程序下载到单片机中,通电运行联合调试,观察电路是否达到设计要求。如果出现问题,先从硬件电路连接开始查找,测试相关管脚是否与设计相符。8.写一份本任务的学习总结。学习总结(略)学习任务见课后习题答案1.算术运算指令都包括哪几种指令?答:算术运算指令共有2
47、4条,算术运算主要是执行加、减 乘除法四则运算。另 外AT89S51指令系统中有相当一部分是进行加、减1操作,BCD码的运算和调整,都归类为运算指令。(1)不带进位的加法指令ADD(Addition)(4条)(2)带进位加法指令 ADDC(Addition with Carry)(4 条)(3)带借位减法指令 SUBB(Subtraction with Borrow)(4 条)(4)加 1 指令 INC(Increment)(5 条)(5)减 1 指令 DEC(Decrement)(4 条)(6)乘法指令 MUL(multiply)(1 条)(7)除法指令 DIV(divide)(1 条)(8
48、)十进制调整指令DA(1条)2.BCD码进行加法运算后,为什么要进行十进制调整?答:BCD码在进行加法运算时会出现结果错误现象,出错原因在于BCD码 共 有16个编码,但只用其中的10个,剩 下6个没用到。这 6 个没用到的编码(1010,1011,1100,1101,1110,1111)为无效编码。在BCD码加法运算中,凡结果进入或者跳过无效编码区时,结果出错。因 此1位BCD码加法运算出错的情况有两种:加结果大于9,说明已经进入无效编码区。加结果有进位,说明已经跳过无效编码区。无论哪种错误,都因为6个无效编码造成的。因此,只要出现上述两种情况之一,就必须调整。方法是把运算结果加6调整,即十
49、进制调整修正。3.移位寄存器74LS164在本单元应用中的作用是什么?工作中与单片机哪些管脚相连?答:单片机的并行输出端口有限,在很多场合数据都是先从单片机的串口输出,传送到显示电路时再通过功能芯片把一位一位串行的数据转换成并行的数据一起送到显示数码管或其它设备上。移位寄存器74LS164在本单元应用中的作用就是把串行数据转换为并行数据。转换过程是串行的8位 数 据 在8个时钟脉冲之后,被依次分配给74LS164的Q0-Q7,这8位数据再并行地送给后面的电路,从而完成串行到并行数据传输的转换。工作中与单片机管脚的连接见图4-19,74LS164的1和2脚(A和B)一并连接到单片机的10脚(RX
50、D)上,74LS164的8脚(CLK)接到单片机的11脚(TXD)o4.写出下面这段程序的运行结果。MOV A,#79HMOV 20H,#18HADD A,20H;79H+18H=91H(此时累加器 A=91H)DA A;加法运算后进行十进制调整,调整后累加器A=97HSWAP A;累加器A 低四位与高四位对调,对调后A=79H答:最终累加器A 的值为79H。5.利用查表指令编写程序,要求:单片机P1 口外接8 位拨位开关,根据读取P1 口的键值,在 P0 口输出该键值的平方。答:DBUF EQU 30HORG0000H;主程序MOV30H,#00MAIN:ACALLDISPACALLKEYA