第3章C语言编程基础.ppt

上传人:b****2 文档编号:2122748 上传时间:2022-10-27 格式:PPT 页数:160 大小:3.11MB
下载 相关 举报
第3章C语言编程基础.ppt_第1页
第1页 / 共160页
第3章C语言编程基础.ppt_第2页
第2页 / 共160页
第3章C语言编程基础.ppt_第3页
第3页 / 共160页
第3章C语言编程基础.ppt_第4页
第4页 / 共160页
第3章C语言编程基础.ppt_第5页
第5页 / 共160页
点击查看更多>>
下载资源
资源描述

第3章C语言编程基础.ppt

《第3章C语言编程基础.ppt》由会员分享,可在线阅读,更多相关《第3章C语言编程基础.ppt(160页珍藏版)》请在冰豆网上搜索。

第3章C语言编程基础.ppt

单片机原理与接口技术电子教案单片机原理与接口技术电子教案第第章章成都大学工业制造学院程跃3C51C51语言编程基础语言编程基础内容概要内容概要本章在读者已掌握标准本章在读者已掌握标准CC语言前提下语言前提下,初步介绍如如何使用何使用C51C51来编写来编写AT89C51AT89C51单片机的应用程序单片机的应用程序。

C51C51是在标准是在标准CC的基础上,根据单片机存储器硬件的基础上,根据单片机存储器硬件结构及内部资源,扩展了相应的数据类型和变量,结构及内部资源,扩展了相应的数据类型和变量,而C51在语法规定、程序结构与设计方法上,都与标准在语法规定、程序结构与设计方法上,都与标准CC相同。

相同。

本章重点介绍本章重点介绍C51C51对标准对标准CC所扩展的部分所扩展的部分,并通过一些例程例程来介绍C51的程序设计思想。

2单片机入门主要掌握以下知识和应用单片机入门主要掌握以下知识和应用最小系统能够运行起来的必要条件。

1.电源2.晶振3.复位电路对单片机任意IO口的随意操作1.输出控制电平高低2.输入检测电平高低。

定时器:

重点掌握最常用的方式2中断:

外部中断、定时器中断、串口中断串口通信:

单片机之间、单片机与计算机间3目前51系列单片机编程的C语言都采用KeilC51(简称C51),KeilC51是在标准是在标准CC语言基础上发展起来的。

语言基础上发展起来的。

C语言是美国国家标准协会(ANSI)制定的编程语言标准,1987年ANSI公布87ANSIC87ANSIC,即标准C语言。

KeilC51KeilC51语语言言是在是在ANSICANSIC的基础上针对的基础上针对5151单片机的硬件特点进行的扩展,单片机的硬件特点进行的扩展,并向51单片机上移植,经过多年努力,C51语言已经成为公认的高效、简洁而又贴近51单片机硬件的实用高级编程语言。

3.13.1编程语言编程语言KeilC51KeilC51简介简介4C语言具有结构化和模块化特点,便于阅读和维护。

C语言可移植性好,很多微控制器都支持C编译器。

功能化的代码能够很方便的从一个工程移植到另一个工程,从而减少了开发时间。

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

使用使用CC语言的优点语言的优点5使用使用CC语言的优点语言的优点C语言编写的程序比汇编语言编写的程序更符合人们的思考习惯,寄存器分配,不同存储器的寻址及数据类型等细节交由编译器管理,开发者可以更专心的考虑算法,而不是考虑一些细节问题。

这样可以减少编程出错的机率,从而提高开发效率,减少调试的时间。

C语言和微控制器是相对独立的,开发者不必知道处理器的具体内部结构和处理过程。

当用新型的微控制器开发程序时,可以很快上手,减少学习时间和程序开发时间。

6C51C51与标准与标准CC的主要区别的主要区别(11)头文件的差异。

)头文件的差异。

51系列单片机厂家有多个,它们的差异在于内部资源如差异在于内部资源如定时器、中断、定时器、中断、I/OI/O等数量以及功能的不同等数量以及功能的不同,而对使用者来说,只需要将相应的功能寄存器的头文件加载在程序内,就可实现所具有的功能。

因此,KeilC51KeilC51系列的头文件系列的头文件集中体现了各系列芯片的不同资源及功能。

(22)数据类型的不同)数据类型的不同。

51系列单片机包含位操作空间和丰富的位操作指令,因此KeilC51与ANSIC相比又扩展了4种类型,以便能够灵活地进行操作。

电脑CPU是32位或64位,运算能力强,内存大,大量使用float型与longint型变量,单片机一般为8位或16位,运算能力较弱,以char型为主,int型为辅7(33)数据存储类型的不同)数据存储类型的不同。

C语言最初是为通用计算机设计的,在通用计算机中只有一个程序和数据统一寻址的内存空间,而而5151系列单片机系列单片机有片内、有片内、外程序存储器,还有片内、外数据存储器。

外程序存储器,还有片内、外数据存储器。

标准标准CC并没有提供这部分存储并没有提供这部分存储器的地址范围的定义。

器的地址范围的定义。

此外,对于AT89S51单片机中大量的特殊功能寄存器也没有定义。

(44)标准)标准CC语言语言没有没有处理处理单片机中断单片机中断的定义的定义。

(55)KeilC51与标准C的库函数库函数有较大的不同。

由于标准C的中的部分库函数部分库函数不适于嵌入式处理器系统不适于嵌入式处理器系统,因此被排除在KeilC51之外,如字符屏幕和图形函数。

8(6)目标代码电脑生成.exe格式,编译完成后直接在电脑上运行,单片机编译生成.bin代码文件,需要烧写到单片机中并结合外围电路执行。

(7)仿真调试单片机的C程序在电脑上进行编译,然后需通过仿真器连接后进行仿真调试,近年来随着电路仿真软件的不断完善,也可通过proteus等软件直接在电脑上进行仿真调试。

