您当前的位置:五五电子网电子知识单片机-工控设备PIC单片机PIC单片机C语言程序实例 正文
PIC单片机C语言程序实例

PIC单片机C语言程序实例

点击数:7792 次   录入时间:03-04 11:50:53   整理:http://www.55dianzi.com   PIC单片机

      4.PIC单片机端口寄存器的位定义

      这里介绍的PIC单片机端口的位定义,属于需要背诵的内容。

      以PIRTB为例,PIC单片机端口寄存器的位(即8位)定义,实写如下:

      5.延时函数

      PiC单片机C语言中的延时函数(即延时一定值),有多种等效的编写,这里介绍一种最简延时函数,在后文中,我们还会详细介绍各种延时函数。

      函数中的K为给定的整形值

    6.C语言程序清单

      PIC16F84A单片机PORTB口外接8只LED间亮和位1、2、6外接的LED分别点亮的程序清单如下(源文件名PIC01.C):

      说明:以上是一个完整的,可执行图1 LED点灯的C程序,主要由端口寄存器PORTB 1:3的位定义,延时函数delay ()定义; 主函数main()、延时函数void delay( )及各种语句等组成。

      该C程序第三行以符号“∥”开头的说明文是一个注释,它可在一行内写完,亦可分多行写完。注释可写在程序的任何位置,用于帮助阅读和理解程序。说明程序的相关功能、注意事项,以及说明有关算法等。注释应尽可能简捷。在编译时,注释不产生代码。C程序还可用“ ”开头到“ ”结尾之间的内容作注释,与符号“∥”开头的注释是等效的。

      上述程序的第一行,是引导程序开始的用#in—clude语句的头文件。

      第二行是PIC单片机PORTB口的位定义,这里指8位,即(&ddd)*8。

      第三行是第二行端口寄存器PORTB的位定义的注释。

      第四行~第六行是端口寄存器PORTB口的RBO、RB1、RB6三位的定义,以便在后续程序中对其赋值之用。

      第七行是RBO、RB1、RB6三位的定义注释。

      第八行是延时函数的定义第九行到结尾的功能(参看相关注释)。

      关于端口寄存器的位表达方式。在用C语言编写PIC单片机源文件时,一旦端口的位被定义,即(以端口PORTB为例);#daefine PORTBIT (ddd,bit)((unsigned)(&ddd) 8+(bie)),在该条件下,端口PORTB的位有两种表达方式,在C程序中均是等效的。以PORTB的0位为例:

      它们都是等效的。但一旦位定义中用了PORTB_ O.则在赋值时也应用PORTB—O: 或位定义用了PORT_O,对应赋值时也应用PORT_O。

    (待续)



上一页  [1] [2] 


本文关键字:单片机  程序  C语言  PIC单片机单片机-工控设备 - PIC单片机