11款福克斯刷SCT,三套程序有什么区别

11款福克斯刷SCT,三套程序有什么区别,第1张

1、阶数不同

共有93一阶,93二阶,97三阶三套程序,如果原车改了进排气可以刷一阶,要内上二阶必须换点火容线圈,不然会出现爆震。97三阶原车动力能够提升30p左右。

2、油耗不同

油耗逐渐增加,可能是夏季开空调的原因,4月之前启判油耗稳定在7.3左右悄激改。也可能是3保换了全合成机油的原因。接下来油耗追加到8.8之后稳定下来。

3、保养费不同

后期保养费用还算满意,因为长期浸泡论坛,能手动的都自己去保养,例如吹扫空气滤芯,空调滤芯,清洗节气门,轮胎定期检查胎压,添加雪种等都是自己手动保养,去4S就基本换机油和机油滤清器,没别的了。所以价格不会太高。

刷写SCT(ECU),可以提升35P的马力,100N/M的扭矩;再改进气,改中尾段,改头段,就可以提升45P的马力,115N/M的扭矩。刷程序可以直截了当的提升动力,增强扭矩;改进气可以使油门踏板更加轻盈,减少顿挫;改中尾段排气可以爆发声浪,改善排气效率。

扩展资料

汽车排气系统组成:

根据功能划分:

排气歧管+排气净化装置(三元催化器)+排气管+消声器

根据安装位划分:

排气歧管+头段+中段+尾段

由上图可得,头段即是与发动机排气歧管直接连接的部分。

具体的构成包括金属管路、软连接和三元催化器。

由于发动机舱和底盘布局等原厂设计等因素限制,排气头段在整个排气系统中的长度最短,金属连接管路与软连接也成为头段中最简单的部分,可用于改装的发挥空间也相对有限。针对最简单的部分,只有在管铅卖材材质,焊接工艺以及管径设计会有所差异。

/***数显秒表——火柴天堂作品-20121210***/

/***源程序默认硬件环境:52单片机,11.0592MHz晶振,四位共阳数码管,P0段选,P20-P23高电平位选,P20最高位,P23最低位,P14-17四独立按键(开始,停止,继续,清零)***/

/***功能要求:数码管高2位显示“分”,低2位显示“秒”,中间使用小数点(常亮)分隔***/

#include"reg52.h"//包含52头文件

#define TRUE 1//定义布尔量'1':真

#define FALSE 0//定义布尔量'0':假

#define uchar unsigned char//定义 无符号字符型数据 简称

#define uint unsigned int//定义 无符号整型数据 简称

#define th0 0x4c

#define tl0 0x00//50ms at 11.0592MHz(定时器工作模式1 状态)

#define th1 0xfc

#define tl1 0x66//1ms at 11.0592MHz(定时器工作模式1 状态)

#define T1sAt50msCount 20//定义 1s 在 50ms 计时基准状态下 的计数值 为20

#define SEG_Num 4

#define SEG_Data P0//数码管段驱动接口

#define SEG_En P2//数码管位驱动接口

#define SEG_AllOff (SEG_En&=0xf0)//关闭所有数码橡槐管(位驱动)

#define DisTimeAt1msCount 4//单'位'数码管显示时间,数码管刷新频率f=1/(N*t),其中 N为数码管位数,t 为单'位'数者做码管显示时间

uchar code SEG_B_List[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}//共阳数码管代码表"0-9"

sbit KeyStart=P1^4//开始键

sbit KeyStop=P1^5//停止键

sbit KeyGoOn=P1^6//继续键

sbit KeyClear=P1^7/首如衡/清零键

#define NotKeyValue 0//无按键键值

#define KeyStartValue 1//开始键键值

#define KeyStopValue 2//停止键键值

#define KeyGoOnValue 3//继续键键值

#define KeyClearValue 4//清零键键值

uchar Sec=0,Min=0//秒、分 寄存器

uchar bdata Flag=2//标志位 寄存器

sbit T1sTimesUpFlag=Flag^0//1s时间到标志位

sbit DisplayFlag=Flag^1//显示(刷新)标志位

sbit ClockStartFlag=Flag^2//时钟开始标志位

sbit ClearFlag=Flag^3//清零(请求)标志位

void Timer0() interrupt 1//定时器0中断函数

{

static uchar t50ms

TL0=tl0

TH0=th0

if(!ClearFlag)//无 清零请求

{

t50ms=++t50ms%T1sAt50msCount//先对50ms计时变量加1,后对变量范围进行限制(0~19)(即对20取模)

if(!t50ms) T1sTimesUpFlag=TRUE//若计时变量归0,表示计时变量曾经到达20(1s),则对1s计时标志位 置位

}

else//有 清零请求

{

t50ms=0//清 50ms寄存器

ClearFlag=FALSE//清 清零标志位

}

}

void Timer1() interrupt 3

{

static uchar t1ms

TL1=tl1

TH1=th1

t1ms=++t1ms%DisTimeAt1msCount//先计数值加1,后对计数范围进行限制0~(DisTimeAt1msCount-1)

if(!t1ms) DisplayFlag=TRUE//若定时计数值归0,则表示计数值曾到达 单'位'显示时间(DisTimeAt1msCount),显示标志 置位

}

