《单片机复习试题带答案.docx》由会员分享,可在线阅读,更多相关《单片机复习试题带答案.docx(15页珍藏版)》请在第一文库网上搜索。
1、一、单项选择题1 .利用以下(D)关键字可以改变工作存放器组A、interruptsfrC、whi1eD、using2 .C51中一般指针变量占用(C)字节存储。A、一个B、两个C、三个D、四个3 .使用宏来访问绝对地址时,一般需包含的库文件是(B)A、reg51.hB、absacc.hC、intrins.hD、startup.h4 .在(行#46 .设有inta=10,11,12),*p=a0;则执行完*p+;*p+=1;后a0,a1,a2的值依次是(C)A、10,11,12B、11,12,12C、10,12,12D、11,11,127 .设有inti;则表达式1=1,+3:1|+1,1的值
2、为(B)A、1B、2Cs3D、48、单片机8051的XTA11和XTA12弓I脚是(D)引脚。A、外接定时器B、外接串行口C、外接中断D、外接晶振9、单片机的定时器/计数器设定为工作方式1时,是1D)。A、8位计数器构造B、2个8位计数器构造C、13位计数器构造D、16位计数器构造10、串行口每一次传送(C)字符。A、1个字节B、IbitC、1帧D、1串11、计算机能直接识别的语言是(CA、汇编语言B、自然语言C、机器语言D、C语言12、MCS51单片机的CPU主要的组成局部为(A)。A、运算器、控制器B、加法器、存放器C、运算器、加法器D、运算器、译码器13、MCS-51系列单片机芯片是双列
3、直插式封装的,有(C)个引脚。A、24B、30C、40D、5014、MCS-5I的中断允许触发器内容为83H,CPU将响应的中断请求是(AAsTOB、INT1C、串行接口D、INTO15、Po口作数据线和低8位地址线时(C)。A、应外接上拉电阻B、不能作I/O口C、能作I/O口D、应外接高电平二、判断题:(每题I分,共10分。正确的在括号内打7,错误的打“X。判对得分,不判、判错均不得分。)1. 假设一个函数的返回类型为VOid,则表示其没有返回值。(Y)2. 特殊功能存放器的名字,在C51程序中,全部大写。(Y)3. “sfr后面的地址可以用带有运算的表达式来表示。(N)4. #inc1ud
4、e-inc1udeureg51.hw是等价的。(Y)5. Sbit不可以用于定义内部RAM的可位寻址区,只能用在可位寻址的SFR上。(N)6. Continue和break都可用来实现循环体的中止。(N)7. 假设一个函数的返回类型为VOid,则表示其没有返回值。(Y)8. 所有定义在主函数之前的函数无需进展声明。(N)9. inti,*p=&i;是正确的C说明。(V)10. 7&3+12的值是15。(Y)11. 一个函数利用return不可能同时返回多个值。(Y)12、51单片机只能做控制用,不能完成算术运算。(N)13、MCS-51的中断源全部编程为同级时,优先级最高的是INT1。(N)1
5、4、MCS51单片机的CPU能同时处理8位二进制数据。(Y)15、单片机的主频越高,其运算速度越快。(N)16、为了消除按键的抖动,常用的方法有硬件和软件两种方法。(Y)三、填空(每空1分,共20分。在空白处填上正确的内容)1. Kei1C51软件中,工程文件的扩展名是_UV2,编译连接后生成可烧写的文件扩展名是hexO2. C51支持的指针有一般指针和存储器指针。3. C51中,没有专门的循环语句,我们可以用函数_cro1完成一个字节的循环左移,用iro1完成二个字节的循环左移。4. 是C语言的根本单位。5. C语言中输入和输出操作是由库函数些组止和匹血等函数来完成。6. 假设有说明inti
6、,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为9007. 数组是一组有固定数目和一样类型成分分量的有序集合。8. 变量的指针就是变量的地址;指针变量的值是指针。9. 在C语言中,把多个不同类型的变量结合在一起形成的一个组合型变量,称为构造变量,简称构造。10. C51的数据类型有根本类型、构造类型、指针类型、空类型。11. C51的根本数据类型有位型、字符型、整形、长整形、浮点型、双精度浮点型。12. C5I的构造数据类型有数组类型、构造类型、共用体型、梅举型。13. C51的存储类型有data、bda1a、idataDdata、XdaIa、CodeO14. C51的存储模
7、式有sma11、compactfIargeo15. C51程序与其他语言程序一样,程序构造也分为顺序构造、选择构造、循环构造三种。16. 数组的一个很重要的用途就是查表。17. 在单片机扩展时,也口和E1口为地址线,电口又分时作为数据线。18、在MCS-51单片机中,如采用6MHZ晶振,一个机器周期为理。19、消除键盘抖动常用两种方法,一是采用硬件,用根本RS触发器构成;二是采用软件,既测试有键输入时需延时包型后再测试是否有键输入,此方法可判断是否有键抖动。20、在串行通信中,根据数据传送方向分为单工、半双工和全双工三种方式。四、问答题(共20分)1 .简述C51语言和汇编语言的对比(5分)使
8、用C51语言进展嵌入式系统的开发,有着汇编语言所不可对比的优势:编程调试灵活方便;生成的代码编译效率高;模块化开发;可移植性好;便于工程的维护;2 .简述单片机的C语言的特点(7分)单片机的C语言的特点主要表达在以下几个方面:无需了解机器硬件及其指令系统,只需初步了解MCS-51的存储器构造;C51能方便的管理内部存放器的分配、不同存储器的寻址和数据类型等细节问题,但对硬件控制有限;而汇编语言可以完全控制硬件资源;C51在小应用程序中,产生的代码量大,执行速度慢;但在较大的程序中代码效率高;C51程序由假设干函数组成,具有良好的模块化构造,便于改进和扩大;C51程序具有良好的可读性和可维护性;
9、而汇编语言在大应用程序开发中,开发难度增加,可读性差;C51有丰富的库函数,可大大减少用户的编程量,显著缩短编程与调试时间,大大提高软件开发效率;使用汇编语言编制的程序,当机型改变时,无法直接移植使用,而C语言程序是面向用户的程序设计语言,能在不同机型的机器上运行,可移植性好。3.哪些变量类型是51单片机直接支持的(5分)答:C51编译器支持的数据类型有:位型(bit)、无符号字符型(unsignedchar)有符号字符型(signedchar)无符号整型(unsignedint)有符号整型(signedint)无符号长整型(unsigned1ong)有符号长整型(signed1ong)浮点型
10、(f1oat)和指针型等。C51编译器支持的数据类型、长度和值域如表”1所示。表1-1C51的数据类型数据类型长度/bit长度/byte值域bit10,1unsignedchar810255signedchar81-128127unsignedint162。65535signedint162-3276832767unsigned1ong32404294967295signed1ong324-21474836482147483647f1oat3241.176E-383.40E+38(6位数字)doub1e6481.176E-383.40E+38(10位数字)一般指针243存储空间0655354
11、.简述C51的数据存储类型(10分)答:我们都知道,8051单片机存储区可分为内部数据存储区、外部数据存储区以及程序存储区。8051单片机内部的数据存储区是可读写的,8051派生系列最多可有256字节的内部数据存储区,其中低128字节可直接寻址,高128字节(从0x80到OXFF)只能间接寻址,从20H开场的16字节可位寻址。内部数据区可分为3个不同的存储类型:data、idata和bdata。外部数据区也是可读写的,访问外部数据区比访问内部数据区慢,因为外部数据区是通过数据指针加载地址来间接访问的。C51提供两种不同的存储类型Xdata和pdata访问外部数据。程序存储区是只能读不能写。程序
12、存储区可能在8051单片机内部或者在外部或者内外都有,这由8051单片机的硬件决定。C51提供了code存储类型来访问程序存储区。每个变量可以明确地分配到指定的存储空间,对内部数据存储器的访问比对外部数据存储器的访问快许多,因此应当将频繁使用的变量放在内部存储器中,而把较少使用的变量放在外部存储器中。各存储区的简单描述如表1-2所示。表1-2C51存储类型与8051存储空间的对应关系存储区描述DATA片内RAM的低128字节,可在一个周期内直接寻址BDATA片内RAM的位寻址区,16字节IDATA片内RAM的256字节,必须采用间接寻址XDATA外部数据存储区,使用DPTR间接寻址PDATA外
13、部存储区的256个字节,通过PO口的地址对其寻址。使用MOVXRi,需要两个指令周期CODE程序存储区,使用DPTR寻址。以上介绍的是C51的数据存储类型,C51存储类型及其大小和值域如表1-3所示。表1-3C51存储类型及其大小和值域存储类型长度/bit长度/byte值域data810255idata810255Pdata810-255code1620-65535XdatIa1620-655355 .简述C51对51单片机特殊功能存放器的定义方法(5分)答:MCS-51通过其特殊功能存放器(SFR)实现对其内部主要资源的控制。MCS-51单片机有21个SFR,有的单片机还有更多的SFR,它们
14、分布在片内RAM的高128字节中,其地址能够被8整除的SFR一般可以进展位寻址。关于MCS-51单片机的特殊功能存放器参看附录A。对SFR只能用直接寻址方式访问。C51允许通过使用关键字sfnSbit或直接引用编译器提供的头文件来实现对SFR的访问。(1)使用关键字定义Sfr为了能直接访问特殊功能存放器SFR,C51提供了一种自主形式的定义方法。这种定义方法与标准的C语言不兼容,只适用于对8051系列单片机进展C编程。这种定义的方法是引入关键字sfr,语法如下:Sfr特殊功能存放器名字=特殊功能存放器地址;如:sfrSCON=Ox98;/*串口控制存放器地址98H*/sfrTMOD=OX89;/*定时器/计数器方式控制存放器地址89H*/(2)通过头文件访问SFR8051系列单片机的存放器数量与类型是极不一样的,因此对单片机特殊功能存放器的访问可以通过对头文件的访问来进展。为了用户处理方便,C51编译器把MCS-51单片机的常用的特殊功能存放器和特殊位进展了定义,放在一个reg51.h或reg52.h”的头文件中。当用户要使用时,只需要在使用之前用一条预处理命令