欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机C语言程序设计经典案例.docx

    • 资源ID:57982668       资源大小:16.52KB        全文页数:10页
    • 资源格式: DOCX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机C语言程序设计经典案例.docx

    工程三 C51程序设计语言根底任务1 C51程序的识读1. C51程序构造例3-1 P_test/* /注释,还可用/注释掉一行Chip name:STC89C51RC #include “ /预处理命令,文件包含预处理命令,后缀名都是.h,标准的MCS-51单片机头文件为,STC89系列单片机头文件为 #define unit unsigned int /宏定义预处理命令 sbit BZ=P37 ; sbit key=P10;void delay(unit ms) unit i; while( ms -) for(i=0;i<120;i+);void main(void) while(1) if(key=0) BZ=0x0; delayms(10); BZ=0x1; delayms(50); P0=0xFF; else P0=P0; delayms(500);2. C51的数据类型 位变量型 bit字符型 无符号字符型 unsigned char 有符号字符型 signed charC51的数据类型 整数型 无符号整数型 unsigned int根本类型 有符号整数型 signed int 长整数型 无符号长整数型 unsigned long int有符号长整数型signed long int 实数型浮点型 单精度浮点型float 双精度浮点型double 数组类型array 构造体类型struct构造类型 共用体union 枚举enum 指针类型 空类型(void)表3-1 C51根本数据类型的长度与值域类型长度/bit长度/byte范围位变量型bit10 ,1无符号字符型 unsigned char8单字节0-255有符号字符型 signed char8单字节-128-127无符号整数型 unsigned int16双字节0-65536有符号整数型 signed int16双字节-32768-32767无符号长整数型 unsigned long int32四字节有符号长整数型 signed long int32四字节单精度浮点型 float32四字节双精度浮点型 double 32四字节一般指针类型 24三字节3. C51的标识符与关键字标识符是由字母、数字与下划线组成的字符串,第一个字符必须是字母或下划线,不超过32个字符。表3-2 C51中的关键字关键字用途说明auto存储种类声明用来声明局部变量bdata存储器类型说明可位寻址的内部数据存储器break程序语句退出最内层循环体bit位变量语句位变量的值是1true或0flasecase程序语句switch语句中的选择项char数据类型的声明单字节整数型或字符型数据关键字用途说明code存储器类型声明程序存储器const存储类型说明在程序执行过程中不可修改的变量值continue程序语句退出本次循环,转向下一次循环data存储器类型说明直接寻址的内部数据存储器default程序语句Switch语句中的失败选择项do程序语句构成do.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存储器类型说明外部数据存储器4. C51的常量与变量1) 常量常量就是在程序运行过程中,其值不能改变的数据,包括整型常量、字符常量、字符串常量、实数常量、位标量等。(1) 整型常量:可以用二进制、八进制、十进制、十六进制表示。 无符号整数常量在一个数字后面加上“u或“U表示。长整数型常量在后面加上“l或“L,无符号长整数型常量在数字后面加上“ul或“UL,实数型常量在后面加“f或“F。(2) 字符常量:单引号内的字符,不可以显示的控制字符在前加“组成专用转义字符。(3) 字符串常量:双引号内的字符,当双引号内没有字符时是空字符串。在C语言中,字符串常量是作为字符类型数组来处理的,在存储字符串时,系统在字符串尾部加上转义字符“o,作为该字符串的完毕符。(4) 实数常量:有十进制与指数两种表示形式。指数表示的实数为“±数字.数字e±数字, 中的内容为可选项(5) 位标量:位标量的值是一个二进制数。2) 变量变量就是在程序运行过程中,其值可以被改变的数据。必须先用标识符作为变量名,并指出所用的数据类型与存储模式,这样编译系统才能为变量分配相应的存储空间。定义变量的格式: < 存储模式 > < 类型定义 > 存储器类型 < 标识符 >;类型定义与标识符是必要的。存储模式有四种,自动auto、外部extern、静态static与存放器register,默认类型为自动auto。表3-3 C51存储类型与MCS-51单片机存储空间的对应关系及其大小存储类型与存储空间的对应关系长度/bit长度/byte存储范围data直接寻址片内数据存储区,访问速度快128B810-255bdata可位寻址片内数据存储区,允许位与字节混合访问16B810-255idata间接寻址片内数据存储区,可访问片内全部RAM地址空间256B810-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与R1R0、R1间接寻址,栈空间位于MCS-51系统内部数据存储区中。LARGE参数及局部变量直接放入片外数据存储区最大为64KB,默认存储类型为xdata,使用数据指针DPTR来进展寻址。用此数据指针进展访问效率较低,尤其是对两个或多个字节的变量,这种数据类型的访问机制直接影响代码的长度。另一不方便之处在于这种数据指针不能对称操作。任务2 运算符与表达式表3-5 C语言常用的运算符第 10 页

    注意事项

    本文(单片机C语言程序设计经典案例.docx)为本站会员(美****子)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开