?? print.asm
字號(hào):
movw bc,#01h
init_printer_end:
movw pass_bm_num,Pass_BmNum_Temp ;2005-03-31
mov position_flag,Position_FlagTemp ;2005-03-31
mov initing_flag,#INITED
pop whl
ret
;******************************************************************************
; 函數(shù)名:
; _init_pwroff
;
; 功能:
; 初始化掉電保護(hù)變量
; 輸入:
; 輸出:
;-------------------------------------------------------------------------------
_init_pwroff:
mov !!_Rb_PEFlag,#PE_UN_LACK ;2005-04-07 start
mov !!_Rb_PENum,#00H
mov !!_Rb_PositionFlag,#STEP_OVER_BM
mov !!_ucLfValueFlag,#LF_VALUE18
movw !!_Rw_checkBmFlag,#CHECK_UNBM
mov !!_ucHzBiDirFlag,#HZ_SI_DIR
mov !!_ucAsciiDoubleWidthFlag,#ASCII_SINGLE
mov !!_ucAscii7x7Flag,#ASCII_7X7
mov !!_ucHzAsciiModeFlag,#ASCII_MODE
mov !!_ucDoubleDensityFlag,#HZ_DOUBLE
mov !!_ucHzSmallSizeFlag,#HZ_SMALL
mov !!_ucFeedingFlag,#MOTOR_IDLE
mov !!_Rb_LastBMFlag,#LASTBM_WHITE
mov !!_ucPfDirFlag,#MOTOR_DIR_L_OR_B
movw !!_ucPfStepNum,#00h
mov !!_ucPfSpeedFlag,#MOTOR_SPEED_STOP
mov !!_ucPfStepCounter,#00h
mov !!_ucPwrOffPrnType, #00h
mov !!_ucPrnCharNum,#00h
mov !!_ucPwrOffPrnFlag, #00h
mov db_temp1,#00h
mov !!_ucLineProtectFlag,#00h
mov !!_ucPwrOffeedType,#00h
mov !!_ucStepTestFlag,#00h
ret ;2005-04-07 end
;******************************************************************************
; 函數(shù)名:
; poweroff_init_prn
;
; 功能:
; 掉電初始化打印機(jī)
;-------------------------------------------------------------------------------
_poweroff_init_prn:
push whl
mov initing_flag,#INITING ;正在初始化
mov logic_delta1_flag,#UN_LOGIC_DELTA ;邏輯補(bǔ)償1不補(bǔ)償
mov logic_delta2_flag,#UN_LOGIC_DELTA ;邏輯補(bǔ)償2不補(bǔ)償
mov db_PEFlag, #PE_UN_LACK ;不缺紙狀態(tài)
mov db_PENum, #00H
push ax ;2005-04-07 start
movw ax,!!_Rw_PassBmNum
movw Pass_BmNum_Temp,ax
mov a,!!_Rb_PositionFlag
mov Position_FlagTemp,a
pop ax ;2005-04-07 end
call mos_on ;啟動(dòng)mos
call mos_off ;關(guān)閉mos
;MU110字車(chē)電機(jī)初始狀態(tài)
call cm_hold_current
call set_cm_pha
call set_cm_phb
mov cm_hold_state,#00h
movw cr20w,#00h
;MU110走紙電機(jī)初始狀態(tài)
call pf_hold_current
call set_pf_pha
call set_pf_phb
mov pf_hold_state,#00h
movw cr21w,#00h
movw position_x,#12
mov db_PinCmFlag,#PIN_CM_HOLD ;不翻轉(zhuǎn)
mov lock_fk_flag,#FEED_PAPER_CLOSE ;走紙關(guān)閉 2005-03-25
mov esc_return_flag,#UN_ESC_RETURN ;無(wú)命令解析
mov esc_return_value,#00h
movw pass_bm_num,#01h
mov position_flag,#STEP_OVER_BM ;此時(shí)的步數(shù)為已走過(guò)黑標(biāo)的步數(shù)
mov pf_limit_flag,#FEED_PAPER_OPEN ;走紙打開(kāi)
mov lf_value_flag,#LF_VALUE18 ;1/8
mov line_head_lf_flag,#LINEHEAD_NO_LF ;行首不換行
mov line_head_lf_value,#01h
mov pbuff_sflag2,#00h
mov pbuff_sflag1,#00h
mov old_prt_data_temp,#00h
mov old_prt_data,#00h
mov feed_dir_flag,#FEED_DIR_IDLE ;走紙空閑
mov feed_lines,#00h
call _read_bm_num
call _EA_ucReadBMLen
mov blackmark_len, c
add blackmark_len, #10 ;10步的偏差值
movg whl,#000000h
movg pbuff_base_addr,whl
movw prt_buff_pointer,#00h
mov feed_to_bm_flag,#FEED_DIR_IDLE ;走紙空閑
mov find_bm_flag,#UNFOUND_BM ;黑標(biāo)沒(méi)找到
mov check_BM_flag,#CHECK_UNBM ;走紙過(guò)程檢查無(wú)黑標(biāo)
mov pf_with_cm_flag,#PF_WHEN_CM_STOP ;字車(chē)靜止之后走紙
mov ascii_feed_flag,#PF_WHEN_CM_STOP
mov cm_logic_flag,#00h ;邏輯查詢(xún)
movw stop_position,#00h
movw position_y,#00h
mov cm_idle_num,#00h
mov cm_idle_flag,#CM_PIN ;無(wú)空走
mov pin_out_flag,#UN_PIN_OUT ;不能出針
mov hz_bi_dir_flag,#HZ_BI_DIR ;HZ_BI_DIR-雙向打印
mov ascii_double_width_flag,#ASCII_SINGLE ;西文單倍密度
mov ascii_7x7_flag,#ASCII_7X7 ;7*7
mov hz_ascii_mode_flag,#ASCII_MODE ;西文本
mov pbuff_mflag,#PBUFF1 ;當(dāng)前緩沖區(qū)為1
mov hz_double_density_flag,#HZ_DOUBLE
mov hz_small_size_flag,#HZ_SMALL ;小字
mov _prt_char_num,#00h
mov print_map_flag,#PRINT_CHAR ;字符打印
mov map_len,#00h
mov map_line,#00h
mov feed_step_by_step_flag,#FEED_LINE ;行走紙
mov feeding_flag,#MOTOR_IDLE ;走紙電機(jī)空閑
mov printing_flag,#UN_PRINTING
movw printing_counter,#00h
mov cm_printing_flag,#MOTOR_IDLE ;字車(chē)電機(jī)空閑
mov db_LastBMFlag, #LASTBM_WHITE ;(黑標(biāo)狀態(tài))白色
mov cm_init_flag,#MOTOR_IDLE ;字車(chē)電機(jī)空閑
mov cm_speed_state,#MOTOR_SPEED_STOP ;字車(chē)電機(jī)停止
mov cm_dir_flag,#MOTOR_DIR_L_OR_B ;控制字車(chē)電機(jī)向左
movw cm_step_num,#00h
mov cm_step_counter,#00h
mov cm_rush_flag,#MOTOR_HOLD_STATE ;字車(chē)保持狀態(tài)
mov print_return_value,#PRNT_NORMAL ;正常(白色位置)
mov db_10Step12SwitchFlag,#DB_10STEP ;MU110 打印初始化10步
mov pf_dir_flag,#MOTOR_DIR_R_OR_F ;控制走紙電機(jī)正向 2005-04-07
movw pf_step_num,#00h
mov pf_rush_flag,#MOTOR_HOLD_STATE ;保持狀態(tài)
mov pf_speed_flag,#MOTOR_SPEED_STOP ;走紙電機(jī)停止
mov stop_feed_paper_flag,#FEED_PAPER_OPEN ;走紙打開(kāi)
mov pf_step_counter,#00h
mov allAscii_flag,#00h ;2005-03-28
mov allAscii_temp,#00h ;2005-03-28
mov db_EnterBMFlag, #ENTERBM_FORWORD ;2005-04-07
call paper_size
mov test_pin_not_out_flag,#TEST_PIN_OUT_NORMAL ;正常打印
call powerup_init
Pwroffinit_wait:
cmp cm_init_flag,#MOTOR_IDLE
bne $Pwroffinit_wait ;循環(huán)等待HP初始化結(jié)束
Pwroff_init_bm_signal:
mov db_LastBMFlag, #LASTBM_WHITE
call check_bm_info
bnc $Pwroffinit_printer_end
mov db_LastBMFlag, #LASTBM_BLACK
Pwroffinit_printer_end:
movw pass_bm_num,Pass_BmNum_Temp ;2005-04-07
mov position_flag,Position_FlagTemp ;2005-04-07
mov initing_flag,#INITED
pop whl
ret
;******************************************************************************
; 函數(shù)名:
; powerup_init
;
; 功能:
; 字車(chē)上電定位(加速10位)
;-------------------------------------------------------------------------------
powerup_init:
cmp cm_init_flag,#MOTOR_IDLE
bne $powerup_init
call hp_signal
bc $Cm_init_left ;判斷HP信號(hào)高低
Cm_init_right:
movw cm_step_num,#240
mov cm_rush_flag,#MOTOR_RUSH_STATE
mov cm_init_flag,#MOTOR_INIT
mov cm_dir_flag,#MOTOR_DIR_R_OR_F
mov db_10Step12SwitchFlag,#DB_10STEP
mov cm_step_counter,#10
mov cm_speed_state,#MOTOR_SPEED_ACC
call timer20_init ;hp信號(hào)為低,向右no more than 230步
Cm_init_right_wait:
call hp_signal
bnc $Cm_init_right_wait1
cmp cm_speed_state,#MOTOR_SPEED_ACC
be $Cm_init_acc_high
cmp cm_speed_state,#MOTOR_SPEED_CONST
be $Cm_hp_here ;HP為低中的情況1
Cm_init_right_wait1:
cmp cm_init_flag,#MOTOR_IDLE
bne $Cm_init_right_wait
mov print_return_value,#PRNT_HP_ERR
ret ;停下還 hp signal低則還回硬件錯(cuò)誤
Cm_init_acc_high:
push ax
push bc
movw ax,#32
movw bc,#00h
mov c,cm_step_counter
subw ax,bc
movw cm_step_num,ax
pop bc
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -