第6章 C语言编程与应用.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:160 大小:4.1MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第6章 C语言编程与应用.ppt

第6章C语言编程与应用.ppt

预览

免费试读已结束,剩余 150 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

6.1概述6.251单片机C语言编写的一般方法6.3C51数据类型及在MCS-51中的存储方式6.4C51语言的程序结构6.5C语言在MCS-51单片机中的典型运用6.1概述单片机的高级语言包括:Basic语言、PL/M语言和C/C++语言。Basic语言主要应用在MCS-51系列单片机上,效果不是很理想,现在已经不再使用。PL/M语言对硬件的控制能力和代码效率都很好,但局限于Intel公司的单片机系列,移植性差。C/C++语言是目前单片机的主流编程语言。单片机C语言编译器不仅把开发者的C语言编译成8051可以识别的机器码,更主要的是能够自动安排程序存储器的空间,分配8051内部RAM与外部RAM的空间、自动安排堆栈位置。这些事情都是汇编语言开发者必须自己作的。C51编译器还可以把不同函数的数据实行覆盖有效利用片上有限的RAM空间。一般情况下只懂C语言不懂得单片机的指令集的开发者也能够用C51编写完美的单片机程序。所以开发者学习单片机而不懂C语言将在激烈的市场竞争中处于十分不利的地位。1单片机应用系统开发的软硬件环境构成一个典型的单片机系统开发环境组成如图所示。2单片机应用系统开发工具选择原则3使用JTAG界面单片机仿真开发环境在线编程目前有两种实现方法:在系统编程(ISP)和在应用编程(IAP)。ISP一般通过单片机专用的串行编程接口对单片机内部的Flash存储器进行编程,而IAP技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将控制从一个存储体转向另一个。ISP的实现一般需要很少的外部电路辅助实现,而IAP的实现更加灵活,通常可利用单片机的串行口接到计算机的RS232口,通过专门设计的固件程序对内部的FLASH存储器编程。6.251单片机C语言编写的一般方法µVision3IDE主要特性:●集成开发环境6.2.1建立您的第一个KEILC51项目(1)点击“Project→NewProject...”菜单,出现一个对话框,选择工程要保存的路径,输入工程文件名。为了方便管理,通常我们将一个工程放在一个独立文件夹下,如保存到exam_1文件夹,工程文件的名字为exam_1,如下图所示,然后单击[保存]按钮。工程建立后,此工程名变为exam_l.uv2。(2)点击“保存”按钮后,出现下图所示对话框,这个对话框要求选择目标CPU(即所用芯片的型号),Keil支持的CPU很多,Keil软件的关键是程序代码的编写,而非用户选择什么硬件,我们选择Atmel公司的89C52芯片。点击ATMEL前面的“+”号,展开该层,点击其中的89C52。出现的界面上页图所示,右边【Description】栏里是对该型号单片机的基本说明,我们可以单击其他型号单片机浏览一下其功能特点,然后再点击“确定”按钮,弹出将8051初始化代码复制到项目中的询问窗口,如下图所示。(3)单击“否”按钮,出现下图所示的窗口。如果需要重命名Target1和SourceGroup1,在左侧ProjectWorkspace区用鼠标左键选中Target1,再用鼠标左键单击Target1,即可重新命名Target1。用同样的方法可以修改SourceGroup1,这里对此不做修改。到此为止,我们还未建立好一个完整的工程,虽然工程名有了,但工程当中还没有源文件及代码,接下来我们添加文件及代码。(4)使用菜单“File→New”或者点击工具栏的新建文件按钮,新建文件后窗口界面如图2-6所示。此时光标在编辑窗口中闪烁,可以输入用户的应用程序,但此时这个新建文件与我们刚才建立的工程还没有直接的联系,单击保存,窗口界面如图2-7所示,在【文件名(N)】编辑框中,输入要保存的文件名,同时必须输入正确的扩展名。注意,如果用C语言编写程序,则扩展名必须为.c;如果用汇编语言编写程序,则扩展名必须为.asm。这里的文件名不一定要和工程名相同,用户可以随意填写文件名,然后单击【保存】按钮。(5)回到编辑界面,单击【Target1】前面的“+”号,然后在【SourceGroup1】选项上,单击右键,弹出如下图所示的菜单。然后选择【AddFilestoGroup'SourceGroup1'】菜单项,对话框如图2-9所示。选中文件后的对话框图2-10将文件加入工程后的屏幕窗口点亮一个二极管的控制系统硬件电路(6)在编辑窗口中输入点亮一个发光二极管的C语言源程序:#include<reg52.h>//52系列单片机头文件sbitled1=P1^0;//声明单片机P1口的第一位voidmain(){led1=0;//*点亮LED发光二极管while(1);//程序停止到这里}程序输入完毕后保存,界面如下图。程序输入完毕后保存,