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

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

?? 單片機(jī)控制圖像芯片的程序.c

?? 用單片機(jī)讀寫圖像顯示芯片SAA7114H的程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
            delay_nop(60);    //延時1秒就足夠了
            ISP_CONTR=0x60;   //0110,0000  軟復(fù)位到系統(tǒng)ISP監(jiān)控區(qū)
        }
//------------------------------------------------下載用戶程序

        if(ch>127)
        {
			 bit_count=0;
			 timebuf_BCD[bit_count]=ch;
			 checksum= ch-128;
			 send_string_com(">",1);
        }
        else if(ch=='1')
        		{
        			CS_V2=1;
        			RI=0;
        		}//接受到ARM板的“1號卡接受數(shù)據(jù)完畢”的信息后,關(guān)閉CS
        else
        {
			recv_9200_buf[bit_count]=ch;//
			bit_count++;
			if(bit_count==INBUF_LEN)
			{
				recv_9200_buf[2]='\0';
				read_flag=1;	//如果串口接收的數(shù)據(jù)達(dá)到INBUF_LEN個
				bit_count=0;
			}		//else send_string_com("<",1);
		}
		RI=0;
	}
}

/******************************************************************** 
 	功    能:實(shí)時時鐘寫入一字節(jié)
 	說    明:往DS1302寫入1Byte數(shù)據(jù) (內(nèi)部函數(shù))
 	入口參數(shù):d 寫入的數(shù)據(jù)
***********************************************************************/
void RTInputByte(unsigned char d)
{
    unsigned char i;
    ACC = d;
    for(i=8; i>0; i--)
    {
        T_IO = ACC0;           /*相當(dāng)于匯編中的 RRC */
        T_CLK = 1;
        T_CLK = 0;
        ACC = ACC >> 1; 
    }
}

/******************************************************************** 
 功    能:實(shí)時時鐘讀取一字節(jié)
 說    明:從DS1302讀取1Byte數(shù)據(jù) (內(nèi)部函數(shù))
 返 回 值:ACC
***********************************************************************/
unsigned char RTOutputByte(void) 
{ 
    unsigned char i;
    for(i=8; i>0; i--)
    {
        ACC = ACC >>1;         /*相當(dāng)于匯編中的 RRC */
        ACC7 = T_IO;
        T_CLK = 1;
        T_CLK = 0;
    } 
    return(ACC); 
}


