/********************************************************************************************
//实验: tmer0 查询方式实现1s的定时
* CPU型号 : PIC12F509
* 系统时钟: 内部4MHz
* 开发环境: MPLAB IDE8.91
* 编译软件: PICC9.83
* 实验说明: ed1每1秒闪烁一次
* 烧写工具: PICKIT2 PICKIT3/KIT3.5 ICD2 ICD3等
* 作 者: bobo
* 日 期: 2022年2月21号
*********************************************************************************************/
#include <pic.h> //直接写pic.h就行,软件会根据你在软件上选择的型号去调用相应型号的头文件
//配置位:内部时钟,MCLR外部复位(重要勿改),关看门狗,不加密
__CONFIG(OSC_IntRC&MCLRE_ON&WDT_OFF&CP_OFF);
//参考:《PIC12F509数据手册》第41页 配置字
//参考: PICC安装目录下include文件夹里的pic12f509.h
#define _XTAL_FREQ 4000000 //系统时钟4M,定义这个是为了方便调用延时函数
//符号变量替换
#define led1 GP0
#define led2 GP1
//全局变量的声明
unsigned char k;
void main(void)
{
OPTION=0xC3; //选择定时器模式,1/16分频,寄存器配置请参照数据手册第24页
TRIS=0X3C; //设置GPO GP1口为输出
led2=1; //关闭LED2
while(1)
{
if(++k>250)
{
k=0;
led1=!led1;
}
while(TMR0<250); //250*16=4MS/
TMR0=0;
}
}
|