用东芝芯片怎么控制步进电机
RT 问题点数:60、回复次数:1Top
1 楼842(不是偶)回复于 2003-11-01 01:55:03 得分 60
;================================
;p1 口功能说明
;==================================
bigfn equ 0x02 ;大风
midfn equ 0x01 ;中风
lowfn equ 0x00 ;小风
bz equ 0x03 ;蜂鸣器
bj_ds equ 0x04 ;步进电机D相
bj_cs equ 0x05 ;步进电机C相
bj_bs equ 0x06 ;步进电机B相
bj_as equ 0x07 ;步进电机A相
;--------------------------------------------------
;this sub is contorl swing run |
;if swing==0 zhi ran feng =1 feng kai =2 feng guan|
;--------------------------------------------------
swingsub:
ld (wdtcr2),0x4e
test (rst11).rst_sw150
j f,swinggb
test (poweflag).erroff
j f,swinggb
test (rst11).rs_swrt
j f,swinggb
test (runmode).7
j f,swinsub1
test (relayflg).re_nfj
j f,swinsub1
swinggb:
ld (swintemp),5
set (swinflag).1
test (rst11).rst_sw150
j t,swinggb_1
ld (swinini),0
ld (swinend),0
ld a,0
sub a,(swingcs)
j nz,swingrt
clr (rst11).rs_offsw
clr (rst11).rst_sw150
ld (swinini),182
ld (swinend),182
j swingrt
swinggb_1:
ld (swinini),182
ld (swinend),182
j swingrt
swinsub1:
ld (swintemp),14
test (relayflg).1
j f,fsub1
ld (swing),2
fsub1:
ld a,(swing)
j z,swinsub3
clr (dstemp).6
ld a,(swing)
sub a,1
j z,swinsub3
ld a,(swing)
sub a,2
j nz,swingrt
set (swinflag).1
test (poweflag).powe_run
j t,swinsub4
call swing_stop
j swingrt
swinsub4:
ld (swinini),(swingcs)
ld (swinend),(swingcs)
j swingrt
swinsub3:
clr (swinflag).1
call swing_sway
swingrt:
ret
;==========================================
ssub:
ld (wdtcr2),0x4e
ld a,(swintime)
j nz,ssubrt
ld (swintime),(swintemp)
test (swinflag).1
j t,ssub1
ld a,(swinend)
sub a,(swingcs)
j nz,ssub2_1
clr (rst11).rs_swrt
test (runmode).run
j t,ssub2
ld a,(swinend)
j z,ssub2
clr (rst11).rs_offsw
j ssub2
ssub2_1:
j cs,ssub0
clr (swinflag).0
j ssub1
ssub0:
set (swinflag).0
ssub1:
test (swinflag).0
j f,ssubfz
inc (swinno) ;swing bu jin de zhou qi shu
ld a,8
sub a,(swinno)
j nz,ssub11
ld (swinno),0
inc (swingcs)
ld a,(swinend)
sub a,(swingcs)
j cc,ssub11
set (swinflag).0
clr (rst11).rs_offsw
clr (rst11).rs_swrt
clr (poweflag).powe_run
xor (dstemp),0x20
test (dstemp).5
j f,ssub11
set (dstemp).6
j ssub11
ssubfz:
ld a,(swinno)
j z,ssubfz1
dec (swinno)
j ssub11
ssubfz1:
ld (swinno),7
dec (swingcs) ;swing de bai dong jiao shu
ld a,(swingcs)
j z,ssubfz2
sub a,(swinini)
j cc,ssub11
ssubfz2:
clr (poweflag).erroff
clr (swinflag).0
ssub11:
ld c,(swinno)
ld hl,swintab
ld (swindata),(hl+c)
and (p1temp),0x0f
ld a,(swindata) ;kong zhi bu jin de dao tong duan
or a,(p1temp)
ld (p1temp),a
ld (p1),(p1temp)
j ssubrt
ssub2:
and (p1temp),0x0f
ld (p1),(p1temp)
ssubrt:
ret
;--------------------------------------------------------
swing_stop:
test (modeflag).modecool
j t,swing_dry
ld (swinini),71
ld (swinend),71
j swing_stop_rt
swing_dry:
test (modeflag).modedry
j t,swing_fan
ld (swinini),28
ld (swinend),28
j swing_stop_rt
swing_fan:
test (modeflag).modefan
j t,swing_heat
ld (swinini),71
ld (swinend),71
j swing_stop_rt
swing_heat:
ld (swinini),138
ld (swinend),138
swing_stop_rt:
ret
;--------------------------------------------------------
swing_sway:
test (modeflag).modecool
j t,swing_dry_sway
ld (swinini),28
ld (swinend),107
j swing_sway_rt
swing_dry_sway:
test (modeflag).modedry
j t,swing_fan_sway
ld (swinini),28
ld (swinend),107
j swing_sway_rt
swing_fan_sway:
test (modeflag).modefan
j t,swing_heat_sway
ld (swinini),28
ld (swinend),107
j swing_sway_rt
swing_heat_sway:
ld (swinini),71
ld (swinend),149
swing_sway_rt:
retTop




