;====Smart Disassembler 智能反编译器======================================= ;========================================================================== ;U51程序编写: 覃远高 ; 版权所有: 覃远高 ; 出品: 开发天地,提供单片机项目开发、单片机逆向工程服务。 ; 主页: http://www.mcusky.com ; 邮箱: qinyg@tom.com ; 电话: 13316529329 0755-82895478 ; 最后更新: 2007.9 ;========================================================================== ;===========Disassemble information======================================== ;====w-w-w-.-m=c-u-s-k=y=.-c-o-m=======q=i-n-y=g=@=t-o=m=.-c-o=m=========== ; File Name: E:\prog\project\2009-09-07变频器\代码移到2000H.bin ; IC Body: MCS-96 ; Date: 2009-9-21 ;====w-w=w=.=m=c=u-s-k=y-.=c=o=m======-q=i=n=y-g-@-t=o-m-.=c=o-m=========== ;====RAM区====================================================================== ZERO_REG EQU 00000H PTSSEL EQU 00004H 中断选择 INT_MASK EQU 00008H INT_PEND EQU 00009H WATCHDOG EQU 0000AH INT_PEND1 EQU 00012H INT_MASK1 EQU 00013H WSR EQU 00014H SP EQU 00018H RAM_1A EQU 0001AH ;临时 RAM_1B EQU 0001BH ;临时 RAM_1C EQU 0001CH ;临时 RAM_1E EQU 0001EH ;临时 RAM_1F EQU 0001FH ;临时 RAM_20 EQU 00020H ;临时 RAM_22 EQU 00022H ;临时 RAM_23 EQU 00023H ;临时 RAM_24 EQU 00024H ;A相比较值 RAM_26 EQU 00026H ;B相比较值 RAM_28 EQU 00028H ;C相比较值 RAM_2C EQU 0002CH ;临时 RAM_2D EQU 0002DH ;临时 RAM_2E EQU 0002EH ;临时 RAM_2F EQU 0002FH ;临时 RAM_30 EQU 00030H ;临时 用于显示 RAM_31 EQU 00031H RAM_32 EQU 00032H ;临时 用于显示 RAM_33 EQU 00033H RAM_34 EQU 00034H ;临时 RAM_35 EQU 00035H RAM_36 EQU 00036H ;临时 RAM_38 EQU 00038H ;PWM输出相, 共分为6相 RAM_3A EQU 0003AH ;PWM载波周期对应的计数值 RAM_3C EQU 0003CH RAM_3E EQU 0003EH RAM_40 EQU 00040H RAM_42 EQU 00042H ;1相内,正弦值索引 RAM_44 EQU 00044H ;正弦步进 RAM_46 EQU 00046H RAM_48 EQU 00048H RAM_4A EQU 0004AH RAM_4C EQU 0004CH ;输出电压幅度,****为WG_COUNTER值 RAM_50 EQU 00050H RAM_52 EQU 00052H RAM_54 EQU 00054H RAM_56 EQU 00056H RAM_58 EQU 00058H RAM_5A EQU 0005AH RAM_5C EQU 0005CH RAM_5E EQU 0005EH PARAM_BUF EQU 00060H RAM_62 EQU 00062H ;用户自定义频率 RAM_64 EQU 00064H RAM_65 EQU 00065H RAM_66 EQU 00066H ;负载 RAM_68 EQU 00068H RAM_6A EQU 0006AH ;计时单元,2.5MS加1 RAM_6C EQU 0006CH RAM_6E EQU 0006EH RAM_70 EQU 00070H ;PWM频率索引值 RAM_72 EQU 00072H RAM_74 EQU 00074H RAM_76 EQU 00076H ;当前运行频率 RAM_78 EQU 00078H RAM_79 EQU 00079H RAM_7A EQU 0007AH RAM_7C EQU 0007CH RAM_7D EQU 0007DH RAM_7E EQU 0007EH RAM_80 EQU 00080H RAM_81 EQU 00081H ;电流百分比 RAM_82 EQU 00082H ;用于稳压输出 RAM_83 EQU 00083H RAM_84 EQU 00084H RAM_86 EQU 00086H ;= 07 V/F曲线-->中间电压 RAM_88 EQU 00088H RAM_8A EQU 0008AH RAM_8C EQU 0008CH RAM_8E EQU 0008EH 固定值:112 RAM_90 EQU 00090H RAM_92 EQU 00092H = 电机额定电流 - 电机空载电流 RAM_94 EQU 00094H RAM_96 EQU 00096H RS-485 输入的频率 RAM_98 EQU 00098H RAM_9B EQU 0009BH 选择频率索引 RAM_9C EQU 0009CH RAM_9D EQU 0009DH SETUP_NUM EQU 0009EH 设置状态,第几步: 1--->频率指令 4--->选择参数编号 5--->调整参数 RAM_9F EQU 0009FH 标志: BIT0: 有错误发生 RAM_A0 EQU 000A0H 用于连续按键延时 RAM_A1 EQU 000A1H 用于连续按键延时,随着按键时间越长,按键速率越快 RAM_A2 EQU 000A2H BIT2: 0--->参数索引号个位,1--->十位 RAM_A3 EQU 000A3H RAM_A4 EQU 000A4H RAM_A5 EQU 000A5H 用于数码管闪烁计时 RAM_A6 EQU 000A6H ;BIT0: 用于按键扫描 ;BIT3: 1--->禁止按键操作 RAM_A7 EQU 000A7H ;BIT4,5,6表示:调参数哪一位 RAM_A8 EQU 000A8H RAM_A9 EQU 000A9H RAM_AA EQU 000AAH ;BIT0--->按键标志 ; INPUT_BUF EQU 000ABH ;读到P3口控制端内容 RAM_AC EQU 000ACH RAM_AD EQU 000ADH ;等P5口, 可能用于多功能输出端子 PARAM_NUM EQU 000AEH ;参数索引 RAM_AF EQU 000AFH RAM_B0 EQU 000B0H ;EEPROM 地址 RAM_B1 EQU 000B1H RAM_B2 EQU 000B2H ;读EEPROM还回值 RAM_B3 EQU 000B3H RAM_B4 EQU 000B4H RAM_B5 EQU 000B5H ;BIT0:1-->RUN,0--->STOP ;BIT1:1-->反转,0--->正转 RAM_B6 EQU 000B6H ;BIT0---> ;BIT1--->1:正转 ERROR_NUM EQU 000B7H ;故障代号 RAM_00B8 EQU 000B8H RAM_B8 EQU 000B8H ;LED 位选, B9-BE 每位的段内容 RAM_B9 EQU 000B9H ;BIT5:0---->正在减速,1--->直流制动 RAM_BA EQU 000BAH ;对应最右边数码管 RAM_BB EQU 000BBH RAM_BC EQU 000BCH RAM_BD EQU 000BDH ;对应最左边数码管 RAM_BE EQU 000BEH RAM_BF EQU 000BFH ;上一次按键号 KEY_BUF EQU 000C0H ;键值 RAM_C1 EQU 000C1H ;读控制端口的延时 RAM_C2 EQU 000C2H RAM_C3 EQU 000C3H ;串口发送计数 RAM_C4 EQU 000C4H ;BIT0-->1:接收完成标志 RAM_C5 EQU 000C5H ;BIT0-->1:发送完成标志 RAM_00C6 EQU 000C6H RS-485通信BUFFER,从RAM_D1为第一字节,RAM_C7为最后 RAM_C6 EQU 000C6H RAM_C7 EQU 000C7H RAM_C8 EQU 000C8H RAM_C9 EQU 000C9H RAM_CA EQU 000CAH RAM_CB EQU 000CBH RAM_CC EQU 000CCH RAM_CD EQU 000CDH ;地址码 RAM_CE EQU 000CEH ;地址码 RAM_CF EQU 000CFH RAM_D0 EQU 000D0H RAM_D1 EQU 000D1H RAM_D2 EQU 000D2H ;通信地址低字节ASCII RAM_D3 EQU 000D3H ;通信地址高字节ASCII RAM_D4 EQU 000D4H RAM_D5 EQU 000D5H ;计时单元,2.5MS加1 INPUT_VOLTAGE EQU 000D6H ;输入电压 220V 对应 163 RAM_D7 EQU 000D7H RAM_D8 EQU 000D8H CH1 COMMAND RAM_DA EQU 000DAH CH0_RESULTL RAM_DB EQU 000DBH CH0_RESULTH RAM_DC EQU 000DCH CH3 COMMAND RAM_DF EQU 000DFH CH1_RESULTH--->输入电压 RAM_E0 EQU 000E0H CH4 COMMAND RAM_E3 EQU 000E3H CH3_RESULTH--->温度 RAM_E4 EQU 000E4H CH5 COMMAND RAM_E7 EQU 000E7H CH4_RESULTH RAM_E8 EQU 000E8H CH6 COMMAND RAM_EB EQU 000EBH CH5_RESULTH RAM_EC EQU 000ECH CH7 COMMAND RAM_EE EQU 000EEH CH6_RESULTL RAM_EF EQU 000EFH CH6_RESULTH RAM_F0 EQU 000F0H CH8 COMMAND RAM_F3 EQU 000F3H CH7_RESULTH RAM_F4 EQU 000F4H CH9 COMMAND 10BIT RAM_F7 EQU 000F7H CH8_RESULTH RAM_FA EQU 000FAH RAM_FB EQU 000FBH RAM_E0_0100 EQU 000E0H RAM_E0_COMP2_CON EQU 000E0H RAM_E0_WG_OUTPUT EQU 000E0H RAM_E0_0120 EQU 000E0H RAM_E0_EPA0_CON EQU 000E0H RAM_E1_0101 EQU 000E1H RAM_E1_0121 EQU 000E1H RAM_E2_0102 EQU 000E2H RAM_E2_WG_COMP1 EQU 000E2H RAM_E2_EPA0_TIME EQU 000E2H RAM_E2_0122 EQU 000E2H RAM_E2_COMP2_TIME EQU 000E2H RAM_E4_EPA1_CON EQU 000E4H RAM_E4_0104 EQU 000E4H RAM_E4_WG_COMP2 EQU 000E4H RAM_E4_0124 EQU 000E4H RAM_E6_EPA1_TIME EQU 000E6H RAM_E6_0106 EQU 000E6H RAM_E6_WG_COMP3 EQU 000E6H RAM_E8_WG_RELOAD EQU 000E8H RAM_E8_0108 EQU 000E8H RAM_E8_EPA2_CON EQU 000E8H RAM_EA_010A EQU 000EAH RAM_EB_010B EQU 000EBH RAM_EC_010C EQU 000ECH RAM_EC_WG_CONTROL EQU 000ECH RAM_EC_AD_COMMAND EQU 000ECH RAM_EE_WG_PROTECT EQU 000EEH RAM_EE_01CE EQU 000EEH RAM_EF_014F EQU 000EFH RAM_EF_AD_TIME EQU 000EFH RAM_EF_01CF EQU 000EFH RAM_F0_EPA4_CON EQU 000F0H RAM_F0_0110 EQU 000F0H RAM_F0_P2_MODE EQU 000F0H RAM_F0_0150 EQU 000F0H RAM_F0_PWM0_CONTROL EQU 000F0H RAM_F1_0151 EQU 000F1H RAM_F1_0111 EQU 000F1H RAM_F2_P2_DIR EQU 000F2H RAM_F2_0112 EQU 000F2H RAM_F2_PWM1_CONTROL EQU 000F2H RAM_F4_PWM_PERIOD EQU 000F4H RAM_F4_P2_REG EQU 000F4H RAM_F4_0114 EQU 000F4H RAM_F6_P2_PIN EQU 000F6H RAM_F6_0116 EQU 000F6H RAM_F8_0118 EQU 000F8H RAM_F8_COMP0_CON EQU 000F8H RAM_F8_T1CONTROL EQU 000F8H RAM_FA_TIMER1 EQU 000FAH RAM_FA_COMP0_TIME EQU 000FAH RAM_FA_011A EQU 000FAH RAM_FB_1F5B EQU 000FBH RAM_FB_011B EQU 000FBH RAM_FC_PI_MASK EQU 000FCH RAM_FC_T2CONTROL EQU 000FCH RAM_FC_011C EQU 000FCH RAM_FC_COMP1_CON EQU 000FCH RAM_FD_011D EQU 000FDH RAM_FE_TIMER2 EQU 000FEH RAM_FE EQU 000FEH RAM_FE_COMP1_TIME EQU 000FEH ;====================================================================== RAM_0126 EQU 00126H ;模拟输入/频率曲线-->最低频率A/D值 ;====================================================================== ; 初始值 ****值 RAM_0128 EQU 00128H ;00 主频率输入设定 0 8 ;从RAM_0128 ---- RAM_0199 对应93C的内容 RAM_0129 EQU 00129H ;01 运转指令来源设定 2 4 RAM_012A EQU 0012AH ;02 电机停机方式设定 0 3 RAM_012B EQU 0012BH ;15 S-曲线加速选择 0 7 RAM_012C EQU 0012CH ;24 反转禁止功能 0 1 RAM_012D EQU 0012DH ;25 过电压失速防止功能 1 1 RAM_012E EQU 0012EH ;26 过电流失速防止-->加速中 170% 200% RAM_012F EQU 0012FH ;27 过电流失速防止-->运转中 170% 200% RAM_0130 EQU 00130H ;28 直流制动-->直流制动电压准位 25 50 RAM_0131 EQU 00131H ;29 直流制动-->启动时直流制动时间 0 50 RAM_0132 EQU 00132H ;30 直流制动-->停止时直流制动时间 5 250 RAM_0133 EQU 00133H ;32 瞬时停电再启动-->运转方式 0 2 RAM_0134 EQU 00134H ;33 瞬时停电再启动-->停电之****时间 20 50 RAM_0135 EQU 00135H ;34 瞬时停电再启动-->复电后追踪时间 5 50 RAM_0136 EQU 00136H ;35 瞬时停电再启动-->速度追踪之****电流 150% 200% RAM_0137 EQU 00137H ;38 外部运行指令-->二线/三线运转控制 0 3 RAM_0138 EQU 00138H ;39 多功能输入端子-->端子一 0 23 RAM_0139 EQU 00139H ;40 多功能输入端子-->端子二 1 23 RAM_013A EQU 0013AH ;41 多功能输入端子-->端子三 2 23 RAM_013B EQU 0013BH ;50 模拟输出频率/电流-->模拟信号输出 0 1 RAM_013C EQU 0013CH ;44 类比输出增益 100% 200% RAM_013D EQU 0013DH ;45 多功能输出端子功能选择 0 9 RAM_013E EQU 0013EH ;46 保留 1 9 RAM_013F EQU 0013FH ;48 模拟输入/频率曲线-->最高频率模拟量 100 100 RAM_0140 EQU 00140H ;49 模拟输入/频率曲线-->最低频率模拟量 3 100 RAM_0141 EQU 00141H ;70 跳跃频率--->跳跃频率宽度 0 200 RAM_0142 EQU 00142H ;52 电机运转资料-->电机额定电流 100% 120% RAM_0143 EQU 00143H ;53 电机运转资料-->电机空载电流 40% 99% RAM_0144 EQU 00144H ;54 自动转矩补偿增益 0 100 RAM_0145 EQU 00145H ;55 自动转差补偿增益 0 100 RAM_0146 EQU 00146H ;57 多功能输出接点 0 6 RAM_0147 EQU 00147H ;51 AVR自动稳压功能设定 1 1 RAM_0148 EQU 00148H ;60 过转矩检出功能 0 4 RAM_0149 EQU 00149H ;61 过转矩检出准位 150% 200% RAM_014A EQU 0014AH ;62 过转矩检出时间 13 100 RAM_014B EQU 0014BH ;64 功能显示项目--->显示项目 0 12 RAM_014C EQU 0014CH ;42 多功能输入端子-->端子四 5 23 RAM_014D EQU 0014DH ;71 PWM频率 2 5 RAM_014E EQU 0014EH ;72 故障后,自动重置/启动次数 0 10 RAM_014F EQU 0014FH ;73 故障-->最近第一次故障代号 7 13 RAM_0150 EQU 00150H ;74 故障-->最近第二次故障代号 1 13 RAM_0151 EQU 00151H ;75 故障-->最近第三次故障代号 1 13 RAM_0152 EQU 00152H ;76 参数锁定/初始化 0 10 RAM_0153 EQU 00153H ;77 通信速率 2 2 RAM_0154 EQU 00154H ;78 通信地址 0 31 RAM_0155 EQU 00155H ;43 保留 2 20 RAM_0156 EQU 00156H ;03 V/F曲线-->最高操作频率 6000 40000 RAM_0158 EQU 00158H ;04 V/F曲线-->基频 5000 40000 RAM_015A EQU 0015AH ;05 V/F曲线-->基压 360 5100 RAM_015C EQU 0015CH ;06 V/F曲线-->中间频率 150 40000 RAM_015E EQU 0015EH ;07 V/F曲线-->中间电压 200 5100 RAM_0160 EQU 00160H ;08 V/F曲线-->最低输出频率 150 2000 RAM_0162 EQU 00162H ;09 V/F曲线-->启动电压 200 1000 RAM_0164 EQU 00164H ;10 加减速时间-->第一加速时间 2 9999 RAM_0166 EQU 00166H ;11 加减速时间-->第一减速时间 2 9999 RAM_0168 EQU 00168H ;12 加减速时间-->第二加速时间 2 9999 RAM_016A EQU 0016AH ;13 加减速时间-->第二减速时间 4 9999 RAM_016C EQU 0016CH ;14 点动加减速时间 100 9999 ;RAM_016E EQU 0016EH ;16 多段速-->第一段频率选择 4500 40000 ;RAM_0170 EQU 00170H ;17 多段速-->第二段频率选择 4000 40000 ;RAM_0172 EQU 00172H ;18 多段速-->第三段频率选择 3500 40000 ;RAM_0174 EQU 00174H ;19 多段速-->第四段频率选择 3000 40000 ;RAM_0176 EQU 00176H ;20 多段速-->第五段频率选择 2500 40000 ;RAM_0178 EQU 00178H ;21 多段速-->第六段频率选择 2000 40000 RAM_017A EQU 0017AH ;22 多段速-->第七段频率选择 1500 40000 RAM_017C EQU 0017CH ;23 点动频率先择 500 40000 RAM_017E EQU 0017EH ;31 停止时直流制动起始频率 0 6000 RAM_0180 EQU 00180H ;36 输出频率上限 20000 40000 RAM_0182 EQU 00182H ;37 输出频率下限 0 40000 RAM_0184 EQU 00184H ;47 任意达到频率 0 40000 RAM_0185 EQU 00185H ;0 RAM_0186 EQU 00186H ;56 保留 0 0 RAM_0188 EQU 00188H ;59 保留 60 300 RAM_018A EQU 0018AH ;63 保留 5 9999 RAM_018C EQU 0018CH ;65 比例常数 60 2000 RAM_018E EQU 0018EH ;66 计数值到达功能设定 10 9999 RAM_0190 EQU 00190H ;FFH 40000 用于计算输入压比例 RAM_0191 EQU 00191H ;FFH RAM_0192 EQU 00192H ;68 跳跃频率--->跳跃频率一 0 40000 RAM_0194 EQU 00194H ;69 跳跃频率--->跳跃频率二 0 40000 RAM_0196 EQU 00196H ;80 本机规格 0 9999 RAM_0198 EQU 00198H ;58,79 用户自定义频率 5000 40000 -->67 用户自定义频显示(只读) RAM_0199 EQU 00199H RAM_019A EQU 0019AH RAM_019C EQU 0019CH 模拟信号输入的频率(0-10V)+(4-20MA) RAM_019E EQU 0019EH RAM_01A0 EQU 001A0H 计算第一加速时间结果 RAM_01A2 EQU 001A2H RAM_01A4 EQU 001A4H 计算第一减速时间结果 RAM_01A6 EQU 001A6H RAM_01A8 EQU 001A8H 计算第二加速时间结果 RAM_01AA EQU 001AAH RAM_01AC EQU 001ACH 计算第二减速时间结果 RAM_01AE EQU 001AEH RAM_01B0 EQU 001B0H 计算点动加减时间结果 RAM_01B2 EQU 001B2H RAM_01B4 EQU 001B4H RAM_01B6 EQU 001B6H RAM_01B8 EQU 001B8H RAM_01B9 EQU 001B9H RAM_01BC EQU 001BCH ;实际运转频率 RAM_01BE EQU 001BEH ;模拟输入/频率曲线-->最高频率A/D值 RAM_01C0 EQU 001C0H RAM_01C2 EQU 001C2H RAM_01C3 EQU 001C3H 输入电压 RAM_01C4 EQU 001C4H RAM_01C5 EQU 001C5H RAM_01C6 EQU 001C6H RAM_01C8 EQU 001C8H RAM_01C9 EQU 001C9H RAM_01CA EQU 001CAH RAM_01CB EQU 001CBH RAM_01CC EQU 001CCH RAM_01CD EQU 001CDH RAM_01CE EQU 001CEH RAM_01D0 EQU 001D0H RAM_01D1 EQU 001D1H 用于计数2.5MS, 每250US加1, 10次 RAM_01D2 EQU 001D2H RAM_01D4 EQU 001D4H 跳跃频率宽度 + 跳跃频率二 RAM_01D6 EQU 001D6H 跳跃频率宽度 + 跳跃频率一 RAM_01D8 EQU 001D8H RAM_01DA EQU 001DAH 用于调整参数,数码闪动计时 RAM_202F EQU 0202FH RAM_2030 EQU 02030H RAM_204C EQU 0204CH RAM_205C EQU 0205CH RAM_2062 EQU 02062H RAM_2068 EQU 02068H ;====w-w=w-.=m=c=u=s=k=y=.=c-o=m-======q=i=n-y-g-@=t=o=m-.-c-o-m-========== ;标号==============指令=====================================地址===机器码======= ;===-w-w-w=.-m=c=u=s-k=y-.=c=o-m-======q-i-n=y=g=@-t-o-m=.=c-o-m=========== Q2000: DB 0FFH,0FFH,0A9H, 5EH, 14H, 43H, 6DH, 5DH ;AD_INT,EPA0_INT,COMP0_INT Q2008: DB 0F6H, 5CH, 07H, 5EH, 8FH, 5DH, 69H, 5EH ;EPA1_INT,COMP1_INT,EPA2_INT,COMP2_INT Q2010: DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ; Q2018: DB 0DCH, 20H,0DEH, 20H,0FFH,0FFH,0FFH,0FFH ; SEG7_TAB: DB 0EEH, 88H,0D6H,0DCH,0B8H, 7CH, 7EH,0C8H ;.....|~. 01234567 DB 0FEH,0FCH,0FFH,0FFH,0FFH,0FFH,0FFH, 01H ;........ hedcgfab Q2030: DB 00H, 20H, 01H, 02H, 04H, 08H, 10H, 00H ;........ Q2038: DB 0FFH,0FFH, 46H, 46H, 77H, 5EH,0FFH,0FFH ;..FFw^.. WG_INT,EXT_INT Q2040: DB 0FFH,0FFH, 20H, 01H,0FFH,0FFH,0FFH,0FFH ;........ A/D PTSCB = 0120H Q2048: DB 10H, 01H, 00H, 01H, ;EPA1,COMP1 工作模式? RAM_204C: Q2394 ;关机正转 Q2380 ;开机正转 Q2394 ;关机反转 Q236C ;开机反转 Q2380 Q2380 Q236C Q236C ; DB 94H, 23H, 80H, 23H ;.....#.# ;Q2050: DB 94H, 23H, 6CH, 23H, 80H, 23H, 80H, 23H ;.#l#.#.# ;Q2058: DB 6CH, 23H, 6CH, 23H, Q205C: DB 4DH, 00H, 70H, 00H Q2060: DB 0B5H, 00H,0D5H, 07H,0D7H, 07H,0DFH, 07H ;........ ;按键跳转表 ADR_2068: Q2A6E FUNNC_KEY_ENTRY ;1--->FUNC/DATA RUN STOP + DOWN_KEY_ENTRY ;2--->DOWN UP_KEY_ENTRY ;3--->UP PRGM FUNC - Q2A72 ;4--->移位,没有键,没有用 Q2A58 RUN_KEY_ENTRY ;6--->RUN,移位, STOP_KEY_ENTRY ;7--->STOP PRGM_KEY_ENTRY ;8--->PRGM/RESET键 Q2AA4 DB 0FFH,0FFH,0FFH,0FFH ;.*.*.... ;====w=w-w=.=m=c=u=s=k-y-.=c-o-m-======q-i=n=y=g=@=t=o=m-.-c=o-m-========== Q2080: DI ;2080 FA DPTS ;2081 EC --禁止外设事务服务器中断 LD SP,#0200H ;2082 A1 00 02 18 CLRB INT_MASK ;2086 11 08 CLRB INT_MASK1 ;2088 11 13 LDB WSR,#7DH ;208A B1 7D 14 CLRB RAM_FC_PI_MASK ;208D 11 FC LDB WSR,#7EH ;208F B1 7E 14 CLRB RAM_F0_P2_MODE ;2092 11 F0 全为标准IO P2主要用于键盘和显示 LDB RAM_F2_P2_DIR,#0FFH ;2094 B1 FF F2 全为输入,或开路输出 LDB RAM_F4_P2_REG,#0FFH ;2097 B1 FF F4 CLRB WSR ;209A 11 14 STB ZERO_REG,P5_MODE[ZERO_REG] ;209C C7 01 F1 1F 00 全为标准IO LDB RAM_1A,#0FFH ;20A1 B1 FF 1A STB RAM_1A,P5_DIR[ZERO_REG] ;20A4 C7 01 F3 1F 1A 全为输入,或开路输出 LDB RAM_1A,#97H ;20A9 B1 97 1A STB RAM_1A,P5_REG[ZERO_REG] ;20AC C7 01 F5 1F 1A 主要接93C46 LD RAM_1A,#001EH ;20B1 A1 1E 00 1A 清除RAM(1E---200H) Q20B5: ST ZERO_REG,[RAM_1A] ;20B5 C2 1A 00 CMP ZERO_REG,[RAM_1A] ;20B8 8A 1A 00 JE Q20BF ;20BB DF 02 SJMP Q2217 ;20BD 21 58 ;===-w-w=w=.=m=c-u-s-k-y=.=c-o=m-=====-q-i-n-y-g-@-t=o-m-.=c-o=m-========== Q20BF: ADD RAM_1A,#0002H ;20BF 65 02 00 1A CMP RAM_1A,#0200H ;20C3 89 00 02 1A JLT Q20B5 ;20C7 DE EC --小于(带符号数)跳转 LDB RAM_D8,#31H ;20C9 B1 31 D8 ;CH1 COMMAND 8bit LDB RAM_DC,#33H ;20CC B1 33 DC A/D 批量采样设置 LDB RAM_E0,#34H ;20CF B1 34 E0 LDB RAM_E4,#35H ;20D2 B1 35 E4 LDB RAM_E8,#36H ;20D5 B1 36 E8 LDB RAM_EC,#37H ;20D8 B1 37 EC LDB RAM_F0,#38H ;20DB B1 38 F0 LDB RAM_F4,#19H ;20DE B1 19 F4 LDB WSR,#49H ;20E1 B1 49 14 LDB RAM_E1_0121,#0CBH ;20E4 B1 CB E1 ;PTS Control Bits LDB RAM_E0_0120,#09H ;20E7 B1 09 E0 LD RAM_E2_0122,#00D8H ;20EA A1 D8 00 E2 LD RAM_E4_0124,#1FAAH ;20EE A1 AA 1F E4 LDB WSR,#7DH ;20F2 B1 7D 14 LDB RAM_EF_AD_TIME,#0C6H ;20F5 B1 C6 EF 转换时间10US LDB RAM_EC_AD_COMMAND ,#10H ;20F8 B1 10 EC 启动CH0转换 CLRB WSR ;20FB 11 14 ORB INT_MASK,#02H ;20FD 91 02 08 开启A/D中断 ORB PTSSEL,#02H ;2100 91 02 04 中断选择 EPTS ;2103 ED --允许外设事务服务器中断 EI ;2104 FB LCALL WRITE_EN_93C ;2105 EF 81 0C 写允许93C46 ;下面这段调入93C内容, 并检查数据有否有错, 如果有错就用初始值 LDB PARAM_NUM,#52H ;2108 B1 52 AE Q210B: LDBZE RAM_2C,PARAM_NUM ;210B AC AE 2C LDB RAM_B0,ADR_3563[RAM_2C] ;210E B3 2D 63 35 B0 3563H + 52H = 35B5H LDBZE RAM_2C,RAM_B0 ;2113 AC B0 2C CMPB RAM_B0,#2DH ;2116 99 2D B0 JNH Q213E ;2119 D1 23 LCALL READ_BYTE_93C ;211B EF 1F 0D STB RAM_B2,RAM_0128[RAM_2C] ;211E C7 2D 28 01 B2 INCB RAM_B0 ;2123 17 B0 LCALL READ_BYTE_93C ;2125 EF 15 0D STB RAM_B2,RAM_0129[RAM_2C] ;2128 C7 2D 29 01 B2 LD RAM_1A,RAM_0128[RAM_2C] ;212D A3 2D 28 01 1A CMP RAM_1A,ADR_362C[RAM_2C] ;2132 8B 2D 2C 36 1A 362CH + 52H = 367EH = (9C40H = 40000) JNH Q213B ;2137 D1 02 Q2139: SJMP PARAM_OVERFLOW ;2139 20 D7 超过40000, 用于识别参超范围 ;===-w-w-w-.=m-c=u-s-k=y=.-c=o-m======-q-i-n=y-g-@-t=o=m=.-c-o-m-========== Q213B: DJNZ PARAM_NUM,Q210B ;213B E0 AE CD --字节减1 Q213E: LCALL READ_BYTE_93C ;213E EF FC 0C STB RAM_B2,RAM_0128[RAM_2C] ;2141 C7 2D 28 01 B2 CMPB RAM_B2,ADR_362C[RAM_2C] ;2146 9B 2D 2C 36 B2 JH Q2139 ;214B D9 EC LDB RAM_1A,ZERO_REG ;214D B0 00 1A CMPB RAM_1A,RAM_B2 ;2150 98 B2 1A JH Q2139 ;2153 D9 E4 DJNZ PARAM_NUM,Q210B ;2155 E0 AE B3 --字节减1 LDB RAM_1A,RAM_0128[ZERO_REG] ;2158 B3 01 28 01 1A 00 主频率输入设定 CMPB RAM_1A,#03H ;215D 99 03 1A JNE Q216E ;2160 D7 0C LD RAM_1A,RAM_0160[ZERO_REG] ;2162 A3 01 60 01 1A 08 V/F曲线-->最低输出频率 150 2000 Q2167: ST RAM_1A,RAM_0198[ZERO_REG] ;2167 C3 01 98 01 1A 58,79 用户自定义频率 5000 40000 -->67 用户自定义频显示(只读) SJMP Q217A ;216C 20 0C ;====w=w=w-.-m=c-u-s=k=y-.=c-o-m-=====-q-i-n-y-g=@-t-o=m-.=c=o-m-========== Q216E: CMPB RAM_1A,#04H ;216E 99 04 1A JNE Q217A ;2171 D7 07 LD RAM_1A,RAM_017A[ZERO_REG] ;2173 A3 01 7A 01 1A 22 多段速-->第七段频率选择 1500 40000 SJMP Q2167 ;2178 27 ED