C51编程和Keil的应用.ppt

上传人:小飞机 文档编号:5417033 上传时间:2023-07-05 格式:PPT 页数:34 大小:737.50KB
返回 下载 相关 举报
C51编程和Keil的应用.ppt_第1页
第1页 / 共34页
C51编程和Keil的应用.ppt_第2页
第2页 / 共34页
C51编程和Keil的应用.ppt_第3页
第3页 / 共34页
C51编程和Keil的应用.ppt_第4页
第4页 / 共34页
C51编程和Keil的应用.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《C51编程和Keil的应用.ppt》由会员分享,可在线阅读,更多相关《C51编程和Keil的应用.ppt(34页珍藏版)》请在三一办公上搜索。

1、C51编程基础及Keil软件的应用,计算机学院 刘双虎课件密码:,C51 语 言 简 介,C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。目前,使用C语言进行程序设计已经成为软件开发的一个主流。用C语言开发系统可以大大缩短开发周期,明显增强程序的可读性,便于改进和扩充。而针对8051的C语言日趋成熟,成为了专业化的实用高级语言。,C51 语 言 的 特 点,C提供了很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间,增加程序可读性和可维护性,C语言程序本身不依赖于机器硬件系统,基本上不作修改就可将程序从不同的单片机中移植过来,C语言作为一种非常方便的语言

2、而得到广泛的支持,国内最通用的是Keil C51,C51语言的优点(一),C51中数据声明的格式,类型说明符修饰符 标识符=初值,例:unsigned char code Flag=0 x0f;,类型说明符,修饰符(存储器类型),标识符,初值,这个定义给出的内容是:定义一个无符号的字符型变量,该变量的名字是Flag,初值为0 x0f,该变量存放在ROM空间中。,说明:如果在一个定义中,没有修饰符,即没有说明存放的位置,则默认存放在片内RAM中,即是一个data类型的变量。,KeilC51编译器能识别的存储器类型,DATA:直接寻址的片内数据存储器BDATA:可位寻址的片内存储器IDATA:间接

3、寻址的片内数据存储器PDATA:分页寻址的片外数据存储器XDATA:片外数据存储器CODE:程序存储器,C51中的数据类型,C51中数据类型的扩充定义,sfr:特殊功能寄存器声明sfr16:sfr的16位数据声明sbit:特殊功能位声明bit:位变量声明例:sfr SCON=0X98;sfr16 T2=0 xCC;sbit OV=PSW2;,C51中常用的头文件,Reg52.h(定义单片机的特殊功能寄 存器和端口)Stdio.h(标准输入输出函数库)Math.h(标准数学函数库)Absacc.h(外部绝对地址访问函数库)Ctype.h(字符函数库)Stdlib.h(数学函数库),C51中的运算

4、符,C51中的运算符:+-*/(加 减 乘 除)=(位右移 位左移)&|(按位与 按位或)(按位异或 按位取反)-+(减量运算符 增量运算符),C51的基本语句,与标准C语言基本相同:if 选择语言 switch/case 多分支选择语言 while 循环语言 do-while 循环语言 for 循环语言,C51的程序结构,与一般C语言的结构相同,以main()函数为程序入口,程序体中包含若干语句还可以包含若干函数。C51函数的一般格式 类型 函数名(参数表)数据说明部分 语句执行部分,C51中中断服务程序的定义方法,中断服务程序的格式:函数名()interrupt n using n中断服务

5、程序内容 说明:中断服务程序中函数名可以自己定义,上面的interrupt n代表中断服务程序的入口地址,这个决定中断服务程序是为谁服务的。,Keil软件的使用介绍(一),Keil C51是德国知名软件公司Keil(现已并入ARM公司)开发的基于8051内核的微控制器软件开发平台,是目前开发8051内核单片机的主流工具。,Keil 软件介绍,Keil软件的使用介绍(二),下面给大家介绍怎么用该软件进行一个程序的编写和调试。打开软件(双击桌面上的Keil软件图标 进入)建立新的项目文件在下拉菜单中选择Project选项,然后选择New Project。,Keil软件的使用介绍(三),给新建的项目

6、取一个名字取名的时候请注意,一般项目的名字都要能代表项目的内容,不要取一些没有任何意义的名字。,注意:在这里只需要写出项目的文件名即可,不需要添加后缀,后缀名默认为.uv2,Keil软件的使用介绍(四),选择CPU类型 在以下的列表中选择所用的CPU型号,选好了以后双击该型号,或者选中后点击“确定”即可。,在本学期的实验中,我们选择Atmel公司的AT89C52型号的单片机就可以了。或者说我们选择是51内核的单片机就可以了。,Keil软件的使用介绍(五),选择是否添加启动代码在选择完CPU的型号以后,会出现是否添加启动代码选项,一般我们都不会用到启动代码,所以,在这里选择“否(N)”选项即可。

7、,Keil软件的使用介绍(六),选择完以后就可以看到已经建立好的项目在Project Window中显示出来了。,项目文件夹,项目中文件夹,可以自己建立多个,放置不同的文件。,Keil软件的使用介绍(七),建立新的程序文件在菜单中选择File,然后在选择New File,建立一个新的程序文件。,或者在快捷图标栏中单击图标,Keil软件的使用介绍(八),新建的程序文件类似一个空白的文本框,文本框标注的文件名为Text 1,Text 2,Text 3,,然后我们选择存盘文件,会出现新的对话框。,Keil软件的使用介绍(九),给新建的程序文件命名 注意:文件名也应该有实际的意义。在取名时,一定要给程

8、序文件名带上后缀,如果选择用汇编语言编写程序,添加的后缀名为.asm,如果选择用C语言来编写程序添加的后缀名为.c,如果不添加后缀名,将导致导入文件时出错。,文件存储的路径默认为项目所在的目录中,也可以选择将程序文件存在其他的路径中,这不会影响到程序的编译及调试过程。,Keil软件的使用介绍(十),建立好了文件以后就可以看到原来的文件对话框上面就已经有了文件地址和文件名了,这表示文件命名和确定存储地址已经完成。,文件存放的路径和文件名。,Keil软件的使用介绍(十一),在项目中添加程序文件接下来,将程序文件添加到项目中去,这样程序文件就可以为项目服务了。添加的方法如下:用鼠标右键单击项目文件中

9、,所要加入程序文件的文件夹,出现了菜单后,选择“Add Files to Group 文件夹名”选项。,文件夹名根据实际你给出的项目的文件夹名字决定,Keil软件的使用介绍(十二),选择后会出现如下的对话框,让你选择需要添加的文件,更改文件类型选项,可以更加快速的找到你要的程序文件。找到文件以后双击该文件,或者选中该文件,点击Add按钮即可将文件添加进项目中,如果多次添加,软件则会报告错误。,Keil软件的使用介绍(十三),完成上面的工作后,就可以在文本框里编写你的程序了,编写完的程序就为当前的项目服务。编写的程序文件如果添加到别的项目中,也可以为别的项目服务。程序的编写需要有一定的格式,要将

10、程序对齐书写,每行写一条指令。,Keil软件的使用介绍(十四),编译程序 将程序写好后就可以进行编译了。编译的目的是为了让程序变成单片机能识别的机器文件,并且可以帮助程序员找出程序中的语法错误。编译时只需要点击快捷图标中的 按钮即可。,该按钮表示编译该项目中的所有程序文件。,Keil软件的使用介绍(十五),程序编译完成后会在输出窗口中显示编译结果,只有当结果出现“0 error(s),0 Waring(s)”才表示程序在语法上没有错误了。另外,在编译器编译程序时,编译结果只能判断程序中是否有语法错误,而对于逻辑错误,编译器是无法识别的,需要程序员自己检查出现的错误。也就是说编译后没有错误,不代

11、表程序的结果就一定正确。为了帮助程序员检查逻辑错误,该软件还可以进行软件的调试,进入软件的调试后,可以根据自己的需要设置需要查看的寄存器,I/O口和内部RAM的值,以判断程序是否有逻辑错误,这部分内容在实验中,可以自己进行学习。,Keil软件的使用介绍(十六),机器文件的产生为了让单片机按照编写的程序工作,必须给单片机内写入机器码文件,这个文件也由该软件生成。快捷图标处单击图标 用来设置输出的机器文件。,Keil软件的使用介绍(十七),点击后出现如下的选择对话框,在output标签页中将Creat.HEX File选项选中,点击确定即可。,标签页选择,在该选项前的空格处打勾,表示选中,这样编译

12、器在编译结束后会自动生成一个机器码的文件,该文件的后缀名为.hex,文件名默认与项目名相同。,可以在此处修改生成的机器码文件的文件名,文件存储的路径为项目所在文件夹。,Keil软件的使用介绍(十八),设置完成后,重新编译一次项目,就可以得到机器码文件了。,生成了一个机器码文件,文件名为ledtest.hex,该文件可以在项目所在的文件夹中找到。,程 序 下 载,下载机器码文件到芯片中,就可以让单片机在程序的控制下工作了。,程 序 举 例,下面我们用Keil软件进行一个实际的项目的建立与调试I/O口电平测试程序#include/单片机内部寄存器头文件void main(void)/定义一个主函数while(1)/作一个死循环 P1=0 xfe;/使P1口最低位为0,其余位为1,课 后 练 习,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号