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

📄 main.c

📁 tecwell 2835 motion function 初始化及設定值 4channel 輸入 motion ebable
💻 C
📖 第 1 页 / 共 2 页
字号:
/******************************************************************************
 * Main.C
 ******************************************************************************/

#include <REG_MPC82G516.h>
#include "Delay.h"
#include <Ap_tw2835.h>

//uart define
#define BAUDRATE    B_19200//B_230400
#define B_2400      0
#define B_4800      1
#define B_9600      2
#define B_19200     3
#define B_38400     4
#define B_57600     5
#define B_115200    6
#define B_230400    7

void Init_Uart(void);
void Transbuffclr(void);
void TranSmitNow(void);
void Receivebuffclr(void);
void ReceiveNow(void);
void R_FUN_WORK(void);
void IRQ_CHECK(void);



#define LED_Y P12 //Yellow
#define LED_G P13 //Green
#define LED_R P14 //Red
#define LED_O P15 //Orange

void LED_blinking(void);
void LED_Y_on(void);
void LED_Y_off(void);
void LED_G_on(void);
void LED_G_off(void);
void LED_R_on(void);
void LED_R_off(void);
void LED_O_on(void);
void LED_O_off(void);

void test_SFR(void);
void reset_SFR(void);
void  init_timer0(void);
void Init_Uart_12(void);
void InitComms(void);
extern void MotionSelectAreaFlash(void);

//global variables
//unsigned char data  G_array1[16] _at_ 0x60;    //in 'data' space
//unsigned char idata G_array2[16] _at_ 0x80;    //in 'idata' space
//unsigned char xdata G_array3[512] _at_ 0x0000; //in 'xdata' space, use on-chip XRAM
//unsigned char xdata G_array4[512] _at_ 0x0000; //in 'xdata' space, use external RAM

//unsigned char G_var1;
//unsigned int  G_var2;


///ram define
unsigned char S_TMOD=0;
unsigned char   Transmitbuff[32] ={'F','U','C','K',0x0d,0x0a};
unsigned char   Receiveff[32] =0; 
unsigned char   TranSwitch = 0;	
unsigned char 	Rec_timout = 0;	
unsigned char Rec_over = 0;
unsigned char RecCNT=0;
unsigned char RecFUNWK=0;
unsigned char TimCnt_500ms = 0;
BOOL MotionSettingMode = FALSE;
extern BOOL IndexPartToggle;
extern BOOL Flg_MotionStart;

/******************************************************************************/
unsigned char sec32ms=0;
//unsigned char UP32ms=0;
void main(void)
{

   test_SFR();

   reset_SFR();

//   X_var1=0x00;
//   X_var2=0x00;

//   for(i=0;i<16;i++){
//      G_array1[i]=0x00;
//      }

//   for(i=0;i<16;i++){
//      G_array2[i]=0x00;
//      }

//   AUXR&=0xFD; //clear AUXR.1 for on-chip XRAM
//   for(j=0;j<512;j++){
//      G_array3[j]=0x00;
//      }

//   AUXR|=0x02; //set AUXR.1 for ext. RAM
//   for(j=0;j<512;j++){
//      G_array4[j]=0x00;
//      }

	

//	Init_Uart_12();

	init_timer0();

	InitComms();
//    TH1=0xf4;                                   //Set UART to operate at buad rate 9600
//    TL1=0xf4;
//    TR1 =1;                                     //Start Timer1

	TMOD = S_TMOD;

	main_111();

	delay_ms(200);
	delay_ms(200);
	delay_ms(200);
	delay_ms(200);
	delay_ms(200);

	Ap_channel_select(2);


	while(1);


	while(1)
	{
		TMOD = S_TMOD;
		PCON |= 0x01;
		//LED_blinking();
      	//delay_ms(10);

/*
		if(UP32ms == 1)
		{
			if(sec32ms)
			{
			   	sec32ms=0;
				LED_Y_on();
			}
			else
			{
			   	sec32ms=1;
   				LED_Y_off();
			}
			UP32ms = 0;
		}
*/

		TranSmitNow();
		ReceiveNow();
		R_FUN_WORK();
		MotionSelectAreaFlash();
		IRQ_CHECK();
    }

}

//-----------------------------------------------------------------------------
void LED_blinking(void)
{
unsigned char i;

for(i=0;i<3;i++){
   LED_Y_on();
   LED_G_on();
   LED_R_on();
   LED_O_on();
   delay_ms(200);
   LED_Y_off();
   LED_G_off();
   LED_R_off();
   LED_O_off();
   delay_ms(200);
   }
}

//-----------------------------------------------------------------------------
void LED_Y_on(void)
{
   LED_Y=0;
}
void LED_Y_off()
{
   LED_Y=1;
}
void LED_G_on()
{
   LED_G=0;
}
void LED_G_off()
{
   LED_G=1;
}
void LED_R_on()
{
   LED_R=0;
}
void LED_R_off()
{
   LED_R=1;
}
void LED_O_on()
{
   LED_O=0;
}
void LED_O_off()
{
   LED_O=1;
}

//-----------------------------------------------------------------------------
void test_SFR(void)
{
char tmp;

// System

ACC    = 0x5A;
B      = 0xA5;
DPL    = 0x34;
DPH    = 0x12;
PSW    = 0xAA;

tmp=SP;
SP=0x8C;
SP=tmp;

// Interrupt

IE     = 0x3B;
AUXIE  = 0x36;
XICON  = 0xC0;
IP     = 0x17;
IPH    = 0x63;
AUXIP  = 0x2A;
AUXIPH = 0x19;

// I/O Port

P0     = 0x50;
P1     = 0x51;
P2     = 0x52;
P3     = 0x53;
P4     = 0x54;
P0M0   = 0x02;
P0M1   = 0x01;
P1M0   = 0x12;
P1M1   = 0x11;
P2M0   = 0x22;
P2M1   = 0x21;
P3M0   = 0x32;
P3M1   = 0x31;
P4M0   = 0x42;
P4M1   = 0x41;

// Timer

TCON   = 0xA3;
TMOD   = 0x8F;
T2CON  = 0x4B;
T2MOD  = 0x01;
RCAP2L = 0xF7;
RCAP2H = 0xF6;
TL0    = 0xC1;
TH0    = 0xC0;
TL1    = 0xD3;
TH1    = 0xD2;
TL2    = 0xE5;
TH2    = 0xE4;

// Serial Port

SCON   = 0x7E;
SBUF   = 0x95;
SADDR  = 0x30;
SADEN  = 0x52;
S2CON  = 0x81;
S2BRT  = 0x37;
S2BUF  = 0xB9;

// ADC

ADCTL  = 0x64;
ADCH   = 0x91;
ADCL   = 0x92;

// Keypad Interrupt

KBCON  = 0x02;
KBPATN = 0xB1;
KBMASK = 0xB2;

// SPI

SPSTAT = 0x80;
SPCTL  = 0x31;
SPDAT  = 0x32;

// PCA

CCON   = 0x95;
CMOD   = 0x06;
CL     = 0xC2;
CH     = 0xC1;
CCAPM0 = 0x20;
CCAPM1 = 0x21;
CCAPM2 = 0x22;
CCAPM3 = 0x23;
CCAPM4 = 0x24;
CCAPM5 = 0x25;
CCAP0L = 0x02;
CCAP0H = 0x01;
CCAP1L = 0x14;
CCAP1H = 0x13;
CCAP2L = 0x26;
CCAP2H = 0x25;
CCAP3L = 0x38;
CCAP3H = 0x37;
CCAP4L = 0x4A;
CCAP4H = 0x49;
CCAP5L = 0x5C;
CCAP5H = 0x5B;
PCAPWM0= 0x01;
PCAPWM1= 0x02;
PCAPWM2= 0x03;
PCAPWM3= 0x01;
PCAPWM4= 0x02;
PCAPWM5= 0x03;

// Others

PCON   = 0xC8;
AUXR   = 0x42;
AUXR1  = 0x39;
AUXR2  = 0x64;
WDTCR  = 0x04;
STRETCH= 0x15;
EVRCR  = 0x00;

PCON2  = 0x02;
PCON2  = 0x04;
PCON2  = 0x00;

// ISP

IFD    = 0xD2;
IFADRH = 0xD3;
IFADRL = 0xD4;
IFMT   = 0xD5;
SCMD   = 0xD6;
ISPCR  = 0x43;

}

//-----------------------------------------------------------------------------
void reset_SFR(void)
{

// System

ACC    = 0x00;
B      = 0x00;
DPH    = 0x00;
DPL    = 0x00;
PSW    = 0x00;

// Interrupt

IE     = 0x00;
AUXIE  = 0x00;
XICON  = 0x00;
IP     = 0x00;
IPH    = 0x00;
AUXIP  = 0x00;
AUXIPH = 0x00;

// I/O Port

P0     = 0xFF;
P1     = 0xFF;
P2     = 0xFF;
P3     = 0xFF;
P4     = 0xFF;
P0M1   = 0x00;
P0M0   = 0x00;
P1M1   = 0x00;
P1M0   = 0x00;
P2M1   = 0x00;
P2M0   = 0x00;
P3M1   = 0x00;
P3M0   = 0x00;
P4M1   = 0x00;
P4M0   = 0x00;

// Timer

TCON   = 0x00;
TMOD   = 0x00;
T2CON  = 0x00;
T2MOD  = 0x00;
RCAP2L = 0x00;
RCAP2H = 0x00;
TH0    = 0x00;
TL0    = 0x00;
TH1    = 0x00;
TL1    = 0x00;
TH2    = 0x00;
TL2    = 0x00;

// Serial Port

SCON   = 0x00;
SBUF   = 0x00;
SADDR  = 0x00;
SADEN  = 0x00;
S2CON  = 0x00;
S2BRT  = 0x00;
S2BUF  = 0x00;

// ADC

ADCTL  = 0x00;
ADCH   = 0x00;
ADCL   = 0x00;

// Keypad Interrupt

KBCON  = 0x00;
KBPATN = 0x00;
KBMASK = 0x00;

// SPI

SPSTAT = 0x00;
SPCTL  = 0x00;
SPDAT  = 0x00;

// PCA

CCON   = 0x00;
CMOD   = 0x00;
CL     = 0x00;
CH     = 0x00;
CCAPM0 = 0x00;
CCAPM1 = 0x00;
CCAPM2 = 0x00;
CCAPM3 = 0x00;
CCAPM4 = 0x00;
CCAPM5 = 0x00;
CCAP0L = 0x00;
CCAP0H = 0x00;
CCAP1L = 0x00;
CCAP1H = 0x00;
CCAP2L = 0x00;
CCAP2H = 0x00;
CCAP3L = 0x00;
CCAP3H = 0x00;
CCAP4L = 0x00;
CCAP4H = 0x00;
CCAP5L = 0x00;
CCAP5H = 0x00;
PCAPWM0= 0x00;
PCAPWM1= 0x00;
PCAPWM2= 0x00;
PCAPWM3= 0x00;
PCAPWM4= 0x00;
PCAPWM5= 0x00;

⌨️ 快捷键说明

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