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

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

?? 7455.c

?? GY-29-MMA7455發(fā)送資料
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*********************************************/
/*程序功能:飛思卡爾加速度傳感器MMA7455娛樂儀*/
/*程序模塊:1、LED陣列顯示模塊               */
/*          2、1602顯示模塊                  */
/*          3、I2C通信模塊                   */
/*          4、按鍵控制模塊                  */
/*程序最后修改日期:2010年11月8日星期一      */
/*作者:山西太原瑞生嵌入式                   */
/*聯(lián)系方式:QQ:   253057617                  */
/*          旺旺:qq253057617                */
/*          E-mail:richgood@163.com          */
/*********************************************/

#include <reg52.h>
#include <intrins.h>	//要用到_nop_();函數(shù)

#define uchar unsigned char
#define uint  unsigned int
/***************************************************************************/
/***********               單片機引腳定義                       ************/
/***************************************************************************/
sbit set_key =P3^2;         //設(shè)置按鈕
sbit jia_key =P1^7;			//加按鈕
sbit jian_key=P1^6;			//減按鈕
sbit sda=P2^3;              //I2C 數(shù)據(jù)傳送位
sbit scl=P2^4;              //I2C 時鐘傳送位
sbit rs=P2^5;				//1602RS控制位
sbit rw=P2^6;				//1602RW控制位
sbit e =P2^7;				//1602E 控制位

/******************************************************************************/
/**********                     數(shù)據(jù)部分                            ***********/
/******************************************************************************/
#define IIC_READ  0x1D      //定義讀指令
#define IIC_WRITE 0x1D      //定義寫指令

uchar set_key_sign;			//是否在設(shè)置狀態(tài)標志
uchar delaysign;			//視覺停留標志

uchar xposivalue;			//x正方向滿格顯示g值
uchar xnegavalue;			//x反方向滿格顯示g值
uchar yposivalue;			//y正方向滿格顯示g值
uchar ynegavalue;			//y反方向滿格顯示g值
//11111111 11111110 11111100 --- 10000000 00000000	led_ma[i]:i為亮燈數(shù)量
uchar led_ma[9]={0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};	
uchar xposiupstate;			//x正方向上8個LED顯示狀態(tài)
uchar xposidownstate;		//x正方向下8個LED顯示狀態(tài)
uchar xnegaupstate;			//x反方向上8個LED顯示狀態(tài)
uchar xnegadownstate;		//x反方向下8個LED顯示狀態(tài)
uchar yupstate;				//y方向上8個LED顯示狀態(tài)
uchar ydownstate;			//y方向下8個LED顯示狀態(tài)
uchar xposilightnum;		//x正方向亮燈數(shù)量(1——16)
uchar xnegalightnum;		//x反方向亮燈數(shù)量(1——16)
uchar yposilightnum;		//y正方向亮燈數(shù)量(1——8)
uchar ynegalightnum;		//x正方向亮燈數(shù)量(1——8)

uchar  ack_sign;			//I2C 應(yīng)答標志
uchar table1[16]=" hello!  X= 0.00";		//1602顯示數(shù)據(jù)
uchar table2[16]=" Y= 0.00 Z= 0.00";
uchar table3[16]="No acceleration!";
uchar table4[10]="0123456789";
uchar table5[8] ="Warning!";
uchar table7[16]="value:   X=0.50 ";

/**************************************************************************/
/************                  各延時程序                    **************/
/**************************************************************************/
void iic_delay()        //5us延時
{
	_nop_();
	_nop_();
	_nop_();
	_nop_();
}

void delay()			//消除按鍵抖動
{
	 unsigned int i;
	 for(i=0;i<20000;i++);
}
void delay_50us(uint t)
{
    uchar j;
	for(;t>0;t--)
	for(j=19;j>0;j--);
}
void delay_50ms(uchar t)
{
    uint j;
	for(;t>0;t--)
	for(j=6245;j>0;j--);
}
/************************************************************************/
/**************                  1602顯示部分           *****************/
/************************************************************************/ 
void  write_com(uchar com)	   //函數(shù)功能:寫指令
{
    e=0;
	rs=0;
	rw=0;
	P0=com;
	delay_50us(10);
	e=1;
	delay_50us(20);
	e=0;
}
void write_date(uchar dat)	   //函數(shù)功能:寫數(shù)據(jù)
{
    e=0;
	rs=1;
	rw=0;
	P0=dat;
	delay_50us(10);
	e=1;
	delay_50us(20);
	e=0;
}

