#include "16x2LCDDriver.h"
unsigned char LCDBuffer_0[]={"STOP 00% DIR +"};
unsigned char LCDBuffer_1[]={"Get Spd 0000 RPM"};
struct TMR1COUNTER_STRUCT
{
unsigned char HighCounter;
unsigned int LowCounter;
unsigned char ChangeFlag;
};
struct TMR1COUNTER_STRUCT MyTMR1,MyTMR3,GetTMR1,GetTMR3;
void OSCillator_Initize(void)
{
OSCCON=0x70;//选择内部8MHz的主振荡器
OSCTUNE=0x40;//使能4xPLL--->Fosc=32MHz
}
void PIC_PortDir_Initize(void)
{
ADCON1=0x0F;//RA和RE端口全为数字IO口
TRISD=0x00;//RD端口置输出方向
TRISE=0x00;//RE端口置输出方向
TRISCbits.TRISC1=0;
TRISCbits.TRISC2=0;
TRISCbits.TRISC3=0;
}
void PIC_TMR0_Initize(void)
{
T0CONbits.TMR0ON=0;//TMR0停止工作
T0CONbits.T08BIT=0;//选择16位的定时/计数器
T0CONbits.T0CS=0;//选择内部CLKO时钟源作为定时
T0CONbits.PSA=0;//选择预分频器
T0CONbits.T0PS2=1;//预分频比为1:256
T0CONbits.T0PS1=1;
T0CONbits.T0PS0=1;
TMR0H=(65536-31250)/256;//先写高字节
TMR0L=(65536-31250)%256;//再写低字节
T0CONbits.TMR0ON=1;//开始定时工作
}
void PIC_