📄 t6620.lst
字号:
0585 0156 9951 BC DELAY_N_10mS_1;2 ITIME
0586 0157 7F22 LDI CT1,0EH
0587 0158 FFFF NOP
0588 0159 FFFF NOP
0589 015A FFFF NOP
0590 015B FFFF NOP
0591 015C FFFF NOP
0592 015D FFFF NOP
0593 015E FFFF NOP
0594 015F 58A3 SBIM CT2,01H
0595 0160 9951 BC DELAY_N_10mS_1
0596 0161 E14B JMP DELAY_N_10mS
0597 0162 DELAY_N_10mS_E:
0598 0162 D400 RTNI
0599
0600 0163 DELAY_N_10uS:
0601 0163 58A4 SBIM PARM,01H ;judge parmater is >0
0602 0164 896C BNC DELAY_N_10uS_E
0603 0165 FFFF NOP
0604 0166 FFFF NOP
0605 0167 FFFF NOP
0606 0168 FFFF NOP
0607 0169 FFFF NOP
0608 016A FFFF NOP
0609 016B E163 JMP DELAY_N_10uS
0610 016C DELAY_N_10uS_E:
0611 016C D400 RTNI
0612
0613 016D DELAY_N_100uS:
0614 016D 7D21 LDI CT0,0AH
0615 016E 58A4 SBIM PARM,01H ;judge parmater is >0
0616 016F 897B BNC DELAY_N_100uS_E
0617 0170 DELAY_N_100uS_1:
0618 0170 FFFF NOP
0619 0171 FFFF NOP
0620 0172 FFFF NOP
0621 0173 FFFF NOP
0622 0174 FFFF NOP
0623 0175 FFFF NOP
0624 0176 FFFF NOP
0625 0177 FFFF NOP
0626 0178 58A1 SBIM CT0,01H
0627 0179 9970 BC DELAY_N_100uS_1
0628 017A E16D JMP DELAY_N_100uS
0629 017B DELAY_N_100uS_E:
0630 017B D400 RTNI
0631
0632 ;
0633 ;*************************************************************************
0634
0635
0636 017C YAOKONG:
0637 017C 7800 LDI IE,0000B;关闭中断
0638 017D 7801 LDI IRQ,0000B
0639 017E 7828 LDI IRRES,00H
0640 017F 7F88 LDI PORTA,0FH
0641 0180 78A4 LDI PARM,1
0642 0181 C13E CALL DELAY_N_mS
0643 0182 3809 LDA PORTB
0644 0183 A1CA BA0 YK_EX_1
0645 0184 7BA5 LDI IRCNTH,07H
0646 0185 YK_ST_1: ;9ms起始码检测
0647 0185 FFFF NOP
0648 0186 FFFF NOP
0649 0187 3809 LDA PORTB
0650 0188 FFFF NOP
0651 0189 A18B BA0 YK_REC_1;若接收端为高电平,同步起始码高电平部分
0652 018A E185 JMP YK_ST_1 ;若接收端为低电平,同步9ms起始码低电平部分
0653 ;
0654 ; YK_ST_2:
0655 ; NOP
0656 ; NOP
0657 ; LDA PORTB
0658 ; NOP
0659 ; BA0 YK_ST_2 ;当接收端为高电平时,继续9ms起始码高电平同步
0660 ; ;当接收端为低电平时,退出9ms起始码高电平同步
0661
0662 018B YK_REC_1:
0663 018B C1CC CALL YK4BIT
0664 018C 3827 LDA IRTEMP
0665 018D 3C30 STA IRC0
0666
0667 018E C1CC CALL YK4BIT
0668 018F 3827 LDA IRTEMP
0669 0190 3C31 STA IRC1
0670
0671 0191 C1CC CALL YK4BIT
0672 0192 3827 LDA IRTEMP
0673 0193 3C32 STA IRC2
0674
0675 0194 C1CC CALL YK4BIT
0676 0195 3827 LDA IRTEMP
0677 0196 3C33 STA IRC3
0678
0679 0197 C1CC CALL YK4BIT
0680 0198 3827 LDA IRTEMP
0681 0199 3C35 STA IRD0L
0682
0683 019A C1CC CALL YK4BIT
0684 019B 3827 LDA IRTEMP
0685 019C 3C34 STA IRD0H
0686
0687 019D C1CC CALL YK4BIT
0688 019E 3827 LDA IRTEMP
0689 019F 3C37 STA IRD1L
0690
0691 01A0 C1CC CALL YK4BIT
0692 01A1 3827 LDA IRTEMP
0693 01A2 3C36 STA IRD1H
0694
0695 01A3 YK_CHK_1:
0696 01A3 50B0 SBI IRC0,01H
0697 01A4 99B6 BC YK_CHK_2
0698 01A5 50B1 SBI IRC1,01H
0699 01A6 99B6 BC YK_CHK_2
0700 01A7 40B2 ADI IRC2,01H
0701 01A8 89C8 BNC YK_CHK_ERR
0702 01A9 40B3 ADI IRC3,01H
0703 01AA 89C8 BNC YK_CHK_ERR
0704
0705 01AB 78A0 LDI ACCBUF,01H
0706 01AC 3834 LDA IRD0H
0707 01AD 0836 ADD IRD1H
0708 01AE 0820 ADD ACCBUF
0709 01AF 89C8 BNC YK_CHK_ERR
0710
0711 01B0 3835 LDA IRD0L
0712 01B1 0837 ADD IRD1L
0713 01B2 0820 ADD ACCBUF
0714 01B3 89C8 BNC YK_CHK_ERR
0715
0716 01B4 78A8 LDI IRRES,01H
0717 01B5 E1CA JMP YK_EX_1
0718
0719 01B6 YK_CHK_2:
0720 01B6 57B0 SBI IRC0,0FH
0721 01B7 81C8 BNZ YK_CHK_ERR
0722 01B8 57B1 SBI IRC1,0FH
0723 01B9 81C8 BNZ YK_CHK_ERR
0724 01BA 57B2 SBI IRC2,0FH
0725 01BB 81C8 BNZ YK_CHK_ERR
0726 01BC 57B3 SBI IRC3,0FH
0727 01BD 81C8 BNZ YK_CHK_ERR
0728 01BE 57B5 SBI IRD0L,0FH
0729 01BF 81C8 BNZ YK_CHK_ERR
0730 01C0 57B7 SBI IRD1L,0FH
0731 01C1 81C8 BNZ YK_CHK_ERR
0732 01C2 57B4 SBI IRD0H,0FH
0733 01C3 81C8 BNZ YK_CHK_ERR
0734 01C4 57B6 SBI IRD1H,0FH
0735 01C5 81C8 BNZ YK_CHK_ERR
0736
0737 01C6 7928 LDI IRRES,02H
0738 01C7 E1CA JMP YK_EX_1
0739
0740 01C8 YK_CHK_ERR:
0741 01C8 7828 LDI IRRES,00H;校检错
0742 01C9 E1CA JMP YK_EX_1
0743
0744
0745 01CA YK_EX_1:
0746 01CA 7880 LDI IE,0001B
0747 01CB D400 RTNI
0748
0749 01CC YK4BIT:
0750 01CC 7827 LDI IRTEMP,00H
0751 01CD 79A6 LDI IRCNTL,03H
0752 01CE YK4BIT_1:
0753 01CE 7FA1 LDI CT0,0FH ;配置计数器低位CT0=16
0754 01CF 7FA2 LDI CT1,0FH ;配置计数器高位CT1=16
0755 01D0 7A23 LDI CT2,04H
0756 01D1 YK4BIT_4:
0757 01D1 3809 LDA PORTB
0758 01D2 FFFF NOP
0759 01D3 A1D5 BA0 YK4BIT_5
0760 01D4 E1DB JMP YK4BIT_6
0761 01D5 YK4BIT_5:
0762 01D5 58A1 SBIM CT0,01H
0763 01D6 99D1 BC YK4BIT_4
0764 01D7 58A2 SBIM CT1,01H
0765 01D8 99D1 BC YK4BIT_4
0766 01D9 58A3 SBIM CT2,01H
0767 01DA 99D1 BC YK4BIT_4
0768
0769 01DB YK4BIT_6: ;等待低电平结束
0770 01DB 3809 LDA PORTB
0771 01DC FFFF NOP
0772 01DD A1DF BA0 YK4BIT_2
0773 01DE E1DB JMP YK4BIT_6
0774
0775 01DF YK4BIT_2:
0776 01DF 7CA4 LDI PARM,9
0777 01E0 C16D CALL DELAY_N_100uS
0778 01E1 3827 LDA IRTEMP
0779 01E2 F000 SHR
0780 01E3 3C27 STA IRTEMP ;IRTEMP右移
0781
0782 01E4 7808 LDI PORTA,00H
0783 01E5 3809 LDA PORTB
0784 01E6 FFFF NOP
0785 01E7 FFFF NOP
0786 01E8 3809 LDA PORTB
0787 01E9 A1EB BA0 YK4BIT_3
0788 01EA E1ED JMP YK4BIT_7
0789 01EB YK4BIT_3:
0790 01EB 6C27 ORIM IRTEMP,1000B
0791 01EC 7F88 LDI PORTA,0FH
0792 01ED YK4BIT_7:
0793 01ED 58A6 SBIM IRCNTL,01H
0794 01EE 99CE BC YK4BIT_1
0795
0796 01EF D400 RTNI
0797
0798
0799 01F0 PS2OUTB:
0800 01F0 7800 LDI IE,0000B
0801 01F1 6B17 ORIM PBOUT,0110B
0802 01F2 FFFF NOP
0803 01F3 FFFF NOP
0804 01F4 7848 LDI PS2TEMP,00H
0805 01F5 7A20 LDI ACCBUF,0100B
0806 01F6 3009 AND PORTB ;检查CLK是否为高电平
0807 01F7 91F0 BAZ PS2OUTB
0808 01F8 7AA4 LDI PARM,5
0809 01F9 C163 CALL DELAY_N_10uS;延时50微秒
0810 01FA 7A20 LDI ACCBUF,0100B
0811 01FB 3009 AND PORTB
0812 01FC 91F0 BAZ PS2OUTB ;再次检查CLK是否为高电平
0813
0814 01FD FFFF NOP
0815 01FE 7920 LDI ACCBUF,0010B
0816 01FF 3009 AND PORTB
0817 0200 FFFF NOP
0818 0201 9264 BAZ PS2OUTB_ERR;若数据线为低,放弃
0819
0820 0202 7B17 LDI PBOUT,0110B
0821 0203 FFFF NOP
0822 0204 FFFF NOP
0823 0205 3817 LDA PBOUT
0824 0206 PS2OUTB_2: ;发送起始位
0825 0206 7689 ANDIM PORTB,1101B;DATA->0
0826 0207 7AA4 LDI PARM,5
0827 0208 C163 CALL DELAY_N_10uS;延时100微秒
0828 0209 7589 ANDIM PORTB,1011B;CLK->0
0829 020A 7D24 LDI PARM,10
0830 020B C163 CALL DELAY_N_10uS;延时130微秒
0831 020C 6A09 ORIM PORTB,0100B;CLK->1
0832 020D 7AA4 LDI PARM,5
0833 020E C163 CALL DELAY_N_10uS;延时20微秒
0834
0835 020F 79C2 LDI PS2CNTL,03H
0836 0210 3844 LDA PS2SNDL
0837 0211 3C49 STA PS2BUF
0838 0212 PS2OUTB_3:
0839 0212 3849 LDA PS2BUF
0840 0213 F000 SHR
0841 0214 3C49 STA PS2BUF
0842 0215 9A20 BC PS2OUTB_S0_1
0843
0844 0216 PS2OUTB_S0_0:
0845 0216 7689 ANDIM PORTB,1101B;DATA->0
0846 0217 7AA4 LDI PARM,5
0847 0218 C163 CALL DELAY_N_10uS;延时100微秒
0848 0219 7589 ANDIM PORTB,1011B;CLK->0
0849 021A 7D24 LDI PARM,10
0850 021B C163 CALL DELAY_N_10uS;延时130微秒
0851 021C 6A09 ORIM PORTB,0100B;CLK->1
0852 021D 7AA4 LDI PARM,5
0853 021E C163 CALL DELAY_N_10uS;延时20微秒
0854 021F E22A JMP PS2OUTB_S0_E
0855
0856 0220 PS2OUTB_S0_1:
0857 0220 6909 ORIM PORTB,0010B;DATA->1
0858 0221 7AA4 LDI PARM,5
0859 0222 C163 CALL DELAY_N_10uS;延时100微秒
0860 0223 7589 ANDIM PORTB,1011B;CLK->0
0861 0224 7D24 LDI PARM,10
0862 0225 C163 CALL DELAY_N_10uS;延时130微秒
0863 0226 6A09 ORIM PORTB,0100B;CLK->1
0864 0227 7AA4 LDI PARM,5
0865 0228 C163 CALL DELAY_N_10uS;延时20微秒
0866 0229 48C8 ADIM PS2TEMP,01H
0867
0868 022A PS2OUTB_S0_E:
0869 022A 58C2 SBIM PS2CNTL,01H
0870 022B 9A12 BC PS2OUTB_3
0871
0872 022C 79C2 LDI PS2CNTL,03H
0873 022D 3843 LDA PS2SNDH
0874 022E 3C49 STA PS2BUF
0875 022F PS2OUTB_4:
0876 022F 3849 LDA PS2BUF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -