📄 main.c
字号:
#include "mylib.h"
extern uchar KEY_NO;
extern uint k;
extern uchar data MENU_NO;
extern uchar data MENU_MENU1_NO;
extern uchar data MENU_MENU2_NO;
uint AD_getvalue[11];
uchar i,count,serio_data;
uint j,ReaddataChx;
uint Turnaround_Corner_0,Turnaround_Corner_360;
uint Turnaround_Power_0,Turnaround_Power_200;
extern uchar Turnaround_CornerORPower_Value2[4];
extern uint Ch1k,Ch2k;
extern float Nt;
extern uchar Turnaround_CornerValue1[4];
extern uchar Turnaround_Power_Value2[4];
sbit PowerTest = P3^3;
uint k;
uchar Data_H,Data_L;
void main(void)
{
Wait7705(500);
PowerTest=1;
delay();
init_serial(); //串口初使化
lcd_init();
lcd_clr();
SetSerio=1;
AD7705_reset(); //复位 AD delay();
INI7705();
Data_L=byte_read(0x8201); //读取力矩0点数值
Data_H=byte_read(0x8200);
Turnaround_Power_0=Data_H*256+Data_L;
Data_L=Data_H=0;
Data_H=byte_read(0x8202); //读取力矩最大值数值
Data_L=byte_read(0x8203);
Turnaround_Power_200=Data_H*256+Data_L;
Data_L=Data_H=0;
Data_H=byte_read(0x8400); //读取转向角0点数值
Data_L=byte_read(0x8401);
Turnaround_Corner_0=Data_H*256+Data_L;
Data_L=Data_H=0;
Data_H=byte_read(0x8402); //读取转向角360度数值
Data_L=byte_read(0x8403);
Turnaround_Corner_360=Data_H*256+Data_L;
Data_L=Data_H=0;
delay();
dprintf(12,0,"转向盘检测仪",0);
if(PowerTest==0) //仪表电源检测
{
dprintf(6,1,"电压状态:欠压",0); //电压不够
}
if(PowerTest==1)
{
dprintf(6,1,"电压状态:正常",0); //电压正常
}
for(i=0;i<100;i++)
for(j=0;j<3000;j++);
SetSerio=1;
k=0;
MENU_MENU2_NO=1;
test_menu(); //检测界面
WDT_CONTR=0x3f; //启动看门狗
while(1)
{
key(); //按键扫描
RTDkey(); //执行相关的任务
WDT_CONTR=0x3f;
}
}
void serio_server() interrupt 4 using 0
{
EA=0;
if(RI)
{
RI=0;
serio_data=SBUF;
}
EA=1;
}
//AD7705每次取数10次,并将所取得数放入XDATA中,然后进行比较找出最大值。
uint filter(bit mode)
{
uint i=0,max;
for ( count=0;count<10;count++)
{
AD_getvalue[count]=ReadDataCh1_Ch2(mode);
delay();
}
max=AD_getvalue[0];
for(i=1;i<10;i++)
{
if(AD_getvalue[i]>max)
{
max=AD_getvalue[i];
}
ReaddataChx=max;
}
return (ReaddataChx);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -