哈弗h6转向角度传感器怎么匹配

哈弗h6转向角度传感器怎么匹配,第1张

哈弗H6的转向角度传感器匹配需要进行以下步骤:

1. 确认车辆型号和年份,以确定适用的转向角度传感器型号。

2. 将车辆停在平坦的地面上,打开车辆引擎,让车辆运行一段时间,以使车辆的系统进入正常工作状态。

3. 连接车辆的诊断仪,进入诊断仪的匹配程序,按照诊断仪的提示进行 *** 作。

4. 在匹配程序中,选择转向角度传感器匹配,按照诊断仪的提示进行 *** 作。

5. 在匹配程序中,输入正确的转向角度传感器型号和车辆信息,按照诊断仪的提示进行 *** 作。

6. 在匹配程序中,等待诊断仪完成匹配过程,确认匹配结果是否正确。

7. 如果匹配成功,关闭诊断仪,关闭车辆引擎,测试转向角度传感器是否正常工作。

需要注意的是,转向角度传感器匹配需要使用专业的诊断仪进行 *** 作,如果您不具备相关的技术和经验,建议前往正规的汽车维修店进行 *** 作,以避免 *** 作不当导致的损失。

自己去看看吧,不要着急。

//*****************************************************

//名称:单片机串口输出ADXL335角度值

//使用单片机:stc12c5a60s2

//供电:电压5v

//晶振:11.0592m

//X轴->(ADC0)P1.0

//Y轴->(ADC1)P1.1

//Z轴->(ADC1)P1.2

//用pc串口助手显示时,选择字符显示

//参考宏晶网址例程

//*****************************************************

#include "reg51.h"

#include "intrins.h"

#include <math.h> //Keil library

#include <stdio.h> //Keil library

//#define FOSC18432000L

#define FOSC11059200L //晶振11.0592M

#define BAUD9600

typedef unsigned char BYTE

typedef unsigned int WORD

#define uchar unsigned char

#define uint unsigned int

/*Declare SFR associated with the ADC */

sfr AUXR1 = 0XA2

sfr ADC_CONTR = 0xBC //ADC control register

sfr ADC_RES = 0xBD //ADC high 8-bit result register

sfr ADC_RESL= 0xBE

sfr ADC_LOW2= 0xBE //ADC low 2-bit result register

sfr P1ASF = 0x9D //P1 secondary function control register

/*Define ADC operation const for ADC_CONTR*/

#define ADC_POWER 0x80//ADC power control bit

#define ADC_FLAG0x10//ADC complete flag

#define ADC_START 0x08//ADC start control bit

#define ADC_SPEEDLL 0x00//420 clocks

#define ADC_SPEEDL 0x20//280 clocks

#define ADC_SPEEDH 0x40//140 clocks

#define ADC_SPEEDHH 0x60//70 clocks

void InitUart()

void InitADC()

void SendData(BYTE dat)

int GetADCResult(BYTE ch)

void Delay(WORD n)

uchar ge,shi,bai,qian,wan //显示变量

void conversion(uint temp_data)

{

wan=temp_data/10000+0x30

temp_data=temp_data%10000 //取余运算

qian=temp_data/1000+0x30

temp_data=temp_data%1000 //取余运算

bai=temp_data/100+0x30

temp_data=temp_data%100//取余运算

shi=temp_data/10+0x30

temp_data=temp_data%10 //取余运算

ge=temp_data+0x30

}

/*----------------------------

Get ADC result

----------------------------*/

int GetADCResult(BYTE ch)

{ int AD10bitResult

ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START

_nop_() //Must wait before inquiry

_nop_()

_nop_()

_nop_()

while (!(ADC_CONTR &ADC_FLAG))//Wait complete flag

ADC_CONTR &= ~ADC_FLAG//Close ADC

AD10bitResult=ADC_RES

AD10bitResult<<=8

AD10bitResult|=ADC_RESL

return AD10bitResult //Return 10BIT ADC result

}

/*----------------------------

Initial UART

----------------------------*/

void InitUart()

{

SCON = 0x5a //8 bit data ,no parity bit

TMOD = 0x20 //T1 as 8-bit auto reload

TH1 = TL1 = -(FOSC/12/32/BAUD)//Set Uart baudrate

TR1 = 1 //T1 start running

}

/*----------------------------

Initial ADC sfr

----------------------------*/

void InitADC()

{

P1ASF = 0xff //Open 8 channels ADC function

AUXR1=AUXR1|0X04 //ad值左对齐

ADC_RES = 0 //Clear previous result

ADC_CONTR = ADC_POWER | ADC_SPEEDLL

Delay(2) //ADC power-on and delay

}

/*----------------------------

Send one byte data to PC

Input: dat (UART data)

Output:-

----------------------------*/

void SendData(BYTE dat)

{

while (!TI) //Wait for the previous data is sent

TI = 0//Clear TI flag

SBUF = dat//Send current data

}

/*----------------------------

Software delay function

----------------------------*/

void Delay(WORD n)

{

WORD x

while (n--)

{

x = 5000

while (x--)

}

}

//******************************************************************************

void main()

{ int x,y,z

float Q,T,K,Roll,Pitch

InitUart()//Init UART, use to show ADC result

InitADC() //Init ADC sfr

while (1)

{

x=GetADCResult(0)

y=GetADCResult(1)

z=GetADCResult(2)

// 0-5v 对应 0-1024

// 3.3v/2 = 1.65v(0g时候值)

// 1.65v ->= 338 (AD值即0X0152)

x-=0X0152//

y-=0X0152

z-=0X0152

Q=x

T=y

K=z

Q=-Q

Roll=(float)(((atan2(K,Q)*180)/3.14159265)+180)

Pitch=(float)(((atan2(K,T)*180)/3.14159265)+180)

conversion(Roll) //横滚角0-360度

//conversion(Pitch)//俯仰角0-360度

SendData(bai)

SendData(shi)

SendData(ge)

SendData(0x0d)

SendData(0x0a)//换行,回车

Delay(30)

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11493996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存