网站大量收购闲置独家精品文档,联系QQ:2885784924

单片机的C语言程序设计及调试.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 单片机的 C语言程序设计及调试 C语言编程 特点:编写简单、直观易读、便于维护、通用性好、可移植性强、更符合人们的思考习惯 但同学们一定会有这样的疑问,我们学过了C语言,该如何用它操作单片机呢? 不要着急,接下来,让我们一起学习单片机的C语言程序设计与调试。 限于篇幅,本章不介绍标准C语言的语句及语法规则,只介绍C语言在IAP15W4K58S4单片机程序设计中的特殊性问题,包括C51编程语言(简称C51)与ANSI C的区别、单片机C语言程序的设计等内容。 关系运算符 关系运算符用于比较两个常数或者表达式的大小。关系运算的结果只能是0或1。关系运算符的值为真时,结果值为1;关系运算符的值为假时,结果值为0。 = = == != 特别注意,判断两个常数或者表达式相等时,使用“==”,不要使用单个的“=”。否则,判断两个数是否相等就变成了赋值语句。 逻辑运算符 逻辑运算符包括与()、或(||)、非(!)三种,用于对包含关系运算符的表达式进行合并或取非。 使用逻辑运算符的表达式,返回0表示“假”,返回1表示“真”。 位运算符 按位与()、按位或(|)、按位异或(^)、取反(~)、左移()和右移() 应用: 按位与运算通常用来对某些位清0 按位或运算通常用来对某些位置1 按位异或运算通常用来对某些位取反 预处理-宏定义(define) 在C语言源程序中允许用一个标识符来表示一个字符串,称为宏。 无参宏定义的一般形式如下: #define 标识符 字符串 带参宏定义的一般形式如下: #define 宏名(形参表) 字符串 如要终止宏定义,可使用# undef命令。 预处理-文件包含(include) 文件包含的一般形式如下: #include 文件名 ◎你知道吗? 包含命令中的文件名可以用双引号括起来,也可以用尖括号括起来。两者有何不同呢? #include math.h #include math.h 预处理-条件编译(1) 条件编译就是按不同的条件去编译不同的程序部分,从而产生不同的目标代码文件。 1)第一种形式 #ifdef 标识符 程序段1 #else 程序段2 #endif 预处理-条件编译(2) 2)第二种形式 #ifndef 标识符 程序段1 #else 程序段2 #endif 预处理-条件编译(3) 3)第二种形式 #if 常量表达式 程序段1 #else 程序段2 #endif Keil C51扩展关键字 C51有以下19个扩展关键字: _at_、sbit、sfr、bit、sfr16、idata、bdata、xdata、pdata、data、code、alien、small、compact、large、using、reentrant、interrupt、_task_ 常见的关键字-内存区域的指定 1)程序存储器 code:程序存储区。可以使用code定义表格常数 2)内部RAM data:直接寻址区,内部RAM的低128字节,地址范围为00H~7FH idata:间接寻址区,包括整个内部RAM区256字节,地址范围为00H~0FFH bdata:可位寻址区,地址范围为20H~2FH 常见的关键字-内存区域的指定 3)外部数据存储器 xdata:可指定多达64KB的外部直接寻址区,地址范围0000H~0FFFFH 4)特殊功能寄存器(SFR) sfr:字节寻址 sfr sfr_name=int_constant; sfr16:字寻址 sfr16 DPTR=0x82; sbit:位寻址 sbit bitname=sfr_name^bit_number; 常见的关键字-变量或数据类型 C51提供以下几种扩展数据类型: bit:位变量,值为0或1 sbit:从字节中定义的位变量(0或1) sfr:sfr字节地址(0x80~0xff) sfr16:sfr字地址(0x80~0xff,其实是占用两个连续的地址) 其余的数据类型如char、enum、short、int、long、float 等与ANSI C相同 常见的关键字-Keil C51指针 Keil C51支持一般指针(Generic Pointer)和存储器指针(Memory Specific Pointer)。一般指针的声明和使用均与标准

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档