C51语言程序设计基础ppt课件.ppt

C51语言程序设计基础ppt课件.ppt

ID:58728813

大小:1.41 MB

页数:85页

时间:2020-10-04

C51语言程序设计基础ppt课件.ppt_第1页
C51语言程序设计基础ppt课件.ppt_第2页
C51语言程序设计基础ppt课件.ppt_第3页
C51语言程序设计基础ppt课件.ppt_第4页
C51语言程序设计基础ppt课件.ppt_第5页
资源描述:

《C51语言程序设计基础ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章C51语言程序设计基础本章主要介绍C51语言的数据类型、数据存储类型、数据运算、程序设计的基本结构、数组和指针,要求学习者初步掌握C51语言程序设计的基本方法。3.1C51语言概述C语言是美国国家标准协会(ANSI)制定的编程语言标准。1987年,ANSI公布了87ANSIC,即标准C语言。C51语言是在ANSIC的基础上针对51单片机的硬件特点进行了扩展,并向51单片机上移植。经过多年努力,C51语言已经成为公认的高效、简洁而又贴近51单片机硬件的实用高级编程语言。3.1.1使用C51语言的优点C51语言具有结构化和模块化的特点,便于阅读和维护。C51语言的可移植性好,很多微控制器

2、都支持C51编译器。C51语言提供的库函数包含许多标准子程序,具有较强的数据处理能力。用C51语言编写的程序比用汇编语言编写的程序更符合人们的思考习惯。寄存器分配、不同存储器的寻址及数据类型等细节交由编译器管理,使开发者可以更专心地考虑算法,而不是考虑一些细节问题。C51语言和微控制器是相对独立的,开发者不必知道处理器的具体内部结构和处理过程。当用新型的微控制器开发程序时,可以很快上手,缩短学习时间和程序开发时间。3.1.2C51与ANSIC的主要区别1.头文件的区别51系列单片机的生产厂家有多个,它们的差异在于内部资源如定时器、中断、I/O等的数量以及功能的不同,而对使用者来说,只需要将

3、相应的功能寄存器的头文件加载在程序内,就可实现其所具有的功能。因此,C51系列的头文件集中体现了各系列芯片的不同资源及功能。2.数据类型的区别计算机的CPU是32位或64位的,运算能力强,内存大,ANSIC可以大量使用float型与longint型变量;单片机的CPU一般为8位或16位的,运算能力较弱,因此C51变量类型以char型为主,int型为辅。3.数据存储类型的区别C语言最初是为通用计算机设计的,在通用计算机中只有一个程序和数据统一寻址的内存空间,而51系列单片机有片内、片外程序存储器,还有片内、片外数据存储器。标准C语言并没有提供这部分存储器的地址范围的定义。此外,标准C语言对于

4、51系列单片机中大量的特殊功能寄存器也没有定义。4.中断方面的区别ANSIC语言没有处理单片机中断的定义。而C51中有专门的中断函数。5.库函数的区别由于ANSIC中的部分库函数不适于嵌入式处理器系统,因此被排除在C51之外,如字符屏幕和图形函数等。6.目标代码的区别ANSIC由计算机生成.exe文件,编译完成后直接在计算机上运行;C51由单片机编译生成.bin或.hex代码文件,需要烧写到单片机中并结合外围电路执行。7.仿真调试的区别C51程序在计算机上进行编译,然后需通过仿真器连接后进行仿真调试。近年来随着电路仿真软件的不断完善,也可通过Proteus等软件直接在计算机上进行仿真调试。

5、但是从数据运算操作、程序控制语句以及函数的使用上来说,C51与ANSIC几乎没有什么明显的差别。如果程序设计者具备了有关标准C的编程基础,只要注意KeilC51与标准C的不同之处,并熟悉MCS-51单片机的硬件结构,就能够较快地掌握C51的编程。3.2C51数据类型3.2.1常量与变量常量:程序运行过程中值不能改变的量称为常量。常量存在于ROM中。变量:变量代表存储器中的一个或多个存储单元,用来存放数据。一般来讲,这些数据在程序运行过程中可以改变(只读变量除外)。变量名命名规则:变量名只能由半角的字母、数字、下划线组成,且第一个字符不能是数字。数据类型:变量存在的类型称为数据类型。C51的

6、数据类型如表3-1所示。3.2.2变量定义与赋值1.定义一个变量变量必须先定义,后使用。例如:inta;charb;2.变量赋初值C语言允许在定义变量的同时给变量赋初值。例如:charc=‘a’;inta=7;inta,b,c=9;//定义a、b、c为整型变量,对c赋初值。inta=3,b=3,c=3;在存储空间够用的情况下,尽量选择8位即一个字节的char型,特别是unsignedchar。对于51系列单片机而言,浮点类型变量将明显增加运算时间和程序长度,如果可以的话,尽量使用灵活巧妙的算法来避免浮点变量的引入。3.2.3C51的扩展数据类型1.位变量bitbit的值可以是1(true)

7、,也可以是0(false)。例如:bitlock;//将lock定义为位变量bitdirention;//将direction定义为位变量位变量的使用说明:①位变量不能定义成一个指针,如不能定义:bit*pointer;②位变量不存在位数组,如不能定义:bitb_array[];③定义位变量时,存储类型只允许为data、bdata或者idata,如果将位变量的存储类型定义成其他类型都将导致编译出错。2.特殊功能寄存器sf

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。