PIC16F84A单片机点LED灯电路及源程序,PIC16F84A FLASH LED
关键字:PIC16F84A,LED灯电路图
作者:丁锦滔
下面以控制PIC16F84A单片机端口寄存器PORTB口外接的8只LED任一位的亮灭为例,介绍相关C语言程序的编写。电路如下图所示。
使用MPLAB IDE V7.40集成开发环境及PICC编译器所生成的C语言源程序又称源文件。 在编写C的源程序时,需要定义硬件的标志头文件(也称包含头文件或头文件)。因为用户经常使用的标准寄存器地址和其位地址都被定义在Pic.h标志头文件中。按C语言编译器编译源程序的语法规则,在编写C语言程序时,必须使用#include语句,把这个pic.h头文件包含到自己的源程序中。即对于PIC中级产品的单片机,C语言程序的开头是固定格式#include 。编译器在编译处理#include语句时,会把pic.h的内容,复制到你的源程序中,这样PICC才认为用户使用的标准寄存器的端口地址和端口的位地址已经被定义,源程序就会合法地使用这些标准寄存器及其对应的位。
PIC16F84A单片机PORTB口外接8只LED间亮和位1、2、6外接的LED分别点亮的程序清单如下(源文件名PIC01.C):
说明:以上是一个完整的,可执行上图LED点灯的C程序,主要由端口寄存器PORTB口的位定义,延时函数delay()定义;主函数main()、延时函数void delay()及各种语句等组成。 该C程序第三行以符号“∥”开头的说明文是一个注释,它可在一行内写完,亦可分多行写完。注释可写在程序的任何位置,用于帮助阅读和理解程序,说明程序的相关功能、注意事项,以及说明有关算法等。注释应尽可能简捷。在编译时,注释不产生代码。C程序还可用“/#”开头到“#/”结尾之间的内容作注释,与符号“∥”开头的注释是等效的。 上述程序的第一行,是引导程序开始的用#include语句的头文件。 第二行是PIC单片机PORTB口的位定义,这里指8位,即(&add)*8。 第三行是第二行端口寄存器PORTB的位定义的注释。 第四行~第六行是端口寄存器PORTB口的RB0、RB1、RB6三位的定义,以便在后续程序中对其赋值之用。 第七行是RB0、RB1、RB6三位的定义注释。 第八行是延时函数的定义第九行到结尾的功能(参看相关注释)。
它们都是等效的。但一旦位定义中用了PORTB_0,则在赋值时也应用PORTB_0:或位定义用了PORT_0,对应赋值时也应用PORT_0。
|