Program For Sms Parametr Monitor Half 1st
Program For Sms Parametr Monitor Half 1st
#lnclude pl6f877Alnc
_CCnllC_x1_CSC_W81L_Cn_C_Cll_Wu1_Cll_Lv_Cll
W_1LM LCu 0x4l
S1A1uS_1LM LCu 0x4L
CLA1P_1LM LCu 0x4u
LCu_uA1A LCu C81u
LCu_Cn18L LCu C81C
8S LCu 0
8W LCu 1
Ln LCu 2
1LM_LCu_CCM LCu 0x23
1LM_LCu_uA1 LCu 0x24
8C_Auu8_MS8 LCu 0x23
8C_Auu8_LS8 LCu 0x26
8C_uA1_MS8 LCu 0x27
8C_uA1_LS8 LCu 0x28
MSC_CP8_Cn18 LCu 0x29
1LM_1 LCu 0x33
1LM_2 LCu 0x34
1LM_3 LCu 0x33
1LM_4 LCu 0x36
8AM_n18 LCu 0x37
8LCvu_8?1L LCu 0x38
1LML8A1u8L LCu 0x39
uLSL_8A1L LCu 0x3A
lLAC_8l1S LCu 0x3C
8Cu_1 LCu 0x40
8Cu_2 LCu 0x41
8Cu_3 LCu 0x42
8LCvu LCu 0
nLW_uA1A LCu 1
L88C81 LCu 2
CL1u LCu 3
8LCvSL8 LCu 4
8uSMS LCu 3
S18_SMS LCu 6
MSC_nuLx1 LCu 0x3C
MSC_lnuLx2 LCu 0x3u
Ll_Cn18 LCu 0x3L
CPA8_SlZL LCu 0x3l
lLAC_8l1S1 LCu 0x38
uLSL LCu 0 lLAC 8l1 lC8 uLSL lnulCA1lCn
lnC8 LCu 1 lLAC 8l1 lC8 nC llnCL8 lnulCA1lCCn
Cv8_lLCW LCu 2
1lML CCun1lnC 8LClS1L8S lC8 MlLLlSLCCnuS
MSLCnu_Cn11 LCu 0x43
MSLCnu_Cn12 LCu 0x44
MSLCnu_Cn13 LCu 0x43
C8LCCk 120P
83828180 MuS1 S1A81 Cn 8lnA8? xxxxx000
CCun1 L8?1L M8?1L P8?1L
nraLorP
nraLorM
nraLorL
denomP
denomM
denomL
remalnP
remalnM
remalnL
shlfLP
shlfLM
shlfLL
8CounL
LnuC
8AM LCCA1lCnS 30P 1C 73P A8L uSLu lC8 32 + CCuL (4) CPA8AC1L8S
30P 1C 33P lS uSLu lC8
0x3033 A8L uSLu lC8 uLLA? 8Cu1lnLS
8AM LCCA1lCnS 30P 1C 6lP (32 8?1LS lS uSLu lC8 SL8lAL uA1A S1C8ACL)
C8C 0x0000
CC1C S1A81
lnLerrupL rouLlne
C8C 0x0004
MCvWl W_1LM savlng acccumelaLor
SWAl S1A1uSW savlng sLaLus reglsLer
CL8l S1A1uS clear sLaLus reg
MCvWl S1A1uS_1LM
MCvl CLA1PW
MCvWl CLA1P_1LM
CL8l CLA1P
nC
8AnkSLL l81
81lSC l818Cll
CC1C SL8lAL_lS8
8AnkSLL ln1CCn
81lSC ln1CCnln1l
CALL Lx1ln1_lS8 CC1C Lx1L8nAL ln1L88u1 8Cu1lnL
8AnkSLL ln1CCn
81lSC ln1CCn10ll CC1C 1lML8 ln1L88u1 8Cu1lnL
CALL 1M80_lS8
CC1C nC_8LCLlvL
SL8lAL_lS8
8AnkSLL lLAC_8l1S
81lSS lLAC_8l1SnLW_uA1A CPLCk lC8 nLW uA1A lLAC lC8 8LCLlvL
CC1C nC_8LCLlvL
81lSC lLAC_8l1S8uSMS
CC1C 8LAu_SMS
8Sl lLAC_8l1S8LCvu SL1 8?1L 8LCLlvLu lLAC 8l1
81lSC lLAC_8l1SS18_SMS
CC1C S1C8L_SMS
SAvL_MSC
8AnkSLL 8C8LC
MCvl 8C8LCW 8LAu 8LCLlvLu 8?1L Anu SAvL ln 8AM
MCvWl lnul
MCvWl 1x8LC
lnCl lS8l
MCvl lS8W
Su8LW 0x73
81lSS S1A1uSZ
CC1C nC_8LCLlvL
S1C_MSC
8Cl lLAC_8l1SnLW_uA1A
8Cl 8CS1AC8Ln 8Cl lLAC_8l1SS18_SMS CC1C nC_8LCLlvL S1C8L_SMS
8AnkSLL 8C8LC MCvl 8C8LCW Su8LW 0x0u 81lSC S1A1uSZ CC1C S1C_MSC CC1C SAvL_MSC
8LAu!SMS
8AnkSLL 8C8LC MCvl 8C8LCW MCvWl lnul lnCl lS8l Su8LW 0x0A 81lSS S1A1uSZ CC1C
nC_8LCLlvL MCvLW 0xA0 MCvWl lS8 lnCl Ll_Cn18l MCvl Ll_Cn18W Su8LW 0x02 81lSS
S1A1uSZ CC1C nC_8LCLlvL MCvLW 0x30 MCvWl lS8 8Cl lLAC_8l1S8uSMS 8Sl
lLAC_8l1SS18_SMS
nC_8LCLlvL
MCvl CLA1P_1LMW MCvWl CLA1P
SWAl S1A1uS_1LMW reLrlevlng sLaLus reg MCvWl S1A1uS
SWAl W_1LMl reLrelvlng accumelaLor
SWAl W_1LMW
8L1llL exlL lnLerrupL rouLlne
S1A81lnC Cl 8CC8AM S1A81
lnl1lALlSA1lCn CALL uLLA?
CALL lnl1_C81S CALL lnl1_LCu MCvLW 0x30 MCvWl lS8
CALL lnl1_SL8lAL CALL lnl1_AuC
CALL Ln_ln18
CL8l lLAC_8l1S CL8l lLAC_8l1S1
CALL uLLA?
MAln!LCC
8AnkSLL 8CS1A
8Cl 8CS1AC8Ln
8AnkSLL LLAu8
MCvLW LCW(MSCl) LCAu 8CC8AM MLMC8?
Auu8LSS LS8 1C 8L 8LAu 1C LLAu8 MCvWl LLAu8 MCvLW PlCP(MSCl)
8AnkSLL LLAu8P LCAu 8CC8AM MLMC8?
Auu8LSS MS8 1C 8L 8LAu 1C LLAu8P MCvWl LLAu8P 8AnkSLL MSC_CP8_Cn18
MCvLW 0x09 LCAu nC Cl 8?1LS 1C 8L 8LAu
l8CM 8CC8AM MLMC8?
MCvWl MSC_CP8_Cn18 MCvLW 0x01
MCvWl 1LM_LCu_CCM CCMMAnu lC8 ll8S1 LlnL
CALL CCMMAnu_LCu
CALL S18nC_MSSC 8LAu 8CC8AM MLMC8? Anu
ulSLA? ln LCu
8AnkSLL LLAu8
MCvLW LCW(MSC2) LCAu 8CC8AM MLMC8?
Auu8LSS LS8 1C 8L 8LAu 1C LLAu8 MCvWl LLAu8 MCvLW PlCP(MSC2)
8AnkSLL LLAu8P LCAu 8CC8AM MLMC8?
Auu8LSS MS8 1C 8L 8LAu 1C LLAu8P MCvWl LLAu8P 8AnkSLL MSC_CP8_Cn18
MCvLW 0x09 LCAu nC Cl 8?1LS 1C 8L 8LAu
l8CM 8CC8AM MLMC8?
MCvWl MSC_CP8_Cn18 MCvLW 0xC0
MCvWl 1LM_LCu_CCM CALL CCMMAnu_LCu
CALL S18nC!MSSC 8LAu 8CC8AM MLMC8? Anu
ulSLA? ln LCu
CALL uLLA?_SLC CALL llLL_8AM
S1Anu_8?
8AnkSLL LLAu8
MCvLW LCW(MSC7) LCAu 8CC8AM MLMC8?
Auu8LSS LS8 1C 8L 8LAu 1C LLAu8 MCvWl LLAu8 MCvLW PlCP(MSC7)
8AnkSLL LLAu8P LCAu 8CC8AM MLMC8?
Auu8LSS MS8 1C 8L 8LAu 1C LLAu8P MCvWl LLAu8P 8AnkSLL MSC_CP8_Cn18
MCvLW 0x09 LCAu nC Cl 8?1LS 1C 8L 8LAu
l8CM 8CC8AM MLMC8?
MCvWl MSC_CP8_Cn18 MCvLW 0x01
MCvWl 1LM_LCu_CCM CCMMAnu lC8 ll8S1 LlnL
CALL CCMMAnu_LCu
CALL uLLA?_1
CALL S18nC_MSSC 8LAu 8CC8AM MLMC8? Anu
ulSLA? ln LCu
CCMMAnu lC8 ll8S1 LlnL
8AnkSLL 8CS1A 8Cl 8CS1AC8Ln 8Cl lLAC_8l1S8LCvu
8Cl lLAC_8l1SnLW_uA1A 8AnkSLL 8CS1A 8Cl 8CS1AC8Ln 8AnkSLL 1LM_2 CL8l 1LM_2
SLnu CCMMAnu A1 1C MCuLM
CALL SLnu_A1 CALL uLLA?_SLC
CL8l 1LM_2 SLnu A1+CMCl1 1C MCuLM
CALL SLnu_CMCl CALL uLLA?_SLC
uLLL1L MLSSCAL 1 lC8 uLLL1lnC 1S1 MLSSCAL lC8 ln8Cx SACL SLnulnC A1_CMCu1 1C
MCuLM
CL8l 1LM_2
CALL uLLA?
CALL SLnu_CMCu
MCvLW 0x31 8AnkSLL 1x8LC MCvWl 1x8LC CALL WAl11x
8AnkSLL 1x8LC MCvLW 0x0u MCvWl 1x8LC
CALL WAl1_1x
CL8l 1LM_2
SLnu A1+CnMl 1C MCuLM CL8l 1LM_2
CALL SLnu_CnMl
CALL uLLA?_SLC
8Cl lLAC_8l1S8LCvu CLLA8 SL8lAL 8LCLlvLu lLAC
8Sl lLAC_8l1SnLW_uA1A LnA8LL nLW SL8lAL uA1A
8LCL1lCn
MCvLW 0x30 MCvWl lS8 8Sl 8CS1AC8Ln
CALL CC88[SL88LCv CLLA8 CvL8lLCW L88C8
lLAC
CPLCk lC8 An? 8?1LS 8LClvLu WAl1_CnMl
CCnvL81 1LML8A1u8L 8AnkSLL AuCCnC
8Cl AuCCnCCPSC CPAnnLL 0
CALL uLLA?_S 8Sl AuCCnCCC_uCnL W Al1_SL2_8u ?
81lSC AuCCnCCC_uCnL check converslon compleLed
CC1C WAl1_SL2_8u?
8AnkSLL Au8LSP
MCvl Au8LSPW
8AnkSLL 1LML8A1u8L
MCvWl 1LML8A1u8L
ulSL A ?_u A1 A
ulSLA?lnC MLASu8Lu vALuLS 8AnkSLL LLAu8
MCvLW LCW(MSC3) LCAu 8CC8AM MLMC8?
Auu8LSS LS8 1C 8L 8LAu 1C LLAu8 MCvWl LLAu8 MCvLW PlCP(MSC3)
8AnkSLL LLAu8P LCAu 8CC8AM MLMC8?
Auu8LSS MS8 1C 8L 8LAu 1C LLAu8P MCvWl LLAu8P 8AnkSLL MSC_CP8_Cn18
MCvLW 0x04 LCAu nC Cl 8?1LS 1C 8L 8LAu
l8CM 8CC8AM MLMC8?
MCvWl MSC_CP8_Cn18 MCvLW 0x01
MCvWl 1LM_LCu_CCM CCMMAnu lC8 ll8S1 LlnL
CALL CCMMAnu!LCu
CALL uLLA?_1
CALL S18nC_MSSC 8LAu 8CC8AM MLMC8? Anu
ulSLA? ln LCu
8AnkSLL 1LM_LCu_CCM MCvLW 0x83
MCvWl 1LM_LCu_CCM CCMMAnu lC8 ll8S1 LlnL
CALL CCMMAnu_LCu
8AnkSLL 1LML8A1u8L MCvl 1LML8A1u8LW MCvWl 1LM_1 CALL 8ln_8Cu
CALL ulS_8Cu
8AnkSLL 1LM_LCu_CCM MCvLW CxCC
MCvWl 1LM_LCu_CCM CCMMAnu lC8 ll8S1 LlnL
CALL CCMMAnu_LCu
8AnkSLL nraLorP
MCvLW 0x00
MCvWl nraLorP
MCvWl denomP uLnCMlA1C8 MS8 ALWA?S ZL8C
MCvLW CxLA MCvWl nraLorM MCvLW 0x60 MCvWl nraLorL
MCvLW PlCP(ulvlde_24x24) MCvWl CLA1P CALL ulvlde_24x24
8AnkSLL nraLorL MCvl nraLorLW 8AnkSLL 1LM_1 MCvWl 1LM_1 MCvWl uLSL_8A1L CALL
8ln_8Cu
LCAu 8CC8AM MLMC8?
LCAu 8CC8AM MLMC8?
ulSLA?lnC MLASu8Lu vALuLS 8AnkSLL LLAu8 MCvLW LCW(MSC9) Auu8LSS LS8 1C 8L 8LAu 1C
LLAu8 MCvWl LLAu8 MCvLW PlCP(MSC9) 8AnkSLL LLAu8P Auu8LSS MS8 1C 8L 8LAu 1C LLAu8P
MCvWl LLAu8P 8AnkSLL MSC_CP8_Cn18
MCvLW 0x06 LCAu nC Cl 8?1LS 1C 8L 8LAu
8CM 8CC8AM MLMC8?
MCvWl MSC_CP8_Cn18
CALL S18nC!MSSC 8LAu 8CC8AM MLMC8? Anu
)lSLA? ln LCu
CALL ulS_8Cu
CALL uLLA?
****CPLCklnC An? MLSSACL 8LClLvLu***************
81lSS lLAC_8l1S8LCvu CC1C WAl1_CnMl
MCvLW 0x01
MCvWl 1LM_LCu_CCM CCMMAnu lC8 ll8S1 LlnL
CALL CCMMAnu_LCu
CALL uLLA?_SLC ll An? 8?1LS 8LCLlvLu WAl1 lC8
CCMLL1lnC 8LCL1lCn
8Cl lLAC_8l1SnLW_uA1A 8Cl 8CS1AC8Ln
CALL uLLA?_SLC CALL uLLA?_SLC
CPLCk 8LCLlvLu MLSSACL MA1CP Wl1P +CM1l MCvLW 0x32 MCvWl lS8
CL8l 1LM_1 MCvLW 0x03 MCvWl CPA8_SlZL MCvLW PlCP(CPk_CM1l) MCvWl CLA1P 8Cl
lLAC_8l1SCL1u 8Cl lLAC_8l1SL88C8l n1_CPk_CM1l
MCvl 1LM_1W CALL CPk_CM1l MCvWl 1LM_2 CALL CPk_8?1L
81lSS lLAC_8l1SCL1u CPk MA1CPlnC CCMLL1Lu
CC1C Cn1_CPk_CM1l
81lSC lLAC_8l1SL88C8l CPLCk lC8 L88C8 lLAC CC1C S1Anu_8?
SLnu CMCl 1
14 1P 8AM CSl1lCn
SLnu MLSSACL S1C8ACL
CL8l 1LM_2
CALL SLnu_CMCl
CALL uLLA?_SLC
CL8l 1LM_2
CALL uLLA?
CALL SLnu_CMC8 MCvLW 0x3L
MLSSACL lnuLx nuM8L8 MCvWl lS8
nuM8L8
MCvl lnulW MCvWl MSC!nuLxl
MCvl lnulW 8AnkSLL 1x8LC MCvWl 1x8LC CALL WAl1_1x lnCl lS8l MCvl lnulW MCvWl
MSC_lnuLx2 8Cl S1A1uSC
Su8LW CxCu CPLCk 1PL ulCl1 lS Ln1L8
Ln1L8 Lnu Cl 1PL MSC 81lSC S1A1uSZ CC1C CL1u_lnuLx MCvl lnulW
8AnkSLL 1x8LC MCvWl 1x8LC CALL WAl1_1x CL1u_lnuLx
8AnkSLL 1x8LC MCvLW CxCu MCvWl 1x8LC CALL WAl1_1x
CALL llLL_8AM
8AnkSLL lLAC_8l1S MCvLW CxAC MCvWl lS8 CL8l Ll_Cn18 8Sl lLAC_8l1SnLW_uA1A 8Sl
lLAC_8l1S8uSMS 8Cl lLAC_8l1S8LCvu 8AnkSLL 8CS1A 8Sl 8CS1AC8Ln
8AnkSLL lLAC!8l1S
CALL uLLA?_SLC CALL uLLA?_SLC CALL uLLA?_SLC 8Cl 8CS1AC8Ln 8Cl lLAC_8l1SnLW_uA1A
CPLCklnC CCuL MCvLW 0x30 MCvWl lS8 CL8l 1LM_1 MCvLW 0x0A MCvWl CPA8_SlZL MCvLW
PlCP(CPk_CCuL) MCvWl CLA1P 8Cl lLAC_8l1SCL1u 8Cl lLAC_8l1SL88C8l Cn1_CPk_CCuL
MCvl 1LM_1W CALL CPk_CCuL MCvWl 1LM_2 CALL CPk_8?1L
81lSS lLAC_8l1SCL1u CPk MA1CPlnC CCMLL1Lu
CC1C Cn1_CPk_CCuL
81lSC lLAC_8l1SL88C8l CPLCk lC8 L88C8 lLAC CC1C S1Anu_8?
CALL ulSLA?_8AM
8AnkSLL LLAu8
MCvLW LCW(MSC8) LCAu 8CC8AM MLMC8?
Auu8LSS LS8 1C 8L 8LAu 1C LLAu8 MCvWl LLAu8 MCvLW PlCP(MSC8)
8AnkSLL LLAu8P
LCAu 8CC8AM MLMC8?
Auu8LSS MS8 1C 8L 8LAu 1C LLAu8P
MCvWl LLAu8P 8AnkSLL MSC_CP8_Cn18 MCvLW 0x09
l8CM 8CC8AM MLMC8?
LCAu nC Cl 8?1LS 1C 8L 8LAu
CCMMAnu lC8 ll8S1 LlnL
MCvWl MSC_CP8_Cn18 MCvLW CxCC MCvWl 1LM_LCu_CCM CALL CCMMAnu_LCu
CALL S18nC_MSSC
8LAu 8CC8AM MLMC8? Anu
ulSLA? ln LCu
SLnu MLSSACL A8AML1L8 8LL?_Ck
CALL uLLA?_SLC CL8l 1LM_2
CALL SLnu_CMCl SLnu CMCl1
CALL uLLA?!SLC CL8l 1LM_2
CALL SLnu_MC8LnC SLnu MC8lLL nC
CALL uLLA?_SLC
8AnkSLL 1LM_2 CL8l 1LM_2 CALL SLnu_1LM
SLnulnC 1LML8A1u8L vALuL CL8l 1LM_2 8AnkSLL 1LML8A1u8L MCvl 1LML8A1u8LW
MCvWl 1LM_1
CALL 8ln_8Cu CALL SLnu_8Cu
8AnkSLL 1LM_2 CL8l 1LM_2 CALL SLnu_uLC8LL
8AnkSLL 1LM_2 CL8l 1LM_2 CALL SLnu_uLSL
SLnulnC uLSL 8A1L vALuL CL8l 1LM_2 8AnkSLL uLSL_8A1L MCvl uLSL_8A1LW MCvWl
1LM_1 CALL 8ln_8Cu CALL SLnu!8Cu
CCn1_8LL?
8AnkSLL 1LM_2 CL8l 1LM_2 CALL SLnu_MSC
CALL uLLA?_SLC CALL uLLA?_SLC CALL uLLA?_SLC
uLLL1LlnC 8Lu MLSSACLS uLLL1_MSC
SLnulnC Lnu CPA8C1L8 CCn18CL+Z MCvLW 0x1A 8AnkSLL 1x8LC MCvWl 1x8LC
CALL WAl1_1x
CALL uLLA?_SLC CALL uLLA?_SLC CALL uLLA?_SLC CALL uLLA?_SLC
CL8l 1LM_2
CALL SLnu_CMCu MCvl MSC_lnuLx1W 8AnkSLL 1x8LC MCvWl 1x8LC CALL WAl1_1x
MCvl MSC_lnuLx2W
Su8LW CxCu CPLCk 1PL ulCl1 lS Ln1L8
Ln1L8 Lnu Cl 1PL MSC 81lSC S1A1uSZ CC1C CL1u!uLLL1L MCvl MSC_lnuLx2W
MCvl MSC_lnuLx2W 8AnkSLL 1x8LC MCvWl 1x8LC CALL WAl1_1x
CL1u_uLLL1L
8AnkSLL 1x8LC MCvLW CxCu MCvWl 1x8LC CALL WAl1_1x CC1C S1Anu_8?
CALL uLLA?_SLC CL8l 1LM_2
lnl1lALlSA1lCn Cl C81S
lnl1_C81S
8AnkSLL 18lSA MCvLW Cxll MCvWl 18lSA 8AnkSLL 18lS8 MCvLW Cxll MCvWl 18lS8 8AnkSLL
18lSC MCvLW CxlC lnu1
MCvWl 18lSC 8AnkSLL 18lSu MCvLW 0x00 MCvWl 18lSu
C81A AS lnu1
C818 nC1 uSLu
C81C AS Cu1u1 (LCu)Anu
C81u AS Cu1 u1 (LCu)
8AnkSLL C81A MCvWl C81A MCvLW Cxll 8AnkSLL C818 MCvWl C818 8AnkSLL C81C
MCvLW 0xl1 MCvWl C81C 8L1u8n
lnl1lALlSA1lCn Cl LCu MCuuLL lnl1_LCu
8AnkSLL 1LM_LCu_CCM
MCvLW 0x3C lcd declaraLlon as 8blL/char2rows3xl0doLs/char
MCvWl 1LM_LCu_CCM
CALL CCMMAnu_LCu sLrobe command Lo dlsplay MCvLW CxCC screen and cursor ls onno
bllnk
MCvWl 1LM_LCu_CCM CALL CCMMAnu_LCu sLrobe command Lo dlsplay MCvLW 0x06 shlfL cursor
rlghL MCvWl 1LM_LCu_CCM
CALL CCMMAnu_LCu sLrobe command Lo dlsplay MCvLW 0x01 clear memory and home cursor
MCvWl 1LM_LCu_CCM CALL CCMMAnu_LCu sLrobe command Lo dlsplay CALL uLLA?
MCvLW 0x81 move cursor space Lo 3llnel MCvWl 1LM_LCu_CCM CALL CCMMAnu_LCu sLrobe
command Lo dlsplay 8L1u8n
CCMMAnu 1C LCu CCMMAnu!LCu
CALL uLLA? 1
*
8AnkSLL C81C
MCvl 1LM_LCu_CCMW uA1A l8CM 8AM 1C LCu uA1A
C81
MCvWl LCu_uA1A
8Cl LCu_Cn18L8S 8S LCW CCMMAnu 8LClS1L8
SLLLC1Lu
8Cl LCu_Cn18L8W 8W LCW W8l1L CLA81lCn
SLLLC1Lu
8Sl LCu_Cn18LLn LnA8LL LCu
nC
nC
nC
nC WAl1 lC8 uA1A 8LAulnC 8? LCu
8Cl LCu_Cn18LLn
8L1u8n uA1A 1C LCu MCuuLL LCu_ulS
8AnkSLL LCu_uA1A MCvWl LCu_uA1A CALL uLLA?_1
8Sl LCu_Cn18L8S 8S PlCP uA1A 8LClS1L8
SLLLC1Lu
8Cl LCu_Cn18L8W 8W LCW W8l1L CLA81lCn
SLLLC1Lu
ulSA8LL LCu
8Sl LCu_Cn18LLn LnA8LL LCu
ulSA8LL LCu
nC WAl1 lC8 uA1A 8LAulnC 8?
LCu
nC nC nC
8Cl LCu_Cn18LLn 8L1u8n
S18nC_MSSC
8AnkSLL LLCCn1 8Sl LLCCnlLLCu 8Sl LLCCnl8u nC
SLLLC1 8CC8AM MLMC8? S1A81 8LAu CL8A1lCn
nC
WAl1 lC8 8LAu C?CLL
S1C8L 8LAu uA1A (LS8)
8AnkSLL LLuA1A MCvl LLuA1AW 8AnkSLL 8C_uA1_LS8 MCvWl 8C_uA1_LS8
8AnkSLL LLuA1P
MCvl LLuA1PW
8AnkSLL 8C_uA1_MS8
MCvWl 8C_uA1_MS8 S1C8L 8ALu uA1A(MS8) uLClSZ MSC_CP8_Cn18l CC1C LCu_ulSL 8L1u8n
Pe******************** 8Cu1lnL lC8 8LALlCn Cl 14 8l1 ACkLu 8Cu 1C
nC8MAL 16 8l1 unACkLu 8Cu**************
LCu_ulSL
8Cl S1A1uSC 8Ll 8C_uA1_LS8l 8Ll 8C_uA1_MS8l 8Cl S1A1uSC 88l 8C_uA1_LS8l MCvl
8C_uA1_MS8W CALL LCu_ulS MCvl 8C_uA1_LS8W CALL LCu_ulS 8AnkSLL LLAu8 lnCl LLAu8l
CC1C S18nC_MSSC
8Cu1lnL lC8 ulSLA?lnC 8Cu ulS_8Cu
MCvl 8Cu_3W MCvWl 1LM_4 CALL LCu_nuM_ulSL? MCvl 8Cu_2W MCvWl 1LM_4 CALL
LCu_nuM_ulSL? MCvl 8Cu_1W MCvWl 1LM_4 CALL LCu_nuM_ulSL? 8L1u8n
8Cu1lnL lC8 ulSLA?lnC nuM8L8S ln LCu LCu_nuM_ulSL?
MCvLW PlCP(ASCll_nuM) MCvWl CLA1P MCvl 1LM_4W CALL ASCll_nuM CALL LCu_ulS 8L1u8n
1M8C!S8
8AnkSLL ln1CCn
8Cl ln1CCn1Cll CLLA8 1lML8C ln1L88u1 lLAC 8l1
nC
MCvLW CxCu
8AnkSLL 1M8C LCAu 1M8C Cu 1C CL1 ln1L88u1A1
LvL8? lMS
MCvWl 1M8C
8AnkSLL C1lCn_8LC MCvLW 0xC1 MCvWl C1lCn_8LC 8AnkSLL MSLCnu_Cn11 lnClSZ
MSLCnu_Cn11l 8L1u8n
CL8l MSLCnu_Cn11 lnCl MSLCnu_Cn12l MCvLW CxCl Su8Wl MSLCnu_Cn12W 81lSS S1A1uSZ
8L1u8n
CL8l MSLCnu_Cn11 CL8l MSLCnu_Cn12
8Sl lLAC_8l1S1lnC8 8L1u8n
ln1L88u1 LnA8LL lC8 Lx1L8nAL Anu 1lML82 Ln_ln18
8AnkSLL C1lCn_8LC
MCvLW 0xC1 enable LlmerC as lnLernal clock counLer
MCvWl C1lCn_8LC 8AnkSLL ln1CCn MCvLW CxlC
MCvWl ln1CCn LnA8LL Lx1L8nAL ln1L88u1
8AnkSLL ln1CCn 8LSL1 Lx1L8nAL ln1L88u1
lLAC8l1
8Cl ln1CCnln1l
8AnkSLL lL1 8Sl lL18ClL 8L1u8n
Lx1L8nAL ln1L88u1 Su88Cu1lnL Lx1ln1!S8
8AnkSLL ln1CCn 8Cl ln1CCnln1l 8Cl ln1CCnln1L 8AnkSLL MSLCnu_Cn12 MCvl MSLCnu_Cn12W
8AnkSLL denomM MCvWl denomM 8AnkSLL MSLCnu_Cn11 MCvl MSLCnu_Cn11W 8AnkSLL
denomL MCvWl denomL 8AnkSLL MSLCnu_Cn12
CL8l MSLCnu_Cn12 CL8l MSLCnu_Cn11 8Cl lLAC_8l1S1lnC8 CALL uLLA?_1 8Sl lLAC_8l1S1uLSL
8AnkSLL ln1CCn 8Sl ln1CCnln1L 8L1u8n
AuC lnl1lALlSA1lCn
lnl1_AuC
8AnkSLL AuCCnC MCvLW 0x41
MCvWl AuCCnC CCnllCu8L AuC Cn 8AC AS lnu1
lCSC/8 AS CLCCk ln 4MPZ 8AnkSLL AuCCn1 MCvLW 0x04
MCvWl AuCCn1 conflgure adc lnpuLs 8AC 8A1 AS
AnALCCuL Anu vuu 8LlL8LnCL 8L1u8n
ln1L88u1 LnA8LL lC8 SL8lAL 8LCLlvL Ln_ln18
8AnkSLL ln1CCn
MCvLW 0xC0
MCvWl ln1CCn
8AnkSLL lL1
8Sl lL18ClL
8L1u8n
lnl1_SL8lAL
8AnkSLL 18lSC
MCvLW CxCC MCvWl 18lSC 8AnkSLL S88C
MCvLW 0x19 8Auu8A1L 8LC lS LCAuLu 8? 19h23u lC
9600 8Auu A1 4MPZ MCvWl S88C 8AnkSLL 1xS1A
MCvLW 0x24 00100100 18AnSMl1 LnA8LLu 8? 88CP1
8l1 18AnSMlSSlCn AS?nCP8CunCuS MCvWl 1xS1A
8AnkSLL 8CS1A LnA8LL C81C AS 1x/8x 8LCLlvL
LnA8LLu
MCvLW 0x90 MCvWl 8CS1A 8L1u8n
CC88_SL88LCv
8AnkSLL 8CS1A
8Cl 8CS1AC8Ln
nC
nC
nC
nC
8Sl 8CS1AC8Ln 8L1u8n
********[lou1lnL lC8 18AnSMl1 Ln1L8***************** 1x_Ln18
8AnkSLL 1x8LC MCvLW CxCu MCvWl 1x8LC CALL WAl1_1x
8L1u8n
*************8Cu1lnL lC8 WAl1 1x CCMLL1L***********************
WAl1_1x
8AnkSLL 1xS1A 81lSS 1xS1A18M1 CC1C WAl1_1x 8L1u8n
********8Cu1lnL lC8 18AnSMl1 nLW LlnL*****************
1x_nWLlnL
8AnkSLL 1x8LC MCvLW CxCA MCvWl 1x8LC CALL WAl1!lx 8L1u8n
********************8Cu1lnL lC8 CPLCklnC 8AM 8?1LS Wl1P
8CC8AM MLMC8? 8?1LS*******************
CPk_8?1L
MCvl 1LM_2W Su8Wl lnulW 81lSS S1A1uSZ CC1C nC!v1A1CP lnCl 1LM_1l lnCl lS8l MCvl
CPA8_SlZLW Su8Wl 1LM_1W 81lSS S1A1uSZ 8L1u8n
8Cl lLAC_8l1SL88C8l CC1C CPk_CL1u
nC_MA1CP
8Sl lLAC_8l1SL88C8l
CPk_CL1u
8Sl lLAC_8l1SCL1u 8L1u8n
**********************uLLA? Su88Cu1lnL****************** uLLA?_1
8AnkSLL 0x30 MCvLW Cxll MCvWl 0x30 uLL?_1A
uLClSZ 0x30l CC1C uLL?_1A 8L1u8n
* * * * ***** * ************ uLLA? Su88Cu1lnL****************** uLLA?
8AnkSLL 0x31 MCvLW Cxll MCvWl 0x31
uLL?_2A
CALL uLLA?_1 uLClSZ 0x31 l CC1C uLL?_2A 8L1u8n
**********************uLLA? 8lu1lnL lC8
SLCCnuS************************************* uLLA?_SLC
8AnkSLL 0x32 MCvLW 0x0A MCvWl 0x32
uLL?_SLCA
CALL uLLA?
uLClSZ 0x32l CC1C uLL?_SLCA 8L1u8n
Su88Cu1lnL******************
uLLA?_A
8AnkSLL 0x30 MCvLW Cxll MCvWl 0x30 uLL?_AA
uLClSZ 0x30l CC1C uLL?_AA 8L1u8n
*Ps*************P***P!l*l)LLA? Su88Cu1lnL******************
uLLA?_8
8AnkSLL 0x31
MCvLW 0x0l
MCvWl 0x31
uLL?_8A
uLClSZ 0x31l
CC1C uLL?_8A
8L1u8n
Su88Cu1lnL******************
uLLA?_L 8AnkSLL 0x32 MCvLW 0x7l MCvWl 0x32 uLL?_LA uLClSZ 0x32l CC1C uLL?_LA
8L1u8n
uLLA?_S
8AnkSLL 0x30 MCvLW 0x30 MCvWl 0x30 uLL?!SA
uLClSZ 0x30 l CC1C uLL?!SA 8L1u8n
Ps*************************** 1C 8Cu
CCnvL8SlCn***********************
8ln_8Cu
MCvLW 0x00 MCvWl 1LM_3 MCvWl 1LM_4 MCvWl 8Cu_1 MCvWl 8Cu_2 MCvWl 8Cu_3
MCvl 1LM_1W 81lSC S1A1uSZ 8L1u8n 8Cu_CCnv
lnCl 8Cu_1l MCvLW 0x0A C8LA1L8 1PAn nlnL Su8Wl 8Cu_1W 81lSS S1 A1uSZ lnC8LMLn1 nLx1
8?1L
CC1C CPLCk_CL1u CL8l 8Cu_1 lnCl 8Cu_2l MCvLW 0x0A Su8Wl 8Cu_2W 81lSS S1A1uSZ CC1C
CPLCk_CL1u
ll ?LS CLLA8 1PA1 8?1L Anu
1LMC8A8? CCun1L8
8Cu Cu1u1 LS8 8Cu Cu1 u1 8Cu Cu1 u1 MS8
CPLCk lC8 nuM8L8
CL8l 8Cu_2 lnCl 8Cu_3l MCvLW CxCA Su8Wl 8Cu_3W 81lSS S1A1uSZ CC1C CPLCk_CL1u CL8l
8Cu 3 lnCl 8Cu_3l MCvLW CxCA Su8Wl 8Cu_3W 81lSS S1A1uSZ CC1C CPLCk_CL1u CL8l 8Cu_3
PLCk_CL1u
lnCl 1LM_3l CPLCk lC8 CCun1L8 8LACPLu 1PL
lnA8? nun8L8 1C 8L CCnvL81Lu
MCvl 1LM_1W ll ?LS S1C CCnvL8SlCn Anu
L1u8n Wl1P 8Cu Cu1u1S ln
Su8Wl 1LM_3W 8Cu18Cu2Anu 8Cu3
81lSS S1A1uSZ CC1C 8Cu_CCnv 8L1u8n
-ouLlne for sendlng command A1 Lnu_A1
MCvLW PlCP(CCMMAnu_l) MCvWl CLA1P MCvl 1LM_2W CALL CCMMAnu 1 MCvWl 1LM_3
8AnkSLL 1x8LC MCvWl 1x8LC CALL WAl1_1x
8AnkSLL 1LM_2 lnCl 1LM_2l MCvl 1LM_2W Su8LW 0x03 81lSS S1A1uSZ
CC1C SLnu_A1 SLnu ALL 8?1LS
8L1u8n
?
SLnulnC A1+CnMl? 1C MCuLM
SLnu_CnMl
MCvLW PlCP(CCMMAnu8_l) MCvWl CLA1P MCvl 1LM_2W CALL CCMMAnu8_l MCvWl
1LM_3 8AnkSLL 1x8LC MCvWl 1x8LC CALL WAl1_1x
8AnkSLL 1LM_2 lnCl 1LM_2l MCvl 1LM_2W Su8LW 0x09 81lSS S1A1uSZ CC1C SLnu_CnMl
8L1u8n
SLnulnC A1+CMC8MLSSACL nuM8L8 1C MCuLM
SLnu_CMC8
MCvLW PlCP(CCMMAnu8_2) MCvWl CLA1P MCvl 1LM_2W CALL CCMMAnu8_2
MCvWl 1LM_3 8AnkSLL 1x8LC MCvWl 1x8LC CALL WAl1_1x
8AnkSLL 1LM_2 lnCl 1LM_2l MCvl 1LM_2W Su8LW 0x08 81lSS S1A1uSZ CC1C SLnu_CMC8
8L1u8n
SLnulnC A1+CMCuMLSSACL nuM8L8 1C MCuLM
uLLL1L MLSSACL
SLnu_CMCu
MCvLW PlCP(CCMMAnuu_l) MCvWl CLA1P MCvl 1LM_2W CALL CCMMAnuu_l MCvWl
1LM_3 8AnkSLL 1x8LC MCvWl 1x8LC CALL WAl1_1x
8AnkSLL 1LM_2 lnCl 1LM_2l MCvl 1LM_2W Su8LW 0x08 81lSS S1A1uSZ CC1C SLnu_CMCu
8L1u8n
SLnulnC A1+CMCl1 1C MCuLM
SLnu_CMCl
MCvLW PlCP(CCMMAnuS_l)
MCvWl CLA1P
MCvl 1LM_2W
CALL CCMMAnuS_l
8AnkSLL 1x8LC
MCvWl 1x8LC
CALL WAl1_1x
8AnkSLL 1LM_2
lnCl 1LM_2l
MCvl 1LM_2W
Su8LW CxCA
81lSS S1A1uSZ
CC1C SLnu_CMCl
CALL uLLA?_SLC
8L1u8n
SLnulnC A1+CMClmobllenumber 1C
SLnu_MC8LnC
MCvLW PlCP(CCMMAnuS_2)
MCvWl CLA1P
MCvl 1LM_2W
CALL CCMMAnuS_2
8AnkSLL 1x8LC
MCvWl 1x8LC
CALL WAl1_1x
8AnkSLL 1LM_2
lnCl 1LM_2l
MCvl 1LM_2W
Su8LW 0x09
81lSS S1A1uSZ
CC1C SLnu_MC8LnC
MCvLW 0x83
MCvWl lS8
CCn1_SLnunC
MCvl lnulW 8AnkSLL 1x8LC MCvWl 1x8LC CALL WAl1_1x lnCl lS8l MCvl lS8W Su8LW 0xC2
81lSS S1A1uSZ CC1C CCn1!SLnunC MCvLW 0x22 8AnkSLL 1x8LC MCvWl 1x8LC CALL WAl1_1x
MCvLW CxCu 8AnkSLL 1x8LC MCvWl 1x8LC CALL WAl1!1x
CALL uLLA?_SLC 8L1u8n
SLnulnC MLSSACL 1C MCuLM
SLnu_MSC
MCvLW PlCP(CCMMAnuS_3)
MCvWl CLA1P
MCvl 1LM_2W
CALL CCMMAnuS_3
8AnkSLL 1x8LC
MCvWl 1x8LC
CALL WAl1_1x
8AnkSLL 1LM_2
lnCl 1LM_2l
MCvl 1LM_2W
Su8LW 0x03
81lSS S1A1uSZ CC1C SLnu_MSC CALL uLLA?_SLC 8L1u8n
8Cu1lnL lC8 SLnulnC 8Cu SLnu_8Cu
8AnkSLL 8Cu_3 MCvl 8Cu_3W AuuLW 0x30 8AnkSLL 1x8LC MCvWl 1x8LC CALL WAl1_1x 8AnkSLL
8Cu_2 MCvl 8Cu_2W AuuLW 0x30 8AnkSLL 1x8LC MCvWl 1x8LC CALL WAl1_1x 8AnkSLL 8Cu_1
MCvl 8Cu_1W AuuLW 0x30 8AnkSLL 1x8LC MCvWl 1x8LC CALL WAl1_1x 8L1u8n
8LAu 8Cu nC 3 (MS8) CCnvL81 1C ASCll
SLnu 1C MCuLM
SLnulnC uLC8LL 1C MCuLM SLnu_uLC8LL
MCvLW PlCP(MSC!uLC8LL) MCvWl CLA1P MCvl 1LM_2W CALL MSC_uLC8LL 8AnkSLL 1x8LC
MCvWl 1x8LC CALL WAl1_1x 8AnkSLL 1LM_2 lnCl 1LM_2l MCvl 1LM_2W 8Cl S1A1uSC
Su8LW 0x06 81lSS S1A1uSZ CC1C SLnu_uLC8LL CALL uLLA?_SLC 8L1u8n
SLnulnC 1LML8A1u8L 1C MCuLM
SLnu_1LM
MCvLW PlCP(MSC_1LM) MCvWl CLA1P MCvl 1LM_2W CALL MSC_1LM 8AnkSLL 1x8LC
MCvWl 1x8LC CALL WAl1_1x 8AnkSLL 1LM_2 lnCl 1LM_2l MCvl 1LM_2W 8Cl S1A1uSC
Su8LW 0x0C 81lSS S1A1uSZ CC1C SLnu_1LM CALL uLLA?_SLC 8L1u8n
SLnulnC uLSL 8A1L 1C MCuLM
SLnu_uLSL
MCvLW PlCP(MSC_uLSL)
MCvWl CLA1P MCvl 1LM_2W CALL MSC_uLSL 8AnkSLL 1x8LC MCvWl 1x8LC CALL WAl1_1x
8AnkSLL 1LM_2 lnCl 1LM_2l MCvl 1LM_2W 8Cl S1A1uSC Su8LW CxC8 81lSS S1A1uSZ CC1C
SLnu_uLSL CALL uLLA?[SLC 8L1u8n
SLnulnC nC 8Aln 1C MCuLM
SLnu_nC8Aln
MCvLW PlCP(MSC_nC8Aln)
MCvWl CLA1P
MCvl 1LM_2W
CALL MSC_nC8Aln
8AnkSLL 1x8LC
MCvWl 1x8LC
CALL WAl11x
8AnkSLL 1LM_2
lnCl 1LM_2l
MCvl 1LM_2W
8Cl S1A1uSC
Su8LW 0x07
81lSS S1A1uSZ
CC1C SLnu_nC8Aln
CALL uLLA?!SLC
8L1u8n
8AM S1A81 Auu8LSS lS LCAuLu ln lS8 llLL_8AM
MCvLW 0x30 MCvWl lS8 CCn1_8AMllLL MCvLW MCvWl lnul lnCl lS8l 8Cl S1A1uSC
MCvLW 0x73 Su8Wl lS8W 81lSS S1A1uSZ CC1C CCn1_8AMllLL
MCvLW 0xA0 MCvWl lS8 CCn1_8AMllLL2 MCvLW MCvWl lnul lnCl lS8l 8Cl S1A1uSC
MCvLW CxLl Su8Wl lS8W 81lSS S1A1uSZ CC1C CCn1_8AMllLL2 MCvLW 0x30 MCvWl lS8
8L1u8n
8Cu1ln8 lC8 ulSLA? 8AM CCn1Ln1 ulSLA?_8AM
MCvLW 0x30 MCvWl lS8 MCvLW 0x01
MCvWl 1LM_LCu_CCM CALL CCMMAnu_LCu CALL uLLA?_1 CCn1_ulS8AMl
MCvl lnulW CALL LCu_ulS lnCl lS8l MCvLW 0x39 8Cl S1A1uSC Su8Wl lS8W 81lSS S1A1uSZ
CC1C CCn1_ulS8AMl
MCvLW 0xC0 MCvWl 1LM_LCu_CCM CALL CCMMAnu_LCu CCn1_ulS8AM2 MCvl lnulW
CALL LCu_ulS
lnCl lS8l MCvLW 0x73 8Cl S1A1uSC Su8Wl lS8W 81lSS S1A1uSZ CC1C CCn1_ulS8AM2
MCvLW 0x30 MCvWl lS8 8L1u8n
24 8l1 ulvlSlCn 8Cu1lnL
ulvlde_24x24
8AnkSLL 8CounL
movlw 24 seL declmal 24 loop counL
movwf 8CounL
movf nraLorPw copy numeraLor lnLo ShlfL Poldlng ram reglsLers
movwf shlfLP
movf nraLorMw
movwf shlfLM
movf nraLorLw
movwf shlfLL
clrf nraLorP clear flnal Answer numeraLor 8am locaLlons clrf nraLorM
clrf nraLorL
clrf remalnP clear flnal Answer 8emalnder 8am locaLlons
clrf remalnM
clrf remalnL dloop
bcf S1A1uS C blL clear Carry llag ln S1A1uS reglsLer rlf shlfLL f ShlfL numeraLor(dlvldend) LefL Lo
move
rlf shlfLM f nexL blL Lo remalnder
rlf shlfLP f and shlfL ln nexL blL of resulL
rlf remalnL f shlfL carry (nexL ulvldend blL) lnLo remalnder
rlf remalnM f
rlf remalnP f
movf denomPw
subwf remalnPw subLracL dlvsor(denomP) from(newly shlfLed lefL) 8emalnder PlCP byLe
bLfss S1A1uS Z
goLo nochk sklp lf resulL was ZL8C from good subLracLlon resulL
movf denomMw
subwf remalnMw subLracL dlvsor(denomM) from(newly shlfLed lefL) 8emalnder MluuLL byLe
bLfss S1A1uS Z
goLo nochk sklp lf resulL was ZL8C from good subLracLlon resulL
?
movf denomLw
subwf remalnLw subLracL dlvsor(denomL) from(newly shlfLed lefL) 8emalnder LCW byLe nochk
bLfss S1A1uS C Carry SL1? Lhen denom ls larger Lhan reemalnder goLo nogo
3
movf denomLw
subwf remalnL f SubLracL denomlnaLor from remalnder value ln Low 8yLe bLfsc S1A1uS C Carry SeL?
1hen execuLe flxup code for when a borrow ls generaLed
goLo nodec_remalnM when no borrow blL ls needed from Lhe hlgher
byLe poslLlons
decf remalnM f uecremenL Lo 8orrow from Mlddle 8yLe because carry was SL1
movf remalnM w
xorlw Cxff Check lf rollover from 8orrow occurred
remalnM value wenL from 0 Lo Cxll bLfsc S1A1uS Z
decf remalnP f ZL8C blL seL yes rollover so uecremenL Lo
8orrow from Plgh 8yLe Loo! nodec_remalnM
movf denomMw
subwf remalnM f SubLracL denomlnaLor from remalnder value ln
Mlddle 8yLe
bLfss S1A1uS C
decf remalnP f uecremenL Plgh 8yLe Lo borrow 1 blL movf denomPw
subwf remalnP f SubLracL denomlnaLor from remalnder value ln Plgh 8yLe bsf S1A1uS C seL CA88?
blL Lo roLaLe ln numeraLor 8esulL nexL nogo
rlf nraLorL f roLaLe numeraLor resulL lefL 1 blL
rlf nraLorM f
rlf nraLorP f
decfsz 8CounL f decremenL Lhe Loop 8lL CounLer
goLo dloop
[
reLurn all done
*********************LCCk u 1A8LL 8ln1lnC
uL1AlLS*************************************
C8C 0x0300 CCMMAnu_l
AuuWl CLl dL A10uh
CCMM AnuS_1
AuuWl CLl dL1 A1+CMCl 1 0uh CCMMAnuS_2
AuuWl CLl
dL A1+CMCS22h 22P CCMMAnuS_3
AuuWl CLl dL CklAh
CCMM Anu8_1
AuuWl CLl dL A1+CnMl? 0uh
CCMMAnu8_2
AuuWl CLl dL A1+CMC8
CCMM Anuu_1
AuuWl CLl
dL A1+CMCu
CPk_CM1l
AuuWl CLl dL +CM1l
CPk_CCuL
AuuWl CLl
dL WLA1PL8?
CPk_CCuL
AuuWl CLl dL A8AML1L8?
MSC_uLC8LL
AuuWl CLl dL uLC8LL
MSC_1LM
AuuWl CLl dL 1LML8A1u8L
MSC_uLSL
AuuWl CLl dL uLSL 8A1L
MSC_nC8Aln
AuuWl CLl dL nC 8Aln
C8C 0x0600
ASCllMM
AuuWl CLl
dL0123436789
MSC1
da SMS A8AML1L8
MSC2
da MCnl1C8
MSC3
da 1LM
MSC4
da PuMlul1?
MSC3
da 8Aln
MSC6
da nC 8Aln
MSC7
da lnl1lALlSlnC
MSC8
da SLnulnC 8LL?
MSC9
da uLSL 8A1L Lnu