void TimerInit()

{

TMOD=0x11//开启定时器0、定时器1,并都工作在模式1

TH0=th0

TL0=tl0

TR0=0//未启动T0定时器 计时(上电时,秒表停止状态)

ET0=1//允许定时器0中断

TH1=th1

TL1=tl1

TR1=1//启动T1定时器 计时

ET1=1//允许定时器1中断

EA=1//开启系统中断功能

}

void TimesUpdata()//时间更新函数

{

if(T1sTimesUpFlag)//若 1s计时标志位 为 真,即 1s定时时间到

{

Sec=++Sec%60//秒Sec在0-59范围内加1

if(!Sec) Min=++Min%60//若秒Sec 重归0,则分Min在0-59范围内加1

//if(!Sec) Min=++Min%100//分Min 计数范围0-99(与上一条语句2选1)

T1sTimesUpFlag=FALSE//清 1s计时标志位

}

}

uchar KeyScan()

{

if(KeyStart &&KeyStop &&KeyGoOn &&KeyClear) return NotKeyValue//无按键按下,返回 无按键键值

if(!KeyStart) return KeyStartValue//开始键按下,返回 开始键键值

if(!KeyStop) return KeyStopValue//停止键按下,返回 停止键键值

if(!KeyGoOn) return KeyGoOnValue//继续键按下,返回 继续键键值

if(!KeyClear) return KeyClearValue//清零键按下,返回 清零键键值

return NotKeyValue//误 *** 作,返回 无按键键值

}

void KeyResp()//按键响应函数

{

static uchar KeyValue//定义静态变量 存储按键值,设置位

static bit KeyDownFlag,KeyReadyFlag//定义静态变量 按键按下标志位,按键准备(响应)标志位

uchar key_value=KeyScan()//调用 按键扫描函数,并将扫描结果放在 key_value中

if(key_value!=NotKeyValue)//若扫描结果 有按键

{

KeyValue=key_value//存储按键值

KeyDownFlag=TRUE//按键按下标志位 置位

KeyReadyFlag=TRUE//按键准备(响应)标志位 置位

}

else KeyDownFlag=FALSE//若扫描结果 无按键,则 清 按键按下标志位

if(KeyReadyFlag &&!KeyDownFlag)//若按键准备就绪,且无按键按下,则表示已松手情况

{

switch(KeyValue)//选择对应按键处理

{

case KeyStartValue://开始键 处理

TR0=1//开启 时钟定时器

ClockStartFlag=TRUE//置 时钟开始标志位

break//开始键处理结束

case KeyStopValue://停止键 处理

TR0=0//关闭时钟定时器

ClockStartFlag=FALSE//清 时钟开始标志位

break//停止键处理结束

case KeyGoOnValue://继续键 处理

TR0=1//开启时钟定时器

ClockStartFlag=TRUE//置 时钟开始标志位

break//继续键处理结束

case KeyClearValue://清零键 处理

Sec=0//清 秒

Min=0//清 分

ClearFlag=TRUE//置 清零标志位

break//清零键处理结束

default:break//其他键处理,无 *** 作

}

KeyValue=0//清 按键值

KeyReadyFlag=FALSE//清 按键准备(就绪)标志位

}

}

float Pow_Self(float x,uint y)//自编简易 x 的 y 次方函数,y只能是 非负整数

{

float sum

if(x==0 &&y==0) return//0 的 0 次方无意义

else if(x==0) sum=0//可有可无,y!=0的情况已经包含x=0,不加不影响结果,但影响运算速度

else if(y==0) sum=1//除上述情况外,任何数的 0 次方均为 1

else if(y==1) sum=x//任何数的 1 次方 均为 本身

else if(y>1) sum=Pow_Self(x,--y)*x//递归调用,降幂

return sum//返回计算结果

}

void Display(uint dis_num)//显示函数,显示内容为 无符号整型数据 dis_num

{

static uchar dis_loca//定义静态变量 显示位置

dis_loca=++dis_loca%SEG_Num//先对 显示位置 加1,后对变量范围进行限制 0~(SEG_Num-1)

SEG_AllOff//关闭所有数码管显示(位驱动)

SEG_Data=SEG_B_List[(dis_num/(uint)(Pow_Self(10,dis_loca)))%10]//将显示内容(dis_num) 本次需显示的位(dis_loca)上的数值转成代码,并送到数据端口

if(dis_loca==2) SEG_Data &=0x7f//显示 小数点,用于区分 Min 跟 Sec

SEG_En|=1<<(SEG_Num-1-dis_loca)//开启本次需要显示的位驱动(高驱动)

}

void ClockDisplay()//时钟显示函数

{

if(DisplayFlag)//若 显示标志位 为 真

{

Display(Min*100+Sec)//调用 显示函数,显示内容为:高2位显示 分Min,低2位显示 秒Sec

DisplayFlag=FALSE//清 显示标志

}

}

void main()//主函数

{

TimerInit()//调用 定时器初始化函数

while(1)//循环系统

{

KeyResp()//调用 按键响应函数

TimesUpdata()//调用 时间更新函数

ClockDisplay()//调用 时钟显示函数

}

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存