《学习任务二单片机编译软件的使用及电路仿真课后思考题答案 北邮 单片机应用技术.docx》由会员分享,可在线阅读,更多相关《学习任务二单片机编译软件的使用及电路仿真课后思考题答案 北邮 单片机应用技术.docx(5页珍藏版)》请在第一文库网上搜索。
1、学习任务二课后习题答案1.单片机应用系统设计与开发过程分为几个阶段?答:单片机系统的传统开发过程一般可分为3步:(1)单片机系统原理图设计、选择元器件插件、安装和电气检测等(简称硬件设计)。(2)单片机系统程序设计、汇编编译、调试和编程等(简称软件设计)。(3)单片机系统实际运行、检测、在线调试直至完成(简称单片机系统综合调试)。2.单片机开发系统由哪些部分组成?各部分的具体任务是什么?答:主要有总体设计、硬件系统设计与调试、软件设计、仿真调试和系统脱机运行检查5个部分组成(1)总体设计总体设计包括以下几方面:1)机型选择。2)器件选择3)软硬件功能划分。(2)硬件设计硬件的设计是根据总体设计
2、要求,进行系统电路设计和PCB绘制。(3)软件设计软件设计包括拟定程序的总体方案、画出程序流程图、编制具体程序以及程序的检查修改等。(4)系统脱机运行检查系统应用程序调试合格后,利用程序写入器将应用程序固化到单片机的程序存储器中,然后将应用系统脱离仿真器进行上电运行检查。由于单片机实际运行环境和仿真调试环境的差异,即使仿真调试合格,脱机运行时也可能出错,所以这时应进行全面检查,针对可能出现的问题,修改硬件、软件或总体设计方案。3,应用系统可靠性设计方法有哪些?答:提高系统可靠性的措施如下:(1)采用抗干扰措施1)抑制电源噪声干扰:安装低通滤波器、减少印制板上交流电引进线长度,电源的容量留有余地
3、,完善滤波系统、逻辑电路和模拟电路的合理布局等。2)抑制输入/输出通道的干扰:使用双绞线、光电隔离等方法和外部设备传送信息。3)抑制电磁场干扰:电磁屏蔽。(2)提高元器件可靠性1)选用质量好的元器件并进行严格老化测试、筛选。2)设计时技术参数留有一定余量。3)印制板和组装的工艺质量。4)E2ROM型和F1ash型单片机不宜在环境恶劣的系统中使用。(3)采用容错技术1)信息冗余:通信中采用奇偶校验、累加和校验、循环码校验等措施,使系统具有检错和纠错能力。2)使用系统正常工作监视器(watchdog):对于内部有WatChdOg的单片机,合理选择监视计数器的溢出周期,正确设计监视计数器的程序。对于
4、内部没有WatChdOg的单片机,可以外接监视电路。4.如何创建汇编语言原代码仿真文件?答:创建汇编语言原代码仿真文件需要如下4步:(1)源文件的建立(2)建立工程文件(3)工程设置(4)编译、连接5 .如何在原理图中进行汇编语言源代码仿真调试?答:在原理图中进行汇编语言源代码仿真调试需要如下4步:(1) 安装vdmagdi.exe插件(2) Proteus的设置(3) Kei1HViSion3的设置(4) Proteus与KeiINViSiOn3联调6 .单片机的硬件调试主要内容有哪些?答:(1)PrOteUS电路设计。利用ProteUS进行单片机系统硬件设计,在IS1S平台上进行单片机系统
5、电路设计、选择元器件、插接件、连接电路和电气检测。(2) Kei1源程序设计。在Kei1平台上进行单片机系统程序设计、编辑、汇编编译、调试,最后生成日标代码文件(*.hex);或在ISIS平台上进行单片机系统程序设计、编辑、汇编编译、调试,最后生成目标代码文件(*.hex)0(3) PrOteUS实时仿真。在IS1S平台上将目标代码文件加载到单片机系统中,并实现单片机系统实时交互、协同仿真,它在相当程度上反应了实际单片机系统的运行情况。(4) PCB与硬件的设计和制作。利用Proteus自动生成PCB板电路图,并制作PCB板,安装元器件和接口,利用开发系统将上面生成的.hex文件下载到单片机芯
6、片,完成调试与设计。7 .单片机的软件设计步骤是什么?答:(1)程序的总体设计。这是指从系统高度考虑程序结构、数据形式和程序功能的实现手法及手段。在拟定总体设计方案时,要求设计者根据系统的总任务选用切合实际的程序设计方法,画出程序的流程图(2)程序的编制。程序流程图绘制成后,整个程序的轮廓和思路已十分清楚。设计者就可统筹考虑和安排一些带有全局性的问题,例如程序地址空间分配、工作寄存器安排、数据结构、端口地址和输入/输出格式等,然后依照流程图来编制具体程序。(3)程序的检查和修改。一个实际的应用程序编好以后,往往会有不少潜在隐患和错误,因此,源程序编好后在上机调试前进行静态检查是十分必要的。静态
7、检查采用自上而下的方法进行,发现错误及时修改,可以加快整个程序的调试进程。(4)仿真调试。在硬件系统测试合格且应用程序通过汇编检查合格后,方能进入仿真调试。8. Kei1C51编译器除了支持基本数据类型之外,还支持哪些扩充数据类型?答:bit:位类型,可以定义一个位变量,但不能定义位指针,也不能定义位数组。sfr:特殊功能寄存器,可以定义AT89S51单片机的所有内部8位特殊功能寄存器。Sfr型数据占用一个内存单元,其取值范围是0255。SfrI6:16特殊功能寄存器,可以定义AT89S51单片机的所有内部16位特殊功能寄存器。Sfr16型数据占用两个内存单元,其取值范围是0-65535osb
8、it:可寻址位,可定义AT89S51单片机内部RAM中可寻址位或特殊功能寄存器中的可寻址位。9. Kei1C51编译器能够识别哪些存储器类型?答:存储器类型data、idatabdataXdata、Pdata和Code10. C51中的AT89S51单片机的特殊功能寄存器如何定义?试举例说明。答:Sfr变量名=地址值举例:sfrP1=0x90;.C51中的AT89S51单片机的井口如何定义?试举例说明。答:对于AT89S51片内I/O口按特殊功能寄存器方法定义。例如:sfrP0=0x80;对于片外扩展I/O口,则根据硬件译码地址,将其视为片外数据存储器的一个单元,使用#define语句来定义。
9、例如:#inc1ude#definePORTAXBYTEOxffcO12. C51中的AT89S51单片机的位单元如何定义?试举例说明。答:使用Sbit来定义,Sbit的用法有3种。(1) Sbit位变量名=地址值;如sbitOV=OXd2;(2) Sbit位变量名=特殊功能寄存器名称八变量位地址值;如SbitOV=PSW2;(3) Sbit位变量名=特殊功能寄存器地址值八变量位地址值;如SbitOV=OxDO2;13. Kei1C51编译器支持哪两种类型的指针?这两种指针有什么区别?答:C51支持“基于存储器”和“一般”两种指针类型。基于存储器的指针类型由C语言源代码中存储器的类型决定,并在编译时确定,可以高效地访问对象且只需12字节。一般指针需占3个字节:存储器类型占1个字节,偏移量占2个字节。存储器类型决定对象所用的AT89S51存储空间,偏移量指向实际地址。一个一般指针可访问任何变量而不管它在AT89S51存储器中的位置。14. 如何实现用Kei1C51与Proteus原理图进行高级语言源代码仿真调试?答:(1)通过Kei1C51生成仿真文件(2)添加仿真文件(3)系统调试