?? pic12f508.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(); //調用亮燈函數
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -