单片机与C语言编程实用技术.pdf
《单片机与C语言编程实用技术.pdf》由会员分享,可在线阅读,更多相关《单片机与C语言编程实用技术.pdf(140页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机与C语言编程实用技术单片机与C语言编程实用技术浙江省机电高级技工学校上海欧兰智能科技发展有限公司第1页 第1页单片机与C语言编程实用技术前 S近年来,随着大规模集成电路的发展,单片机的发展异常迅猛。单片机芯片的产量以每年2 7%以上的速度递增。实际证明单片机技术已经成为9 0 年后最活跃的新一代电子应用技术。在随着我国关于产业结构调整政策的出台,传统工业向自动化、智能化、网络化方向发展成为必然趋势。在这种情况下很多学校在本科生、大专生、中等专业、职业高中等不同层次上开设了单片机课程,在职技术人员也由于工作需要,迫切希望掌握单片机的开发和应用技术。为此浙江省机电高级技工学校相关老师根据多年
2、的教学经验,开发引进了这套A r d u i n o 单片机实验开发系统,重点面向教学,集实验和开发于一体,为提高单片机原理、C语言编程课程的教学质量,提供一种经济、实用、方便的解决方案。本书将蓝牙小车作为教学组织引领,开展各章节、模块的教学,在教学的过程中把C语言编程、V C+软件操作、单片机外围电路搭建与调试、C A D 机械制图、激光切割零件制作等知识、技能点串成知识、技能链,并以此涵盖产品的设计、安装、调试,突出 产品引领法”的基本特征:产品引领、知识系统、激发兴趣、内容实用、突出能力、边学边用。需要说明的是在A r d u i n o 单片机教学平台开发过程中,得到了学校、学院领导的
3、大力支持以及课题组相关老师的大力帮助,在此,谨对他们致以衷心的感谢!由于编者水平有限,错误和疏忽之处在所难免,敬请读者批评指正。第2页 第2页单片机与C语言编程实用技术目录第一章标准C语言程序与V C 6.01.1 V C 6.0 软件基本操作第二章标准C语言程序入门2.1 标准C语言程序基本框架和语法2.2 库函数调用2.3 基本数据类型2.4 常量与变量2.4.1 常量2.4.2 变量2.5 主函数main()2.6 顺序结构及其应用2.6.1 格式输出函数2.6.2 格式输入函数2.7 运算符和表达式2.7.1 表达式2.7.2 赋值运算符及赋值表达式2.7.3 算术运算符及算术表达式2
4、.7.4 关系运算符及关系表达式2.7.5 逻辑运算符及逻辑表达式2.7.6 自增自减运算符2.7.7 符号优先级2.8 分支结构及其应用2.8.1 if 语句2.8.2 switch 语句2.8.3 分支结构应用实例2.9 循环结构及其应用2.9.1 for 语句第3页 第3页单片机与C语言编程实用技术2.9.2 wh i l e 语句2.9.3 d owh i l e 语句2.9.4 循环结构及其应用实例2.1 0 数组及其应用2.1 0.1 一维数组2.1 0.2 字符串数组及其处理2.1 0.3 数组应用实例2.1 1 子函数及其应用2.1 1.1函数的定义2.1 1.2 函数的调用第
5、三章A r d ui n o 单片机开发套件简介3.1 A r d ui n o 单片机开发板硬件说明3.2 S e n so r sh i e l d 扩展板硬件说明3.3数字量与模拟量3.4 A r d ui n o I D E 编程软件使用说明第四章A r d ui n o C 语言程序应用4.1 A r d ui n o C 语言程序基本框架介绍4.2 A r d ui n o C语言程序与标准C语言程序的异同4.3 单片机外围电路及其元器件4.4 常用库函数介绍4.5数字量输出函数d i g i ta l W r i te ()实验一:L E D 闪烁实验实验二:流水灯实验4.7 数
6、字量输入函数d i g i ta l R e a d ()实验三:开关控制实验4.7模拟量输出函数a n a l o g W r i te ()实验四:呼吸灯实验第4页 第4页单片机与C语言编程实用技术4.8模拟量输入函数a n a l o g R e a d ()实验五:环境光检测实验实验六:电位器调光实验4.9 舵机驱动库函数实验七:舵机驱动实验第五章机械设计与机械制图基础5.1 A uto C A D 软件基本操作5.1.1 A uto C A D 的界面5.1.2 A uto C A D 的文件操作5.1.3 A uto C A D 的绘图说明与设置5.2 机械设计中常见几何特征的绘制
7、5.2.1绘制直线5.2.2绘制矩形、正多边形5.2.3 绘制圆、圆弧、椭圆、椭圆弧5.2.4 绘制圆角、倒角5.2.5 图形操作5.2.6绘制齿轮5.3 常用标准件简介5.4 机器人常用结构设计方案第六章激光切割机使用说明6.1 激光切割机软件操作说明6.2亚克力材料的切割6.3亚克力材料的雕刻第七章机器人综合实验一一蓝牙小车7.1 蓝牙小车结构设计及制作7.2蓝牙小车硬件搭建方案第5页 第5页单片机与C语言编程实用技术7.3 蓝牙通讯程序流程分析7.4蓝牙小车整体软件编写第6页 第6页单片机与C语言编程实用技术第一章 标准C语言程序与VC 6.0c 语言是一种计算机程序设计语言,它既具有高
8、级语言的特点,又具有汇编语言的特点。它由美国贝尔实验室的De n n i s M.Ri t c h i e 于 1 9 7 2 年推出,1 9 7 8年后,C 语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C 语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。自C 语言诞生以来,从大型主机到小型微机,C 语言被广泛应用于系统软件和应用软件的开发,随之也衍生了很多个版本。1 9
9、8 9 年,美国国家标准局第一次为 C 语言制定标准,被称为 AN S I X 3.1 5 9 T 9 8 9 aPr o g r a m m i n g La n g u a g e Cv,俗称AN S I C 或 C8 9 标准。1 9 9 0 年后,国际标准化组织(简称IS O)为C 语言多次修订标准,并于2 0 1 1 年 1 2 月 8日最新修订并公布的C 语言标准时IS O/IEC9 8 9 9:2 0 1 1,俗称C1 1 标准。本课程上机使用的M i c r o s o f t V i s u a l C+6.0正是基于C1 1 标准的C 语言开发环境,因此本书将符合C1 1
10、标准的C 语言称为“标准C 语言”,用于与Ar d u i n。IDE开发环境下的C 语言做区分。1.1 V C 6.0软件基本操作1 .打开V C 6.0 软件。打开 M i c r o s o f t V i s u a l C+6.0”,将出现如下窗口。2 .新建W i n 3 2 控制台工程点击一级菜单“文件”“新建”一选择弹出框的“工程”选项卡一第7页 第7页单片机与C语言编程实用技术选 择“Win32 Console Application”一 在“工程名称”对话框内输入工程名称。选 择“一个空工程”一 点 击“完成”一 点 击“确定”。工程创建成功,如下图。3.新 建C程序文件:
11、点击一级菜单“文件”一“新建”一选择弹出框的“文件”选项卡一选择“C+Source File 一 在“文件名称”对话框内输入文件名称。第8页 第8页单片机与C语言编程实用技术自r C K可3 MC程序文件创建成功,之后可以编写程序。J.d r住区,”j:i工&-S I Illes-j|Sourc FUhelln wwld.qi j l FBes口 R e28 Hie(i T rrec fcoi!:CI”oWJ|j)HleVlew|4.在程序编辑框内输入如下程序。void Min)i ftK to i r:i fw-Mes-_j Source Files,1 beRo wtMld.cpp口 He
12、ader Ries口 Reewfce mprlntf(hello.worldfn-);1 ClwVlewl H f BeVlew)I 1 A 1:而 S it XWiKXSXffiM XSXff _ /t t 6.f i 2#include void main()第9页 第9页单片机与C语言编程实用技术printf(hello,world!n);5.编译、生成、运行程序。编译程序Compil叵:点击之后,生成.obj文件,一般用于检查程序中是否存在语法错误。*11Hello World.obj-0 error(s),0 warning(s)FK组建乂调试4在文件1中查找,在文件 1 I生成程序
13、Bui 点击之后,生成.exe文件。2d|test_1.exe-0 error(s),0 uarning(s)DD卜组建(调 试X在文件1中查找;在文件 I运行程序B u ild E x e c u te E 用于查看程序运行结果。-C:UsersacerDov/nloadsVC lvMyPrqjectstest_lDebugtest_l.exe1h e llo,world?Press any key to continue.6.保存程序选 择“文件”菜单中的“保存”命令,将源程序保存到制定的文件夹中。7.调试程序调试程序是程序设计中一个很重要的环节。程序中的错误一般分为程序语法错误和程序设计
14、上的逻辑错误,VC 6.0 编译器只能找出语法错误,而逻辑错误则需要程序员手动查找。如果程序中存在语法错误,那么编译时会在输出窗口中给出错误提示,如下图所示:vch.cppzqaOotmloadsVC lvNyPro ectsasdqwvch.cpp(S):error C21A3:syntax error:nissing before,时出楮C:Users9t执 行cl.exevch.obj-1 rro r(s).0 Mrning(s)|于 上 勒度k帆 春文件1中黛找 在文件2中去找、培聚7行7.列班 读取错误提示主要包括错误和警告及其个数、错误出现的行号及其原因。在输出窗口第1 0页 第1
15、 0页单片机与C语言编程实用技术中双击错误提示信息或按F4键,会出现一条醒目的蓝色条带突出提示信息,同时通过一个箭头符号定位产生错误的语句,如下图所示。|(Glib33|司(All glob”member,.main 弋.盟,1x ljj BincliKle 国 罚痣一;o l d句似)p rin tf(-h llo.M rld tn)打印修出Fen。s r l,牛杵:Cl”8V.IinieVlew|,.j _,提示:程序中的一处错误往往会引出若干条错误提示信息,因此修改一个错误后最好马上编译程序。通过反复的编译,可使程序中的错误越来越少,指导所有的语法错误都被修正。第1 1页 第1 1页单片
16、机与C语言编程实用技术第二章 标准C语言程序基础2.1 C语言基本框架。V C 6.0中的C程序是标准C语言程序,基本包括三个部分:1)库函数头文件包含部分;2)常量、变量定义部分;3)主函数m a i n ();include include define PI 3.14in t a,b;Float c,circun;/嚏食桅!输公缠中生X件*/咆含数学函数年头文件*/uoid nain()2.2库函数头文件调用。C语言中有许多已经编写好的函数,可以直接调用,极大的减轻了程序员的工作量,我们编程时应该利用这部分资源来简化程序。常用的库函数头文件有:s t i d o.h :标准输入输出函数库
17、。其中包含我们常用的s c a n f ()输入函数,p r i n t f ()输出函数。m a t h,h :数学计算函数库。其中包含有三角函数、反三角函数、指数与对数、取绝对值等数学运算函数。s t r i n g,h :字符串处理函数库。其中包括字符串复制函数、拼接函数、查找函数、比较函数等,详 情 见 C语言入门附录。2.3基本数据类型数据类型是对数据的一种抽象描述,目的是告诉计算机需要为这部分数据开辟多少存储空间。在定义变量时必须定义数据类型。常见的数据类型有:第1 2页 第1 2页单片机与C语言编程实用技术数据类型类型标识符占有字节数据范围整型i n t2-3 2 7 6 8 3
18、 2 7 6 7长整型lo n g4-23 123 1-1浮点型f lo a t43.4 X1 0 3 83.4 X1 03 8双精度浮点型d o u b le81.7 X1 0 -i 81.7 X 1 03 8字符型c h a r1-1 2 8 1 2 7字符串型s t r i n g根据字符串长度*以上数据类型的占有字节和数据范围会随计算机硬件的不同而有所变化。1 .整数类型整数是诸如:-2、-1、0、1、2.的无小数部分的数。C 语言提供了多种整数类型数据,以适应不同场合的需求,其中经常用到的是整型(i n t)和长整型(lo n g)这两种数据类型。整型i n t 在计算机内存中占据2
19、 字节的存储空间,用 1 6 位二进制数表示,数值范围为-2 一2 5-1 (-3 2 7 6 8 3 2 7 6 7)。长整型lo n g 在计算机内存中占据4 字节的存储空间,用 3 2 位二进制数表示,数值范围为-2 -2 -1 (-2 1 4 7 4 8 3 6 4 8 2 1 4 7 4 8 3 6 4 7)。Z提示:当整型in t或长整型lo n g定义的数据超出允许数值范围,会发生溢出错误。同时:溢出错误不是语法错误,不会被编译器指出,所以程序员在运算时应注意数据的数值范围,特别是在乘法运算和指数运算时。_/2 .实数类型实型也叫浮点型,指有小数部分的非整数数值,比如像1 2 3
20、.4 5 和 1.2 X1 0%它们在计算机内部也是以二进制的形式存储和表示的。C 语言提供了两种表示实数的类型:单精度型和双精度型。单精度型f lo a t 在计算机内存中占据4 字节,有效位为7 位。双精度型d o u b le 在计算机内存中占据8 字节,有效位为1 6 位。3 .字符类型字符型数据包括两种:单个字符和字符串,如:A,是字符,“h e llo”是字符串。单个字符用c h a r 定义,在计算机中字符是以A S CH 码的形式存储的,一个第1 3页第1 3页单片机与C语言编程实用技术字符占用1字节的存储空间。字符串用S tr i n g 定义,在计算机中可以看做是以字符数组
21、的形式存储的,其存储空间依据字符串长度而定。提示:字符与A S CI I 码的对应关系可查阅附录1三4 常量与变量2.4.1 常量常量是不随时间和程序变化而变化的值,如上述程序中P I,它的值是3.14,程序中所有出现P I 的地方,都相当于3.14,在这种情况下P I 不能被赋值,即不能出现P I=.”这样的赋值语句。常量的定义有两种方式:1)d e f i n e 常量名 学量值,如上述程序中的#d e f i n e P I 3.14”,这种定义方法,P I 没有数据类型,也不占有存储单元,只是在编译时,所有的字符串P I 都会被置换为3.15o语句结尾不需要加分号“;2)c o n s
22、 t 常量数据类型 常量名=常量值,如c o n s t f l o a t P I=3.14;”,这种定义方法与变量定义类似,有数据类型,也占有存储单元,在语句开头加上“c o n s t”字样来表示常量定义。语句结尾必须加分号定义常量时,必须给常量赋值,如:#d e f i n e P I 3.14c o n s t f l o a t P I=3.14;1.整型常量整型常量即整数。虽然C 语言允许整数采用十进制、八进制和十六进制书写。但一般还是采用比较熟悉的十进制形式。注意,C 语言不支持二进制形式。2.实型常量实型常量即实数。实数可以使用两种方式书写:一种是小数形式,例如:123.45
23、,-2.0,0.5;另一种是指数形式,其中用字母e 或者E 表示10 的事次,例 如:1.2345 E 2 和 1.2E-9 分别表示 123.45 和 1.2X 10%提示:实型数据用指数形式表示时,E前必须要用3.字符常量字符常量即单个字符,书写时要用单引号将这个字符括起来,例如:A 、2、等,它们属于常规字符。另外,还有一些字符比较特殊,不可视或无法通过键盘输入,例如换行符、回车符,C 语言的解决方法是用转义字符表示它第1 4页 第1 4页单片机与C 语言编程实用技术转义字符由一个反斜杠 后跟规定字符构成。常用转义字符的定义如下:们。转义字符含 义n换行符t横向跳格符0空字符反斜杠单引号
24、双引号提示:转义字符从书写上看是一个字符序列,实际上是作为1个字符对待的,存储时只占1字节。由于字符在计算机内是以ASCII码的形式存储的,实际上ASCII码值是一个0127之间的整数,因此字符常量也是可以参加运算,例如:a +1 字 符 a 的ASCH码 值 加1a +32 字 符 a 的ASCH码值减3 2,可用于大小写字母的转换a 大于表达式 表达式左到右双目=大于等于表达式 =表达式双目小于表达式 表达式左到右双目=小于等于表达式 逗号运算符表达式,表达式,.左到右读者在使用符号时,大可不必强行记住所有符号的优先级,因为正常的程序在使用容易混淆优先级的符号时,一般都会用优先级最高的圆括
25、号()来清晰的划分运算优先顺序。如:x=a+b&c+d;一般会写成x=(a+b)&(c+d);总结一下,按运算符优先级从高到低的顺序是:圆括号 单目运算符 双目运算符 三目运算符 赋值运算符 逗号运算符第2 3页 第2 3页单片机与C语言编程实用技术2.8 分值结构及其应用C语言中的控制语句主要用于完成分支结构程序和循环结构程序的控制。其主要包括以下9 个控制语句:i f 语句、switch语句、fo r语句、while语句、dowhile语句、continue语句、break语句和return语句。其中使用i f 语句和switch语句实现分支结构程序。2.8.1 if 语句i f 语句有三
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 语言 编程 实用技术
限制150内