51单片机C语言程序设计经典案例_第1页
51单片机C语言程序设计经典案例_第2页
51单片机C语言程序设计经典案例_第3页
51单片机C语言程序设计经典案例_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

51单片机C语言程序设计经典案例51单片机C语言程序设计经典案例51单片机C语言程序设计经典案例资料仅供参考文件编号:2022年4月51单片机C语言程序设计经典案例版本号:A修改号:1页次:1.0审核:批准:发布日期:项目三C51程序设计语言基础任务1C51程序的识读C51程序结构例3-1P_test/*********************,标准的MCS-51单片机头文件为””,STC89系列单片机头文件为””#defineunitunsignedint.while循环结构double数据类型说明双精度浮点数else程序语句构成if...else选择结构enum数据类型说明枚举extern存储类型说明在其他程序模块中声明了的全局变量float数据类型说明单精度浮点型for程序语句构成for循环结构goto程序语句构成goto循环结构idata存储器类型说明间接寻址的内部数据存储器if程序语句构成do...while循环结构int数据类型说明基本整数型interrupt中断声明定义一个中断函数long数据类型说明长整数型pdata存储器类型说明分页寻址的内部数据存储器register存储类型说明使用CPU内部的寄存器变量reentrant再入函数说明定义一个再入函数return程序语句函数返回sbit位变量声明声明一个可位寻址的变量short数据类型说明短整数型signed数据类型说明有符号数,二进制的最高位位符号位sizeof运算符计算表达式或数据类型的字节数Sfr特殊功能寄存器声明声明一个特殊功能寄存器Sfr16特殊功能寄存器声明声明一个16位的特殊功能寄存器static存储类型说明静态变量struct数据类型说明结构类型数据switch程序语句构成switch选择语句typedef数据类型说明重新进行数据类型定义union数据类型说明联合数据类型unsigned数据类型说明无符号数据using寄存器组定义定义芯片的工作寄存器void数据类型说明无符号数据volatile数据类型说明声明该变量在程序执行中可被隐含改变while程序语句构成while和do...while循环语句xdata存储器类型说明外部数据存储器C51的常量和变量常量常量就是在程序运行过程中,其值不能改变的数据,包括整型常量、字符常量、字符串常量、实数常量、位标量等。整型常量:可以用二进制、八进制、十进制、十六进制表示。无符号整数常量在一个数字后面加上“u”或“U”表示。长整数型常量在后面加上“l”或“L”,无符号长整数型常量在数字后面加上“ul”或“UL”,实数型常量在后面加“f”或“F”。字符常量:单引号内的字符,不可以显示的控制字符在前加“\”组成专用转义字符。字符串常量:双引号内的字符,当双引号内没有字符时是空字符串。在C语言中,字符串常量是作为字符类型数组来处理的,在存储字符串时,系统在字符串尾部加上转义字符“\o”,作为该字符串的结束符。实数常量:有十进制和指数两种表示形式。指数表示的实数为“[±]数字[.数字]e[±]数字”,[]中的内容为可选项位标量:位标量的值是一个二进制数。变量变量就是在程序运行过程中,其值可以被改变的数据。必须先用标识符作为变量名,并指出所用的数据类型和存储模式,这样编译系统才能为变量分配相应的存储空间。定义变量的格式:[<存储模式>]<类型定义>[存储器类型]<标识符>;类型定义和标识符是必要的。存储模式有四种,自动(auto)、外部(extern)、静态(static)和寄存器(register),默认类型为自动(auto)。表3-3C51存储类型与MCS-51单片机存储空间的对应关系及其大小存储类型与存储空间的对应关系长度/bit长度/byte存储范围data直接寻址片内数据存储区,访问速度快(128B)810-255bdata可位寻址片内数据存储区,允许位与字节混合访问(16B)810-255idata间接寻址片内数据存储区,可访问片内全部RAM地址空间(256B)810-255pdata分页寻址片外数据存储区,由MOVX@Ri访问810-255xdata寻址片外数据存储区(64KB),由MOVX@DPTR访问1620-65535code寻址代码存储区(64KB),由MOVC@DPTR访问1620-65535如果在变量定义时省略了存储类型标识符,则编译器会自动选择默认的存储类型。默认的存储类型进一步由SMALL、COMPACT、和LARGE存储模式指令限制。存储模式决定了变量的默认存储类型、参数传递区和无明确存储类型说明变量的存储类型。在SMALL模式下,参数传递是在片内数据存储区中完成的。COMPACT和LARGE模式允许参数在外部存储器中传递。表3-4存储模式及说明存储模式说明SMALL参数及局部变量放入可直接寻址的片内存储器(最大为128B,默认存储类型为data),因此访问十分方便。另外,所有对象(包括栈)都必须嵌入片内RAM,栈长由函数的嵌套导数决定。COMPACT参数及局部变量放入分页片外存储区(最大为256B,默认的存储类型为pdata),通过寄存器R0和R1(@R0、@R1)间接寻址,栈空间位于MCS-51系统内部数据存储区中。LARGE参数及局部变量直接放入片外数据存储区(最大为64KB,默认存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论