pic单片机c语言程序设计(15)

pic单片机c语言程序设计(15)

ID:33622966

大小:257.50 KB

页数:6页

时间:2019-02-27

pic单片机c语言程序设计(15)_第1页
pic单片机c语言程序设计(15)_第2页
pic单片机c语言程序设计(15)_第3页
pic单片机c语言程序设计(15)_第4页
pic单片机c语言程序设计(15)_第5页
资源描述:

《pic单片机c语言程序设计(15)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、删川一燃羞万方数据PIC单片机c语言程序设计(15)本文是讲座《单片机C语言程序设计》的结束篇,为了帮助大家更好地掌握前面所学的知识,我们将归纳性地介绍初学者用C语言编辑PIC单片机实用程序时应具备的思维方法和基本知识,并通过下面的实例进行一次小结,以期对大家今后深入学习PIC单片机C语言程序设计有所帮助。十六、PIC单片机C语言程序的组成7一个完整的PIC单片机C语言源程序应包括:包含头文件、变量定义、常量说明、函数定义、主函数main()、若干个其他功能函数、各种功能C语句,以及已定义的函数和函数体、注释等部分组成。说明:对PIC单片机中级或中级以下的产

2、品.其头文件是#include和撑incIude:对高级产品,如PICl8F452器件,其头文件是撑incIude和#include。C程序的运行,总是从主函数main()开始(可以通过模拟仿真直接观察到),由主函数调用其他函数.其他函数也可互相调用,如此运行工作。而C语句,又可按其执行方式的不同而分为顺序结构、选择结构和循环结构等。这里的顺序结构.是指程序按语句的顺序逐条执行;选择结构,是指程序根据相关条件选择的执行顺序:循环结构,是指程序根据某条件的存在执行一段程序,直到条

3、件消失为止,若该条件永远存在,就形成无限循环。1.延时函数的三种表达式用汇编语言编辑二个较大的PIC单片机程序时.一般分为多个程序模块,每个模块的子程序实现一个特定的功能。而用C语言编辑该程序时。模块的功能是用函数实现的,即函数相当于汇编语言的子程序。下面我们以延时函数应用的实例,来说明PIC单片机C语言程序的基本组成格式。延时函数是PIC单片机源程序中出现频率较高的函数。而且具有相同功能的延时函数也有多种形式,我们选择常用的三种延时函数进行讨论。所引用的三种延时函数都是由循环控制语句——while、do—while和for等实现的。(1)带形式参数的由fo

4、r语句组成的延时函数voiddeIay(unsignedintk){unsignedinti.j:fir(i=O;i<=81:i++)fir(j=O:j<=k:j;+)continue;·}该延时函数由两个for语句组成,第一个for语句中的81是笔者设置的常数(可任意设定),用于使延时值增加:第二个for语句中的k是在程序中主函数main()调用delay(k)时,由用户给定的值,k值不同,延时时间就不等.所以该延时函数可在一个C程序中实现不同的多个延时量,显然比汇编语言延时子程序简单多了。在延时量要求较短时.该延时函数种的两个for语句的功能可用一个fo

5、r语句来实现。(2)带形式参数的由while循环语句组成的延时函数VoiddeIey(unsignedlongintk){Unsignedlongintd=k:电孑簧佑47鬣雠熟——————二——一Ⅲ¨二万方数据W{;}l此延时函数简单、容易记忆。使用时,在程序中主函数main()调用delay(k)时,由用户给定不同的k值,亦可实现多种延时值。(3)带形式参数的由do—while语句组成的延时函数Voiddefay(unsignedlongintk){Unsignedintlongj-o:dOfj++:}While(j<=k):j=o:}该延时函数简单易记

6、。使用时,在程序中主函数main()调用delay(k)时,由用户给定不同的k值,即可实现多种延时值。需要说明的是。上述由while循环语句和由do—while语句组成的延时函数中的形式参数,不一定用长整型(10nginko2.电路功能相同形式不同的四种C程序下面介绍利用PICl6F84A单片机的PORTB端口外接的8只LED,采用四种C程序控制端口的LED灯。来说明编辑C语言程序时的基本格式及其灵活性。电路参见《电子制作》2009年9期《单片机C语言程序设计(1)》一文中的图1,程序流程如图64所示。采用的是无限循环工作方式。?PORTB口的LEDl、3、

7、5、7亮1秒上PORTB口的LED2、4、6、8亮2秒IPORTBa的LED全亮3秒图64(1)C程序一。文件名为pic09.c。清单如下:482010VOL.12#include//头文件.voiddeIay(unsIgnedlongintK)/,延时函数开始{unsignedintlongj_O:,,说明语句do//由do—while组成的延时执行语句{j++:Jwhile(j<=K);j_O:}main(),,主函数开始{TRISB=0x00;/,设置PORTB口全为输出INTCON=0x00;//关闭所有中断PORTB=0x00;//R

8、B口先送低电平while(1)//永久循环开始{PO

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

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

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