打印
[PIC®/AVR®/dsPIC®产品]

PIC12F509的定时程序怎么写啊?

[复制链接]
1089|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
才接触PIC12F509的单片机,求大神指教定时程序怎么写?
沙发
XIEYUANBIN| | 2017-2-20 14:06 | 只看该作者
没有中断,查TMR0

使用特权

评论回复
板凳
扛着墓碑的鬼|  楼主 | 2017-2-20 15:40 | 只看该作者

有这个型号的案例吗?

使用特权

评论回复
地板
bobolaile| | 2023-2-11 10:07 | 只看该作者
/********************************************************************************************

//实验:     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;
        }       
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

8

帖子

0

粉丝