→→ 晒一个无线调相,调功小产品 ←← , 有完整源程序及原

[复制链接]
 楼主| tyw 发表于 2008-10-7 08:38 | 显示全部楼层 |阅读模式
&nbsp;&nbsp;&nbsp;&nbsp;普通电风扇电机一般用调相法调速,对于象电加热器之类热惯量较大的,还可用调**来调温,即控制每秒内正弦波形个数.<br />&nbsp;&nbsp;&nbsp;&nbsp;调**当每秒内完整波形少于25个时,平均电压波动较大,负载的热惯性会起一个平衡作用,一般不低于10个.但用于惯量较小的风扇,就会有明显的抖晃了.<br />&nbsp;&nbsp;&nbsp;&nbsp;调相法调速缺点是不能过零触发,因此干扰毛刺较大.而调**可过零触发,干扰很小.<br /><br />下面是俺以前做过的一个小产品,可参考一下.<br /><br />lc.sch&nbsp;→&nbsp;&nbsp;<a href="https://bbs.21ic.com/upfiles/img/200711/2007112282813673.rar" target=_blank>https://bbs.21ic.com/upfiles/img/200711/2007112282813673.rar</a><br /><br />lc.asm&nbsp;→&nbsp;<a href="https://bbs.21ic.com/upfiles/img/200711/200711228352463.rar" target=_blank>https://bbs.21ic.com/upfiles/img/200711/200711228352463.rar</a><br /><br /><br /><br /><br />&nbsp;;<br />;&nbsp;┏━━━━━━━━━━━┓<br />;&nbsp;┃┏━━━━━━━━━┓┃<br />;&nbsp;┃┃无线遥控开关接收器┃┃<br />;&nbsp;┃┃&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;源程序&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;┃┃<br />;&nbsp;┃┃&nbsp;&nbsp;V1.0&nbsp;&nbsp;01.03.18&nbsp;&nbsp;┃┃<br />;&nbsp;┃┗━━━━━━━━━┛┃<br />;&nbsp;┗━━━━━━━━━━━┛<br />;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ORG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0000H<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AJMP&nbsp;&nbsp;&nbsp;&nbsp;CSH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;主程序进入点<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ORG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0003H<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LJMP&nbsp;&nbsp;&nbsp;&nbsp;WT0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;外部中断WT0入口<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ORG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;000BH<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AJMP&nbsp;&nbsp;&nbsp;&nbsp;TI0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;定时中断T0入口<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ORG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;001BH<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AJMP&nbsp;&nbsp;&nbsp;&nbsp;TI1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;定时中断T1入口<br />;<br />;**********<br />;*&nbsp;初始化&nbsp;*<br />;**********<br />;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ORG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0020H<br />CSH:&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,#7FH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;内部RAM(00H~7FH)清零<br />CSH1:&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@R0,#00H<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DJNZ&nbsp;&nbsp;&nbsp;&nbsp;R0,CSH1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SP,#60H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;堆栈60H~7FH,【使用89C2051】<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TMOD,#00010010B&nbsp;;T0作8位计数器&nbsp;(自动装入),T1作16位计数器<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TH0,#155&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;FFH-9BH=100D,12M/12/100D=10000HZ(100us)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TH1,#0ECH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;FFFFH-1388H=EC77H<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TL1,#77H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;T1频率为12M/12/5000D=200HZ(5ms)<br />;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;TCON.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;T0开始动作<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;IE.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;T0允许中断<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;TCON.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;T1开始动作<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;IE.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;T1开始中断<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;IE.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;INT0允许中断<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;TCON.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;INT0低电平触发<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;PT0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;T0中断优先<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;IE.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;系统允许中断<br />;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;46H,#03<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LCALL&nbsp;&nbsp;&nbsp;BEL<br />;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;24H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;24.4H←&quot;0&quot;开一短键标志复位(关)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;26H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;24.6H←&quot;0&quot;开一短键标志复位(关)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30H,#85&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;调相上电初始亮度(最暗)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;31H,#02&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;调功上电初始亮度(最暗)<br />;<br />;**********<br />;*&nbsp;主程序&nbsp;*<br />;**********<br />;<br />MAIN:&nbsp;&nbsp;&nbsp;NOP<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LCALL&nbsp;&nbsp;&nbsp;JS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;调用PT2272解码信号接收子程序<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LCALL&nbsp;&nbsp;&nbsp;DTCL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;调用PT2272解码信号处理子程序<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LJMP&nbsp;&nbsp;&nbsp;&nbsp;MAIN<br />;<br />;**********************<br />;*&nbsp;PT2272解码信号接收&nbsp;*<br />;**********************<br />;<br />JS:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P1.2,JS5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;P1.2=&quot;0&quot;,解码信号无效,转JS5<br />;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P1.4,JS2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;不是调相键,转JS2继续<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;0AH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;调相键有效标志置位<br />JS2:&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P1.5,JS3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;不是调功键,转JS3继续<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;0BH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;调功键有效标志置位<br />JS3:&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P1.6,JS4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;不是开一键,转JS4继续<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;0CH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;开一键有效标志置位<br />JS4:&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P1.7,JS0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;不是开二键,转JS0出口<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;0DH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;开二键有效标志置位<br />JS0:&nbsp;&nbsp;&nbsp;&nbsp;RET<br />;<br />JS5:&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0AH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;调相键有效标志复位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0BH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;调功键有效标志复位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0CH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;开一键有效标志复位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0DH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;开二键有效标志复位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RET<br />;<br />;*************************************<br />;*&nbsp;解码信号处理&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />;*-----------------------------------*<br />;*&nbsp;【调相键】&nbsp;&nbsp;P14H=&quot;1&quot;键按下&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />;*&nbsp;【调功键】&nbsp;&nbsp;P15H=&quot;1&quot;键按下&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />;*&nbsp;【开一键】&nbsp;&nbsp;P16H=&quot;1&quot;键按下&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />;*&nbsp;【开二键】&nbsp;&nbsp;P17H=&quot;1&quot;键按下&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />;*-----------------------------------*<br />;*&nbsp;短键作开、关用&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />;*&nbsp;长键作控制用(=&quot;0&quot;减低,=&quot;1&quot;增高)&nbsp;*<br />;*************************************<br />;<br />DTCL:&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;06H,TXK3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;转TXK3,检查调相长键有否放开?<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;11H,TXK2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;正在作调相短键定时,转TXK2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0AH,DTL1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;不是调相键,转DTL1继续<br />;**************<br />;*&nbsp;调相键处理&nbsp;*<br />;**************<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10H,TXK1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;正在作调相键按下消抖动延时,转TXK1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;10H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;22.0H←&quot;1&quot;,调相键消抖动延时标志置位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;54H,#10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;设置30ms键按下消抖动延时<br />TXK1:&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,54H<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,#00,TXK0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;30ms定时未到,转TXK0出口<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;10H←&quot;0&quot;,调相键消抖动延时标志复位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0AH,TXK0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;无效键入,转TXK0出口<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LCALL&nbsp;&nbsp;&nbsp;BEL1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;蜂鸣一次<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;11H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;11H←&quot;1&quot;,调相长键定时已设置标志置位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;54H,#80&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;设置400ms长键定时<br />TXK2:&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,54H<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,#00,TXK4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;400ms长键定时未到,转TXK4检查有否放键<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20H,TXK5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;20H=&quot;1&quot;,调相短键已打开<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;20H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;打开调相短键<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,30H<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;21H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;30H<&quot;50&quot;,蛮亮了,设置调暗方向<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,#50,TXK6<br />TXK6:&nbsp;&nbsp;&nbsp;JC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TXK5<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;21H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;30H≥&quot;50&quot;,蛮暗了,设置调亮方向<br />TXK5:&nbsp;&nbsp;&nbsp;CPL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;21H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;21H←&quot;X&quot;调相长键标志取反<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;06H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;06H←&quot;1&quot;,调相长键标志置位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;46H,#01&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;长键蜂鸣<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LCALL&nbsp;&nbsp;&nbsp;BEL<br />TXK3:&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0AH,TXK0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;>400ms,键未放,保持长键,转TXK0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;11H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;11H←&quot;1&quot;,调相长键定时已设置标志复位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;06H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;06H←&quot;0&quot;,调相长键标志复位<br />TXK0:&nbsp;&nbsp;&nbsp;RET<br />;<br />TXK4:&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0AH,TXK0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;调相键未放,转TXK0<br />;************************<br />;*&nbsp;<400ms就放键,是短键&nbsp;*<br />;************************<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;20H←&quot;X&quot;调相短键标志取反<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;11H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;11H←&quot;1&quot;,调相长键定时已设置标志复位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RET<br />;<br />DTL1:&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;07H,TGK3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;转TGK3,检查调功长键有否放开?<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13H,TGK2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;正在作调功短键定时,转TGK2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0BH,DTL2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;不是调功键,转DTL2继续<br />;**************<br />;*&nbsp;调功键处理&nbsp;*<br />;**************<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;12H,TGK1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;正在作调功键按下消抖动延时,转TGK1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;12H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;12H←&quot;1&quot;,调功键消抖动延时标志置位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;54H,#10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;设置10ms键按下消抖动延时<br />TGK1:&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,54H<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,#00,TGK0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;10ms定时未到,转TGK0出口<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;12H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;12H←&quot;0&quot;,调功键消抖动延时标志复位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0BH,TGK0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;无效键入,转TGK0出口<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;13H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;13H←&quot;1&quot;,调功长键定时已设置标志置位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LCALL&nbsp;&nbsp;&nbsp;BEL1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;蜂鸣一次<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;54H,#80&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;设置400ms长键定时<br />TGK2:&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,54H<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,#00,TGK4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;400ms长键定时未到,转TGK4检查有否放键<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;22H,TGX5<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;22H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;打开调功短键<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,31H<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;23H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;31H≥&quot;25&quot;,蛮暗了,设置调亮方向<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,#12,TGX6<br />TGX6:&nbsp;&nbsp;&nbsp;JC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TGX5<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;23H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;31H<&quot;25&quot;,蛮亮了,设置调暗方向<br />TGX5:&nbsp;&nbsp;&nbsp;CPL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;23H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;23H←&quot;X&quot;调功长键标志取反<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;07H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;07H←&quot;1&quot;,调功长键标志置位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;46H,#01&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;蜂鸣二次<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LCALL&nbsp;&nbsp;&nbsp;BEL<br />TGK3:&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0BH,TGK0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;>400ms,键未放,保持长键,转TGK0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;13H←&quot;1&quot;,调功长键定时已设置标志复位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;07H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;07H←&quot;0&quot;,调功长键标志复位<br />TGK0:&nbsp;&nbsp;&nbsp;RET<br />;<br />TGK4:&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0BH,TGK0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;调功键未放,转TGK0<br />;************************<br />;*&nbsp;<400ms就放键,是短键&nbsp;*<br />;************************<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;22H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;22H←&quot;X&quot;调功短键标志取反<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;13H←&quot;0&quot;,调功长键定时已设置标志复位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RET<br />;<br />DTL2:&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;08H,K1C2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0CH,DTL3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;不是开一键,转DTL3继续<br />;**************<br />;*&nbsp;开一键处理&nbsp;*<br />;**************<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14H,K1C1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;正在作开一键按下消抖动延时,转K1C1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;14H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;22.4H←&quot;1&quot;,开一键消抖动延时标志置位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;54H,#10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;设置30ms键按下消抖动延时<br />K1C1:&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,54H<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,#00,K1C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;30ms定时未到,转K1C0出口<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;22.4H←&quot;0&quot;,开一键消抖动延时标志复位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0CH,K1C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;无效键入,转K1C0出口<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LCALL&nbsp;&nbsp;&nbsp;BEL1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;蜂鸣一次<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;08H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;禁止开一键连续蜂鸣<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;24H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;24.4H←&quot;X&quot;开一短键标志取反<br />K1C2:&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0CH,K1C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;键未放,转K1C0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;08H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;允许开一键蜂鸣<br />K1C0:&nbsp;&nbsp;&nbsp;RET<br />;<br />DTL3:&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;09H,K2C2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0DH,K2C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;不是开二键,转K2C0出口<br />;**************<br />;*&nbsp;开二键处理&nbsp;*<br />;**************<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16H,K2C1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;正在作开二键按下消抖动延时,转K2C1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;16H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;22.6H←&quot;1&quot;,开二键消抖动延时标志置位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;54H,#10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;设置30ms键按下消抖动延时<br />K2C1:&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,54H<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,#00,K2C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;30ms定时未到,转K2C0出口<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;22.6H←&quot;0&quot;,开二键消抖动延时标志复位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0DH,K2C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;无效键入,转K2C0出口<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;09H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;禁止开二键连续蜂鸣<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LCALL&nbsp;&nbsp;&nbsp;BEL1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;蜂鸣一次<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;26H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;24.6H←&quot;X&quot;开二短键标志取反<br />K2C2:&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0DH,K2C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;键未放,转K2C0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;09H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;允许开二键蜂鸣<br />K2C0:&nbsp;&nbsp;&nbsp;RET<br />;<br />;********<br />;*&nbsp;蜂鸣&nbsp;*<br />;********<br />;<br />BEL1:&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;46H,#01<br />BEL:&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;01H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;允许蜂鸣<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;38H,#30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;150ms蜂鸣定时<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RET<br />;<br />;***************************<br />;*&nbsp;100us时标T0定时中断处理&nbsp;*<br />;***************************<br />;<br />TI0:&nbsp;&nbsp;&nbsp;&nbsp;PUSH&nbsp;&nbsp;&nbsp;&nbsp;PSW&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;PSW进栈<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;PSW.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;RS0←&quot;1&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PSW.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;RS1←&quot;0&quot;,选工作寄存区1(R08H ̄R0FH)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PUSH&nbsp;&nbsp;&nbsp;&nbsp;ACC<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P3.1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,#04&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;需延时计数器字节<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,#50H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;延时计数器R50H~R53H<br />DY2:&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,@R0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;读计数值<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JZ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DY1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;=0?是转DY1处理下一位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DEC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@R0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;计数器减一<br />DY1:&nbsp;&nbsp;&nbsp;&nbsp;INC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;计数器指针加一<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DJNZ&nbsp;&nbsp;&nbsp;&nbsp;R1,DY2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;3字节到?<br />;*************************************<br />;*&nbsp;调相滞后触发处理&nbsp;(脉宽0.1ms)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />;*&nbsp;40H装载当前调相触发滞后时间值&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />;*&nbsp;40H每0.1ms减一,(40H最大为100)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />;*&nbsp;40H=&quot;01&quot;时P3.7←&quot;0&quot;,触发脉冲前沿&nbsp;*<br />;*&nbsp;40H=&quot;00&quot;时P3.7←&quot;1&quot;,触发脉冲后沿&nbsp;*<br />;*************************************<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20H,TCL0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;20H=&quot;0&quot;,调相输出关<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30H,TCL0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;30H=&quot;0&quot;,电压未过零,禁止调相触发定时<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;04H,TCL1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;40H,30H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;取出30H当前调相触发滞后时间值<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;04H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;20.4H←&quot;1&quot;,滞后触发已置初值<br />TCL1:&nbsp;&nbsp;&nbsp;DEC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;40H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;当前调相触发滞后时间值减0.1ms<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,40H<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,#01,TCL2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P3.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;P3.7←&quot;0&quot;,调相触发脉冲前沿(脉宽0.1ms)<br />TCL0:&nbsp;&nbsp;&nbsp;POP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ACC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;ACC出栈<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;POP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PSW&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;PSW出栈【恢复进栈前寄存器区】<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RETI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;中断返回<br />;<br />TCL2:&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,#00,TCL0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;04H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;04H←&quot;0&quot;,触发定时器允许重置初值<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;30H←&quot;0&quot;,禁止调相触发定时<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;P3.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;P3.7←&quot;1&quot;,调相触发脉冲后沿<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SJMP&nbsp;&nbsp;&nbsp;&nbsp;TCL0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;出中断<br />;<br />;*************************<br />;*&nbsp;5ms时标T1定时中断处理&nbsp;*<br />;*************************<br />;<br />TI1:&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TH1,#0ECH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;FFFFH-1388H=EC77H<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TL1,#77H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;T0频率为12M/12/5000D=1388H=200HZ(5ms)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PUSH&nbsp;&nbsp;&nbsp;&nbsp;PSW&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;PSW进栈<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PSW.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;RS0←&quot;0&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;PSW.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;RS1←&quot;1&quot;,选工作寄存区2(R10H ̄R17H)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PUSH&nbsp;&nbsp;&nbsp;&nbsp;ACC<br />;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P3.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;看门狗定时100Hz(10ms)<br />;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,#02&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;需延时计数器字节<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,#54H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;延时计数器R54H~R55H<br />DY4:&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,@R0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;读计数值<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JZ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DY3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;=0?是转DY1处理下一位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DEC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@R0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;计数器减一<br />DY3:&nbsp;&nbsp;&nbsp;&nbsp;INC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;计数器指针加一<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DJNZ&nbsp;&nbsp;&nbsp;&nbsp;R1,DY4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;3字节到?<br />;****************<br />;*&nbsp;蜂鸣定时处理&nbsp;*<br />;****************<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;05H,TT9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;05H=&quot;1&quot;,正在作关蜂鸣定时,转TT9<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;02H,TT9K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;02H=&quot;1&quot;,正在作开蜂鸣定时,转TT9K<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;01H,TT8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;01H=&quot;0&quot;,禁止蜂鸣处理,转TT8继续<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P1.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;开蜂鸣<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;02H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;02H←&quot;1&quot;,开蜂鸣定时<br />TT9K:&nbsp;&nbsp;&nbsp;DEC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;38H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;蜂鸣10ms计数器减一<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,38H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;取出蜂鸣10ms计数器<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,#10,TT8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;开蜂鸣100ms未到,转TT8继续<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;05H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;05H←&quot;1&quot;,关蜂鸣定时<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;P1.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;关蜂鸣<br />TT9:&nbsp;&nbsp;&nbsp;&nbsp;DEC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;38H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;蜂鸣10ms计数器减一<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,38H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;取出蜂鸣10ms计数器<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,#00,TT8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;关蜂鸣50ms未到,转TT8继续<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;05H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;05H←&quot;0&quot;,关蜂鸣定时标志复位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;02H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;02H←&quot;0&quot;,开蜂鸣定时标志复位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;38H,#30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;重置蜂鸣定时150ms常数<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DJNZ&nbsp;&nbsp;&nbsp;&nbsp;46H,TT8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;蜂鸣次数未到,转TT8继续<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;01H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;01H←&quot;0&quot;,禁止蜂鸣处理<br />;**********************************<br />;*&nbsp;调相触发滞后时间调整&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />;*--------------------------------*<br />;*&nbsp;每20ms调整一档,每档0.1ms&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />;*&nbsp;半周期共调整10ms÷0.1ms=100档&nbsp;&nbsp;*<br />;*&nbsp;20msX100=2s调完半程,4s调完全程&nbsp;*<br />;**********************************<br />TT8:&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20H,DY5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;20H=&quot;0&quot;,调相关,转DY5不调整<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;56H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;5ms计数器加一<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,56H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;取出5ms计数器值<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,#12,DY5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;20ms未到,转DY5出口<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;56H,#00<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;06H,DY5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;06H=&quot;0&quot;,禁止调相,转DY5不调整<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;21H,DY6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;21H=&quot;0&quot;,转DY6电压调低<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,30H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;取出当前调相触发滞后时间值<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,#08,DY7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;30H=&quot;02&quot;,电压最高值<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SJMP&nbsp;&nbsp;&nbsp;&nbsp;DY5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;30H=&quot;0&quot;,电压已调到最高了,转DY5出口<br />;<br />DY7:&nbsp;&nbsp;&nbsp;&nbsp;DEC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;每20ms调相触发延时减一档(每档0.1ms),电压调高<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SJMP&nbsp;&nbsp;&nbsp;&nbsp;DY5<br />;<br />DY6:&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,30H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;取出当前调相触发滞后时间值<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;每20ms调相触发延时加一档(每档0.1ms),电压调低<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,#85,DY5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;100usX100=10ms未到,转DY5出口<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30H,#85&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;30H=&quot;97&quot;,电压已调到最低了,不再增加<br />;<br />DY5:&nbsp;&nbsp;&nbsp;&nbsp;POP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ACC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;ACC出栈<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;POP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PSW&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;PSW出栈【恢复进栈前寄存器区】<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RETI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;定时中断返回<br />;<br />;****************<br />;*&nbsp;外部中断处理&nbsp;*<br />;****************<br />;<br />WT0:&nbsp;&nbsp;&nbsp;&nbsp;PUSH&nbsp;&nbsp;&nbsp;&nbsp;PSW&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;PSW进栈<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PUSH&nbsp;&nbsp;&nbsp;&nbsp;ACC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;ACC进栈<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;PSW.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;RS0←&quot;1&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;PSW.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;RS1←&quot;1&quot;,选工作寄存区3(R18H ̄R1FH)<br />;*************************<br />;*&nbsp;电压过零,允许调相触发&nbsp;*<br />;*************************<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20H,TOFF1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;20H=&quot;0&quot;,调相关,转TOFF1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;30H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;30H←&quot;1&quot;,电压过零,允许调相触发定时<br />;********************<br />;*&nbsp;调功周期触发处理&nbsp;*<br />;********************<br />TOFF1:&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;22H,TOFF2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;22H=&quot;0&quot;,调功关,转TOFF2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;33H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;21H=&quot;0&quot;,当前周期触发步进定时计数器加一<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,33H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;读取当前周期触发步进定时计数器<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,#50,TF13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;未到250ms设定数<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;33H,#01&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;周期触发脉冲计数器清&quot;0&quot;<br />;**************************<br />;*&nbsp;周期触发脉冲数调整环节&nbsp;*<br />;**************************<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;07H,TF13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;07H=&quot;0&quot;,禁止调功,转TF13直接触发<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,31H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;读取开周期计数器<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;23H,TF12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;23H=&quot;1&quot;,递增<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DEC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;31H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;开周期计数器减一<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,#02,TF13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;未到开周期设定数下限(20%)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;31H,#02&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;到设定数下限,不再减少<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SJMP&nbsp;&nbsp;&nbsp;&nbsp;TF13<br />TF12:&nbsp;&nbsp;&nbsp;INC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;31H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;开周期计数器加一<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,#20,TF13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;未到开周期设定数上限(100%)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;31H,#20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;到设定数上限,不再增加<br />;****************<br />;*&nbsp;周期脉冲触发&nbsp;*<br />;****************<br />TF13:&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,32H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;读取周期触发脉冲计数器<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;32H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;21H=&quot;0&quot;,调功触发计数器加一<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;29H,TF10<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;29H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;29H←&quot;0&quot;,当前周期触发开<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,31H,TF10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;未到开周期设定数<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;29H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;29H←&quot;1&quot;,当前周期触发关<br />TF10:&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;A,#20,TF11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;未到周期<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;32H,#00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;加载周期触发脉冲计数器<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;29H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;29H←&quot;0&quot;,当前周期触发开<br />;<br />TF11:&nbsp;&nbsp;&nbsp;JB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;29H,TOFF2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;29H=&quot;1&quot;,调功间隙,禁止触发<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P3.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;P3.3←&quot;0&quot;,调功触发脉冲前沿<br />;<br />TOFF2:&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;24H,TOFF3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;24H=&quot;0&quot;,开1关,转TOFF3<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P3.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;P3.4←&quot;0&quot;,开1触发脉冲前沿<br />;<br />TOFF3:&nbsp;&nbsp;JNB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;26H,TOFF4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;26H=&quot;0&quot;,开2关,转TOFF4<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P3.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;P3.5←&quot;0&quot;,开2触发脉冲前沿<br />;<br />TOFF4:&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R7,#50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;设置100us触发脉宽软件延时<br />WAIT:&nbsp;&nbsp;&nbsp;DJNZ&nbsp;&nbsp;&nbsp;&nbsp;R7,WAIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;产生100us触发脉宽<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;P3.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;P3.3←&quot;1&quot;,调功触发脉冲后沿<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;P3.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;P3.4←&quot;1&quot;,开1触发脉冲后沿<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB&nbsp;&nbsp;&nbsp;&nbsp;P3.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;P3.5←&quot;1&quot;,开2触发脉冲后沿<br />&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;POP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ACC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;ACC出栈<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;POP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PSW&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;PSW出栈=【恢复进栈前寄存器区】<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RETI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;外部中断返回<br />;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END<br /><br /><img src="https://bbs.21ic.com/upfiles/img/200711/200711228226664.gif">
兴隆 发表于 2008-10-7 08:51 | 显示全部楼层

