文档详情

讲座二(C51自身资源运用以及KeilC语言相关方面知识).pptx

发布:2017-05-27约8.13千字共55页下载文档
文本预览下载声明
Keil C语言知识以及80C51自身资源运用 高 翔;硬件条件 硬件平台 最小系统 IO扩展板 Zlg7290扩展板 仿真器 TKS-58BU 软件条件 程序编译软件平台 Keil v4 程序语言 Keil C语言;安装keil V4 破解keil 打开keilv4,点击file-license management查看“CID” ;打开破解软件,输入CID,点击生成“generate” 将生成的“LIC”加入keilv4的license management ;新建工程(project-new usion project) 工程名称 选择器件(AT80C51) 新建源程序文件(c文件) 保存为后缀名为.c的文件,如main.c 将建立的源程序文件加入到项目管理器 双击“source group”或右键选择“add file to group” 选择建立的.c文件 编写程序 编译程序(build) 硬件下载调试或者软件仿真(debug);软件调试 单步运行 全速运行 变量窗口;为什么要用c语言 汇编语言 优:执行效率高 缺:编程效率低(尤其对于复杂、程序量大的程序)、可??植性差、可读性差、底层硬件涉及过多 C语言 优: 简洁、结构化; 开发速度快、执行效率高、可移植性强; 不过于涉及底层硬件 缺: 占用空间比汇编大5%~20% 做运算时,没有汇编效率高 ;南京师范大学电气及自动化工程学院;时钟 RAM、ROM 并行IO口 定时/计数器 中断控制器 总线 串口;8个按键与8个LED一一对应控制 流水灯;什么时候使用 系统自带头文件 格式:#include math.h(每行声明一个头文件) 必备: “reg51.h” 或“reg52.h” 使用数学运算函数(如求绝对值abs(a)):“math.h” 使用字符串函数(如strcpy):“string.h” 使用空指令_nop_():“intrins.h” 使用总线定义XBYTE:“ABSACC.h” 程序员自编头文件 格式:#include “zlg7290.h” 常与源程序文件配套使用,用来声明该源程序文件中的函数等,其他源程序文件需要使用该函数时,引用该头文件即可。;预定义#define A B 数据类型简称:如#define uchar unsigned char 总线地址定义:如#define LCD XBYTE[0xF6FF] 声明变量、常数 全局变量: int a,b=10,c; 全局常数: const int a =10; 声明函数原型(在函数定义前调用该函数) 本源程序内部函数原型 Void delay_ms(int a); 其他源程序的函数 Extern void delay_ms(int a)或者包含该头文件;特点 唯一的、必须的 无形参 死循环 无返回值 定义结构 void main(void) { 声明 程序 while(1) { 程序 } };一个完整的C程序是由若干条C语句按一定的方式组合而成 方式——程序结构 C语言的语句 运算符;南京师范大学电气及自动化工程学院;定义 指定存储器位置里的数据是可变的 结构:数据类型 变量名称[=默认值]; int x; int x=10; int x,y,z=10; 类型 内部变量 全局变量:位于全局声明区, 静态变量:(static int x;)作用域为本源文件 普通变量:int x;作用域为整个工程 变量存储在ROM中:code int a[200]; 局部变量:位于局部声明区, 静态变量:占空间 自动变量:不占空间 外部变量:来自于其他c文件(extern int x;);标志符 只有是字母、数字和下划线组成的字符串,且第一个字符必须是字母和下划线。 大小写敏感(区分) 含义清晰 作用 作变量、函数名称 替换 数据类型 关键字 已定义,程序员只能使用,不能定义的。 常用的主要有: int、char、if、while、include、define、bit static、extern、const、code、interrupt、sbit;一个C语言可由一个主函数main()和若干个其他函数组成。 主函数可调用其他函数; 其他函数之间亦可互相调用; 其他函数不能调用主函数。 函数的定义 无参数函数:被调用时无参数传递,若也没返回值时,类型说明符也为void 类型说明符 函数名(void) { 声明 语句 } 有参数函数 类型说明符 函数名 (行式参数列表) 如 int max(int a,int b){};函数的调用 无参数 Delay(100); 有参数 A = max(100,120); 形参、实参 函数的返回值 函数的传递 值传递 形参为普通类型 void delay(int n) 地址传递 形参为
显示全部
相似文档