void init1602(void)			   //函數(shù)功能:初始化1602
{
    delay_50us(300);
	write_com(0x38);
	delay_50us(100);
	write_com(0x38);
	delay_50us(100);
	write_com(0x38);
	write_com(0x38);
	write_com(0x01);
	write_com(0x01);
	write_com(0x06);
	write_com(0x0c);
}
/*********************************************************************/
/**************               I2C通信部分              ***************/
/*********************************************************************/
void iic_start()               //函數(shù)功能:I2C通信開始
{
	sda=1;
    iic_delay();
	scl=1;
    iic_delay();
	sda=0;
	iic_delay();
	
}

void iic_stop()                //函數(shù)功能:I2C通信停止
{
	sda=0;
	iic_delay();
	scl=1;
	iic_delay();
	sda=1;
	iic_delay();
	
}

void iic_ack()                 //函數(shù)功能:I2C通信查應(yīng)答位
{	
    sda=1;
	scl=1;
	iic_delay();
	ack_sign=sda;
	scl=0;	   
}

void iic_write_byte(uchar wdata)//函數(shù)功能:向I2C從機寫入一個字節(jié)
{
     uchar i,temp,temp1;

	 temp1=wdata;
     for(i=0;i<8;i++)
	{
	            scl = 0;
				iic_delay();
				temp=temp1;
				temp=temp&0x80;
				if(temp==0x80)
					sda=1;				
				else
					sda=0;
					iic_delay();
					scl=1;
					iic_delay();
					scl=0;
					iic_delay();
					temp1=temp1<<1;
			
	}

}
char iic_read_byte(void)			 //函數(shù)功能:從I2C從機中讀出一個字節(jié)
{
     uchar x;
	 char data_data;
     for(x=0;x<8;x++)
	{	
	    data_data=data_data<<1;
		sda=1;
		iic_delay();
		scl=0;
		iic_delay();
		scl=1;
		iic_delay();
		if(sda==1)
		   data_data|=0x01; 
		//else  
		//   data_data&=0xfe;
	}
	return data_data;
}
void iic_write(uchar byte_add,uchar wdata)//函數(shù)功能:按地址寫入一字節(jié)數(shù)據(jù)
{
     uchar t;
	 t=(IIC_WRITE<<1);
	 iic_start();
	 iic_write_byte(t);
	 iic_ack();
	 iic_write_byte(byte_add);
	 iic_ack();
	 iic_write_byte(wdata);
	 iic_ack();
	 iic_stop();
}
char iic_read(uchar byte_add)	           //函數(shù)功能:按地址讀出一字節(jié)數(shù)據(jù)
{
     uchar t;
	 char x;
	 t=(IIC_WRITE<<1);
	 iic_start();
	 iic_write_byte(t);
	 iic_ack();
	 iic_write_byte(byte_add);
	 iic_ack();
	 t=((IIC_READ<<1)|0x01);
	 iic_start();
	 iic_write_byte(t);
	 iic_ack();
	 x=iic_read_byte();
	 iic_ack();
	 iic_stop();
	 return x;
}
/************************************************************************/
/*************               LED顯示陣列部分               **************/
/************************************************************************/
void led_send(unsigned char t)	     //函數(shù)功能:8051單片機串行通信發(fā)送	   
{
    SBUF=t;
	while(!TI);
	TI=0;
}

void led_show()						 //函數(shù)功能:LED面板顯示輸出
{
	led_send(xnegaupstate);
	led_send(xnegadownstate);
	led_send(xposiupstate);
	led_send(xposidownstate);
	led_send(yupstate );
	led_send(ydownstate);
			
}
void led_init()						 //函數(shù)功能:初始化LED面板
{
	SCON=0x00;
	xposiupstate  =led_ma[0];
	xposidownstate=led_ma[1];
	xnegaupstate  =led_ma[0];
	xnegadownstate=led_ma[1];
	yupstate      =led_ma[1];
	ydownstate    =led_ma[0];
	led_show();
		
}
									  
