- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 目录 C51编程基础知识准备 2.1 C51数据与数据类型 2.2 C51变量及其定义方法 2.3 C51运算符和表达式 2.4 C51基本语句 项目4 键控信号灯 任务4.1 编制键控信号灯程序 任务4.2 键控信号灯Keil编译调试 任务4.3 键控信号灯Proteus虚拟仿真运行 C51编程基础知识准备 2.5 C51函数 2.6 C51数组和指针 项目7 花样循环灯 任务7.1 编制花样循环灯程序 任务7.2 花样循环灯Keil编译调试 任务7.3 花样循环灯Proteus虚拟仿真 C51编程基础知识准备 2.1 C51数据与数据类型 ⒈ 数据类型和数据长度 基本类型:位型bit、字符型char、整型int、长整型long和浮点型 float; 还有数组array(属构造类型)和指针 根据有、无符号,又可分别分为signed和unsigned, 有符号时,signed一般可省略不写。 无符号时全部为正值;有符号时,其值域有正有负, 最高位用于表示正负,“0”表示正,“1”表示负。 ⒊ 标识符 在C语言程序中, 数据、数据类型、变量、数组、函数和语句等常用标识符表示, 实际上标识符就是一个代号, 是上述这些数据和函数的名字。 C语言标识符命名规定: ⑴ 标识符只能由字母、数字和下划线三种字符组成, 且须以字母或下划线开头。 ⑵ 标识符不能与“关键词”同名。 ⑶ 英文字母区分大小写。即标识符中的英文字母大小写不能通用。 ⑷ 有效长度随编译系统而异,一般多于32个字符,已足够用了。 80C51单片机主要用于实时控制, 变量一般为8bit无符号格式,16bit较少, 有符号和有小数点的数值计算也很少。 因此,在已知变量长度及变量为正整数的情况下, 应尽量采用8bit无符号格式:unsigned char。 2.2 C51变量及其定义方法 ⒈ 变量及其存储区域 C51程序中使用的常量和变量必须定位在80C51不同的存储区域。 由于80C51片内RAM空间有限,不同性质的数据应区别对待。 位变量只能定位在片内RAM位寻址区,使用bdata存储器类型; 常用的数据应定位在片内RAM中,使用data和idata存储器类型; 不太常用的数据可定位在片外RAM中,使用pdata和xdata存储器类型; 常量可采用code存储器类型。 若用户不对变量的存储器类型作出定义, 系统将采用由源程序、函数或C51编译器设置的编译模式默认存储器类型。 C51编译模式选项有3种:Small、Compact和Large 。 一般,应尽量选择Small模式。缺省时,系统默认的模式为Small。 ⒉ 局部变量和全局变量 变量按使用范围可分为局部变量和全局变量。 ⑴ 局部变量 局部变量是某个函数内部定义的变量,其使用范围仅限于该函数内部。 ⑵ 全局变量 全局变量定义在函数外部,在整个文件或程序中有效,可供各函数共用, 可起到各函数间数据交换的作用。 C51程序在一个函数开始运行时才对该函数的局部变量分配存储单元, 函数运行结束,即释放该存储单元。 这正是C语言的优点之一,可大大提高内部存储单元的利用率。 全局变量定义应放在所有函数(包括主函数)之外。 不同函数中允许使用相同的局部变量名, 其含义可以不同,不会相互干扰。 全局变量始终占用一个固定的存储单元,降低了内部存储单元的利用率 ; 降低了函数的通用性 。因此,应尽量减少全局变量的使用 。 ⒋ 变量的定义方式 C51要求,所有变量均应先定义,后使用。其格式如下: 数据类型 [存储器类型] 变量名表 ⒌ 80C51特殊功能寄存器定义方式 只需在程序开头的头文件部分写一条预处理命令: #include reg51.h,既可调用该库函数reg51.h 在C51的文件夹里,有一个取名reg51.h的库函数文件, 对80C51片内21个特殊功能寄存器按MCS-51中取的名字(必须大写) 全部作了定义,并赋予了既定的字节地址。 ⒍ 位变量定义方式 ⑴ 定义128位可寻址位的位变量 bit 位变量名 ⑵ 定义11个特殊功能寄存器可寻址位的位变量 sbit 位变量名=位地址常数 2.3 C51运算符和表达式 表示各种运算的符号称为运算符。 由运算符和运算对象组成的具有特定含义的运算式称为表达式。 ⒈ 赋值运算符 变量=表达式 ⒉ 算术运算符 ⑴ 自增1和自减1有两种写法: ① 双加(减)号写在前面:++i和--i。此时,变量先加(减)1,后使用; ② 双加(减)号写在后面:i++和i--。此时,变量先使用,后加(减)1。 ⑵ 除法运算的结果与参与运算数据的类型有关。 若两个数据都是浮点数,则运算结果也为浮点数。
原创力文档


文档评论(0)