- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四2章:C51程序设计讲述
《单片机应用系统设计》教学课件 《单片机应用系统设计》教学课件 第四讲:C51程序设计 本讲重点: 数据类型、存储器类型; 函数、指针、绝对地址 C51语言程序设计. 《单片机应用系统设计》教学课件 C语言程序开发过程 C语言程序开发过程 一般的C语言开发套件中,包括编译器、连接器和符号转换程序 编译器将源程序翻译为可重定位的目标代码文件(也可产生等价的汇编语言程序);连接器将目标代码文件连接为绝对目标文件;符号转换程序可将绝对目标文件转换为Intel HEX格式文件,编程到程序存储器中运行。 集成开发环境(Integrated Development Environment,IDE)的套件:编辑、编译、连接、符号转换、调试可在一个窗口中完成 《单片机应用系统设计》教学课件 C51 数据类型 存储器类型 《单片机应用系统设计》教学课件 数据类型 数据类型 位数 字节数 范围 bit 1 ? 0~1 signed char 8 1 -128~+127 unsigned char 8 1 0~255 enum 8/16 1/2 -128~+127 或 -32768~+32767 signed short 16 2 -32768~+32767 unsigned short 16 2 0~65535 signed int 16 2 -32768~+32767 unsigned int 16 2 0~65535 signed long 32 4 -2147483648~unsigned long 32 4 0~4294967295 float 32 4 ±1.175494E-38~±3.402823E+38 sbit 1 ? 0~1 sfr 8 1 0~255 sfr16 16 2 0~65535 《单片机应用系统设计》教学课件 存储类型 存储器类型 与硬件存储器空间的对应关系 code 程序存储器;使用MOVC @A+DPTR指令访问 data 直接寻址的内部数据存储器;访问速度最快(128字节) idata 间接访问的内部数据存储器;所有的内部存储器空间(256字节) bdata 可位寻址的内部数据存储器;可字节方式也可位方式访问(16字节) xdata 外部数据存储器(64KB),通过MOVX @DPTR指令访问 pdata 外部数据存储器的一页(256字节),使用MOVX @Ri指令访问 例 指出以下变量的存储位置 char data var1; char code text[] = ENTER PARAMETER; unsigned long xdata array[100]; float idata x, y, z; unsigned int pdata dimension; unsigned char xdata vector[10][4][4]; char bdata flags; 存储类型 《单片机应用系统设计》教学课件 存储模式 存储器模式 描述 SMALL 参数及局部变量放入可直接寻址的内部存储器(最大128 B,默认存储器类型为data) COMPAT 参数及局部变量放入分页外部存储区(最大256 B,默认存储器类型为pdata) LARGE 参数及局部变量直接放入外部数据存储器(最大64 KB,默认存储器类型为xdata) 《单片机应用系统设计》教学课件 存储模式 例 变量的存储模式 #pragma small unsigned char uchA1; //存储模式为SMALL,存储类型data unsigned int xdata uintB1; #pragma compact char chA2; //存储模式为COMPACT,存储类型pdata int xdata intB2; int func_add(int a,int b) large //函数的存储模式为LARGE { return ( a + b); } int func_minu(int c,int d) //函数的存储模式隐含为SMALL { return (c - d); } 《单片机应用系统设计》教学课件 C51硬件资源访问 硬件资源访问 特殊功能寄存器访问(reg51.h) sfr P0 = 0x80; sfr PSW = 0xD0; 特殊功能寄存器的位 sbit CY =0xD7; sbit CY = PSW^7; sbit CY=0xD0^7; 硬件资源访问 内部RAM中的位寻址 bit lsb; unsigned char bdata data1;//bdata存储器类型 sbit lsb =
文档评论(0)