这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 如何编程让PIC18f4520输出1MHz的方波?

共1条 1/1 1 跳转至

如何编程让PIC18f4520输出1MHz的方波?

工程师
2021-04-19 21:40:00     打赏

最近开始换方案,发现PIC涨价不多,就打算用18f4520,不是很熟悉,特来请教:如何输出1MHz的方波?

下面是我自己写的代码,定时器0只计一个数输出方波仍然在200kHz多。


#include <p18cxxx.h>

#include "k18.h"


void Time0Init(void);

void T0_ISR(void);


//void chk_isr(void);

#pragma interrupt chk_isr

void chk_isr(void)

{

if(INTCONbits.TMR0IF==1)

{

T0_ISR();

}


}

#pragma code My_Hiprio_int=0x08

void My_Hiprio_int(void)

{

_asm

GOTO chk_isr

_endasm

}

#pragma code





void main(void)

{

k18_init();/*HL-K18主板初始化*/

TRISD=0X00;//设置D口为输出

INTCONbits.GIE=1;

INTCONbits.PEIE=1;

OSCCON=0x70;

OSCTUNEbits.PLLEN=1;

Time0Init();

while(1){

}

}

void Time0Init(void)

{

INTCONbits.TMR0IE=1;

INTCONbits.TMR0IF=0;

T0CON=0x48;

TMR0L=0xFF;

T0CONbits.TMR0ON=1;

}


void T0_ISR(void)

{

TMR0L=0xFF;

INTCONbits.TMR0IF=0;

}





关键词: PIC18f4520     方波    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]