单片机的C语言编程精简版-ppt课件_第1页
单片机的C语言编程精简版-ppt课件_第2页
单片机的C语言编程精简版-ppt课件_第3页
单片机的C语言编程精简版-ppt课件_第4页
单片机的C语言编程精简版-ppt课件_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电气信息实验教学中心电气信息实验教学中心仝迪仝迪;KEIL C51的运用的运用 C言语是一种编译型程序设计言语,它兼顾了多种高级言语的特点,并具备汇编言语的功能。目前,运用C言语进展程序设计曾经成为软件开发的一个主流。用C言语开发系统可以大大缩短开发周期,明显加强程序的可读性,便于改良和扩展。而针对8051的C言语日趋成熟,成为了专业化的适用高级言语。;1 1、C51C51的特点的特点 C言语作为一种非常方便的言语而得到广泛的支言语作为一种非常方便的言语而得到广泛的支持,国内最通用的是持,国内最通用的是Keil C51. C言语程序本身不依赖于机器硬件系统,根本上言语程序本身不依赖于机器硬件系

2、统,根本上不作修正就可将程序从不同的单片机中移植过来。不作修正就可将程序从不同的单片机中移植过来。 C提供了很多数学函数并支持浮点运算,开发效提供了很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间,添加程序可读性和可率高,故可缩短开发时间,添加程序可读性和可维护性。维护性。;C51C51与与ASM51ASM51相比,有如下优点:相比,有如下优点:对单片机的指令系统不要求了解,仅要求对对单片机的指令系统不要求了解,仅要求对8051 的存贮器构的存贮器构造有初步了解;造有初步了解;存放器分配、不同存贮器的寻址及数据类型等细节可由编译器存放器分配、不同存贮器的寻址及数据类型等细节可由编译器管

3、理;管理;程序有规范的构造,可分成不同的函数,这种方式可使程序构程序有规范的构造,可分成不同的函数,这种方式可使程序构造化;造化;具有将可变的选择与特殊操作组合在一同的才干,改善了程序具有将可变的选择与特殊操作组合在一同的才干,改善了程序的可读性;的可读性;提供的库包含许多规范子程序,具有较强的数据处置才干;提供的库包含许多规范子程序,具有较强的数据处置才干;由于具有方便的模块化编程技术,使已编好程序可容易地移植;由于具有方便的模块化编程技术,使已编好程序可容易地移植;;C51C51存储类型存储类型;C51C51存储类型存储类型存储类型存储类型寻址空间寻址空间数据长度数据长度值域范围值域范围x

4、dataxdata片外数据存储片外数据存储 (64K64K)1616065535065535codecode片内统一编址片内统一编址ROMROM(64K64K)1616065535065535bdatabdata片内可位寻址的片内可位寻址的RAMRAM(16byet16byet)1 101270127;1 1、变量的声明、变量的声明 C51的数据声明的普通格式如下 类型阐明符修饰符 标识符=初值 例如:unsigned char code Flag = 0 x0f; 就是声明一个无符号的char型变量Flag,并给他赋初值为0 x0f;并且声明他所在的存储空间在片内一致编址的ROM中。 声明中

5、,假设没有修饰符,那么数据默许的存储空间为data型,也就是在片内RAM中。; 2 2、C51C51的程序构造的程序构造 与普通与普通C C言语的构造一样,以言语的构造一样,以main()main()函数为程序入口,程序体函数为程序入口,程序体中包含假设干语句还可以包含假设干函数。中包含假设干语句还可以包含假设干函数。 C51C51函数的普通格式函数的普通格式 类型类型 函数名参数表函数名参数表 数听阐明部分数听阐明部分 语句执行部分语句执行部分 ;3 3、C51C51的数据类型的数据类型类型符号关键字占用位数数的表示范围整形有(signed) int16-3276832767(signed)

6、 short16-3276832767(signed) long32-21474836482147483647无unsigned int16065535unsigned short16065535unsigned long3204294967295实型有float323.4e-383.4e38有double641.7e-3081.7e308有char8-128127字符型无unsigned char80255;3 3、C51C51的数据类型扩展定义的数据类型扩展定义 sfr:特殊功能存放器声明特殊功能存放器声明 sfr16:sfr的的16位数据声明位数据声明 sbit:特殊功能位声明特殊功能位

7、声明 bit:位变量声明位变量声明 例:例:sfr SCON = 0X98; sfr16 T2 = 0 xCC; sbit OV = PSW2;4 4、C51C51数据的存储类型数据的存储类型 称号称号 存储空间位置存储空间位置 长度长度 数据范围数据范围 data 直接寻址片内直接寻址片内RAM 8位位 0255 bdata 可位寻址片内可位寻址片内RAM 1位位 0/1 idata 间接寻址片内间接寻址片内RAM 8位位 0255 pdata 片外页片外页RAM 8位位 0255 xdata 片外片外RAM 16位位 065535 code 程序程序ROM 16位位 065535;4 4、

8、C51C51数据的存储类型数据的存储类型 例:例: 数据类型数据类型 存储类型存储类型 变量变量 char data var1; bit data flags; unsigned char xdata vextor10;5 5、C51C51的包含的头文件的包含的头文件 通常有通常有:reg51.h math.h ctype.h stdio.h stdlib.h absacc.h 常用有常用有:reg51.h 定义特殊功能存放器和位存放定义特殊功能存放器和位存放器;器; math.h 定义常用数学运算;定义常用数学运算; ;6 6、C-51C-51的运算符的运算符 与与C言语根本一样:言语根本一

9、样: + - * / 加加 减减 乘乘 除除 = 位右移位右移 位左移位左移 & | (按位与按位与 按位或按位或) (按位异或按位异或 按位取反按位取反);7 7、C-51C-51的根本语句的根本语句 与规范与规范C言语根本一样:言语根本一样: if 选择言语选择言语 switch/case 多分支选择言语多分支选择言语 while 循环言语循环言语 do-while 循环言语循环言语 for 循环言语循环言语;8 8、中断效力程序、中断效力程序 函数名形参表函数名形参表interrupt n 例子:例子: void timer0_int() interrupt 1 TF0=0; /

10、clear timer0 int flag ET0=0; /timer0 int disable temp+; if(temp=0 xff) led=led; temp=0; ET0=1; /timer0 int enable ;9 9、I/OI/O口定义口定义 #include #define prot xbyte0 x1000 或用指针定义或用指针定义;例:清零程序例:清零程序 (将将2000H20FFH的内容清零的内容清零) 汇编言语程序汇编言语程序ORG 0000HSE01: MOV R0,#00H MOV DPTR,#2000H ;(0000H)送送DPTRLOO1: CLR A MOVX DPTR,A ;0送送(DPTR) INC DPTR ;DPTR+1 INC R0 ;字节数加字节数加1 CJNE R0,#00H,LOO1 ;不到不到FF个字节再清个字节再清LOOP: SJMP LOOP;清零程序清零程序 (将将2000H20FFH的内容清零的内容清零) C51程序程序 #include main( ) int i; unsigned char xdata *p=0 x2000; /* 指针指向指针指向2000H单元

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论