📄 io_scanrt.asm
字号:
;==========================================================================================; SH69P822;; (c) Copyright 2006-2007, Sino Wealth Microelectronics Corporation Limited; All Rights Reserved;; module name : IO_RT.asm version : 4.0; function : ; by : CLR; in : 2007-02-13;;========================================================================================== ;==========================================================================================; ScanRT;==========================================================================================ScanRT: lda zIntFlag2 ,0 ba1 $+2 jmp ScanRT_Over andim zIntFlag2 ,1101b call UpdateIronTemperature ;refer to Iron.asm call UpdateWorkMode ;refer to Iron.asm orim zSystemHealthy ,0001b ;set temperature ready ScanRT_Over: jmp Exit_ScanRT UpdateIronTemperature: ;after AD debounce,lookup the table to obtain the Iron Tempeture sbi zCFOption ,Celsius baz ?Celsius ?Fahrenheit: ldi rzTBR ,FT_Table_H_TBR ldi zWk0 ,FT_Table_H_ACC lda zRTTMP_L ,0 addm zWk0 ,0 lda zRTTMP_H ,0 adcm rzTBR ,0 lda zWk0 call FT_Table_H sta zIronCT+2 ,0 lda rzTBR ,0 sta zIronCT+3 ,0 ldi rzTBR ,FT_Table_L_TBR ldi zWk0 ,FT_Table_L_ACC lda zRTTMP_L ,0 addm zWk0 ,0 lda zRTTMP_H ,0 adcm rzTBR ,0 lda zWk0 call FT_Table_L sta zIronCT+0 ,0 lda rzTBR ,0 sta zIronCT+1 ,0 jmp ?next ?Celsius: ldi rzTBR ,CT_Table_H_TBR ldi zWk0 ,CT_Table_H_ACC lda zRTTMP_L ,0 addm zWk0 ,0 lda zRTTMP_H ,0 adcm rzTBR ,0 lda zWk0 call CT_Table_H sta zIronCT+2 ,0 lda rzTBR ,0 sta zIronCT+3 ,0 ldi rzTBR ,CT_Table_L_TBR ldi zWk0 ,CT_Table_L_ACC lda zRTTMP_L ,0 addm zWk0 ,0 lda zRTTMP_H ,0 adcm rzTBR ,0 lda zWk0 call CT_Table_L sta zIronCT+0 ,0 lda rzTBR ,0 sta zIronCT+1 ,0 ?next: rtni;==========================================================================================; Init System registers;==========================================================================================InitSys: PIN_WHEEL_Cfg EQU rzPAOUT PIN_WHEEL EQU rzPA WHEELB EQU 0100b WHEELA EQU 1000b PIN_SDA164_Cfg EQU rzPBOUT PIN_SDA164 EQU rzPB PIN_SCK164 EQU rzPB SDA164 EQU 0001b SCK164 EQU 0010b PIN_IRON EQU rzPA IRON EQU 0010b ldi 14h ,0000b ; PB0:IO PB1:IO ldi 15h ,0000b ; PA2:IO PA3:IO ldi 16h ,1100b ; PA0:AN0 PA1:IO ; PA3:Input ---- WheelA ; PA2:Input ---- WheelB ; PA1:Output ---- Ctrl ; PA0:Input ---- ADC ldi rzPAOUT ,0010b ldi rzPA ,1100b ; PB1:Output ---- 74164 SCK ; PB0:Output ---- 74164 SDA ldi rzPBOUT ,0010b //2007/05/07 ldi rzPB ,0000b rtni;==========================================================================================; Clear User registers;==========================================================================================ClrRAM: ldi rzDPL ,USERRAMBEGIN&0fh ldi rzDPM ,(USERRAMBEGIN>>4)&07h ldi rzDPH ,(USERRAMBEGIN>>7)&07h ?Loop: ldi rzINX ,00h sbi rzDPL ,USERRAMEND&0fh baz ?JudgeDPH?NextRAM: adim rzDPL ,01h bnc ?Loop adim rzDPM ,01h sta rzTBR ,0 sbi rzTBR ,08h bnc ?Loop adim rzDPH ,01h jmp ?Loop?JudgeDPH: sbi rzDPH ,(USERRAMEND>>7)&07h bnz ?NextRAM sbi rzDPM ,(USERRAMEND>>4)&07h bnz ?NextRAM rtni ;----------------------------------END-----------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -