亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? initmcu.c

?? 名廠車載GPS通信終端
?? C
?? 第 1 頁 / 共 3 頁
字號:
//------------------------------------------------------------------------------
//
//			filename  : initmcu.c
//                      funcation : initialize the resoucre of hardware
//                      designer  : lrx
//                      time      : 2005-5-11 10:35
//                      All right are reserved
//
//------------------------------------------------------------------------------
#define  INITMCU_GLOBAL                1
#include "includes.h"
//------------------------------------------------------------------------------
//                      intialize input and output
//------------------------------------------------------------------------------
uchar uart1count=0;
uint  uart2count=0;
uint  timecount =0;
static uchar watchdog_count=0;

void InitIO(void)
{
	
	pu02 = 1;			//P1_0 --- P1_3	pullup
	pu03 = 1;			//P1_4 --- P1_7	pullup
	pu10 = 1;			//P4_0 --- P4_3	pullup
	pu11 = 1;			//P4_4 --- P4_7	pullup
	pu14 = 1;			//P6_0 --- P6_3	pullup
	pu15 = 1;			//P6_4 --- P6_7	pullup
	//pu16 = 1;
	pu17 = 1;			//P7_4 --- P7_7	pullup
	pu20 = 1;			//P8_0 --- P8_3	pullup
	pu21 = 1;			//P8_4 --- P8_7	pullup
	pu22 = 1;			//P9_0 --- P9_3	pullup
	pu23 = 1;			//P9_4 --- P9_7	pullup
	//pu24 = 1;			//P10_0 --- P10_3	pullup
	pu25 = 1;			//p10_4 --- p10_7	pullup
	
	//-----------------port direction-------
	pd1_0 = PORT_OUT;
	pd1_1 = PORT_OUT;
	pd1_2 = PORT_OUT;
	pd1_3 = PORT_OUT;
	pd1_4 = PORT_IN;
	pd1_5 = PORT_IN;
	pd1_6 = PORT_IN;
	pd1_7 = PORT_IN;
	
	pd6_0 = PORT_OUT;
	pd6_1 = PORT_IN;
	pd6_2 = PORT_IN;
	pd6_3 = PORT_IN; //PORT_OUT;
	pd6_4 = PORT_OUT;
	pd6_5 = PORT_IN;
	pd6_6 = PORT_IN;
	pd6_7 = PORT_OUT;
	
	pd7_0 = PORT_OUT;
	pd7_1 = PORT_IN;
	pd7_2 = PORT_IN;
	pd7_3 = PORT_OUT;
	pd7_4 = PORT_OUT;
	pd7_5 = PORT_OUT;
	pd7_6 = PORT_OUT;
	pd7_7 = PORT_IN;
	
	pd8_0 = PORT_OUT;
	pd8_1 = PORT_OUT;
	pd8_2 = PORT_IN;
	pd8_3 = PORT_IN;
	pd8_4 = PORT_IN;
	pd8_6 = PORT_OUT;
	pd8_7 = PORT_OUT;
	
	prc2  = 1;
	pd9   = 0xfd;
	//	  pd9_0 = PORT_OUT;
	//   pd9_1 = PORT_IN;
	//   pd9_2 = PORT_OUT;
	//   pd9_3 = PORT_OUT;
	//   pd9_4 = PORT_OUT;
	//   pd9_5 = PORT_OUT;
	//   pd9_6 = PORT_OUT;
	//   pd9_7 = PORT_OUT;
	prc2  = 0;
	
	pd10   = 0xff;
	p10    = 0xff;
	asm("NOP");
	
	pd10_0 = PORT_IN;
	pd10_1 = PORT_IN;
	pd10_2 = PORT_IN;
	pd10_3 = PORT_IN;
	pd10_4 = PORT_IN;
	pd10_5 = PORT_IN;
	pd10_6 = PORT_IN;
	pd10_7 = PORT_IN;
	
	//-------------INITIALIZE PORT---------//
	SHUTDOWN_CON    = VOL_LOW;    //斷油斷電//
	BAT_CON         = VOL_LOW;     //電池充電//
	GPS_ON          = VOL_LOW;     //gps電源//
	BELL_OUT        = VOL_LOW;     //汽車喇叭輸出//
	ALARM_POWER     = VOL_HIGH;    //遙控器電源//
	ALARM_TXD       = VOL_HIGH;//
	SHUTDOWN_CON    = VOL_LOW;    //斷油斷電//
	GPS_BAT_CON =VOL_LOW;//diable gps bat// add by lxo;lable 122601
}

