还剩6页未读,继续阅读
文本内容:
第一章一种新的语言学习方式C
1.一台能够工作的计算机包括?CPU(Central ProcessingUnit,中央处理单元,进行运算和控制,包括运算器和控制器等)、存储器(如RAM、ROM等)、输入设备、输出设备(包括串行/并行接口、USB等)其中,RAM(RandomAccess Memory,随机存储器)主要用于存储数据,ROM(RcadOnlyMemory,只读存储器)主要用于存储程序
2.单片机工作时需要什么?需要稳定的电源、晶振、外部存储器和编程调试接口,就像计算机工作时需要电源、晶振、硬盘或其他大容量外部存储器和操作系统一样微控制器是将单片机独立工作所需的电源适配器、晶振、外部存储器和串口转换电路等封装到一个模块上,这样就能直接与计算机连接并进行编程开发,不需任何其他芯片和电路
3.AT89S52是一种什么样的单片机?是一种高性能、低功耗的8位单片机,内含8KBISP(In-System Programmable系统在线编程)可反复擦写1000次的Flash只读程存器,采用ATMEL公司的高密度非易失性存储技术制造,兼容标准MCS51指令系统及其引脚结构在实际工程应用中,功能强大的AT89s52已成为许多高性价比嵌入式控制应用系统的解决方案
4.Progisp是一款什么样的软件?是一款免费下载的ISP软件,不需要专门的安装即可使用,非常方便使用该软件,读者可以将C语言程序生成的可执行文件下载到机器人单片机上使用时需要1根USBA转B信号线
5.简述串口调试工具的特点串口调试工具就是串行通信接口调试软件,集数据发送、数据接收、数据监控、数据分析等功能于一身,具有小巧精致、操作简捷、功能强大的特点,可以在串口通信监控、设备通信测试工作中有效提高效率
6.pr intf0函数称为?称为格式输出函数,其功能是按用户指定的格式,把指定的数据输出显示print函数是C语言提供的标准输出函数,定义在C语言的标准函数库中,要使用它,必须包括定义标准函数库的头文件stdio.h第二章最简单的程序设计——机器人做算数C
1.C语言用什么整型变量?C语言用关键字imt定义整型变量int是英文单integer(整数)的前三个字母
2.在程序执行过程中,其值可改变的量称为?变量它们与数据类型结合起来分类,可以分为整型变量、浮点变量、字符变量等在程序中,变量必须先定义后使用一个变量应该有一个名字(标志符),在计算机(这里是单片机)内存中占据一定的存储单元,在该存储单元中存放变量的值
3.简述在C语言中,标志符的作用标志符是对变量、函数名和其他各种用户定义对象的命名标志符的长度可以是一个或多个字符在绝大多数情况下,标志符的第一个字符必须是字母或下画线,随后的字符必须是字母、数字或下画线(某些C语言编译器可能不允许下画线作为标志符的起始字符)
4.日常表示数据的一种方法是?十进制是我们日常表示数据的一种方法,所有的数据都由10个数字组成,即由0~9组成但是计算机为了方便存储数据,表示数据的原理同人类有些差别,主要采用二进制和十六进制存储和表示数据关于二进制、十六进制数据的表示方法,以及它们与十进制数据之间的相互转换
5.有long修饰符就有short(短型)修饰符,因此相应的就有哪些整型变量?
1.基本整型,以int表不
2.短整型,以shortint表示,或以short表示
3.长整型,以long int表示,或以long表示第三章循环程序设计——让机器人动起来
1.实际搭建电路时应注意?确认发光二极管的短针脚(阴极)插入面包板,通过电阻与P10相连确认发光二极管的长针脚(阳极)插入“+5V”插口,这里+5V就是电路图上的Vcco
2.修饰符usigned放到nt前面,指定后面的变量为?为无符号数如果加上修饰符signed,则指定是“有符号数果如果既不指定signed,也不指定为unsigned,则隐含为有符号(signed)实际上,signed是可以省略的
3.调用pr intf是为了?为了在程序执行前给调试终端发送一条提示信息,说明现在程序开始执行了,以及程序随后将开始干什么在编程开发过程中,我们应形成这种良好的习惯,有助于提高程序剖的调试效率
4.微控制器的最大优点之一是?它们从来不会抱怨不停地重复做同样的事情为了让单片机不断闪烁,LED闪烁一次的几个语句需要放在while{}循环中这里用到了C语言实现循环结构的一种形式while语句
5.单片机编程发给伺服电机的高、低电平信号必须具备必须具备更精确的时间因为前面提供的单片机延时函数只能提供毫秒的整数倍延时,不能提供小数倍数的延时,所以要生成伺服电析的控制信号,要求具有比delay nmms延时时间更小单位的延时函数,这就需要用到另一个延时函数delay nusunsignedintn这个函数第四章函数机器人运动控制可以实现更短的延时,延时单位是微秒us,即千分之一毫秒,参数n为延时微秒数
1.从函数定义的角度来看,函数有哪两种?
1.标准函数,即库函数由开发系统提供,用户不必自己定义而直接使用,只需在程序前包含有该函数原型的头文件即可在程序中直接调用,如前面已经用到的串口标准输出函数printf0和输入函数sanf应该说明,不同的语言编译系统提供的库函数的数量和功能会有一些不同,但许多基本函数是相同的
2.用户定义函数,以解决专门需要不仅要在程序中定义函数本身,在主调函数模块中还必须对该被调函数进行类型说明,然后才能使用
2.从有无返回值角度来看,函数可以分为哪两种?
1.有返回值函数函数被调用执行完后将向调用者返回一个执行结果,称为函数返回值由用户定义的返回函数值的函数,必须在函数定义中明确返回值的类型
2.无返回值函数此类函数用于完成某项特定的处理任务,执行完成后不向调用者返回函数值用户在定义此类函数时可指定它的返回为“空类型”,即“void”
3.从主调函数和被调函数之间数据传送的角度看,函数可分哪两种?
1.无参函数函数定义、说明及调用中均不带参数,主调函数和被调函数之间不进行参数传送此类函数通常用来完成一组指定的功能,可以返回或不返回函数值
2.有参函数在函数定义及说明时都有参数,称为形式参数简称形参在函数调用时就必须给出参数的具体值,称为实际参数简称实参进行函数调用时,主调函数把实参的值传送给形参,供被调函数使用
4.类型标志符和函数名称为类型标志符和函数名称为函数头类型标志符指明了本函数的类型,函数的类型实阿上是函数返回值的类型函数名是由用户定义的标志符,函数名后有一个圆括号(不可省略)若函数无参数,则括号内可不写内容或写“void”;若有参数,则形式参数列表给出各种类型的变量,各参数之间用”分隔
5.中的内容称为?称为函数体函数体的声明部分是对函数体内部用到的变量的类型说明很多情况下不要求函数有返回值,此时函数类型符可以写为void第五章选择结构程序设计——机器人触须导航
1.C语言有几种运算符?C语言有三种运算符:算术运算符、关系与逻辑运算符、位操作运算符
2.位操作运算符用于?用于对字节或字中的位(bit)进行测试、置位或移位处理,这里的字节或字是针对C语言标准的char和int数据类型而言的位操作符不能用于实型、空类型或其他复杂类型
3.当机器人进入墙角时,可能会碰到什么样的情况?首先左触须触墙,于是它倒退,右转,再向前行走,这时右触须触墙,于是再倒退,左转,前进,又碰到左墙,再次碰到右墙此时,机器人就会一直困在墙角里而出不来
4.伪代码通常用来?用来描述不依赖于计算机语言的算法实际上在前面的任务和小结中已经多次提及无论哪种计算机语言都必须能够描述人类知识的逻辑结构,而人类知识的逻辑结构是统一的,如条件判断就是人类知识最核心的逻辑之一,因此各种计算机语言都有语法和关键词来实现条件判别在编写条件判断算法时,经常用一种描述人类知识结构逻辑的伪代码来描述在计算机中如何实现这些逻辑算法,以使算法具有通用性有了伪代码,用具体的语言来实现算法就简单了
5.“关系运算”实际上是?请举例说明是“比较运算”将两个值按照给定的关系运算符进行比较,看看结果是否符合给定的关系条件如果满足,则关系表达式的值为“真”(即条件满足);如果不满足,则称关系表达式的值为“假”例如,关系表达式主要用在if语句中第六章选择结构程序设计——机器人红外导航
1.有关IR检测器的趣事是?是它们的输出与触须的输出非常相像没有检测到物体时,输出为高电平;检测到物体时,输出为低电平
2.进行IR探测时要使用?要使用AT89s52的4个引脚:P用
2、Pl_
3、P3_5和P3_
63.do...whi Ie语句的基本特点是?先执行后判断因此,循环体至少被执行一次
4.在C语言中,直到型循环控制语句是?它的一般形式为?在C语言中,直到型循环控制语句是“do.・.while”它的一般形式为do语句while(表达式);其中,语句通常为复合语句,称为循环体
5.发送脉冲给电机之前检查障碍物,可以改善?可以大大改善机器人的行走性能程序可以使用传感器输入为每个瞬间的导航选择最好的动作这样机器人永远不会走过头,它会找到绕开障碍物的完美路线,成功地走过更加复杂的路线第七章多分支结构程序设计——机器人循线运动
1.简述算法的概念完成一项任务的操作步骤做任何事情都有一定的步骤,无论是人还是计算机程序设计的过程就是根据要完成的任务,确定计算机可以实现的操作步骤的过程完成程序设计,就是通过分析任务要求和计算机所能实现的基本操作,设计操作步骤,从而完成任务
2.作为机器人的3种典型动作的变量为什么称为全局变量因为这些变量定义在所有函数之外,可以为本文件中所有函数公用,无论是主函数还是子函数全局变量又称为外部变量或者全程变量,它的有效范围从定义变量的位置开始到本源文件结束
3.定义3个全局变量并进行初始化赋值,是为了?是为了后续调试程序方便机器人在使用过程中,会因为电池电量的消耗而影响运动速度,即使机器人执行的是同一个控制程序,电机收到的是同样的控制指令,但执行结果可能因为电机获得的能量不同而有所差别
4.在游历的调试过程中,机器人可能存在哪些问题?
1.机器人不能正常停下
2.如果将机器人放到起始点,那么不能正常开始启动,必须将传感器放到黑线上才行
3.如果传感器一切工作正常,没有意外,那么机器人并不能游览完所有景点如它不会去武汉,但是会绕着西安不停运动,进入死循环,再也出不来
4.最麻烦的是,QTI传感器会因为外界环境光的影响而导致灵敏度不一样因此,每到一个新的光照环境下,都需要对传感器的灵敏度进行测试,并调整其安装高度,让其能够正确识别算法中的各种状态
5.造成后续的程序无法正常工作,从而无法完成比赛任务的原因是?这些运动函数没有考虑机器人的惯性这些函数都是假设机器人和电机没有质量,单片机给机器人发送一个运动指令,机器人立马可以达到那个速度事实上这是不可能的受到惯量和外在环境的影响,机器人从零速到达指令设定速度的过程因为没有控制,完全是不可预知的它一定会经历一段时间,而这段时间机器人运动过的距离就不可知,从而导致执行误差第八章结构化程序设计——智能搬运竞赛
1.根据比赛场地图的特征,智能搬运机器人的4个循线传感器采用什么样的安装方式?两个传感器通过铜螺柱直接安装在机器人底盘上,相对于机器人中轴线对称安装,两者的距离正好可以跨在黑色引导线上,且都检测不到黑色引导线;另两个QTI传感器通过两个连杆安装到距离机器人前端较远的地方,且间距比较大,也是对称分布
2.算法中有大量转弯运动和直线运动,无论是左转、右转还是直线运动,都包括?都包括运动速度和步数两个参数这两个数据是一个有机的整体,初始化和刷新都要同时进行所以,最好将这两个运动数据放在一起,构成一个有机整体,便于引用
3.简述结构体的作用可以将不同类型的变量放到一起,组成一个复合的复杂变量,以表示某些工程对象或者系统的多元特征
4.参数FastSpteps表示?表示快速循线步数在快速循线过程中,函数只艰据近端传感器的反馈调整行进方向,确保机器人沿轨迹前进
5.参数SI owSteps表示?表示慢速循线步数在慢速循线过程中,函数也只根据近端传感器的反馈数据调整行进方向,确保机器人沿轨迹前进第九章结构化程序设计——擂台赛
1.播台机器人也是一个双轮驱动机器人,需要满足比赛规则中的规定的哪些?
1.最大体积不超过
12.5cmxl
2.5cm
2.整机重量不超过650克
2.标准擂台机器人的套件里配备有几种机器人?标准擂台机器人的套件里配备有三种机器人:红外播台机器人、超声波擂台机器人和遥控插台机器人
63.红外擂台机器人和超声波擂台机器人各有几套传感器?各有两套传感器:两个QTI循线传感器一保持播台机器人在赛场中,还有两对红外发射器/接收器或者一个超声波传感器一一用来寻找它的对手遥控擂台机器人只有两个QTI传感器,用来检测机器人是否还在赛场中,还有一个红外接收器,用来接收遥控指令
4.出现哪些情况,该回合比赛将停止并重新开始?
1.两个机器人互相缠住且不移动的时间超过5秒钟,或者机器人转圈超过5秒钟都没有变化
2.两个机器人都停止移动(在同一时间)超过秒钟都没有进行相对抗如果首先停止移动的机器人在5秒钟后还不移动,那么认为它没有对抗意识了,此时对手将得到一个点数(即使对手的机器人此时也停止)如果两个机器人在规定时间内都没发生对抗,那么裁判可以延长30秒钟去限制比赛时间
3.如果两个机器人看起来像是同时接触到外区,但不能确定是哪一个先接触,那么比赛重新开始
5.两个QTI传感器和红外检测传感器并不能让机器人具有很好的性能,如果硬件条件允许可以怎么做?可以在机器人的后面再各增加2个QT传感器和红外发射接收传感器,这样机器人就能够全面地获得自身和对手的信息,以利于更快地做出决策,赢得比赛胜利
6.简述NEC格式的特征
1.使用38kHz载波频率
2.引导码间隔是9ms+
4.5mso3,使用16位客户代码
4.使用8位数据代码和8位取的数据代码。