9但是从数据运算操作、程序控制语句以及函数的但是从数据运算操作、程序控制语句以及函数的使用上来说,使用上来说,KeilC51KeilC51与标准与标准CC几乎没有什么明显的几乎没有什么明显的差别。

差别。

如果程序设计者具备了有关标准C的编程基础,只要注意KeilC51与标准C的不同之处,并熟悉AT89S51单片机的硬件结构,就能够较快地掌握KeilC51的编程。

10(11)编译器)编译器:

由源代码文件生成目标文件由源代码文件生成目标文件(22)开发套件)开发套件:

包含了编译器、链接器等开发工具的组合包包含了编译器、链接器等开发工具的组合包(33)IDEIDE(IntegratedDevelopmentEnvironmentIntegratedDevelopmentEnvironment集成开发环境)集成开发环境)集成开发环境)集成开发环境)将项目管理、源代码编辑和程序编译、链接、调试等各种工具组合在一将项目管理、源代码编辑和程序编译、链接、调试等各种工具组合在一个功能强大的环境中,具有良好人机界面。

个功能强大的环境中,具有良好人机界面。

8051单片机所使用的单片机所使用的C语言编译器简称为语言编译器简称为Cx51例如包含例如包含Cx51、Ax51、BL51、LIB51、OH51、RTX51等等KEILC51KeilKeilVision3IDEVision3IDE3.2KeilC513.2KeilC51的开发工具的开发工具11KeilKeilVision3IDEVision3IDECx51.exeKeilC51KeilC51开发套件开发套件v7.50v7.5012CC语言结构特点语言结构特点一个C程序由一个或多个函数组成,其中必须有一个用main命名的主函数。

每个函数由头部和函数体两部分组成。

每个C语句以“;”结尾。

C程序的书写格式比较自由。

可以在程序的任何位置用/*.*/对C程序中的任何部分作注释。

可以在行末用/追加注释。

13C51的程序结构#include#includevoiddelay()voiddelay();voidvoidmainmain()()delay();delay();P0=0x33P0=0x33;例:

文件例:

文件例:

文件例:

文件led.cled.c内的代码如下:

内的代码如下:

内的代码如下:

内的代码如下:

头文件头文件头文件头文件(一个或若干个)(一个或若干个)主函数主函数主函数主函数n程序的入口程序的入口函数名固定,且与书写的位置无关函数名固定,且与书写的位置无关n有且仅有一个有且仅有一个函数声明或定义函数声明或定义函数声明或定义函数声明或定义n库函数或用户自定义的函数库函数或用户自定义的函数n可以有若干个可以有若干个C51程序大体上是若干函数的集合14单片机控制单片机控制LEDLED(电路图)(电路图)15我的第一个程序(单片机控制我的第一个程序(单片机控制LEDLED点亮)点亮)#includesbitLED=P10;voidmain()/主程序LED=0;/点亮LEDwhile

(1);16单片机控制单片机控制LEDLED闪烁(程序)闪烁(程序)#include#defineucharunsignedchar#defineuintunsignedintsbitLED=P10;voiddelay(uintx)/延时程序uchari;while(x-)for(i=0;i120;i+);voidmain()/主程序while

(1)LED=LED;/LED灯闪烁delay(400);17KEILKEIL与与PROTEUSPROTEUS快速入门快速入门KeilC51KeilC51是是美美国国KeilSoftwareKeilSoftware公司出品的公司出品的5151系列兼容单系列兼容单片机片机CC语言软件开发系统,与汇编相比,语言软件开发系统,与汇编相比,CC语言在功能上、结语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

构性、可读性、可维护性上有明显的优势,因而易学易用。

用过汇编语言后再使用用过汇编语言后再使用CC来开发,体会更加深刻。

来开发,体会更加深刻。

KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

181、建立一个新工程单击Project菜单,在弹出的下拉菜单中选中NewProject选项,如图3所示。

图3新建工程文件KEILC51KEILC51快速入门快速入门192、然后选择你要保存的路径,输入工程文件的名字,如图4所示,然后点击保存。

图4新建工程文件的保存路径KEILC51KEILC51快速入门快速入门203、这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keilc51几乎支持所有的51内核的单片机,如图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定。

图5选择单片机的型号KEILC51KEILC51快速入门快速入门214、完成上一步骤后,屏幕如图6所示。

图6完成新建工程文件KEILC51KEILC51快速入门快速入门22下面可以编写程序。

5、在图2-7中,单击“File”菜单,再在下拉菜单中单击“New”选项。

新建文件后屏幕如图8所示。

图7新建文档图8完成新建文档KEILC51KEILC51快速入门快速入门23此时光标在编辑窗口里闪烁,这时可以键入应用程序了,建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“SaveAs”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,用C语言编写扩展名为(.c)如果用汇编语言编写扩展名必须为(.asm)。

然后,单击“保存”按钮。

如图8所示。

图8保存新建文档KEILC51KEILC51快速入门快速入门246、回到编辑界面后,单击“Target1”前面的“”号,然后在“SourceGroup1”上单击右键,弹出菜单9。

图9打开添加文档界面KEILC51KEILC51快速入门快速入门25然后单击“AddFiletoGroupSourceGroup1”,屏幕如图10所示。

图10添加文档KEILC51KEILC51快速入门快速入门26选中main.c,然后单击“Add”屏幕如下图所示。

注意到“SourceGroup1”文件夹中多了一个子项“main.c”子项的多少与所增加的源程序的多少相同。

7、现在便可输入程序了,输入完毕进行调试便可运行。

图10完成添加文档KEILC51KEILC51快速入门快速入门27Prote

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

当前位置:首页 > 初中教育 > 中考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1