过零检测检测高压?在变压器低压侧检测不是更好吗?

  
dcp 发表于 2008-10-7 09:04 | 显示全部楼层

漂亮!

  
 楼主| tyw 发表于 2008-10-7 09:38 | 显示全部楼层

回兴隆:产品笫一稿没用变压器降压哦,哈哈

所以沿用了高压处采样过零信号<br />不过由于强电部分没用光耦,所以这个问题也就不突出了.
computer00 发表于 2008-10-7 09:47 | 显示全部楼层

收藏一个~~~~发现老T也喜欢把资料放F盘,吼吼~~俺也是~~

  
 楼主| tyw 发表于 2008-10-7 09:55 | 显示全部楼层

00莫非开了天眼,怎么看见俺的F盘了?晕

<br /><img src="https://bbs.21ic.com/upfiles/img/200711/20071122101336689.gif"><img src="https://bbs.21ic.com/upfiles/img/200711/20071122101336689.gif"><img src="https://bbs.21ic.com/upfiles/img/200711/20071122101336689.gif"><img src="https://bbs.21ic.com/upfiles/img/200711/20071122101336689.gif"><img src="https://bbs.21ic.com/upfiles/img/200711/20071122101336689.gif"><img src="https://bbs.21ic.com/upfiles/img/200711/20071122101336689.gif"><br /><img src="https://bbs.21ic.com/upfiles/img/200711/20071122101336689.gif"><img src="https://bbs.21ic.com/upfiles/img/200711/20071122101336689.gif"><img src="https://bbs.21ic.com/upfiles/img/200711/20071122101336689.gif"><img src="https://bbs.21ic.com/upfiles/img/200711/20071122101336689.gif"><img src="https://bbs.21ic.com/upfiles/img/200711/20071122101336689.gif"><img src="https://bbs.21ic.com/upfiles/img/200711/20071122101336689.gif">
computer00 发表于 2008-10-7 10:06 | 显示全部楼层

