单片机应用技术(C语言版)第4章C51程序设计入门ppt课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机应用技术
(C语言版)
第4章 C51程序设计入门
10.05.2021
完整最新ppt
1
第4章 单片机C语言及程序设计
目录
4.1 C51的基本数据类型 4.2 C51变量的存储区域 4.3 C51的运算符 4.4 数组
4.5 指针 4.6 结构 4.7 C51程序设计 4.8 函数的定义与调用
10.05.2021
这里的位号常数同上,为0~7。例如:
sbit P0_6=0x80^6;
sbit P1_7=0x90^7;
sbit OV=0xd0^2; //定义PSW的第2 位
sbit
10.05.2021
ES=0xa8^4; //定义IE的第4位
完整最新ppt
18
d、几点说明
1)用sbit定义的位变量,必须能够按位 操作,而不能够对无位操作功能的位定义位 变量。
_at_ bdata
bit
code
data idata
interrupt
pdata
reentrant
sbit
sfr
sfr16
xdata
这些关键字在后面会陆续接触到,此处先不给
出它们的含义。
10.05.2021
完整最新ppt
7
4.1 C51基本数据类型
1、数据类型:数据的不同格式。 2、数据类型分类:基本型(表4.1)、
[存储类型] bit 位变量名1[=初值] [,位变量名2[=初值]] [,…]
完整最新ppt
2
本章内容完全是结合单片机来讲解,也就 是补充C语言在单片机方面的概念、数据定 义和函数定义等。
通过本章学习,使读者能够比较顺利地 编写C51程序。
10.05.2021
完整最新ppt
3
1、 C51概述
“C51”概念:把“单片机C语言”称 为“C51”,也称为“Keil C”。
用C51编写单片机程序,与用ANSI C 编写程序的不同之处是,需要根据单片 机存储器结构及内部资源,定义相应的 数据类型和变量。
sbit P0_0=0x80; sbit P1_1=0x91; sbit RS0=0xd3; //定义PSW的第3 位
sbit ET0=0xa9; //定义IE的第1位
10.05.2021
完整最新ppt
16
b、特殊功能寄存器名带位号定义
定义格式为:
sbit 位变量名 = 特殊功能寄存器名^
位号常数
10.05.2021
完整最新ppt
10
补充: C51特殊功能寄存器与位变量 的定义(P82)
主要内容
1、 8位特殊功能寄存器的定义 2、 16位特殊功能寄存器的定义 3、 sbit型位变量的定义 4、 bit型位变量的定义
10.05.2021
完整最新ppt
11
1、 8位特殊功能寄存器的定义
定义的一般格式为:
sfr 特殊功能寄存器名 = 地址常数
地址常数范围:0x80~0xff。
特殊功能寄存器定义例子(见reg51.h 、reg52.h等文件):
sfr P0=0x80; 存器
//定义P0寄
sfr P1=0x90; 寄存器
//定义P1口
sfr 10.05.2021 PSW=0x完d整0最新;ppt //定义PSW
其它的语法规定、程序结构及程序 设计方法,都与ANSI C相同。
10.05.2021
完整最新ppt
4
2、 C语言编程的优势
在编程方面,使用C51较汇编语言有诸 多优势:
1)编程容易 2)容易实现复杂的数值计算 3)容易阅读与交流 4)容易调试与维护程序 5)容易实现模块化开发 6)程序可移植性好
10.05.2021
完整最新ppt
5
用汇编语言编写程序时,必须考虑其存
储器的结构,尤其要考虑其片内数据存储器、 特殊功能寄存器是否正确合理的使用,以及 按照实际地址端口数据的处理。
10.05.2021
完整最新ppt
6
3、 C51扩展的关键字
由于单片机在结构及编程上的特殊要求,C51 有自己的特殊关键字,称之为C51扩展的关键字, 下面给出常用的C51扩展的关键字。
几点说明:
1)定义特殊功能寄存器中的地址必须 在0x80~0xff范围内。
2)定义特殊功能寄存器,必须放在函 数外面作为全局变量。
3)用sfr或sfr16每次只能定义一个特 殊功能寄存器。
4)用sfr或sfr16定义的是绝对定位的 变量(因为名字是与确定地址对应的), 具有特定的意义,在应用时不能像一般变 量那样随便使用。
2)用sbit定义位变量,必须放在函数外 面作为全局位变量,而不能在函数内部定义 。
3)用sbit每次只能定义一个位变量。
4)用sbit定义的是一种绝对定位的位变 量(因为名字是与确定位地址对应的),具 有特定的意义,不能随便使用。
10.05.2021
完整最新ppt
19
4、 bit型位变量的定义
常说的位变量指的就是bit型位变量。 C51的bit型位变量定义的一般格式为:
构造类型(数组、结构体、共同体、 枚举)、指针类型和空类型
10.05.2021
完整最新ppt
8
在计算机中不能随意给一个变量赋任意 的值,因为变量在单片机的内存中要占空 间的,变量不同,所占的空间不同。
为了合理利用单片机的内存空间,在编 程时要设定合适的数据类型。
10.05.2021
完整最新ppt
9
这里的位号常数为0~7。例如:
sbit P0_3=P0^3;
sbit P1_4=P1^4;
sbit OV=PSW^2; //定义PSW的第2 位
sbit
10.05.2021
ES=IE^4; //定义IE的第4位
完整最新ppt
17
c、寄存器地址带位号定义位变量
定义格式为:
sbit 位变量名 = 特殊功能寄存器地址 ^位号常数
12
2、 16位特殊功能寄存器的定义
定义的一般格式为: sfr16 特殊功能寄存器名=地址常数 地址常数范围:0x80~0xff。 例如(见reg51.h、reg52.h等文件):
sfr16 DPTR=0x82;
sfr16 T2=0xcc;
TH2
//含TL2和
10.05.2021
完整最新ppt
13
Hale Waihona Puke 10.05.2021完整最新ppt
14
3、 sbit型位变量的定义
特殊功能寄存器的位声明 一般格式为:
sbit 位变量名 = 位地址表达式 这里的位地址表达式有三种形式: 直接位地址 特殊功能寄存器名带位号 字节地址带位号
10.05.2021
完整最新ppt
15
a、用直接位地址定义位变量
定义特殊功能寄存器的位。例如:
相关文档
最新文档