?? set.asm
字號:
;========================================================================;RF Set Program;67P33C,67P33x,Int4Mhz,1/4;;;========================================================================include "DEF.H" org 0000h jmp Reset nop jmp Timer0Sub nop jmp PIntSub nopReset: call ClrRamSub call InitialSubMain: ldi WDT,1000b ;Key? lda PB,0 ba3 ChkKeyHoldTime lda PD,0 sta TMP,0 andim TMP,0111b sta TMP,0 sbi TMP,0 bnz ChkKeyHoldTime lda PC,0 ba0 ChkKeyHoldTime ba1 ChkKeyHoldTime jmp ToStopChkKeyHoldTime: adim HaltCnt0,1 ldi TMP,0 adcm HaltCnt1,0 ldi TMP,0 adcm HaltCnt2,0 sbi HaltCnt0,_ValidKeyHoldTime&0fh ldi TMP,_ValidKeyHoldTime/16&0fh sbc HaltCnt1,0 ldi TMP,_ValidKeyHoldTime/256&0fh sbc HaltCnt2,0 bnc ToHalt ;Key有效KeyValid:if _SingleChan;==================================================== lda PD,0 ba1 SetBKey jmp ToStopSetBKey: ldi Data0B,4 ldi Data1B,15-4 ldi Data2B,11 ldi Data3B,15-11 jmp ToSetData;====================================================endifif _4Chan;====================================================; lda PB,0; ba3 SetAKey lda PD,0 ba1 SetBKey ba0 SetCKey ba2 SetDKey lda PC,0 ba0 SetAKey jmp ToStopSetAKey: ldi Data1B,1 ldi Data0B,15-1 ldi Data2B,10 ldi Data3B,15-10 jmp ToSetDataSetBKey: ldi Data1B,3 ldi Data0B,15-3 ldi Data2B,11 ldi Data3B,15-11 jmp ToSetDataSetCKey: ldi Data1B,5 ldi Data0B,15-5 ldi Data2B,12 ldi Data3B,15-12 jmp ToSetDataSetDKey: ldi Data1B,7 ldi Data0B,15-7 ldi Data2B,13 ldi Data3B,15-13 jmp ToSetDataSetEKey: ldi Data1B,9 ldi Data0B,15-9 ldi Data2B,14 ldi Data3B,15-14 jmp ToSetData;====================================================endifif _5Chan;==================================================== lda PB,0 ba3 SetAKey lda PD,0 ba1 SetBKey ba0 SetCKey ba2 SetDKey lda PC,0 ba0 SetEKey jmp ToStopSetAKey: ldi Data1B,1 ldi Data0B,15-1 ldi Data2B,10 ldi Data3B,15-10 jmp ToSetDataSetBKey: ldi Data1B,3 ldi Data0B,15-3 ldi Data2B,11 ldi Data3B,15-11 jmp ToSetDataSetCKey: ldi Data1B,5 ldi Data0B,15-5 ldi Data2B,12 ldi Data3B,15-12 jmp ToSetDataSetDKey: ldi Data1B,7 ldi Data1B,15-7 ldi Data2B,13 ldi Data3B,15-13 jmp ToSetDataSetEKey: ldi Data1B,9 ldi Data0B,15-9 ldi Data2B,14 ldi Data3B,15-14 jmp ToSetData;====================================================endifif _6Chan;==================================================== lda PB,0 ba3 SetAKey lda PD,0 ba1 SetBKey ba0 SetCKey ba2 SetDKey lda PC,0 ba0 SetEKey ba1 SetFKey jmp ToStopSetAKey: ldi Data1B,1 ldi Data0B,15-1 ldi Data2B,10 ldi Data3B,15-10 jmp ToSetDataSetBKey: ldi Data1B,3 ldi Data0B,15-3 ldi Data2B,11 ldi Data3B,15-11 jmp ToSetDataSetCKey: ldi Data1B,5 ldi Data0B,15-5 ldi Data2B,12 ldi Data3B,15-12 jmp ToSetDataSetDKey: ldi Data1B,7 ldi Data0B,15-7 ldi Data2B,13 ldi Data3B,15-13 jmp ToSetDataSetEKey: ldi Data1B,9 ldi Data0B,15-9 ldi Data2B,14 ldi Data3B,15-14 jmp ToSetDataSetFKey: ldi Data1B,11 ldi Data0B,15-9 ldi Data2B,15 ldi Data3B,15-15 jmp ToSetData;====================================================endifToSetData: nop ;查ID-->Data9B~Data6B;Data5B~Data2B ldi TBR,0fh ldi TMP,0 call IDTable sta Data2B,0 sta Data6B,0 eorim Data6B,1111b lda TBR,0 sta Data3B,0 sta Data7B,0 eorim Data7B,1111b ldi TBR,0fh ldi TMP,1 call IDTable sta Data4B,0 sta Data8B,0 eorim Data8B,1111b lda TBR,0 sta Data5B,0 sta Data9B,0 eorim Data9B,1111b call SetHeadSub call SetDataSub call SetDataSub call SetDataSub call SetDataSub call SetDataSub call SetDataSub call SetEndSub jmp ToStopToHalt: ldi WDT,1000b ldi TM0,0010b ;/128 ldi T0L,2 ;單位:128uS, 10mS=78 ldi T0H,11 ldi IRQ,0000b ldi IE,0100b Halt nop nop nop nop nop jmp MainToStop: call InitialSub ldi IRQ,0000b ldi IE,0001b stop nop nop nop nop nop nop call InitialSub ldi HaltCnt0,0 ldi HaltCnt1,0 ldi HaltCnt2,0 jmp Main;===================================================================;===================================================================;InitialSub:;4MHZ/16,Tcpu=4uS ldi IE,0 ldi IRQ,0 ldi TM0,0010b ;/128 ldi T0L,2 ;單位:128uS, 10mS=178 ldi T0H,11 ldi PA,0000b ldi PB,0000b ldi PC,0000b ldi PD,0000b ldi PE,0000b ldi PACR,1111bif _SingleChan ldi PBCR,1111b ldi PCCR,1111b ldi PDCR,1101bendif if _4Chan ldi PBCR,1111b ldi PCCR,1110b ldi PDCR,1000bendif if _5Chan ldi PBCR,0111b ldi PCCR,1110b ldi PDCR,1000bendif if _6Chan ldi PBCR,0111b ldi PCCR,1100b ldi PDCR,1000bendif ldi PECR,1111b ldi RM,0 ldi TBR,0 ldi DPL,0 ldi DPM,0 ldi DPH,0 ldi PULL,0 ldi LVR,1010b ;Disable ldi CFL0,0 ldi CFL1,0 ldi CFH0,0 ldi CFH1,0 rtni;===================================================================;===================================================================PIntSub: sta ACCBUF,0 andim IRQ,1110b ldi IE,0001b lda ACCBUF,0 rtni;===================================================================Timer0Sub: sta ACCBUF,0 andim IRQ,1011b ldi IE,0100b lda ACCBUF,0 rtni;=================================================================== ;===================================================================include "SUB.ASM" end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -