智能仪器课程讲述.pptx

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 MCS51单片机C语言程序设计 C语言具有很强的表达能力,并具有较高的可移植性,提供了种类丰富的运算符和数据类型,可以直接实现对系统硬件的控制。 相对于汇编语言,使用C语言进行系统开发可以大大缩短开发周期,明显增强程序的可读性,便于改进和扩充。 本章就介绍使用C语言开发8051系列单片机程序的方法。 ;双字节无符号数加法程序 (R3R4+R6R7)=(R3R4) ;入口??? :R3,R4,R6,R7 NADD???? :MOV??? A,R4 ????????? ADD??? A,R7 ????????? MOV??? R4,A ????????? MOV??? A,R3 ????????? ADDC?? A,R6 ????????? MOV??? R3,A ????????? RET unsigned int val_1, val_2; unsigned int val_add; val_add = val_1 + val_2; 本章主要内容 C51变量声明 C51的IO口操作 C51的外部总线扩展操作 C51的中断响应方法 2.1 C51语言变量声明 但在C语言编程中,对数据类型与变量的定义必须要与单片机的存储结构相关联,否则编译器就不能正确的映射。 所以用C语言编写单片机应用程序是要根据单片机的结构及内部资源定义相应的C语言中的数据类型和变量。 用C语言编写的应用程序必须经单片机的C语言编译器,将源代码转换成单片机的可执行程序。支持MCS-51系列单片机的编译器有很多,比较著名也是实际应用最多的是KEIL/Franklin编译器。这也是这门课使用的编译器。 一、C51数据类型 数据类型 长度(bit) 长度(byte) 值域 bit 1 1 0,1 unsigned char 8 1 [0,255] signed char 8 1 [-128,127] unsigned int 16 2 [0,65535] signed int 16 2 [-32768, 32767] unsigned long 32 4 [0, 4294967295] signed long 32 4 [-2147483648, 2147483647] float 32 4 ±1.176E-38~±3.40E+38(6位有效数字) double 64 8 ±1.176E-38~±3.40E+38(10位有效数字) 指针 24 3 0~65535(存储空间) 表2.1 C51支持的数据类型 二、C51数据类型修饰符 存储类型 与存储空间的对应关系 data 直接寻址片内数据存储区,访问速度快(128字节),值域 0~127 bdata 可位寻址片内数据存储区,允许位与字节混合访问(16字节,值域0~127 idata 间接寻址片内数据存储区,可访问片内全部RAM地址空间(256字节,值域0~255 pdata 分页寻址片外数据存储区,,由MOVX @Ri访问(i=0,1),值域 0~255 xdata 片外数据存储区(64KB)由MOVX @DPTR访问,值域0~65535 code 程序存储器64KB空间,由MOVC @DPTR访问,值域0~65535 表2.2 C51存储类型修饰符 二、C51数据修饰符 修饰符名称 功能 const 指示被修饰的变量或者指针是常量 volatile 指示被修饰的变量或者指针可由多种原因被修改,禁止优化。常用于修饰多个函数公用的变量。 表2.3 其他修饰符 三、C51变量声明举例 C51变量声明格式: [存储类型]+[类型说明]+[修饰符]+[标示符]=[初值] auto register static extern char unsigned char int unsigned int long unsigned long float double bit sfr sfr16 sbit data bdata idata pdata xdata code const volatile value=初值 unsigned char xdata val; signed char data string; bit bdata val_bit; unsigned char xdata *pval; unsigned char code *pcode; code应用举例 unsigned char code tab[4]={0x00,0x01,0x02,0x03}; void main(void) { unsigned char i,j=0; for(i=0; i4; i++){ j = j+tab[i]; } } 9: for(i=0; i4; i

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档