⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1.txt

📁 反汇编反出的51串口通讯“波特率自动校准技术
💻 TXT
字号:
Disasm51 Version 3.02 Copyright (c) 2000,2003 Xi'an XXX Co. HotPower
;Binfile_name  :[Att51.bin]
;Binfile_length:[4153...1039H]
;-----------------------------------------------------------------------
;“超级反汇编”标号说明
;以L打头的标号为(子)程序运行地址(LABEL)   例L00BB:
;以S打头的标号为子程序运行地址(SUB)       例S0121:
;以D打头的标号为数据区装载地址(DATA)      例D0542:
;以W打头的标号为散转程序隐藏地址(WORD)    例W09C0:
;-----------------------------------------------------------------------
    ORG   0000H
RESET:    LJMP  MAIN;跳入主程序
;-------注意,硬件有鬼!地址多了8000H----------------------------
;此君在编程时,处处设防,表现了“对社会的强烈不满”
;可惜HotPower不在场,否则,一定将他“扒的精光”!
;-------让我看硬件后,再给你个“正版”--------------------------
;请注意P2:P0硬件
;    MOV   DPTR,#0FF00H;
;    MOV   DPTR,#0FF03H;?MOVC
;    MOV   DPTR,#0FF05H;?MOVX
;    MOV   DPTR,#0FF07H;?MOVC,MOVX
;    MOV   DPTR,#0FF08H;?MOVC,MOVX
;    MOV   DPTR,#0FF09H;?MOVC
;    MOV   DPTR,#0FF0AH;?MOVC,MOVX
;    MOV   DPTR,#0FF0BH;?MOVC
;    MOV   DPTR,#0FF0CH;?MOVC
;    MOV   DPTR,#0FF0DH;?MOVC,MOVX
;    MOV   DPTR,#0FF0EH;?MOVC
;       MOV   DPTR,#0FF0FH;?MOVC
;    MOV   DPTR,#0FF10H;?MOVC
;    MOV   DPTR,#0FF11H;?MOVX
;    MOV   DPTR,#0FF7BH;?
;    MOV   DPTR,#0FF80H;?MOVC
;    MOV   DPTR,#0FF81H;?MOVC
;    MOV   DPTR,#0FFC3H;?
;----------------------------------------------------------------
        ORG   0003H
EXTI0:    LJMP  EXTI0;原为LJMP  EXTI0+8000H
        ORG   000BH
TIMER0:    LJMP  TIMER0;原为LJMP  TIMER0+8000H
        ORG   0013H
EXTI1:    LJMP  EXTI1;原为LJMP  EXTI1+8000H
        ORG   001BH
TIMER1:    LJMP  TIMER1;原为LJMP  TIMER1+8000H
        ORG   0023H
SINT:    LJMP  L0B7C;实际有2套串口中断入口地址
        ORG   002BH
;-------以下全为“瞎折腾”---------------------------------------
TIMER2:
        LJMP  002BH;原为LJMP  002BH+8000H
        ORG   0033H
        LJMP  0033H;原为LJMP  0033H+8000H
        ORG   003BH
        LJMP  003BH;原为LJMP  003BH+8000H
        ORG   0043H
        LJMP  0043H;原为LJMP  0043H+8000H
        ORG   004BH
        LJMP  004BH;原为LJMP  004BH+8000H
        ORG   0053H
        LJMP  0053H;原为LJMP  0053H+8000H
        ORG   005BH
        LJMP  005BH;原为LJMP  005BH+8000H
        ORG   0063H
        LJMP  0063H;原为LJMP  0063H+8000H
        ORG   006BH
        LJMP  006BH;原为LJMP  006BH+8000H
        ORG   0073H
        LJMP  0073H;原为LJMP  0073H+8000H
        ORG   007BH
        LJMP  007BH;原为LJMP  007BH+8000H
        ORG   0083H
        LJMP  0083H;原为LJMP  0083H+8000H
        ORG   008BH
        LJMP  008BH;原为LJMP  008BH+8000H
        ORG   0093H
        LJMP  0093H;原为LJMP  0093H+8000H
        ORG   009BH
        LJMP  009BH;原为LJMP  009BH+8000H
        ORG   00A3H
        LJMP  00A3H;原为LJMP  00A3H+8000H
        ORG   00ABH
        LJMP  00ABH;原为LJMP  00ABH+8000H
MAIN:
;-------波特率自动校准参数初始化-----------------------------
        CLR   A
    MOV   RCAP2H,A
    MOV   RCAP2L,A
    MOV   TL2,A;
    MOV   TH2,A;
    MOV   T2MOD,A
    MOV   T2CON,A
;-------串口在一定时间内有2个脉冲信号才能运行本程序---------
;开机必须撞大运!!!此君我服也!!!
;HotPower认为开机“密码”为F5H,不知此君能否给我“大奖”
;2个脉冲信号是否可认为:
;51开机串口(高电平1)
;结束起始位(低电平0)
;数据流10101111B(数据为F5H)停止位(高电平1)
;这样脉冲信号流为10101111111B
;我猜你在应用“波特率自动校准技术”!!!
;此君高人也,HotPower自叹不如!!!
;HotPower一直自称为“魔”,看来要“让位”了。。。
;但在“让位”前,我敢说此君的“散转技术”必我差点(别拍砖)
;看来此君的P89C51RX2的BootROM中的ISP精神领会的很深!!!
;HotPower这几天在此玩反汇编绝非“捣蛋”!!!
;我想给大家展示此君的“风采”
;-----------------------------------------------------------
;无首脉冲信号在此死机!!!
L00BB:    JB    RXD,$;等待串口低电平(首脉冲信号)
L00BE:    JNB   RXD,$;等待串口高电平(结束起始位D0=1)
;-------有首脉冲信号(起始位)才有资格撞大运--------------------
    SETB  TR2;打开定时器2,开始计时,现在测D0(1)
L00C3:    JNB   RXD,L00C9;测试次脉冲信号(D1=0)
    JNB   TF2,L00C3;等待定时时间到(无次脉冲信号)
L00C9:    JNB   RXD,$;等待串口高电平D2=1,测D1(0)
;-------D0D1已测完---------------------------------
L00CC:    JNB   RXD,L00D2;有次脉冲信号(D3=0)
    JNB   TF2,L00CC;等待定时时间到
;-------定时时间到,手气不好----------------------
;数据不能为0FFH,数据估计为F5H(11110101B)
L00D2:    JNB   RXD,$;等待串口高电平D4=1(8位数据和停止位)
;-------D4=D5=D6=D7=STOPBIT=1-------------------
    CLR   TR2;立即关闭定时器,用于校准波特率
    JB    TF2,MAIN;定时时间到,重新撞大运!!!
;-------多次撞上大运才能运行----------------------
;请看此君的“波特率自动校准技术”!!!
;-------------------------------------------------
    MOV   R7,TL2;保存实际测试的波特率低8位
    MOV   R6,TH2;保存实际测试的波特率高8位
;-------波特率自动校准技术------------------------
;从以下程序分析,此君的开机数据可能不是55H,是F5H吗?
;此君真是“做鬼也风流”呀!!!佩服!!!
;-------------------------------------------------
;2个脉冲信号必须除2,此君对吗???
;------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -