第二课_51单片机C程序设计基础

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二课 51单片机C程序设计基础

教学内容:51单片机C程序基础知识

教学重点: 51单片机C程序基础知识

教学难点:51单片机C程序基础知识

教学目的:1、掌握51单片机C程序基础知识

2、掌握KEILC51软件使用

从一个例子开始:

/********************************************************

// 第一个发光管以间隔200ms闪烁

// 晶振为11.0592M

/*********************************************************/

#include //52单片机头文件

#define uint unsigned int //宏定义

#define uchar unsigned char //宏定义

sbit led1=P0^0; //单片机管脚位声明

void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms.

{ //delay(500);大约延时500ms.

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void main() //主函数

{

while(1) //大循环

{

led1=0; //点亮小灯

delay(200); //延时200毫秒

led1=1; //熄灭小灯

delay(200); //延时200毫秒

}

}

●C-51与ASM-51相比,具有如下优点:

1)不需要了解51单片机的指令系统,仅仅要求对存储器结构有初步了解2)寄存器分配,存储器寻址以及数据类型等细节可由编译器管理

3)程序有规范的结构,课分为不同函数,使得程序结构化

4)程序更具可读性

5)高的编程及程序调试效率

6)提供的库包含许多标准子程序,具有较强的数据处理能力

7)程序易于做到模块化,便于移植

一、数据结构

●数据的不同格式称为数据类型

●数据按一定的数据类型进行的排列、组合、架构称为数据结构

1、数据类型

1)char(字符型):unsigned char 0~255

signed char -128~+127

例:#define uchar unsigned char

uchar i,j;

一般使用无符号数据类型,因为,有符号运算比无符号运算耗资源

2)int(整型):unsigned int 0~65535

Signed int -32767~+32768

例: #define uint unsigned int

uint x,y;

一般能用char就不用int,节省空间

3)* 指针型

*——地址——数据

类似于寄存器间接寻址

4)C-51的数据类型扩充定义

sfr :特殊功能寄存器声明

sfr16:16位特殊功能寄存器声明

sbit:特殊功能位声明

bit:位变量声明

例:sfr P0 = 0x80;

sfr P1 = 0x90;

sfr P2 = 0xA0;

sfr P3 = 0xB0;

sbit CY = PSW^7;

sbit AC = PSW^6;

sbit F0 = PSW^5;

sbit RS1 = PSW^4;

sbit RS0 = PSW^3;

sbit OV = PSW^2;

2、常量与变量

●常量:在程序运行过程中值不能改变的量

●变量:在程序运行过程中值不断能改变化的量

二、运算符与表达式

●>> 位右移

●<< 位左移补0

●i++ 使用后+1,i=1, i+1=2

●++i 使用前+1 , i+1=2, i=2

●== 测试等于

●!= 测试不等于

●&& 逻辑与

三、main 函数

●格式:void main()

●特点:无返回值,无参

任何一个C程序有且仅有一个main函数,它是整个程序开始执行的

入口

●例:void main()

{

总程序从这里开始;

其他语句;

}

四、小结:通过本次课的学习,学生必须掌握C-51的一些基本特点,能读懂一些简单的程序。

五、作业:1、用汇编语言写一个延时100ms的程序

2、用C-51语言写一个延时100ms的程序

相关文档
最新文档