⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 led-ctrl1.c

📁 的的的的的的的的基于TD7774A的电机驱动
💻 C
字号:
//#include <pic.h>
#include <pic16f6x.h>

#define ADIN RC0
#define INA RC2
#define INB RC3
#define PSAVE RC4
#define FIN RA2

unsigned int times_cout=0;
unsigned int freq=0;
unsigned int zhkb2=0;
unsigned char ch_jump=0;
unsigned char m=0;
unsigned int ADbuf;
  //__CONFIG ( INTIO & UNPROTECT & PWRTDIS & BORDIS & WDTDIS & MCLRDIS  );

void initial()
{
     TRISA = 0X0C;   
    TRISC = 0X01;
	PORTA=0;
	PORTC=0;
    ANSEL = 0X10;   //设置RC0为输入
    ADCON0 = 0xD1;

	OPTION = 0x00;            //OPTION寄存器,设置GPIO禁止上拉,选择内部时钟,分频器分给TIMER0,
    WPUA=0X04;                               //
	INTCON=0X00;
	PSAVE=0;
    CM2 = 1;
    CM1 = 1;
    CM0 = 1;
    T0IE = 0;
 //   VCFG = 0;
   T1CON=0X30;


}                 



void delay(unsigned int i)          //延时程序;
{
  while(--i);
}

void forward_run(void)          //延时程序;
{
 	INA=0;
	INB=1;
	delay(350);
 	INA=0;
 	INB=0;
 	delay(350);
  	INA=1;
 	INB=0;
    delay(350);
  	INA=1;
 	INB=1;
  	//delay(60000); 
  	//delay(60000);
}
void backwards_run(void)          //延时程序;
{
	INA=1;
	INB=0;
	delay(350);
 	INA=0;
 	INB=0;
 	delay(350);
  	INA=0;
 	INB=1;
    delay(350);
  	INA=1;
 	INB=1;
  	//delay(60000);
}

void interrupt counter(void) 
{if(INTF&&INTE)
	{
	INTF=0;
    times_cout++;
	GIE=1;}
}

main()
{
   
    initial();
do
{	/***freq check**/
	INTCON=0;
	PIR1=0;
	PIE1=0;
	GIE=1;
	PEIE=1;
	times_cout=0;
	TMR1L=0X38;
	TMR1H=0X51;
	TMR1ON=1;
	INTE=1;
	while(!TMR1IF)
	{
		;
	}
	INTE=0;
    TMR1IF=0;
	TMR1ON=0;
	freq=times_cout*5;
/**drive output***/
	if(freq>305)
	{	PSAVE=0;
		forward_run();
    }
	if(freq<300)
	{	PSAVE=0;
		backwards_run();
	}
	PSAVE=1;
 }
   while(1);

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -