网站大量收购独家精品文档,联系QQ:2885784924

PIC单片机C语言程序——实例2.pdf

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PIC单片机C语言程序——实例2

第 1页 共 4页 电子报/2007年/7月/15日/第 015版 单片机应用 PIC单片机 C语言程序——实例 2 成都 立本 在上一讲中,笔者对 PIC单片机 C语言程序作了定性介绍,其目的是使读者对 C语言有所了 解。至于 C语言的语法规则、程序设计方法、C编译器等内容,笔者将通过更多的 C程序实例逐 一介绍。 二、C语言的标识符和关键字 1.C语言的标识符 在 C语言中所用到的文件名、函数名、变量名、数组名??,都是由字符组成的。字符由英 语字母和下划线组成,字符的组合称为 C语言的标识符。标识符是由 C程序设计者自定义的。 标识符的第一个字符通常是字母,其后可以是字母或下划线,下划线可作为标识符的分段。 不同的 C编译器对标识符的长度有不同的要求,在编程时定义的标识符不得超过所用编译器 规定的长度,以免编译时出现错误。在本文中,笔者介绍的 C语言程序自定义的标识符不超过一 个字节,在各种编译器的规范以内。上一讲的 C程序实例 1中,delay、main均为 C语言的标识 符。 注意:同一字母的大小写,被视为不同的标识符,在设计 C程序中不能混合使用。 2.C语言的关键字 C语言中的关键字(又称为保留字)是 C系统定义了的特定标识符,用户自定义的 C标识符 不能与这些关键字的字符相同,否则编译不会成功。 C语言中的关键字可分成三类:1)数据类关键字;2)程序控制类关键字;3)预处理类关键 字。 C语言的主要关键字如表 1所示。 第 2页 共 4页 三、实例 2:PIC16F877的 D口(PORTD)位操作功能 C语言程序中关键字十分重要。为使读者有较多的感性认识,笔者通过实例 2,用 C语言(包 含更多的关键字)编写 PIC单片机任一口的位操作功能程序(实际上,在上一讲中,是用 C语言 编写 PIC单片机任一口的字节操作功能)。 第 3页 共 4页 图 2的示意电路是使 PIC16F877(用 PIC16F84A的 B口同样有效)的 D口,即 RD0~RD3, 外接的 LED顺序(以秒为单位)循环点亮。如果读者有兴趣,可在以下的 C程序中添加 RD4~ RD7外接 LED的点亮功能。按所述的 C语言源程序命名为 Pic02.C其清单如下: #include<pic.h>?//包含头文件 Pic.h //====//程序段分隔 #define PORTDIT(add,bit)((un- signed)(&add)*8+(bit))//位定义 static bit PORT_0 @PORTDIT (PORTD,0);//定义 PORTD的 0位 static bit PORT_1 @PORTDIT (PORTD,1);//定义 PORTD的第 1位 static bit PORT_2 @PORTDIT (PORTD,2);//定义 PORTD的第 2位 static bit PORT_3 @PORTDIT (PORTD,3);//定义 PORTD的第 3位 void delay()//定义 delay延时子函数 {//子函数开始 Unsigned longint i; //定义 i为无符号的整型变量 for(i=0;i<=45000;i++)//由 for语句引 导,指定次数 1秒延时 continue;//转移下次循环 }//子函数结束 //==//程序段分隔(可不用) main()//定义 main主函数 {//主函数开始 TRISD=0x00;//给 TRISD赋值 0,设 D口为输出 INTCON=0x00;//给 INTCON赋值 0,关中断 PORTD=0x00;//给 PORTD赋值 0,清 0D口 while(1)//while循环语句,这里是 无限循环 {//while语句开始 第 4页 共 4页 PORT 0=1;//给 PIC16F877的 RD0 位赋值 1,外接//LED亮。 delay();//调延时子函数 delag PORT 0=1;//给 RD1位赋值 1,外 接 LED亮 delay();//调延时子函数 delay RD2=1;//RD2位置 1,外接 LED亮 delay();//调延时子函数 delay RD3=1;//RD3位置 1,外接 LED亮 delay();//调延时子函数 delay PORTD=0;//给 PORTD赋值 0(

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档