PICC12F508流水灯C程序
//实验目的:GPIO口的流水灯,熟悉PIC12F508的I/O口的操作//GP3因为做编程电压VPP和复位脚MCLR,所以不点亮该口的LED
//硬件要求:
//1)时钟选择OSCC跳到I/O
//2)断开j5/j6或者j7/j8
//3)拨码开关S13全部置ON
#include<pic.h>
__CONFIG(0x0ffa);
//看门狗关,内部RC振荡,GO0/GP1做I/O,不加密,MCLR脚做复位
//---------------------------------
//延时函数
void delay()
{
int i;
for(i=5000;i>0;i--);
}
//--------------------------------
//初始化函数
void init()
{
TRIS=0X00; //设置所有I/O口为输出
OPTION=0X00; //设置所有I/O走做普通I/O口
}
//-------------------------------
//亮灯函数
void led()
{
char i;
while(1)
{
GPIO=1; //点亮GP0
for(i=3;i>0;i--) //循环3次(GP0-GP2)
{
delay();
delay();
delay(); //调用3次延时函数
GPIO=GPIO<<1; //左移一位,点亮下一位LED
}
GPIO=0x10; //电亮GP4
for(i=2;i>0;i--) //循环2次(GP4-GP5)
{
delay();
delay();
delay();
GPIO=GPIO<<1;
}
}
}
//--------------------------------
//主函数
void main()
{
init(); //调用初始化函数
led(); //调用亮灯函数
}
页:
[1]