#include
IC.h>
__CONFIG(0x33f4);
//看门狗关,复位脚做复位,内部RC振荡,RA4/RA5做I/O
//------------------------------------
//延时函数
void delay()
{
int i; //定义循环变量
for(i=5000;i>0;i--) //循环次数控制
{
NOP(); //消耗一个指令周期时间
NOP();
}
}
//------------------------------------
//初始化函数
void init()
{
TRISA=0X00; //设置A口为输出
TRISC=0X00; //设置C口为输出
TRISB=0X00;
}
//------------------------------------
//亮灯函数
void LED()
{
char i; //设置循环变量
while(1)
{
PORTA=1; //点亮RA0
for(i=3;i>0;i--) //循环次数(RA0-RA2)
{
delay();
delay();
delay(); //调用3次延时函数
PORTA=PORTA<<1; //点亮下一位LED
}
PORTA=0X10; //点亮RA4
for(i=2;i>0;i--) //循环2次(RA4-RA5)
{
delay();
delay();
delay();
PORTA=PORTA<<1;
}
PORTA=0; //清除A口的所有显示
PORTB=0X10; //点亮RC0
for(i=4;i>0;i--) //循环6次(RB0-RB5)
{
delay();
delay();
delay();
PORTB=PORTB<<1;
}
PORTB=0x40; //清除所有RB口的显示
PORTC=1; //点亮RC0
for(i=8;i>0;i--) //循环6次(RB0-RB5)
{
delay();
delay();
delay();
PORTC=PORTC<<1;
}
PORTC=0; //清除所有RB口的显示
}
}
//--------------------------------------
//主函数
void main()
{
init(); //调用初始化函数
led(); //调用亮灯函数
}
上一篇:PIC16F628A LED流水灯示例程序
下一篇:pic单片机A/D转换程序
推荐阅读最新更新时间:2024-03-16 15:48