//------------------------------------------------------------------------------
//                      intialize timer a0
//------------------------------------------------------------------------------
void InitTa0(void)
{
	ta0s   = 0;                                     //stop timer a0
	ta0ic  = 0x0;
	ta0mr  = 0x80;                                  //select mode 0 for timer;source f32
	ta0    = (INT16U)((INT32U)(OSC*10*1000)/32-1);  //(f*time)/devide-1=n
	ta0ud  = 0;                                     //up/down flag 0
}
//------------------------------------------------------------------------------
//                      start timer a0
//------------------------------------------------------------------------------
void StartTa0(void)
{
	ta0ic  = 0x02;                                  //select interupt level 2
	ta0s   = 1;                                     //start timer
}
//------------------------------------------------------------------------------
//                      stop timer a0
//------------------------------------------------------------------------------
void StopTa0(void)
{
	ta0ic  = 0x0;                                   //select interupt level 2
	ta0s   = 0;                                     //start timer
}
//------------------------------------------------------------------------------
//                      timer a0 interrupt
//------------------------------------------------------------------------------
void TimerA0Int(void)
{
	//   OS_EXIT_CRITICAL();
	Timer_Reduce();
}
//------------------------------------------------------------------------------
//                      intialize timer a1
//------------------------------------------------------------------------------
void InitTa1(void)
{
	
	ta1ic  = 0x0;
	ta1s   = 0;                                     //stop timer a1
	ta1mr  = 0x80;                                  //select mode 0 for timer;source f32
	ta1    = (INT16U)((INT32U)(OSC*10*1000)/32-1);  //(f*time)/devide-1=n
	ta1ud  = 0;                                     //up/down flag 0
}
//------------------------------------------------------------------------------
//                      start timer a0
//------------------------------------------------------------------------------
void StartTa1(void)
{
	ta1ic  = 0x02;                                  //select interupt level 2
	ta1s   = 1;                                     //start timer
}
//------------------------------------------------------------------------------
//                      stop timer a0
//------------------------------------------------------------------------------
void StopTa1(void)
{
	ta1ic  = 0x0;
	ta1s   = 0;                                     //start timer
}
//------------------------------------------------------------------------------
//                     delay ms
//------------------------------------------------------------------------------
void Delay10ms(uint	timeout)
{
	OS_ENTER_CRITICAL();
	TenMsecCount=0;
	OS_EXIT_CRITICAL();
	while(TenMsecCount<timeout)
	{
		//clr_watchdog();
	}
}
//------------------------------------------------------------------------------
void TimerA1Int(void)
{
	static uint minute=0;
	//static uchar ringsign=0;
	
	if(TenMsecCount!=0xffff)TenMsecCount++;
	
	if(minute>6000)
	{
		minute = 0;
		if(gpspostime!=0xffff)gpspostime++;
	}
	else minute++;
	if(ring.time!=0xffff)ring.time++;
	if(ring.time==600)  
	{
		Send_Taskmsg(GprsTaskid,SEND_NO_CLIP,NULL);
	}
	
	if(timecount>=99)
	{
		Second1Flag =1;
		timecount   =0;
	}
	else timecount++;
}
//------------------------------------------------------------------------------
//                      intialize timer a2
//------------------------------------------------------------------------------
void InitTa2(INT16U bps)
{
	ta2s   = 0;
	ta2ic  = 0;
	ta2mr  = 0x40;                                     //select mode 0 for timer;source f8
	ta2    = (INT16U)((INT32U)(OSC*10000)/(8*bps)-1);  //(f*time)/devide-1=n
	ta2ud  = 0;                                        //up/down flag 0
}
//------------------------------------------------------------------------------
//                      enable timer a2
//------------------------------------------------------------------------------
void StartTa2(void)                                   // 12 for bps 1200bps;24 for 24000bps//
{
	
	ta2ic  = 0x02;                                     //select interupt level 2//
	ta2s   = 1;                                        //start timer a2;//
}
//------------------------------------------------------------------------------
//                      disable time a2
//------------------------------------------------------------------------------
void StopTa2(void)
{
	ta2ic  = 0x0;
	ta2s   = 0;
}
//------------------------------------------------------------------------------
//                      TIMER A2 INTERRUPT
//------------------------------------------------------------------------------
void TimerA2Int(void)
{
	//  OS_EXIT_CRITICAL();
	if(semiuart.sendstatus==_BUSY&&semiuart.sendlen!=0)
	{
		if(Step_Send==0)                   //起始位//
		{
			ALARM_TXD =  VOL_LOW;
			semi_senddata = semiuart.sendbuf[semiuart.sendlen-1];
		}
		else if (Step_Send>0&&Step_Send<9) //數(shù)據(jù)位//
		{
			ALARM_TXD     = semi_senddata&0x01;
			semi_senddata = semi_senddata>>1;
		}
		else if(Step_Send==9)              //停止位//
		{
			ALARM_TXD =  VOL_HIGH;
		}
		else if(Step_Send==10)
		{
			ALARM_TXD = VOL_HIGH;
			semiuart.sendlen--;
			if(semiuart.sendlen==0)
			{
				semiuart.sendstatus = _IDLE;
			}
		}
		Step_Send ++;
		if(Step_Send>=11) Step_Send = 0;
	}
}
//------------------------------------------------------------------------------
//                      intialize timer a3
//------------------------------------------------------------------------------
void InitTa3(INT16U bps)
{
	ta3s   = 0;
	ta3ic  = 0;
	ta3mr  = 0x40;                                     //select mode 0 for timer;source f8
	ta3    = (INT16U)((INT32U)(OSC*10000)/(8*bps)-1);  //(f*time)/devide-1=n
	ta3ud  = 0;                                        //up/down flag 0
}
//------------------------------------------------------------------------------
//                      enable timer a3
//------------------------------------------------------------------------------
void StartTa3(void)                                   // 12 for bps 1200bps;24 for 24000bps
{
	
	ta3ic  = 0x02;                                     //select interupt level 2
	ta3s   = 1;                                        //start timer a2;
}
//------------------------------------------------------------------------------
//                      disable time a3
//------------------------------------------------------------------------------
void StopTa3(void)
{
	ta3ic  = 0x0;
	ta3s   = 0;
}
//------------------------------------------------------------------------------
//                      TIMER A3 INTERRUPT
//------------------------------------------------------------------------------
void TimerA3Int(void)
{
	//  OS_EXIT_CRITICAL();
	if(Step_Recv==0)
	{
		if(ALARM_RXD==VOL_LOW)         //起始位//
		{
			InitTa3(12);                //波特率1200bps//
			StartTa3();
			semi_recvdata = 0;
		}
		else
		{
			StopTa3();                  //錯誤返回模擬串口的接收//
			Enable_Int1();
		}
	}
	else if(Step_Recv>0&&Step_Recv<9)  //接受數(shù)據(jù)位//
	{
		if(ALARM_RXD==VOL_HIGH)
		{
			semi_recvdata |=0x01<<(Step_Recv-1);
		}
	}
	else if(Step_Recv==9)             //接收停止位//
	{
		StopTa3();
		Enable_Int1();
		if(ALARM_RXD==VOL_HIGH)        //保存有效數(shù)據(jù)//
		{
			semiuart.recvbuf[semiuart.recvlen] = semi_recvdata;
			semiuart.recvlen++;
			Send_Taskmsg(AlarmTaskid,SEMIUARTRECV,NULL);
		}
	}
	Step_Recv++;
}