晕……图片右下脚的文件名把你的资料路径暴露了……

F:propropro…………<br /><br />去入侵老T的F盘应该能搞到不少好东西~~~挖~~~~~
hq_y 发表于 2008-10-7 10:10 | 显示全部楼层

呵呵老T金盘洗手了~~~~~~~~

  
 楼主| tyw 发表于 2008-10-7 10:27 | 显示全部楼层

00好眼力哦,连这么小的细节也不放过,再晕

<br /><img src="https://bbs.21ic.com/upfiles/img/200711/20071122104058334.gif"><br />&nbsp;<br /><br /><font color=#8000FF><BIG><BIG><BIG><BIG><b>数一下,大象长了几条腿!</b></BIG></BIG></BIG></BIG></font><br />&nbsp;<br /><br /><img src="https://bbs.21ic.com/upfiles/img/200711/20071122104356578.gif">
computer00 发表于 2008-10-7 10:37 | 显示全部楼层

答案是四条腿~~~~但是几只脚就搞不清楚拉~~~还好不是问的这

  
aihe 发表于 2008-10-7 12:30 | 显示全部楼层

入侵00的硬盘也不错

&nbsp;computer00&nbsp;发表于&nbsp;2008-10-7&nbsp;10:06&nbsp;技术交流&nbsp;←返回版面&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />8楼:&nbsp;晕……图片右下脚的文件名把你的资料路径暴露了……&nbsp;<br /><br />F:propropro…………<br /><br />去入侵老T的F盘应该能搞到不少好东西~~~挖~~~~~<br />&nbsp;<br />&nbsp;<br />
hpzax 发表于 2010-12-23 13:19 | 显示全部楼层
收藏一个~~~~
yeyo 发表于 2011-5-8 12:50 | 显示全部楼层
程序注释得真详细啊!!!
PXJ_520 发表于 2011-6-10 17:43 | 显示全部楼层
收藏~
123jj 发表于 2011-6-10 18:21 | 显示全部楼层
路过,帮顶
huangdog 发表于 2011-6-13 13:10 | 显示全部楼层
LZ 的封装,看起来,好不习惯啊。。。
yjhon 发表于 2011-6-14 12:13 | 显示全部楼层
看了这注释,膜拜了
zjy.zz 发表于 2011-6-18 15:49 | 显示全部楼层
好东西,学习了
lfjwfm 发表于 2011-8-16 11:27 | 显示全部楼层
顶顶
pang7 发表于 2011-8-16 13:33 | 显示全部楼层
本帖最后由 pang7 于 2011-8-16 13:36 编辑

楼主位的资料不能下载了,用迅雷可以下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

tyw

1295

主题

30469

帖子

1478

粉丝
快速回复 返回顶部 返回列表