第4章单片机C语言及程序设计 目录 41C51的基本数据类型4.5指针 4.2c51变量的存储区城4.6结构 4.3c51的运算符 47c51程序设计 44数组 48函数的定义与调用 2021/29 2
2021/2/9 2 第4章 单片机C语言及程序设计 4.1 C51的基本数据类型 4.2 C51变量的存储区域 4.3 C51的运算符 4.4 数组 4.5 指针 4.6 结构 4.7 C51程序设计 4.8 函数的定义与调用 目录
本章內容完全是结合单片机来讲解,也就 是补充C语言在单片机方面的概念、数据定 义和函数定义等。 通过本章学习,使读者能够比较版利地 编写C51程序。 2021/29
2021/2/9 3 本章内容完全是结合单片机来讲解,也就 是补充C语言在单片机方面的概念、数据定 义和函数定义等。 通过本章学习,使读者能够比较顺利地 编写C51程序
1、C51概述 C51”概念:把“单片机C语言”称 为“C51”,也称为“ Keil c"。 用C51编写单片机程序,与用 ANSI C 编写程序的不同之处是,需要根据单片 机存储器结构及内部资源,定义相应的 数据类型和变量。 其它的语法规定、程序结构及程序 设计方法,都与 ANSI C相同。 2021/29
2021/2/9 4 “C51”概念:把“单片机C语言”称 为“C51”,也称为“Keil C” 。 用C51编写单片机程序,与用ANSI C 编写程序的不同之处是,需要根据单片 机存储器结构及内部资源,定义相应的 数据类型和变量。 其它的语法规定、程序结构及程序 设计方法,都与ANSI C相同。 1、 C51概述
2、C语言编程的优势 在编程方面,使用C51较汇编语言有诸多 优势: 1)编程容易 2)容易实现复杂的数值计算 3)容易阋读与交流 4)容易调试与维护程序 5)容易实现模块化开发 6)程序可移植性好 2021/29
2021/2/9 5 2、 C语言编程的优势 在编程方面,使用C51较汇编语言有诸多 优势: 1)编程容易 2)容易实现复杂的数值计算 3)容易阅读与交流 4)容易调试与维护程序 5)容易实现模块化开发 6)程序可移植性好
用汇编语言编写程序时,必须考虑其存 储器的结构,尤其要考虑其片内数据存储器、 特殊功能寄存器是否正确合理的使用,以及 按照实际地址端口数据的处理。 2021/29 6
2021/2/9 6 用汇编语言编写程序时,必须考虑其存 储器的结构,尤其要考虑其片内数据存储器、 特殊功能寄存器是否正确合理的使用,以及 按照实际地址端口数据的处理
3、C51扩展的关键字 由于单片机在结构及编程上的特殊要求,C51 有自己的特殊关键字,称之为C51扩展的关键字, 下面给出常用的C51扩展的关键字。 at bdata bit code data idata interrupt pdata reentrant sbit sfr sfrl xdata 这些关键字在后面会陆续接触到,此处先不给 出它们的含义。 2021/29
2021/2/9 7 3、 C51扩展的关键字 由于单片机在结构及编程上的特殊要求,C51 有自己的特殊关键字,称之为C51扩展的关键字, 下面给出常用的C51扩展的关键字。 _at_ bdata bit code data idata interrupt pdata reentrant sbit sfr sfr16 xdata 这些关键字在后面会陆续接触到,此处先不给 出它们的含义
4.1C51基本数据类型 1、数据类型:数据的不同格式 2、数据类型分类:基本型(表41)、构 造类型(数组、结构体、共同体、枚 举)、指针类型和空类型 2021/29 8
2021/2/9 8 4.1 C51基本数据类型 1、数据类型:数据的不同格式。 2、数据类型分类:基本型(表4.1)、构 造类型(数组、结构体、共同体、枚 举)、指针类型和空类型
在计算机中不能随意给一个变量赋任意 的值,因为变量在单片机的内存中要占空 问的,变量不同,所占的空间不同。 为了合理利用单片机的内存空间,在编 程时要设定合适的数据类型。 2021/29
2021/2/9 9 在计算机中不能随意给一个变量赋任意 的值,因为变量在单片机的内存中要占空 间的,变量不同,所占的空间不同。 为了合理利用单片机的内存空间,在编 程时要设定合适的数据类型
表4-1c51数据类型、长度和数值范围 数据类型表示方法长度 数值范围 无符号字符型 unsigned1字节0~255 char 有符号字符型 signed char1字节-128~127 无符号整型 unsigned2字节0~65535 int 有符号整型 signed int2字节-32768~32767 无符号长整型un: signed4字节0~4294967295 long 有符号长整型 signed long4字节-2147483648 2147483647 浮点型 float 字节±11755E-38 ±340E+38 特殊功能寄sfr 1字节0~255 存器型 sfrl6 2字节0~65535
2021/2/9 10 表4-1 C51数据类型、长度和数值范围 数据类型 表示方法 长 度 数 值 范 围 无符号字符型 unsigned char 1字节 0~255 有符号字符型 signed char 1字节 -128~127 无符号整型 unsigned int 2字节 0~65535 有符号整型 signed int 2字节 -32768~32767 无符号长整型 unsigned long 4字节 0~4294967295 有符号长整型 signed long 4字节 -2147483648~ 2147483647 浮点型 float 4字节 ±1.1755E-38~ ±3.40E+38 特殊功能寄 存器型 sfr sfr16 1字节 2字节 0~255 0~65535 位类型 bit、sbit 1位 0或1
补充:C51特殊功能寄存器与位变量 的定义(P82) 主要内容 1、8位特殊功能寄存器的定义 2、16位特殊功能寄有器的定义 3、sbit型位变量的定义 4、bit型位变量的定义 2021/29
2021/2/9 11 补充: C51特殊功能寄存器与位变量 的定义(P82) 主要内容 1、 8位特殊功能寄存器的定义 2、 16位特殊功能寄存器的定义 3、 sbit型位变量的定义 4、 bit型位变量的定义