/******************************************************************** 
 功    能:往DS1302寫入數(shù)據(jù)
 說    明:先寫地址,后寫命令/數(shù)據(jù) (內(nèi)部函數(shù))
 調(diào)    用:RTInputByte() , RTOutputByte()
 入口參數(shù):ucAddr: DS1302地址, ucData: 要寫的數(shù)據(jù)
 返 回 值:無
***********************************************************************/
void W1302(unsigned char ucAddr, unsigned char ucDa)
{
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    RTInputByte(ucAddr);       //地址,命令
    RTInputByte(ucDa);       //寫1Byte數(shù)據(jù)
    T_CLK = 1;
    T_RST = 0;
} 
/******************************************************************** 
 功    能:讀取DS1302某地址的數(shù)據(jù)
 說    明:先寫地址,后讀命令/數(shù)據(jù) (內(nèi)部函數(shù))
 調(diào)    用:RTInputByte() , RTOutputByte()
 入口參數(shù):ucAddr: DS1302地址
 返 回 值:ucData :讀取的數(shù)據(jù)
***********************************************************************/
unsigned char R1302(unsigned char ucAddr)
{
    unsigned char ucData;
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    RTInputByte(ucAddr);             /* 地址,命令 */
    ucData = RTOutputByte();         /* 讀1Byte數(shù)據(jù) */
    T_CLK = 1;
    T_RST = 0;
    return(ucData);
}
/******************************************************************** 
 功    能:往DS1302寫入時鐘數(shù)據(jù)(多字節(jié)方式)
 說    明:先寫地址,后寫命令/數(shù)據(jù)
 調(diào)    用:RTInputByte() 
 入口參數(shù):pWClock: 時鐘數(shù)據(jù)地址 格式為: 秒 分 時 日 月 周  年 控制
                            8Byte (BCD碼)1B 1B 1B 1B 1B  1B 1B  1B
***********************************************************************/
void BurstW1302T(unsigned char *pWClock)
{
    unsigned char i;
    W1302(0x8e,0x00);         /* 控制命令,WP=0,寫操作?*/
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    RTInputByte(0xbe);        /* 0xbe:時鐘多字節(jié)寫命令 */
    for (i = 8; i>0; i--)     /*8Byte = 7Byte 時鐘數(shù)據(jù) + 1Byte 控制*/
    {
        RTInputByte(*pWClock); /* 寫1Byte數(shù)據(jù)*/
        pWClock++;
    }
    T_CLK = 1;
    T_RST = 0;
}
/******************************************************************** 
 功    能:讀取DS1302時鐘數(shù)據(jù)
 說    明:先寫地址/命令,后讀數(shù)據(jù)(時鐘多字節(jié)方式)
 調(diào)    用:RTInputByte() , RTOutputByte()
 入口參數(shù):pRClock: 讀取時鐘數(shù)據(jù)地址 格式為: 秒 分 時 日 月 周  年
                               7Byte (BCD碼)1B 1B 1B 1B 1B  1B  1B
***********************************************************************/
void BurstR1302T(unsigned char *pRClock)
{
    unsigned char i;
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    RTInputByte(0xbf);             /* 0xbf:時鐘多字節(jié)讀命令 */
    for (i=8; i>0; i--) 
    {
       *pRClock = RTOutputByte();   /* 讀1Byte數(shù)據(jù) */
       pRClock++;
    }
    T_CLK = 1;
    T_RST = 0;
}
/******************************************************************** 
 功    能:往DS1302寄存器數(shù)寫入數(shù)據(jù)(多字節(jié)方式)
 說    明:先寫地址,后寫數(shù)據(jù)(寄存器多字節(jié)方式)
 調(diào)    用:RTInputByte()
 入口參數(shù):pWReg: 寄存器數(shù)據(jù)地址
***********************************************************************/
void BurstW1302R(unsigned char *pWReg)
{
    unsigned char i;
    W1302(0x8e,0x00);         /* 控制命令,WP=0,寫操作*/
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    RTInputByte(0xfe);         /* 0xbe:時鐘多字節(jié)寫命令 */
    for (i=31; i>0; i--)       /* 31Byte 寄存器數(shù)據(jù) */
    {
        RTInputByte(*pWReg);    /* 寫1Byte數(shù)據(jù)*/
        pWReg++;
    }
    T_CLK = 1;
    T_RST = 0;
} 
/******************************************************************** 
 函 數(shù) 名:BurstR1302R()
 功    能:讀取DS1302寄存器數(shù)據(jù)
 說    明:先寫地址,后讀命令/數(shù)據(jù)(寄存器多字節(jié)方式)
 調(diào)    用:RTInputByte() , RTOutputByte()
 入口參數(shù):pRReg: 寄存器數(shù)據(jù)地址
 返 回 值:無
***********************************************************************/
void BurstR1302R(unsigned char *pRReg)
{
    unsigned char i;
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    RTInputByte(0xff);            /* 0xff:時鐘多字節(jié)讀命令 */
    for (i=31; i>0; i--)          /*31Byte 寄存器數(shù)據(jù) */
    {
        *pRReg = RTOutputByte();  /* 讀1Byte數(shù)據(jù) */
        pRReg++;
    }
    T_CLK = 1;
    T_RST = 0;
}
/******************************************************************** 
 函 數(shù) 名:Set1302()
 功    能:設(shè)置初始時間
 說    明:先寫地址,后讀命令/數(shù)據(jù)(寄存器多字節(jié)方式)
 調(diào)    用:W1302()
 入口參數(shù):pClock: 設(shè)置時鐘數(shù)據(jù)地址 格式為: 秒 分 時 日 月 周   年
                               7Byte (BCD碼)1B 1B 1B 1B 1B  1B  1B
 返 回 值:無
***********************************************************************/
void Set1302(unsigned char *pClock) 
{
    unsigned char i;
    unsigned char ucAddr = 0x80; 
    W1302(0x8e,0x00);           /* 控制命令,WP=0,寫操作*/
    for(i =7; i>0; i--)
    {
        W1302(ucAddr,*pClock);  /* 秒 分 時 日 月 周 年 */ 
        pClock++;
        ucAddr +=2;
    }
    W1302(0x8e,0x80);           /* 控制命令,WP=1,寫保護(hù)*/
}
/*************************************************************************
 函 數(shù) 名:Get1302()
 功    能:讀取DS1302當(dāng)前時間
 說    明:
 調(diào)    用:R1302() 
 入口參數(shù):ucCurtime: 保存當(dāng)前時間地址。當(dāng)前時間格式為: 秒 分 時 日 月  周 年 
                                        7Byte (BCD碼)   1B 1B 1B 1B 1B  1B 1B
 返 回 值:無
******************************************************************/
void Get1302(unsigned char ucCurtime[]) 
{
    unsigned char i;
    unsigned char ucAddr = 0x81;
    for (i=0; i<7; i++)
    {
        ucCurtime[i] = R1302(ucAddr);/*格式為: 秒 分 時 日 月 周 年 */
        ucAddr += 2;
    }
}

void send_time(void)//發(fā)送當(dāng)前時間
{
	unsigned char var1;
	unsigned char var2;
	
	Get1302(timebuf_BCD);		//將時間存入timebuf_BCD中

	var1=timebuf_BCD[4]/0x10;
	var2=timebuf_BCD[4]%0x10;
	var1+=0x30;
	var2+=0x30;
	send_char_com(var1);//發(fā)送月
	send_char_com(var2);

	var1=timebuf_BCD[3]/0x10;
	var2=timebuf_BCD[3]%0x10;
	var1+=0x30;
	var2+=0x30;
	send_char_com(var1);	//發(fā)送日
	send_char_com(var2);

	var1=timebuf_BCD[2]/0x10;
	var2=timebuf_BCD[2]%0x10;
	var1+=0x30;
	var2+=0x30;
	send_char_com(var1);
	send_char_com(var2);

	var1=timebuf_BCD[1]/0x10;
	var2=timebuf_BCD[1]%0x10;
	var1+=0x30;
	var2+=0x30;
	send_char_com(var1);
	send_char_com(var2);

	var1=timebuf_BCD[6]/0x10;
	var2=timebuf_BCD[6]%0x10;
	var1+=0x30;
	var2+=0x30;
	send_string_com("20",2);	//發(fā)送年
	send_char_com(var1);
	send_char_com(var2);
	
}

