单片机c语言应用程序设计

单片机c语言应用程序设计

ID:13209587

大小:397.00 KB

页数:62页

时间:2018-07-21

单片机c语言应用程序设计_第1页
单片机c语言应用程序设计_第2页
单片机c语言应用程序设计_第3页
单片机c语言应用程序设计_第4页
单片机c语言应用程序设计_第5页
资源描述:

《单片机c语言应用程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一C51基础知识1.1C语言与MCS-511.2C51数据类型及在MCS-51中的存储方式1.3C51数据的存储类型与MCS-51存储结构1.4MCS-51特殊功能寄存器(SFR)的C51定义1.5MCS-51并行接口的C51定义1.6位变量的C51定义1.7C51构造数据类型1.8模块化程序开发过程1.1C语言与MCS–51用汇编程序设计MCS–51系列单片机应用程序时,必须要考虑其存储器结构,尤其必须考虑其片内数据存储器与特殊功能寄存器正确、合理的使用以及按实际地址处理端口数据。用C语言编写MCS–51单片机的应用程序,虽然不像用汇

2、编语言那样具体地组织、分配存储器资源和处理端口数据,但在C语言编程中,对数据类型与变量的定义,必须要与单片机的存储结构相关联,否则编译器不能正确地映射定位。用C语言编写单片机应用程序与编写标准的C语言程序的不同之处就在于根据单片机存储结构及内部资源定义相应的C语言中的数据类型和变量,其它的语法规定、程序结构及程序设计方法都与标准的C语言程序设计相同。用C语言编写的应用程序必须经单片机的C语言编译器(简称C51),转换生成单片机可执行的代码程序。支持MCS–51系列单片机的C语言编译器有很多种。如AmericanAutomation、Au

3、ocet、BSO/TASKING、DUNFIELDSHAREWARE、KEIL/Franklin等。其中KEIL/Franklin以它的代码紧凑和使用方便等特点优于其它编译器。本章是针对这种编译器介绍MCS–51单片机C语言程序设计。1.2C51数据类型及在MCS-51中的存储方式1.2.1C51的数据类型FranklinC51编译器具体支持的数据类型有:位型(bit)、无符号字符(unsignedchar)、有符号字符(singedchar)、无符号整型(unsignedint)、有符号整型(signedint)、无符号长整型(uns

4、ignedlong)、有符号长整型(signedlong)、浮点型(float)和指针类型等。表7.1FranklinC51的数据类型数据类型长度(bit)长度(byte)值域bit110,1unsignedchar810~255signedchar81–128~127unsignedint1620~65535signedint162–32768~32767unsignedlong3240~4294967295signedlong324–2147483648~2147483647float324±1.176E–38~±3.40E+38(

5、6位数字)double648±1.176E–38~±3.40E+38(10位数字)一般指针243存储空间0~655351.2.2C51数据在MCS-51中的存储方式位变量(bit):与MCS-51硬件特性操作有关的可以定义成位变量。位变量必须定位在MCS-51单片机片内RAM的位寻址空间中。字符变量(char):字符变量的长度为1byte即8位。这很合适MCS-51单片机,因为MCS-51单片机每次可处理8位数据。对于无符号变量(unsignedchar)的值域范围是0~255。对于有符号字符变量(signedchar),最具有重要意义

6、的位是最高位上的符号标志位(msb)。此位为1代表"负",为0代表"正"。有符号字符变量和无符号字符变量在表示0~127的数值时,其含义是一样的,都是0~0x7F。负数一般用补码表示,即用11111111表示-1,用11111110表示-2……。当进行乘除法运算时,符号问题就变得十分复杂,而C51编译器会自动地将相应的库函数调入程序中来解决这个问题。整型变量(int):整型变量的长度为16位。与8080和8086CPU系列不同,MCS-51系列单片机将int型变量的高位字节数存放在低地址字节中,低位字节数存放在高地址字节中。有符号整型变

7、量(signedint)也使用msb位作符号标志位,并使用二进制补码表示数值。可直接使用几种专用的机器指令来完成多字节的加、减、乘、除运算。整型变量值0x1234以图7.1所示的方式存放在内存中。图1.1整型数的存储结构…0x120x34…+0+1地址0x120x340x560x78….+0+1+2+3地址图1.2长整型变量的存储结构浮点型变量(float):浮点型变量为32位,占4个字节,许多复杂的数学表达式都采用浮点变量数据类型。应用符号位表示数的符号,用阶码和尾数表示数的大小。用它们进行任何数学运算都需要使用由编译器决定的各种不同

8、效率等级的库函数。FranklinC51的浮点变量数据类型的使用格式与IEEE-754标准有关,具有24位精度,尾数的高位始终为"1",因而不保存,位的分布如下:●1位符号位。●8位指数位。●23位尾数。符

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。