//------------------------------------------------------------------------------
//                      init int1
//------------------------------------------------------------------------------
void InitInt1(void)
{
	ifsr1  = 0;                                    //select one edge
	int1ic = 0x0;                                 //select interupt level 3,down edge
}
//------------------------------------------------------------------------------
//                      enable int1int
//------------------------------------------------------------------------------
void Enable_Int1(void)
{
	ifsr1  = 0;                                    //select one edge
	int1ic = 0x03;                                 //select interupt level 3,down edge
}
//------------------------------------------------------------------------------
//                      disable intiint
//------------------------------------------------------------------------------
void Disable_Int1(void)
{
	int1ic = 0x0;                                 //disable the int1 interupt
}
//------------------------------------------------------------------------------

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品理伦片| 国产精品欧美久久久久无广告 | 欧美高清一级片在线| 国产成人在线视频网址| 亚洲一区二区三区四区不卡| 在线播放视频一区| 成人性生交大合| 美腿丝袜亚洲三区| 亚洲最快最全在线视频| 久久久久国产免费免费| 欧美在线免费观看亚洲| 国产大片一区二区| 免费成人在线播放| 亚洲国产精品一区二区www在线 | 天堂在线亚洲视频| 国产精品国产自产拍高清av| 欧美女孩性生活视频| 99精品欧美一区二区三区综合在线| 婷婷国产在线综合| 一区二区三区欧美视频| 亚洲欧洲精品成人久久奇米网| 久久久久高清精品| 国产日韩欧美精品一区| 国产亚洲美州欧州综合国| 日韩欧美国产高清| 欧美精品v国产精品v日韩精品 | 日韩欧美国产麻豆| 欧美变态tickling挠脚心| 欧美色精品在线视频| 99国产精品一区| 97超碰欧美中文字幕| 97久久精品人人做人人爽50路| 成人性生交大片免费看视频在线| 国产自产v一区二区三区c| 精品一区二区三区的国产在线播放| 激情图区综合网| 国产精品一区二区黑丝| 成人黄色在线网站| 91麻豆免费观看| 欧美日韩成人综合在线一区二区| 欧美挠脚心视频网站| 精品国产三级a在线观看| 国产偷国产偷亚洲高清人白洁| 久久色在线视频| 亚洲天堂av老司机| 日av在线不卡| 国产成人精品三级麻豆| 欧美色区777第一页| 久久精品一区二区三区不卡牛牛| 亚洲另类春色国产| 久久国产欧美日韩精品| 91女厕偷拍女厕偷拍高清| 4hu四虎永久在线影院成人| 国产精品美女一区二区三区| 一区二区高清视频在线观看| 黄色日韩三级电影| 91免费精品国自产拍在线不卡| 日韩一级高清毛片| 中文字幕一区二区视频| 极品美女销魂一区二区三区 | 国产精品成人免费在线| 日本三级亚洲精品| 日本韩国欧美一区| 欧美高清在线一区二区| 精品亚洲porn| 欧美一区二区精美| 天堂av在线一区| 色噜噜狠狠一区二区三区果冻| 欧美激情中文不卡| 精品写真视频在线观看| 欧美制服丝袜第一页| 中文字幕色av一区二区三区| 国内精品久久久久影院薰衣草 | 日本欧美一区二区| 欧美三级中文字幕在线观看| 亚洲精品日日夜夜| 一本一道综合狠狠老| 中文字幕色av一区二区三区| 99久久国产综合精品麻豆| 亚洲国产经典视频| av在线播放一区二区三区| 国产精品无人区| 色综合色综合色综合色综合色综合| 中文字幕高清一区| 国产成人免费视| 亚洲欧美日韩国产综合在线| 91亚洲精品一区二区乱码| 亚洲男人的天堂网| 欧美亚洲国产bt| 老司机免费视频一区二区| 欧美变态tickle挠乳网站| 国产河南妇女毛片精品久久久 | 成人黄色小视频| 亚洲欧洲中文日韩久久av乱码| 在线精品亚洲一区二区不卡| 午夜精品视频在线观看| 精品国产sm最大网站免费看| 福利91精品一区二区三区| 国产精品久久一级| 欧美日韩中字一区| 国产精品小仙女| 亚洲一区二区三区影院| 精品电影一区二区三区| 97aⅴ精品视频一二三区| 热久久免费视频| 自拍偷拍国产亚洲| 精品精品国产高清一毛片一天堂| 99精品视频免费在线观看| 免费人成在线不卡| 亚洲综合免费观看高清完整版| 日韩午夜激情av| 在线观看日韩毛片| 国产传媒欧美日韩成人| 秋霞成人午夜伦在线观看| 国产精品久久福利| 精品入口麻豆88视频| 欧美三级蜜桃2在线观看| 99久久99久久久精品齐齐| 精品一区二区三区久久| 日本视频一区二区三区| 一二三区精品视频| 亚洲黄色片在线观看| 国产精品你懂的在线| 精品日韩av一区二区| 欧美精品丝袜中出| 欧美精品日韩一区| 欧美色图激情小说| 欧美性三三影院| 欧美日韩亚洲高清一区二区| 色噜噜夜夜夜综合网| 欧美日韩中字一区| 欧美性大战xxxxx久久久| 91农村精品一区二区在线| 国产高清亚洲一区| 成人午夜短视频| 91日韩一区二区三区| 99re成人在线| 精品视频免费看| 欧美r级在线观看| 国产精品女上位| 亚洲高清不卡在线观看| 日韩精品欧美成人高清一区二区| 一区二区三区四区乱视频| 精品处破学生在线二十三| 91精品国产一区二区三区蜜臀 | 午夜伦理一区二区| 人妖欧美一区二区| 久国产精品韩国三级视频| 一区二区三区欧美激情| 丝袜诱惑制服诱惑色一区在线观看| 午夜精品久久久久久久蜜桃app| 亚洲成av人片在线观看| 久久电影国产免费久久电影| 国产精品自拍网站| 成人深夜福利app| 欧美影视一区二区三区| 日韩欧美国产一区二区在线播放| 日韩一级高清毛片| 中文字幕在线观看不卡| 亚洲第一综合色| 国产精品一线二线三线精华| k8久久久一区二区三区| 日韩免费高清av| 亚洲精品一区二区三区香蕉| www国产亚洲精品久久麻豆| 亚州成人在线电影| 日本在线播放一区二区三区| 国产高清久久久久| 欧美日韩亚洲综合在线| 亚洲国产成人私人影院tom| 一区二区三区色| 激情久久五月天| 欧美三级日韩三级国产三级| 精品国产3级a| 国产精品国产三级国产a| 麻豆freexxxx性91精品| 波多野结衣一区二区三区| 日韩一区二区免费视频| 中文字幕一区二区三区在线观看| 麻豆国产精品视频| 欧美猛男男办公室激情| 一区二区三区91| 99re这里只有精品6| 欧美国产日韩在线观看| 亚洲与欧洲av电影| 国产高清成人在线| 久久久久成人黄色影片| 国产成人夜色高潮福利影视| 99v久久综合狠狠综合久久| 日本一区二区三区在线观看| 久久国产人妖系列| 久久久欧美精品sm网站| 精品午夜久久福利影院| 日韩精品资源二区在线| 美女脱光内衣内裤视频久久影院| 欧美二区在线观看| 捆绑调教美女网站视频一区| 精品久久久久香蕉网| 黄色资源网久久资源365| 欧美激情在线一区二区|