void led_xposizhi()					  //函數(shù)功能:獲取x正方向顯示數(shù)據(jù)
{
	if(xposilightnum<8)
	{
		if(xposilightnum==0)xposilightnum=1;
		xposiupstate  =led_ma[0];
		xposidownstate=led_ma[xposilightnum];
	}
	else 
	{
	 	if(xposilightnum>16)xposilightnum=16;
		xposiupstate  =led_ma[xposilightnum-8];
		xposidownstate=led_ma[8];
	}
}
void led_xnegazhi()					  //函數(shù)功能:獲取x負方向顯示數(shù)據(jù)
{
	if(xnegalightnum<8)
	{
		if(xnegalightnum==0)xnegalightnum=1;
		xnegaupstate  =led_ma[0];
		xnegadownstate=led_ma[xnegalightnum];
	}
	else 
	{
	 	if(xnegalightnum>16)xnegalightnum=16;
		xnegaupstate  =led_ma[xnegalightnum-8];
		xnegadownstate=led_ma[8];
	}
}
void led_yposizhi()					   //函數(shù)功能:獲取y正方向顯示數(shù)據(jù)
{
	if(yposilightnum<8)
	{
		if(yposilightnum==0)yposilightnum=1;
		yupstate  =led_ma[yposilightnum];
	}
	else yupstate=led_ma[8];

}
void led_ynegazhi()						//函數(shù)功能:獲取y反方向顯示數(shù)據(jù)
{
	switch(ynegalightnum)
	{
		case 0:ydownstate=0xff;break;
		case 1:ydownstate=0x7f;break;
		case 2:ydownstate=0x3f;break;
		case 3:ydownstate=0x1f;break;
		case 4:ydownstate=0x0f;break;
		case 5:ydownstate=0x07;break;
		case 6:ydownstate=0x03;break;
		case 7:ydownstate=0x01;break;
		case 8:ydownstate=0x00;break;
		default:ydownstate=0x00;break;
	}
}


void self_test7455()					 //函數(shù)功能:檢測7455有沒有插好
{										 //          如果沒有插好,1602將會顯示
	uchar j;							 //			 “No acceleration!"
	char t;

	delay_50us(10);
	iic_write(0x16,0x05);
	delay_50us(20);
	t=iic_read(0x16);

	if(t!=0x05)
	{
		write_com(0x80);
		for(j=0;j<16;j++)
		{
		    write_date(table3[j]);
			delay_50us(10);
		}
		while(1);
	}
	else
	{
		write_com(0x80);
		for(j=0;j<16;j++)
		{
		    write_date(table1[j]);
			delay_50us(10);
		}
		write_com(0x80+0x40);
		for(j=0;j<16;j++)
		{
		    write_date(table2[j]);
			delay_50us(10);
		}
	}
		
}
void change_topvalue(uchar x)		//函數(shù)功能:修改LED面板顯示對應(yīng)的最大g值
{
	uchar x1,x2,x3;

	x1=(x/100);
	x2=(x%100)/10;
	x3=(x%100)%10;

	write_com(0xcb);
	write_date(table4[x1]);
	delay_50us(10);
	write_com(0xcd);
	write_date(table4[x2]);
	delay_50us(10);
	write_date(table4[x3]);
	delay_50us(10);
}

