单片机的C语言程序设计及调试课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《单片机的C语言程序设计及调试课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 语言程序设计 调试 课件
- 资源描述:
-
1、第三章第三章 单片机的单片机的 C C语言程序设计及调试语言程序设计及调试C C语言编程语言编程特点:编写简单、直观易读、便于维护、通用性好、可移特点:编写简单、直观易读、便于维护、通用性好、可移植性强、更符合人们的思考习惯植性强、更符合人们的思考习惯但同学们一定会有这样的疑问,我们学过了C语言,该如何用它操作单片机呢?不要着急,接下来,让我们一起学习不要着急,接下来,让我们一起学习单片机的单片机的C C语言程序语言程序设计与调试设计与调试。限于篇幅,本章不介绍标准限于篇幅,本章不介绍标准C C语言的语句及语法规则,只语言的语句及语法规则,只介绍介绍C C语言在语言在IAP15W4K58S4I
2、AP15W4K58S4单片机程序设计中的单片机程序设计中的特殊性问特殊性问题题,包括,包括C51C51编程语言编程语言(简称(简称C51C51)与与ANSI CANSI C的区别的区别、单片单片机机C C语言程序的设计语言程序的设计等内容。等内容。关系运算符关系运算符关系运算符用于关系运算符用于比较两个常数或者表达式的大小比较两个常数或者表达式的大小。关系运。关系运算的结果算的结果只能是只能是0 0或或1 1。关系运算符的值为真时,结果值为。关系运算符的值为真时,结果值为1 1;关系运算符的值为假时,结果值为;关系运算符的值为假时,结果值为0 0。 = = != = = !=特别注意,判断两个
3、常数或者表达式相等时,使用特别注意,判断两个常数或者表达式相等时,使用“=”,不要使用单个的不要使用单个的“= =”。否则,。否则,判断两个数是否相等判断两个数是否相等就变就变成了成了赋值语句赋值语句。逻辑运算符逻辑运算符逻辑运算符包括逻辑运算符包括与(与(&)、或()、或(|)、非()、非(! !)三种,用三种,用于对包含关系运算符的表达式进行合并或取非。于对包含关系运算符的表达式进行合并或取非。使用逻辑运算符的表达式,使用逻辑运算符的表达式,返回返回0 0表示表示“假假”,返回,返回1 1表示表示“真真”。位运算符位运算符按位与(按位与(& &)、按位或()、按位或(| |)、按位异或()
4、、按位异或( )、取反()、取反( )、)、左移(左移()应用:应用:按位与按位与运算通常用来对某些运算通常用来对某些位清位清0 0按位或按位或运算通常用来对某些运算通常用来对某些位置位置1 1按位异或按位异或运算通常用来对某些运算通常用来对某些位取反位取反预处理预处理- -宏定义宏定义(define)(define)在语言源程序中允许用一个标识符来表示一个字符串,在语言源程序中允许用一个标识符来表示一个字符串,称为宏。称为宏。无参无参宏定义的一般形式如下:宏定义的一般形式如下:#define #define 标识符标识符 字符串字符串带参带参宏定义的一般形式如下:宏定义的一般形式如下:#de
5、fine #define 宏名宏名( (形参表形参表) ) 字符串字符串如要终止宏定义,可使用如要终止宏定义,可使用# undef# undef命令。命令。预处理预处理- -文件包含(文件包含(includeinclude)文件包含的一般形式如下:文件包含的一般形式如下:#include #include 文件名文件名 你知道吗?包含命令中的文件名可以用双引号括起来,也可以用尖括号包含命令中的文件名可以用双引号括起来,也可以用尖括号括起来。括起来。两者有何不同呢?两者有何不同呢?#include math.h#include math.h#include #include 预处理预处理- -条
6、件编译(条件编译(1 1)条件编译就是条件编译就是按不同的条件去编译不同的程序部分按不同的条件去编译不同的程序部分,从而,从而产生不同的目标代码文件。产生不同的目标代码文件。1 1)第一种形式)第一种形式#ifdef #ifdef 标识符标识符 程序段程序段1 1#else #else 程序段程序段2 2#endif #endif 预处理预处理- -条件编译(条件编译(2 2)2 2)第二种形式)第二种形式#ifndef #ifndef 标识符标识符 程序段程序段1 1#else#else 程序段程序段2 2#endif#endif预处理预处理- -条件编译(条件编译(3 3)3 3)第二种形
7、式)第二种形式#if #if 常量表达式常量表达式 程序段程序段1 1#else#else 程序段程序段2 2#endif#endifKeil C51Keil C51扩展关键字扩展关键字C51C51有以下有以下1919个扩展关键字:个扩展关键字:_at_at_、sbitsbit、sfrsfr、bitbit、sfr16sfr16、idataidata、bdatabdata、xdataxdata、pdatapdata、datadata、codecode、alienalien、smallsmall、compactcompact、largelarge、usingusing、reentrantreent
8、rant、interruptinterrupt、_task_task_常见的关键字常见的关键字- -内存区域的指定内存区域的指定1 1)程序存储器)程序存储器codecode:程序存储区。可以使用程序存储区。可以使用codecode定义表格常数定义表格常数2 2)内部)内部RAMRAMdatadata:直接寻址区,内部直接寻址区,内部RAMRAM的低的低128128字节,地址字节,地址范围为范围为00H00H7FH7FHidataidata:间接寻址区,包括整个内部间接寻址区,包括整个内部RAMRAM区区256256字字节,地址范围为节,地址范围为00H00H0FFH0FFHbdatabdat
9、a:可位寻址区,地址范围为可位寻址区,地址范围为20H20H2FH2FH常见的关键字常见的关键字- -内存区域的指定内存区域的指定3 3)外部数据存储器)外部数据存储器xdataxdata:可指定多达可指定多达64KB64KB的外部直接寻址区,地的外部直接寻址区,地址范围址范围0000H0000H0FFFFH0FFFFH4 4)特殊功能寄存器()特殊功能寄存器(SFRSFR)sfrsfr:字节寻址字节寻址 sfr sfr_name=int_constant;sfr sfr_name=int_constant;sfr16sfr16:字寻址字寻址 sfr16 DPTR=0 x82;sfr16 DP
展开阅读全文