主讲教师:廉哲 QQ:17434548 电话:13840210518 办公室:综合楼C318
课程主要内容: 51单片机硬件结构 C51基础知识及其基本程序设计 C51函数、数组、指针定义及应用 单片机内部资源及其C语言编程 综合程序设计 考试
C51基础知识及其基本程序设计 1.C51基本数据类型:
1.C51基本数据类型: char 字符类型 1Byte int 整型 2Byte long 长整型 4Byte float 浮点型 4Byte * 指针型 bit 位标量 1bit sfr 8位特殊功能寄存器 sfr16 16位特殊功能寄存器 sbit 位寻址 1bit 在单片机编程中经常采用无符号型数据
2.变量1/2 标识符:以英文字母字符或下划线开头,不能以数 字开头;包含英文字母,下划线和数字。 定义一个变量的格式如下 [存储器种类] 数据类型 [存储器类型] 变量名表 存储器种类: data 直接访问内部数据存储器(128B) bdata 可位寻址内部数据存储器(16B) idata 间接访问内部数据存储器(256B) pdata 分页访问外部数据存储器(256B) xdata 外部数据存储器 (64KB) code 程序存储器 (64KB)
2.变量2/2 存储器类型:SMALL COMPACT LARGE SMALL 存储模式把所有函数变量和局部数据段放在8051 系统 的内部数据存储区这使访问数据非常快,但SMALL 存储模式的 地址空间受限.在写小型的应用程序时,变量和数据放在data 内 部数据存储器中是很好的因为访问速度快,但在较大的应用程序 中data区最好只存放小的变量,数据或常用的变量(如循环计数, 数据索引), 而大的数据则放置在别的存储区域 COMPACT 存储模式中所有的函数和程序变量和局部数据段定 位在8051 系统的外部数据存储区.外部数据存储区可有最多 256 字节(一页), 在本模式中外部数据存储区的短地址用 @R0/R1. LARGE 存储模式所有函数和过程的变量和局部数据段都定位在 8051系统的外部数据区外部数据区最多可有64KB, 这要求用 DPTR 数据指针访问数据.
3.运算符 算术运算符:+ ,- , *, /, % 关系运算符:==,!=,>,<,>=,<= 算术运算符:+ ,- , *, /, % 关系运算符:==,!=,>,<,>=,<= 逻辑运算符:&&,||,! 布尔运算符:&,|,^(xor),~,<<,>> 赋值运算符:= 递增/递减运算符:++,——
4.C的流程控制语句1/3 (1)循环指令: for(表达式1;表达式2;表达式3) {循环体;} while(条件表达式) do {循环体;} while(条件表达式);
4.C的流程控制语句2/3 If(表达式1) (2)条件选择 {语句1;} If(表达式) else if(表达式2) {语句2;} {语句3;} . . else if(表达式n) {语句n;} else {语句n+1;} (2)条件选择 If(表达式) {语句1;} else {语句2;}
4.C的流程控制语句3/3 多分支结构 switch(表达式) {case 常量1:语句1;break; case 常量2:语句2;break; case 常量n:语句n;break; default: 语句n+1; }
5.主函数 #include <reg52.h> //头文件 void main() //主函数 { //函数开始 变量定义; //注释 主体程序设计; } //函数结束
6.函数 函数的结构与主程序的结构相似,不过函数还能传 入数据和传出(返回)数据 函数是一种独立功能的程序。可将所要处理的数据 传入该函数里,称为传入自变量。将函数处理完成后 的结果传回调用他的程序,称为返回值。 函数在程序中的3个位置: (1)函数声明部分 (2)函数定义部分 (3)函数调用部分
7.Keil C的使用 (1)编辑程序 (2)编译程序 (3)生成hex文件
8.Proteus的初步使用 绘制电路的方法 放置元件的方法 仿真的方法 单片机仿真方法。
9.综合演示 LED的驱动 按键的识别,并控制LED 流水灯的设计 7段LED的了解:静态法和动态法