#include<pIC.h>
__CONFIG(0x3f38); //看门狗关,内部RC震荡,RA6/RA7做I/O
//-----------------------------------
//延时函数
void delay()
{
int i; //定义循环变量
for(i=5000;i>0;i--) //循环次数控制
{
NOP(); //消耗一个指令周期的时间
NOP();
}
}
//----------------------------------
//初始化函数
void init()
{
TRISA=0X00; //设置A口为输出
TRISB=0X00; //设置B口为输出
}
//---------------------------------
//亮灯函数
void LED()
{
char i; //设置循环变量
while(1)
{
PORTA=1; //点亮RA0
delay();
delay();
delay();
PORTA=2; //点亮RA1
delay();
delay();
delay();
PORTA=4; //点亮RA2
delay();
delay();
delay();
PORTA=8; //点亮RA3
delay();
delay();
delay();
PORTA=0X40; //点亮RA6
for(i=2;i>0;i--) //循环两次(RA6-RA7)
{
delay();
delay();
delay(); //调用3次延时函数,确定流水灯闪烁的快慢
PORTA=PORTA<<1; //点亮下一位LED
}
PORTA=0; //清除A口所有显示
PORTB=1; //点亮RB0
for(i=8;i>0;i--) //循环8次(RB0-RB7)
{
delay();
delay();
delay();
PORTB=PORTB<<1;
}
PORTB=0; //清除B口所有显示
}
}
//---------------------------------------
//主函数
void main()
{
init(); //调用初始化函数
led(); //调用亮灯函数
}
PIC16F628A LED流水灯示例程序
本文关键字:程序 PIC单片机,单片机-工控设备 - PIC单片机