void sendx()						//函數(shù)功能:向1602發(fā)送x軸測量數(shù)據(jù)
{
	uchar x1,x2,x3,xsign;
	char x;

	x=iic_read(0x06);
	if((x&0x80)==0x00)
	{
		xsign=0x2b;        //+
		if(x>64)
		{
			x=(((int)(x*200)/127)-100);	 //轉(zhuǎn)變?yōu)榧铀俣戎?			x1=(x/100);
			x2=(x%100)/10;
			x3=(x%100)%10;
			delaysign=1;
			xposilightnum=x/(xposivalue/16);
		}
		else 
		{
		 	x1=0;x2=0;x3=0;
			delaysign=0;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
男女男精品视频网| 91女神在线视频| 成人性生交大片免费看中文| 欧美综合久久久| 久久久综合激的五月天| 亚洲五码中文字幕| 国产精品中文有码| 欧美精品一级二级三级| 国产精品理论在线观看| 精品一区二区在线播放| 欧美专区日韩专区| 日韩理论片网站| 成人免费精品视频| 久久综合久久鬼色中文字| 五月天久久比比资源色| 色88888久久久久久影院野外| 精品国产区一区| 日本大胆欧美人术艺术动态| 91在线一区二区三区| 久久久.com| 国内精品久久久久影院薰衣草| 91精彩视频在线| 国产精品不卡一区| 高清beeg欧美| 久久婷婷一区二区三区| 蜜桃av一区二区| 欧美一区二区三区免费观看视频 | 中文字幕五月欧美| 国产成人欧美日韩在线电影| 精品精品国产高清一毛片一天堂| 性欧美大战久久久久久久久| 欧美性生活久久| 夜夜嗨av一区二区三区网页| www.性欧美| 国产精品美女一区二区在线观看| 国产一区二区91| 久久人人爽人人爽| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲靠逼com| 99精品视频在线免费观看| 国产精品女上位| 成人av在线一区二区| 日本一区二区成人在线| 成人午夜av影视| 成人免费在线观看入口| 99久久99久久免费精品蜜臀| 亚洲欧美一区二区视频| 91网页版在线| 亚洲激情自拍偷拍| 欧美日韩国产高清一区二区三区 | 91蜜桃免费观看视频| 亚洲免费看黄网站| 91久久精品国产91性色tv | 国产精品久久久久精k8| 91在线观看一区二区| 一区二区三区毛片| 精品视频一区二区三区免费| 日本一道高清亚洲日美韩| 精品国产一二三| 夫妻av一区二区| 亚洲综合在线视频| 日韩精品在线网站| 成人一级片在线观看| 玉足女爽爽91| 欧美成人性战久久| 成人小视频免费观看| 亚洲国产sm捆绑调教视频| 精品国产伦一区二区三区观看方式| 九一久久久久久| 亚洲色图在线看| 精品日韩一区二区三区免费视频| 成人综合在线观看| 日本不卡的三区四区五区| 国产欧美日本一区二区三区| 欧美午夜一区二区三区 | 久久久一区二区三区捆绑**| 91伊人久久大香线蕉| 久久精品国产亚洲aⅴ| 亚洲精品一二三四区| 精品999在线播放| 色婷婷久久综合| 国产一区在线视频| 亚洲成人激情社区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产精品免费丝袜| 91精品国产色综合久久| gogo大胆日本视频一区| 国产一区二区调教| 亚洲成av人片一区二区| 亚洲视频每日更新| 久久影院午夜论| 欧美群妇大交群的观看方式| 成人av免费在线观看| 久久99精品久久久久久国产越南 | 久久久久久毛片| 欧美日韩精品一区二区三区| 国产91精品入口| 激情欧美一区二区| 亚洲第一搞黄网站| 亚洲天天做日日做天天谢日日欢| 久久一区二区三区国产精品| 制服丝袜一区二区三区| 在线国产电影不卡| 色香蕉久久蜜桃| 成人国产亚洲欧美成人综合网| 国内成人免费视频| 麻豆精品久久精品色综合| 亚洲成年人影院| 亚洲国产视频在线| 一区二区三区欧美亚洲| 亚洲视频在线一区二区| 国产精品网曝门| 欧美国产综合一区二区| 欧美激情一区二区三区不卡 | 91精品国产日韩91久久久久久| 91福利社在线观看| 日本电影亚洲天堂一区| 91免费小视频| 色哟哟精品一区| 91高清在线观看| 欧美日韩国产免费一区二区| 欧美日韩精品系列| 91麻豆精品国产91久久久久久久久 | 欧美日韩国产首页在线观看| 色婷婷综合中文久久一本| 99久久777色| 日本精品裸体写真集在线观看| 在线亚洲精品福利网址导航| 日本韩国精品在线| 欧美日本精品一区二区三区| 欧美日韩五月天| 欧美一级一区二区| 久久久久免费观看| 国产精品国模大尺度视频| 亚洲视频1区2区| 亚洲第一精品在线| 精品伊人久久久久7777人| 国产成人精品在线看| 不卡的av在线| 欧美日韩国产高清一区| 91精品国产综合久久小美女| 精品国产一区二区亚洲人成毛片 | 夜夜夜精品看看| 亚洲成人综合视频| 久久99精品久久久久| 成人久久久精品乱码一区二区三区 | 日韩三级精品电影久久久 | 成人av在线网站| 欧美人成免费网站| 国产三级欧美三级日产三级99| 国产精品久久精品日日| 香蕉成人伊视频在线观看| 看电视剧不卡顿的网站| 国产伦精一区二区三区| 欧美在线观看一区| 精品国产乱码久久久久久久 | 亚洲国产电影在线观看| 亚洲午夜免费电影| 国产乱一区二区| 欧美私模裸体表演在线观看| 久久这里只有精品6| 亚洲一区二区三区精品在线| 国产一区二区在线电影| 欧美日韩亚洲综合在线 | 亚洲国产视频a| 国产成人综合亚洲91猫咪| 欧美午夜精品电影| 欧美激情一区二区三区在线| 日本美女一区二区三区视频| 91麻豆精品在线观看| 久久综合九色综合97婷婷| 亚洲国产精品天堂| 不卡免费追剧大全电视剧网站| 7777精品伊人久久久大香线蕉经典版下载| 久久精品人人做人人综合 | 一区二区三区四区激情| 韩国毛片一区二区三区| 欧美美女网站色| 综合网在线视频| 国产成人精品亚洲日本在线桃色| 91精品免费观看| 一区二区久久久久| 高清不卡一区二区在线| 欧美精品一区二区久久婷婷| 丝袜脚交一区二区| 欧美怡红院视频| 樱花草国产18久久久久| av一区二区不卡| 亚洲国产精品v| 国产成人在线色| 欧美哺乳videos| 奇米综合一区二区三区精品视频| 色婷婷av久久久久久久| 亚洲欧洲av在线| 99综合影院在线| 亚洲欧美日韩国产另类专区| 白白色亚洲国产精品| 中文字幕+乱码+中文字幕一区| 国产精品自产自拍| 久久久国际精品|