奥迪V6发动机机点火控制程序.docx
- 文档编号:7362668
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:12
- 大小:17.09KB
奥迪V6发动机机点火控制程序.docx
《奥迪V6发动机机点火控制程序.docx》由会员分享,可在线阅读,更多相关《奥迪V6发动机机点火控制程序.docx(12页珍藏版)》请在冰点文库上搜索。
奥迪V6发动机机点火控制程序
(1)点火器程序。
运行于51单片机,T1作为点火用定时器,溢出时马上点火,21h:
T1 定时器预装载数的高8位,22h:
磁电机运行位置(状态),分别用 1,2,3,4 表示,23h:
上上次状态
ORG 0000H
ajmp INIT
ORG 0003H
ajmp INT_0
ORG 000bH
ajmp OFW0
ORG 0013H
ajmp INT_1
ORG 001bH
ajmp OFW1
IGN_DATA_LOW:
//预置点火提前角数据
DW 0ffffh,0ffe9h,0ffd2h,0ffbbh,0ffa4h,0ff8dh,0ff77h,0ff60h,0ff49h,0ff32h ;0---9
DW 0ff1bh,0ff05h,0feeeh,0fed7h,0fec0h,0fea9h,0fe93h,0fe7ch,0fe65h,0fe4eh ;10---19
DW 0fe37h,0fe21h,0fe0ah,0fdf3h,0fddch,0fdc5h,0fdafh,0fd98h,0fd81h,0fd6ah ;20---29
DW 0fd53h,0fd3dh,0fd26h,0fd0fh,0fcf8h,0fce1h,0fccbh,0fcb4h,0fc9dh,0fc86h ;30---39
DW 0fc6fh,0fc59h,0fc42h,0fc2bh,0fc14h,0fbfdh,0fbe7h,0fbd0h,0fbb9h,0fba2h ;40---49
DW 0fb8bh,0fb75h,0fb5eh,0fb47h,0fb30h,0fb19h,0fb03h,0faech,0fad5h,0fabeh ;50---59
DW 0faa7h,0fa91h,0fa7ah,0fa63h,0fa4ch,0fa35h,0fa1fh,0fa08h,0f9f1h,0f9dah ;60---69
DW 0f9c3h,0f9adh,0f996h,0f97fh,0f968h,0f951h,0f93bh,0f924h,0f90dh,0f8f6h ;70---79
DW 0f8dfh,0f8c9h,0f8b2h,0f89bh,0f884h,0f86dh,0f857h,0f840h,0f829h,0f812h ;80---89
DW 0f7fbh,0f7e5h,0f7ceh,0f7b7h,0f7a0h,0f789h,0f773h,0f75ch,0f745h,0f72eh ;90---99
DW 0f717h,0f701h,0f6eah,0f6d3h,0f6bch,0f6a5h,0f68fh,0f678h,0f661h,0f64ah ;100---109
DW 0f633h,0f61dh,0f606h,0f5efh,0f5d8h,0f5c1h,0f5abh,0f594h,0f57dh,0f566h ;110---119
DW 0f54fh,0f539h,0f522h,0f50bh,0f4f4h,0f4ddh,0f4c7h,0f4b0h ;120---127
IGN_DATA_HIGH:
DW 0f499h,0f482h ;128---129
DW 0f46bh,0f455h,0f43eh,0f427h,0f410h,0f3f9h,0f3e3h,0f3cch,0f3b5h,0f39eh ;130---139
DW 0f387h,0f371h,0f35ah,0f343h,0f32ch,0f315h,0f2ffh,0f2e8h,0f2d1h,0f2bah ;140---149
DW 0f2a3h,0f28dh,0f276h,0f25fh,0f248h,0f231h,0f21bh,0f204h,0f1edh,0f1d6h ;150---159
DW 0f1bfh,0f1a9h,0f192h,0f17bh,0f164h,0f14dh,0f137h,0f120h,0f109h,0f0f2h ;160---169
DW 0f0dbh,0f0c5h,0f0aeh,0f097h,0f080h,0f069h,0f053h,0f03ch,0f025h,0f00eh ;170---179
DW 0eff7h,0efe1h,0efcah,0efb3h,0ef9ch,0ef85h,0ef6fh,0ef58h,0ef41h,0ef2ah ;180---189
DW 0ef13h,0eefdh,0eee6h,0eecfh,0eeb8h,0eea1h,0ee8bh,0ee74h,0ee5dh,0ee46h ;190---199
DW 0ee2fh,0ee19h,0ee02h,0edebh,0edd4h,0edbdh,0eda7h,0ed90h,0ed79h,0ed62h ;200---209
DW 0ed4bh,0ed35h,0ed1eh,0ed07h,0ecf0h,0ecd9h,0ecc3h,0ecach,0ec95h,0ec7eh ;210---219
DW 0ec67h,0ec51h,0ec3ah,0ec23h,0ec0ch,0ebf5h,0ebdfh,0ebc8h,0ebb1h,0eb9ah ;220---229
DW 0eb83h,0eb6dh,0eb56h,0eb3fh,0eb28h,0eb11h,0eafbh,0eae4h,0eacdh,0eab6h ;230---239
DW 0ea9fh,0ea89h,0ea72h,0ea5bh,0ea44h,0ea2dh,0ea17h,0ea00h,0e9e9h,0e9d2h ;240---249
DW 0e9bbh,0e9a5h,0e98eh,0e977h,0e960h
(2)主程序
INIT:
nop//完成初始化功能
nop
nop
nop
clr p1.5
MOV TMOD,#19H ;//置定时器方式,t0 模式1,t1 模式1
MOV TCON,#05H ;//后沿触发
setb C
orl C,PSW.3
orl C,PSW.4
mov IE,#8fh ;//总中断允许
clr tr0
clr TR1
MOV TL0,#0H
MOV TH0,#0H
mov tl1,#0h
mov th1,#0h
; setb tr1
setb tr0
; mov scon,#01000000b
MAIN:
clr p1.7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
setb p1.7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
setb p1.6
clr p1.6
sjmp MAIN ;//主程序循环挂起
(3)外部中断1响应程序,即方波信号的上升沿触发。
INT_1:
mov a,22h
cjne a,#1h,INT_1_EXIT ;//前一状态是1否
mov a,23h
cjne a,#4h,INT_1_EXIT ;//上上次状态是4否
mov a,21h
cjne a,#0ffh,INT_1_EXIT ;//是ffh则在状态2的上升沿点一次火
call ign_long
INT_1_EXIT:
nop
nop
nop
reti
(4)外部中断0响应程序方波高电平脉宽测定完成,先保存原r0r1到r4r5,再保存记数到r0r1,先检查是不是状态1,若不是则前一状态步进1作为当前状态,
INT_0:
clr tr0
mov A,r0
mov r4,A
mov A,r1
mov r5,A
mov r0,tl0
mov r1,th0
mov tl0,#0h
mov th0,#0h
setb tr0 ;T0继续记时
clr p1.5
mov psw,#0h ;比较r0r1 和r4r5大小
mov A,r4
subb A,r0
mov A,r5
subb A,r1
jnc is_234 ;r4r5>r0r1
mov a,r0
mov r2,a
mov a,r1
mov r3,a ;r0r1=>r2r3
if_1:
mov psw,#0h ;1,r2r3减r4r5看够不够减
mov a,r2
subb a,r4
mov r2,a
mov a,r3
subb A,r5
mov r3,a
jc is_234
mov psw,#0h ;2,r2r3减r4r5看够不够减
mov a,r2
subb a,r4
mov r2,a
mov a,r3
subb A,r5
mov r3,a
jc is_234
mov psw,#0h ;3,r2r3减r4r5看够不够减
mov a,r2
subb a,r4
mov r2,a
mov a,r3
subb A,r5
mov r3,a
jc is_234
mov psw,#0h ;4,r2r3减r4r5看够不够减
mov a,r2
subb a,r4
mov r2,a
mov a,r3
subb A,r5
mov r3,a
jnc is_pos_1 ;如差不多大不够减4次,则不是状态1
is_234:
nop
nop
clr c
mov 23h,#0h
mov a,22h
cjne a,#1h,if_pos_3 ;前一状态是1否
is_pos_2:
;是状态2
nop
mov 23h,#1h
mov 22h,#2h
nop
ajmp exit
if_pos_3:
cjne a,#2h,if_pos_4 ;前一状态是2否
is_pos_3:
mov 23h,#2h
mov 22h,#3h ;是状态3
nop
nop
ajmp exit
if_pos_4:
cjne a,#3h,err ;前一状态是3否
is_pos_4:
clr tr1
mov 23h,#3h
mov 22h,#4h ;是状态4
nop
nop
ajmp exit
is_pos_1:
mov a,22h
mov 23h,a
mov 22h,#1h ;是状态1
cjne a,#4h,err ;上次不是4,不点火,但记录本次状态为1作为开始状态
mov psw,#0h
mov a,r1
subb a,#15h
jc h_1200r ;转速低于1200提前角恒为0
mov 21h,#0ffh
ajmp exit ;直接返回,不点火,由状态2点火
h_1200r:
mov a,r1
mov r3,a
mov a,r0
mov r2,a
mov psw,#0h
mov a,r3
rrc a
mov r3,a
mov a,r2
rrc a
mov r2,a
mov psw,#0h
mov a,r3
rrc a
mov r3,a
mov a,r2
rrc a
mov r2,a
mov psw,#0h
mov a,r3
rrc a
mov r3,a
mov a,r2
rrc a
mov r2,a
mov psw,#0h
mov a,r3
rrc a
mov r3,a
mov a,r2
rrc a
mov r2,a
mov psw,#0h
subb a,#064h
mov r7,a
mov a,r3
subb a,#0h
jc h_4140r
mov a,r7
subb a,#80h
jc low_256
mov dptr,#IGN_DATA_HIGH
ajmp get_ign_data
low_256:
mov psw,#0h
mov a,r7
mov dptr,#IGN_DATA_LOW
get_ign_data:
mov b,#2h
mul ab
mov r7,a
movc a,@a+dptr
mov th1,a
mov a,r7
inc a
movc a,@a+dptr
mov tl1,a
setb tr1
ajmp exit
h_4140r:
nop
nop
call ign_2_loop
exit:
err:
nop
nop
clr p1.5
reti
(5)点火子程序,低转速下延长打火时间
ign_2_loop:
setb p1.5
mov a,#0ffh
ign_loop:
dec a
nop
jnz ign_loop
clr p1.5
nop
nop
ret//点火子程序
ign_long:
setb p1.5
mov a,#0ffh
ign_long_loop:
dec a
nop
nop
nop
nop
nop
nop
nop
nop
jnz ign_long_loop
clr p1.5
nop
nop
ret
(6)定时器T0溢出中断响应程序正常情况T0不应溢出,否则说明磁电机转速太慢了,造成计数溢出,这种情况下清空继续计数
OFW0:
nop
nop
clr tr0
mov tl0,#0h
mov th0,#0h
setb tr0
clr p1.5
nop
nop
nop
reti//定时器T1溢出中断响应程序;T1溢出,开始点火
OFW1:
clr tr1
mov a,22h
cjne a,#1h,ign_exit ;不是状态1不要点火,3-4之间还要记数测转速
; mov a,23h
; cjne a,#4h,ign_exit ;上上次不是状态4不要点火,
call ign_2_loop
ign_exit:
mov tl1,#0h
mov th1,#0h
clr p1.5
nop
nop
reti
nop
nop
clr p1.5
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 奥迪 V6 发动机 点火 控制程序