void main(void)
{
	unsigned char wire_test_time[8];
	
	unsigned char car_speed=0;
	unsigned char wire_length=120;

	unsigned char  iic_buf[20];			

	EA=1;		//open all interrupt
	ES=1;		//OPEN serial interrupt
	P2=0xff;
	CS_V2=1;	//in the begining ,off chipselect
	
	#ifdef debug
	Set1302(timebuf_BCD);
	#endif
	init_serialcomm();	//初始化串口

	send_time();	//發(fā)送當(dāng)前時間

	memset(iic_buf,0,20);	
	write_ONE_byte(0x42,0x88,0x58);//sw reset scaler	0101 1000 Audio clock generation in power-down and output disabled
	write_ONE_byte(0x42,0x88,0x78);//					0111 1000
	
	write_N_byte(0x42,0x00,saa7114_init_data,0xf0);	//全部初始化寄存器
	
	write_ONE_byte(0x42,0x88,0x78);//					0111 1000
	write_ONE_byte(0x42,0x88,0x58);//sw reset scaler	0101 1000 Audio clock generation in power-down and output disabled
	write_ONE_byte(0x42,0x88,0x78);//					0111 1000
	
	read_N_byte(0x42,0x8f,iic_buf,1);	send_char_com_hex(*(iic_buf));//Status information scaler part

////////////////////////////////////////////////////////////////////////
	
	memset(wire_test_time,0,8);
	while(1)
	{
		if(read_flag)
		{
			read_flag=0;
			if( strcmp(recv_9200_buf,"gt")==0)
			{
				send_time();//發(fā)送時間
			}
			if(strcmp(recv_9200_buf,"sv")==0)
			{
				send_char_com('y');
				//readcapcard();//與圖象卡通信
			}
			if(strcmp(recv_9200_buf,"rs")==0)
			{
				//ISP_CONTR=0x60;//發(fā)送下載信號
			}
		}
/////////////////////////////////////////////////////////////////
//道1
	INPUT_SEL1=0;//開啟線圈通道
	if((ch0==1)&&(ch1==0)&&(wire0_flag_cycle==0))
		wire0_flag_cycle=1;//線圈信號有效,一個測試周期開始

	if((ch0==1)&&(ch1==0)&&(wire0_flag_cycle==1))	wire_test_time[1]++;

	if((ch1==0)&&(ch0==0)&&(wire0_flag_cycle==1))
	{
		INPUT_SEL1=1;//關(guān)閉線圈通道

		write_ONE_byte(0x42,0x02,0xc1);//開AI21

		write_ONE_byte(0x42,0x87,0x11);//允許IPORT輸出
		write_ONE_byte(0x42,0x91,0x00);//允許IPORT輸出
		write_ONE_byte(0x42,0xa0,0x02);//允許IPORT輸出

		write_ONE_byte(0x42,0x88,0x78);//	reset一下		0111 1000
		write_ONE_byte(0x42,0x88,0x58);//sw reset scaler	0101 1000 Audio clock generation in power-down and output disabled
		write_ONE_byte(0x42,0x88,0x78);//					0111 1000

		CAPSTR_V2=0;//通知圖像卡開始轉(zhuǎn)存
		CAPSTR_V2=1;//

        delay_nop(960);    //延時1秒就足夠了
        delay_nop(960);    //延時1秒就足夠了
        delay_nop(960);    //延時1秒就足夠了
		
        delay_nop(660);    //延時1秒就足夠了
        delay_nop(660);    //延時1秒就足夠了
        delay_nop(660);    //延時1秒就足夠了
        delay_nop(660);    //延時1秒就足夠了
        delay_nop(660);    //延時1秒就足夠了

		INPUT_SEL4=0;//打開CAPING_V2所在的245
		while(CAPING_V2==0);//等待轉(zhuǎn)存結(jié)束,如果為低表明還沒有完成
		INPUT_SEL4=1;
		
		write_ONE_byte(0x42,0x87,0x10);	//轉(zhuǎn)存完畢后禁止IPORT輸出
		
		wire0_flag_cycle=0;//測試周期結(jié)束
		car_speed=wire_test_time[1]/2;//車速

		send_char_com(0x01);	send_char_com(car_speed);//開始讀取數(shù)據(jù),先發(fā)送車道名與車速度
		CS_V2=0;	//select card,ready for read
		
		memset(wire_test_time,0,8);//完成后清空數(shù)組
	}
//----------------------------------------------------------
//道2
	if((ch2==1)&&(ch3==0)&&(wire1_flag_cycle==0))		
		wire1_flag_cycle=1;	//信號有效,一個測試周期開始
	
	if((ch2==1)&&(ch3==0)&&(wire1_flag_cycle==1))	wire_test_time[3]++;	
	
	if(((ch3==0)&&(ch2==0))&&(wire1_flag_cycle==1))
	{
		wire1_flag_cycle=0;	//測試周期結(jié)束
		car_speed=wire_test_time[3]/2;
		
		send_char_com(0x02);	//發(fā)送車長
		send_char_com(car_speed);	//發(fā)送車速度
		memset(wire_test_time,0,8);
	}

//----------------------------------------------------------
	//道3
	if((ch4==1)&&(ch5==0)&&(wire2_flag_cycle==0))		
		wire2_flag_cycle=1;//信號有效,一個測試周期開始
	
	if((ch4==1)&&(ch5==0)&&(wire2_flag_cycle==1))	wire_test_time[5]++;
	
	
	if(((ch5==0)&&(ch4==0))&&(wire2_flag_cycle==1))
	{
		wire2_flag_cycle=0;//測試周期結(jié)束
		car_speed=wire_test_time[5]/2;
		
		send_char_com(0x04);//發(fā)送車長
		send_char_com(car_speed);//發(fā)送車速度
		
		memset(wire_test_time,0,8);
	}
		
//----------------------------------------------------------
//道4
	if((ch6==1)&&(ch7==0)&&(wire3_flag_cycle==0))		
		wire3_flag_cycle=1;//信號有效,一個測試周期開始
	
	if((ch6==1)&&(ch7==0)&&(wire3_flag_cycle==1))
		wire_test_time[7]++;	
	
	if(((ch7==0)&&(ch6==0))&&(wire3_flag_cycle==1))
	{
		wire3_flag_cycle=0;//測試周期結(jié)束
		car_speed=wire_test_time[7]/2;
		
		send_char_com(0x08);//發(fā)送車長
		send_char_com(car_speed);//發(fā)送車速度			
		
		memset(wire_test_time,0,8);
	}
		
		//----------------------------------------------------------
/////////////////////////////////////////////////////////////
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品高清| 欧美一级黄色大片| 中文字幕一区二区三区色视频| 精品在线一区二区三区| 久久天天做天天爱综合色| 精品综合久久久久久8888| 久久精品一二三| 国产91高潮流白浆在线麻豆| 国产精品久久久一本精品| 成人国产精品免费观看视频| 亚洲精品综合在线| 欧美伦理影视网| 国产呦精品一区二区三区网站| 国产日本欧洲亚洲| 在线日韩国产精品| 日韩高清不卡一区二区| 26uuu国产电影一区二区| 成人黄色电影在线 | 欧美成人高清电影在线| 欧美曰成人黄网| 日韩专区一卡二卡| 国产欧美日韩久久| 欧美性淫爽ww久久久久无| 日韩精品欧美成人高清一区二区| 日韩精品资源二区在线| 成人亚洲一区二区一| 亚洲图片欧美综合| 国产性天天综合网| 欧美网站一区二区| 国产福利一区在线| 亚洲一区二区三区免费视频| 精品美女在线播放| 91美女福利视频| 另类小说视频一区二区| 中文字幕在线观看不卡视频| 欧美高清性hdvideosex| 国产91精品精华液一区二区三区 | 欧美亚洲动漫另类| 国产伦精品一区二区三区视频青涩| 国产精品高潮久久久久无| 91精品国产综合久久久久久久久久| 青青青伊人色综合久久| 久久综合九色综合97婷婷| 国产激情视频一区二区三区欧美| 亚洲自拍欧美精品| 国产日韩精品视频一区| 欧美日韩亚洲丝袜制服| 91精品国产91热久久久做人人| 懂色av中文字幕一区二区三区| 一区二区三区成人| 亚洲视频香蕉人妖| 亚洲自拍都市欧美小说| 亚洲一区二区三区美女| 午夜激情久久久| 麻豆精品一区二区av白丝在线| 韩国女主播成人在线观看| 极品少妇一区二区| 懂色av一区二区在线播放| 99久久夜色精品国产网站| 91官网在线免费观看| 欧美乱熟臀69xxxxxx| 精品国产免费久久| 国产精品国产三级国产| 亚洲一级在线观看| 久久精品国产免费| 成人免费的视频| 欧美视频一区二| 日韩女同互慰一区二区| 欧美国产视频在线| 亚洲综合无码一区二区| 男人的天堂亚洲一区| 国产成人亚洲综合a∨婷婷图片| av电影天堂一区二区在线观看| 在线观看一区二区视频| 日韩精品一区二区三区四区| 亚洲国产高清在线观看视频| 樱桃视频在线观看一区| 久久国产综合精品| 波多野洁衣一区| 在线播放中文一区| 中文字幕免费不卡在线| 亚洲一区国产视频| 国精产品一区一区三区mba桃花| 91丨porny丨蝌蚪视频| 欧美一区二区视频免费观看| 国产精品美女久久久久久久| 亚洲综合男人的天堂| 加勒比av一区二区| 在线中文字幕一区| 国产欧美一区二区在线观看| 亚洲高清中文字幕| 成人毛片视频在线观看| 在线播放日韩导航| 中文字幕在线不卡一区| 蜜桃久久久久久久| 91久久线看在观草草青青| 精品国产免费久久| 性做久久久久久| av一二三不卡影片| 精品国产91乱码一区二区三区| 亚洲精品va在线观看| 国产mv日韩mv欧美| 日韩一级精品视频在线观看| 亚洲精品写真福利| 风间由美中文字幕在线看视频国产欧美| 色狠狠一区二区| 中文字幕一区三区| 国产精品99久久久久久似苏梦涵| 欧美人狂配大交3d怪物一区| 中文字幕制服丝袜成人av | 青青草精品视频| 91麻豆.com| 国产精品每日更新在线播放网址 | 99久久精品国产观看| 26uuu国产电影一区二区| 日韩精彩视频在线观看| 欧日韩精品视频| 亚洲欧洲日产国产综合网| 国产成人在线观看免费网站| 欧美本精品男人aⅴ天堂| 天天综合色天天| 欧美日韩中文字幕精品| 亚洲综合小说图片| 色狠狠综合天天综合综合| 17c精品麻豆一区二区免费| 国产91在线观看丝袜| 久久亚洲二区三区| 国产毛片精品一区| 精品999在线播放| 国产一区二区视频在线播放| 亚洲精品在线电影| 国产在线精品一区二区三区不卡 | 视频在线观看一区二区三区| 欧美曰成人黄网| 亚洲综合色网站| 在线免费一区三区| 亚洲自拍偷拍麻豆| 欧美日韩在线亚洲一区蜜芽| 亚洲一区电影777| 欧美日韩国产综合一区二区三区| 亚洲一区二区三区四区在线免费观看| 色美美综合视频| 亚洲电影一级片| 欧美一区二区三区在线电影| 免费看黄色91| 久久久影视传媒| 丁香亚洲综合激情啪啪综合| 国产精品久久久久久妇女6080| 成人久久18免费网站麻豆 | 精品中文av资源站在线观看| 欧美xxxxxxxxx| 国产成人精品一区二区三区四区| 中文文精品字幕一区二区| 99免费精品在线观看| 亚洲视频 欧洲视频| 欧美在线free| 蜜臀av性久久久久av蜜臀妖精| 2023国产精品| 91蜜桃婷婷狠狠久久综合9色| 一区二区三区日韩欧美精品| 欧美日韩国产一级| 美国三级日本三级久久99| 国产清纯白嫩初高生在线观看91 | 欧美sm极限捆绑bd| 成人激情视频网站| 亚洲精品五月天| 日韩欧美国产一区二区三区| 国产一区二区三区免费| 亚洲人成伊人成综合网小说| 欧美日韩国产首页在线观看| 精彩视频一区二区三区| |精品福利一区二区三区| 欧美日韩国产首页在线观看| 韩国在线一区二区| 亚洲伦理在线免费看| 欧美一级欧美一级在线播放| 国产成人免费网站| 亚洲成av人片在线| 国产目拍亚洲精品99久久精品| 欧美性猛交xxxxxx富婆| 国产在线观看一区二区| 亚洲美女视频在线| 精品国产欧美一区二区| 99精品黄色片免费大全| 久久黄色级2电影| 亚洲精品美腿丝袜| 久久亚洲免费视频| 欧美日韩一区二区三区高清| 国产大片一区二区| 亚洲成人免费视频| 亚洲欧洲无码一区二区三区| 91精品国产色综合久久| 色综合一个色综合| 国产麻豆视频一区二区| 亚洲成人免费影院| 亚洲视频免费观看| 久久亚洲影视婷婷| 日韩午夜三级在线| 欧美视频第二页| 99在线精品观看|