MCS-51单片机的C语言程序设计基础.ppt

MCS-51单片机的C语言程序设计基础.ppt

ID:56443360

大小:7.96 MB

页数:80页

时间:2020-06-18

MCS-51单片机的C语言程序设计基础.ppt_第1页
MCS-51单片机的C语言程序设计基础.ppt_第2页
MCS-51单片机的C语言程序设计基础.ppt_第3页
MCS-51单片机的C语言程序设计基础.ppt_第4页
MCS-51单片机的C语言程序设计基础.ppt_第5页
资源描述:

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

1、第三章MCS-51单片机的C语言程序设计基础3.1基本概念3.2变量和常量3.3运算符和表达式3.4控制语句3.5函数3.6数组和指针3.7结构与共用体MCS-51单片机由复杂的逻辑电路所组成,它能够“识别”的仅仅是“0”和“1”所代表的二进制数字信号。计算机语言,是以二进制数组成的逻辑序列,称为机器语言。表示二进制的最小单位称为位(bit),计算机最小的存储单元是8位所组成的字节(Byte)。C语言是一种普及率很高的程序设计语言,兼有高级语言和汇编语言的特点,1972年由美国贝尔实验室的M.Ritchie推出,由于其有高效、灵活和较高的移植性等

2、优点而得到程序员的青睐。C语言被称为中级语言,这是因为它和汇编语言类似,能直接访问计算机底层资源,同时它又具备了高级语言的各种优点。首先作为中级语言,C允许对位、字节和地址这些计算机功能中的基本成分进行操作,其次C语言程序非常容易移植,甚至可以设计出能同时运行在Linux,UNIX和Windows等操作系统上的软件。C语言作为一种结构化语言。使用的设计方法为模块化设计方法,每个子问题求解的步骤被定义为模块。在C语言中,其函数就是模块化的体现,函数之间是相互独立的,函数内的数据只能通过接口进行传递。数据与代码是分离的,数据在各个函数之间通过接口传递

3、,因此,设计良好的函数能够在多个程序间反复使用,构成了代码复用的基础。3.1基本概念学习新的程序设计语言的最佳途径是编写程序。编写C语言程序在某种意义上来说就好像是用砖盖房子:首先打好地基,然后使用沙子和水泥把砖堆砌起来,最后建成房子。每个C语言程序至少有一个主函数,即main()函数。它是C语言程序的基础,是程序代码执行的起点。所有的函数都是通过main()函数直接或间接调用的。main()函数通常被认为是最低级的任务,因为它是启动该程序系统所调用的第一个函擞。在很多的情况下,main()函数都只包含很少的语句,这些语句的作用仅仅是初始化和指导

4、从一个函数到另一个函数的程序操作。一个最简单的嵌入式C语言程序如下:#includevoidmain(){while(1);∥无限循环}3.2变量和常量一个应用程序通常都要处理各种量,这些量可分为变量和常量。变量是可以改变的值,而常量是固定的值。变量和常量有多种形式和大小,它们在程序存储器中以各种形式存储。3.2.1变量类型变量是通过用于指示变量类型和大小的保留字和跟在保留字后面的标识符来声明的,例如unsignedchari;inttempl;longinttemp2;变量和常量存储在微控制器的存储器中,编译器需要知道为每个变

5、量预留多少存储地址,而不浪费存储器空间,因此程序员必须声明变量,同时指明变量的大小和类型。表3-1列出了单片机所用的C51语言中支持的几种变量类型及其大小。表3-1C51语言所支持的数据类型注:(1)Bit:位标量。Bit位标量是C51语言的一种扩充数据类型,利用它可定义一个位标量,但不能定:义位指针,也不能定义位数组。它的值是一个二进制数,不是0就是1,类似一些高级语言中的Boolean类型中的TRUE和FALSE。(2)SFR:特殊功能寄存器。SFR也是一种扩充数据类型,占用一个内存单元(8位),值域为O~255。利用它可以访问MCS-51单

6、片机内部的所有特殊功能寄存器。如用SFRPl=O*90这一条语句定义PI(T作寄存器),则其为P1端口在片内的寄存器,在后面的语句中我们可以用P1=255(对Pl端口的所有引脚置高电平)之类的语句来操作特殊功能寄存器。(3)SFR16:16位特殊功能寄存器。SFR16占用两个内存单元(16位),值域为0~65535。SFR16和SFR-样用于操作特殊功能寄存器,所不同的是它用于操作占两个字节的寄存器,如定时器TO和Tl。(4)Sbit:可寻址位。Sbit是C51中的一种扩充数据类型,利用它可以访问芯片内部的RAM中的可寻址位或特殊功能寄存器中的可

7、寻址位,如先前定义:SFRPl=0*90;∥INPl端口的寄存器是可位寻址的,所以可以定义SbitPl_l=Pl^1;∥Pl_l为Pl中的Pl.1引脚这样在以后的程序语句中就可以用Pl—1来对Pl.1引脚进行读写操作了。通常编程者可以直接使用系统提供的预处理文件,里面已定义好各特殊功能寄存器的简单名字,直接引用即可。当然用户也可以编写自己的定义文件。关于数据类型转换等相关操作在后面的课程或程序实例中将有所提及。3.2.2变量的作用域变量的作用域是指变量在程序中可访问的范围。变量可被声明为局部变量或全局变量,相应地,具有局部作用域或全局作用域。1.

8、局部变量局部变量是在创建函数时由函数分配存储器的空间,这些变量不能被其他的函数访问,其作用域只限于所声明的函数内部。同一个局部变量可以在

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

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

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