第二章、第三章习题选择题1、仿真器的作用是:(C)A、能帮助调试用户设计的软件B、能帮助调试用户设计的硬件C、能帮助调试用户设计的硬件和软件D、只能做各种模拟实验2、使用单片机开发系统调试程序时,对源程序进行汇编的目的是(A)A、将源程序转换成目标程序B、将目标程序转换成源程序C、将低级语言转换成高级语言D、连续执行3、在运用仿真系统调试程序时,观察函数内部指令的执行结果,通常采用(B)调试方法。A、单步调试B、跟踪调试C、快速运行到光标处D、断点调试4、使用单片机开发系统调试C语言程序时,首先应新建文件,该文件的扩展名是(A)A、.CB、.HEXC、.BIND、.ASM5、单片机能直接运行的程序是(D)A、汇编源程序B、C语言源程序C、高级语言程序D、机器语言程序6、MCS-51系列单片机的4个I/O口作为通用I/O口使用时,在输出数据时,必须外接上拉电阻的是(A)A、P0口B、P1口C、P2口D、P3口7、MCS-51系列单片机应用系统在扩展外部存储器或者其他接口芯片时,(A)口可作为低8位地址总线使用。A、P0口B、P1口C、P2口D、P3口8、MCS-51系列单片机应用系统在扩展外部存储器或者其他接口芯片时,(C)口可作为高8位地址总线使用。A、P0口B、P1口C、P2口D、P3口9、下列说法不正确的是(C)A、一个C源程序可以由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、在C程序中,注释只能位于一条语句后面D、C程序的基本组成单位是函数10、C语言总是从(A)开始执行的。A、主函数B、主程序C、子程序D、主过程11、最基本的C语言语句是(B)A、赋值语句B、表达式语句C、循环语句D、复合语句12、在C51中经常把(D)作为循环体,用于消耗CPU时间,产生延时效果。A、赋值语句B、表达式语句C、循环语句D、空语句13、在C51语句的if语句中,用作判断的表达式为(D)A、关系表达式B、逻辑表达式C、算术表达式D、任意表达式14、在C51语言中,当do-while语句中的条件为(A)时结束循环。A、0B、fauseC、trueD、非015、下面的while语句循环执行了(A)次空语句。while(i=3);A、无限次B、0次C、1次D、2次16、以下描述正确的是(B)A、continue语句的作用是结束整个循环B、只能在循环体内和switch语句体内使用break语句C、在循环体内使用break语句和continue语句的作用相同D、以上三种都不正确17、在C51的数据类型中,unsignedchar型的数据长度和值域为(C)A、单字节,-128---+127B、双字节-32768---+32767C、单字节0---255D、双字节0—6553518、下面是对一数组S的初始化,其中不正确的是(D)A、chars[5]={abc};B、chars[5]={´a´,´b´,´c´};C、chars[5]=;D、chars[5]=abcdef;19、对两个数组a和b进行初始化Chara[]=ABCDEFCharb[]={´A´,´B´,´C´,´D´,´E´,´F´};则以下说法正确的是(D)A、a与b数组完全相同B、a与b数组长度相同C、a与b数组中都存放字符串D、a比b数组长度长20、在C语言中,引用数组元素时,其数组下标的数据类型允许是(C)A、整型常量B、整型表达式C、整型常量或整型表达式D、任何类型的表达式填空题(1)在MCS-51系列单片机的4个并行输入/输出口中,常用于第二功能的是P3口(2)在C51编程访问MCS-51单片机的并行I/O端口时,可以按字节寻址操作,还可以按位操作。(3)一个C源程序至少应包括一个主函数(4)C51中定义一个可位寻址变量FLAG访问P3口的P3.1引脚的方法是sbitFLAG=P3^0;(5)C51扩充的数据类型sfr用来访问MCS-51单片机内部所有特殊功能寄存器(6)结构化程序设计的三种基本结构是顺序、选择、循环。(7)表达式语句由表达式加分号组成。(8)if语句一般用作单一条件或分支树木较少的场合,如果编程超过3个以上分支的程序,可用多分支的switch语句。(9)While语句和do—while语句的区别在于,do-while语句是先执行后判断,while语句是先判断后执行。(10)下面的while语句执行了无限次空语句。i=3;while(i!=0);(11)下面的延时函数执行了10000次空语句。voiddelay(void){inti;for(i=0;i10000;i++);}(12)在单片机的C语言程序设计中,unsignedchar类型数据经常用于处理ASCII字符或用于处理小于255的整型数据。(13)C51的变量存储器类型是指变量在MCS-51硬件系统中所使用的存储区域(14)C51种常以'\0'作为字符串的结束符,统称用字符数组来存放。(15)在以下的数组动议中,关键字“code”是为了把tab数组存放在程序存储器ROM中unsignedcharcodetab[]={´A´,´B´,´C´,´D´,´E´,´F´};问答题1、什么是单片机开发系统?单片机开发系统由哪些设备组成,如何连接?答:单片机开发过程所用的设备与软件称为单片机开发系统或开发工具。单片机开发系统包括计算机、单片机在线仿真器、开发工具软件、编程器等。连接方法如下图所示。单片机开发系统连接方法示意图2、一般来说单片机开发系统应具备哪些基本功能?答:1.在线仿真功能在线仿真器(InCircuitEmulator,简称ICE)是由一系列硬件构成的设备,它能仿真用户系统中的单片机,并能模拟用户系统的ROM、RAM和I/O口。因此,在线仿真状态下,用户系统的运行环境和脱机运行的环境完全“逼真”。2.调试功能1)运行控制功能开发系统应能使用户有效地控制目标程序的运行,以便检查程序运行的结果,对存在的硬件故障和软件错误进行定位。2)单片机状态查看修改功能当CPU停止执行程序运行后,开发系统允许用户方便地读出或修改目标系统资源的状态,以便检查程序运行的结果、设置断点条件以及设置程序的初始参数。任务2中图2.13给出了在Medwin调试环境下查看单片机内部资源的菜单。3.程序编译功能1)程序设计语言单片机程序设计语言包括机器语言、汇编语言和高级语言。机器语言是单片机唯一能够识别的语言。汇编语言具有使用灵活、实时性好的特点。目前,在实际项目开发中较少使用汇编语言。高级语言通用性好,且具有较好的可读性和可移植性,是目前单片机编程语言的主流。2)程序编译单片机开发系统能够提供源程序的编辑、编译和下载功能以及工程管理功能。4.程序固化功能编程器是完成这种任务的专用设备,它也是单片机开发系统的重要组成部分。3、开发单片机应用系统的一般过程是什么?答:单片机应用系统的开发过程如下:设计电路图→制作电路板→程序设计→硬软件联调→程序下载→产品测试程序题编写程序,使8个发光二极管按下表形式发光,首先按状态1点亮,延时一段时间后,再按状态2点亮,延时一段时间后,再按状态3点亮,延时一段时间后,再按状态4点亮,无限循环。PI口引脚P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0对应灯的状态1ΧΧΧ√√ΧΧΧ对应灯的状态2ΧΧ√ΧΧ√ΧΧ对应灯的状态3Χ√ΧΧΧΧ√√对应灯的状态4√ΧΧΧΧΧΧ√Χ代表不亮,√表示灯亮#includereg51.hvoiddelay(unsignedchari);voidmain(){while(1){P1=0x18;delay(200);P1=0x24;delay(200);P1=0x81delay(200);}}voiddelay(unsignedchari){unsignedcharj,k;for(k=0;ki;k++)for(j=0;j255;j++);}