C语言与机器人设计制作
- 格式:doc
- 大小:3.04 MB
- 文档页数:50
安徽国防科技职业学院自编教材C语言与机器人制作主编邹华东副主编史媛芳主审陈小林机电工程系二〇一三年八月序实践与理论通常是分不开的一个整体,先理论还是先实践实际是一个先有鸡还是先有蛋的问题。
本教材的编写积累了很长一段时间,是在前期不断的实践摸索和总结的基础上不断总结编写的。
其主要的思路是本着理论和实践结合,进行理实一体化教学进行的一个探索。
该教材的编写,在工学结合教育思路已经达到共识的今天,获得了各级领导的大力支持以及教师实践探索的检验。
在前期开发的电子技术综合应用实践教程的基础上,本人作为应用电子技术专业的带头人,一直想把相关的专业核心课程都开发成一体化的形式,本教程作为该应用电子技术专业C语言与机器人制作课程首轮授课教材,本人在本次暑假做了很多相关实践检验,利用前期的积累,编写了本次教程。
由于本人学识有限,唯恐有负于培养学生实践能力这一改革初衷,所以一直尽心尽力在做该项工作,但是错漏之处,在所难免,敬请使用教程的师生进行斧正。
本教程由两部分组成,项目1至项目5由史媛芳老师编写,意在给学生基本的C语言功底,项目6至于项目12为本人编写,意思在于强调利用C语言这一工具结合单片机技术和机器人技术,做一些综合性的能力应用训练,以提升学生实际的创新应用能力。
本教程省去了很多细节知识的相关描述,需要学生多查阅资料,以加深对知识的理解。
做中学,学中悟,激发学生的学习兴趣,培养学生的专业能力,是教学改革的动力所在,也是本教材编写的一个重要动力,希望各位同学能够从本教材中受益。
邹华东目录项目1 C语言基本概念掌握与上机环境使用 (1)项目2 顺序结构—数据的输入输出 (6)项目3 选择结构—if语句和switch语句 (8)项目4 循环结构—while、do-while和for语句 (13)项目5 数组的使用 (18)项目6 机器人基本构成介绍 (21)项目7 单片机控制LED流水灯 (24)项目8 单片机控制直流电机和步进电机 (27)项目9 单片机控制舵机 (30)项目10 颜色检测系统 (36)项目11 超声波测距 (45)项目12 单片机控制小车 (47)项目1 C语言基本概念掌握与上机环境使用一、项目要求1、掌握C语言基础部分数据类型、运算符与表达式的概念及使用;2、掌握基本的C程序结构;3、熟悉Turbo C上机软件的使用;4、编写简单的小程序。
二、项目设计原理介绍(一)C语言数据类型、运算符与表达式1、C语言数据类型C语言有5种基本数据类型:字符、整型、单精度实型、双精度实型和空类型。
这些数据类型的长度和范围会因处理器的类型和C语言编译程序的实现而有所不同,对于KEIL51产生的目标文件,表1-1给出了两种教材中常用的数据长度和范围。
表1-1 常用数据类型的长度和范围类型长度(单位bit)范围char 8 -128~+127即-27~(27-1)int 16 -32768~+32767即-215~(215-1)float 32 -3.4X10-38~3.4X10382、标识符C语言规定:标识符是由英文字母(A~Z,a~z)、数字(0~9)、下划线(_)组成的字串符,并且第一个字符必须是字母或下划线。
在程序中使用的变量名、函数名、标号等统称为标识符。
以下标识符是合法的:x, a, x3y, pir1, sum_l,a1,_x_y以下标识符是非法的:3y 以数字开头;x*y 出现非法字符(*);-3x 以非法字符减号开头(—);boy\1 出现非法字符(\)。
3、常量C语言中的常量是不接受程序修改的固定值,可分为数字常量、字符常量、字符串常量、符号常量和转义字符等多种。
常量可以为任意数据类型,如下例所示:char ‘a’、‘9’int 21、-2344、变量在程序中可以改变的量称为变量。
一个变量应该有一个名字(标识符),在内存中占据一定的存储单元,在该存储单元中存放变量的值。
请注意区分变量名和变量值这两个不同的概念。
所有C语言变量必须在使用之前定义。
定义变量的一般形式是:int i,j,k;char ‘x’,’y’,’z’;注意,C语言中变量名与其类型无关。
5、基本运算符与表达式C语言提供了丰富的运算符,我们将在数据加工时,用来表示各种运算的符号成为运算符。
用运算符将运算对象连接起来形成的式子称为运算表达式,简称表达式。
(1)算术运算符与表达式表1-3给出了C语言允许的算术运算符。
在C语言中,运算符“+”、“-”、“*”和“/”的用法与大多数计算机语言的相同,几乎可以用于C语言内定义的任何数据类型。
表1-2 算术运算符运算符用处+ 加法/正值- 减法/负值* 乘法/ 除法% 求余加减乘除以及模运算符为双目运算符,即应有两个变量参与运算;正值和负值运算符为单目运算符。
使用算术运算符应注意:①双目运算符“/”两边运算对象的类型不同,则结果不同。
例如:1.0/2.0 其结果为0.51/2 其结果为010/3 其结果为310.0 /2 其结果为5.0②使用求余运算符(模运算符)“%”,要求参与运算的变量均为整型。
例如:3.5%2 (×)8%3 结果为2求余运算符常被用来判断一个数是否被另一个数整除。
(2)赋值运算符和赋值表达式①赋值运算符为“=”,由它连接的式子称为赋值表达式。
其形式为:变量=表达式赋值表达式的功能是计算赋值运算符右边表达式的值再赋予左边的变量,确切地说,是把表达式的值放入以该变量为标识的存储单元中去。
经过赋值之后,变量就具有一个指定的值,赋值表达式虽然简单但却有广泛的用途。
在C语言中也可以组成赋值语句,按照C语言规定,任何表达式在其末尾加上分号就构成为语句,因此,x=8;a=b=c=5;都是赋值语句②复合赋值运算符在赋值运算符“=”之前加上其他双目运算符可构成复合赋值运算符,如+=,-=,*=,/= %=,复合赋值运算符的优先级与简单赋值运算符的优先级相同,且结合方向也一致。
n+=1等价于n=n+1a/=b-1等价于a=a/(b-1 ) /*运算符“-”的优先级高于复合赋值运算符“/=”*/ x*=y+z等价于x=x*(y+z) /*运算符“+”的优先级高于复合赋值运算符“*=”*/num%=p等价于num=num%p(二)C程序基本结构1、结构特点程序由一个或多个函数组成,有且仅有一个主函数main(),程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。
C函数由函数名、形式参数和函体三部分组成,其格式:函数名([形式参数]){函数体}2、程序语句语句是组成C程序的基本单元,用“;”作为语句终止符,函数体可有一条或多条语句组成。
例题1.1 第一个程序,输出一条信息 Hello./* example1.1 The first C Program*/#include <stdio.h>main(){printf(“Hello.”);}(三)Turbo C的使用C程序的开发工具很多,Turbo C是其中的一种。
安装Turbo C 2.0只需将下载的安装包解压放在指定目录即可,运行时,找到解压后的文件夹,双击运行TC.exe即可运行,界面如图1-1所示。
图1-1 TC2.0界面TC 2.0的主菜单在主屏幕最上面一行,菜单项依次为:File(文件操作),Edit(编辑),Run(运行),Compile(编译), Project(项目文件),Options(选项),Debug(调试),Break/watch(中断/观察),用Alt加上菜单项单词红色提示的首字母,就可进入该项的子菜单,除Edit外,其他各项都有子菜单。
部分功能热键:表1-3 Turbo C2.0集成开发环境下的功能热键热键对应的菜单功能F1 打开帮助文件F2 File|Save 把当前编辑的文件保存到磁盘上F3 File|Load 装入源文件F4 Run|Go to cursor 使程序从执行到光标所在行F5 Option|Environment|Zoom Windows 放大或缩小当前的窗口F6 切换编辑窗口和信息窗口F7 Run|Trace into 单步执行程序,跟踪函数调用F8 Run|Step over 单步执行程序,不跟踪函数调用F9 Compile|Make EXE file 编译并连接F10 激活主菜单Alt+F5 Run|User screen 显示用户屏幕(运行结果)Ctrl+F9 Run|Run 编译、连接并运行程序Alt+X File|Quit 退出Turbo C返回DOSEsc 返回上一级菜单例题1.2 输入圆的半径(整数),求圆的面积。
#include <stdio.h> /*头文件*/#define PI 3.1415 /*定义常量,注意后面没有分号*/main( ){int r;/*定义表示半径的变量*/float s; /*定义表示圆面积的变量*/scanf("%d",&r );/*调用输入函数*/s=PI*r*r; /*求圆面积*/printf("s= %f",s); /*调用输出函数,输出s的值*/}作业:1、熟悉Turbo C2.0上机环境,练习基本菜单的操作;2、在屏幕上任意输出一条语句,比如“Hello!”,“How are you!”等。
三、项目考核1、理论课程后,学生根据老师布置任务,编写简单的小程序并调试运行,通过对Turbo C 上机环境的熟悉,对程序调试中出现的错误进行分析并解决。
2、由指导教师根据学生的程序编写情况及调试结果给定本项目成绩。
项目2 顺序结构—数据的输入输出一、项目要求1、掌握C程序的几种结构;2、掌握C语言中数据输入输出的概念和实现方法;3、掌握并学会使用格式输入、输出函数。
二、项目原理介绍1、顺序结构C语言是典型的结构化程序,结构化程序设计的基本思想是:任何程序都可以采用三种基本结构来构造,这三种基本结构是:顺序结构、分支结构和循环结构。
顺序结构是最简单也是最基本的程序结构,它按照语句出现的先后顺序依次执行程序。
2、数据的输入输出C语言无输入输出语句,I/O操作由函数实现,也就是输入输出函数,比如格式输入函数scanf、格式输出函数printf。
输入输出函数存放在标准输入输出头文件stdio.h中。
注:C语言编译系统提供的标准库函数存放在不同的头文件(也称标题文件)中。
使用时必须在程序的开头用预编译命令“#include”将头文件包含到用户程序中去。
形式为:#include <头文件>或#include “头文件”(1)格式输出函数printf使用格式:printf(“格式控制字符串”,输出表列);其中输出表列指要输出的数据(常量、变量和表达式。