📄 11.lst
字号:
01-29-03
01:55:34
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
;04号键功能程序(频率预置键)
017E 752901 KEYFUN04: MOV 29H,#01H ; 预置109.0MHZ发射频率
0181 752800 MOV 28H,#00H
0184 752709 MOV 27H,#09H
0187 752600 MOV 26H,#00H
018A 12023F LCALL DISPUPDAT ;写入控制芯片(修改发射频率)
018D 22 RET
;
;05号键功能程序(频率预置键)
018E 752901 KEYFUN05: MOV 29H,#01H ; 预置108.0MHZ发射频率
0191 752800 MOV 28H,#00H
0194 752708 MOV 27H,#08H
0197 752600 MOV 26H,#00H
019A 12023F LCALL DISPUPDAT ;写入控制芯片(修改发射频率)
019D 22 RET
;
;06号键功能程序(频率预置键)
019E 752901 KEYFUN06: MOV 29H,#01H ; 预置105.0MHZ发射频率
01A1 752800 MOV 28H,#00H
01A4 752705 MOV 27H,#05H
01A7 752600 MOV 26H,#00H
01AA 12023F LCALL DISPUPDAT ;写入控制芯片(修改发射频率)
01AD 22 RET
;
;07号键功能程序(频率预置键)
01AE 752901 KEYFUN07: MOV 29H,#01H ; 预置100.0MHZ发射频率
01B1 752800 MOV 28H,#00H
01B4 752700 MOV 27H,#00H
01B7 752600 MOV 26H,#00H
01BA 12023F LCALL DISPUPDAT ;写入控制芯片(修改发射频率)
01BD 22 RET
;
;08号键功能程序(频率预置键)
01BE 752900 KEYFUN08: MOV 29H,#00H ; 预置98.0MHZ发射频率
01C1 752809 MOV 28H,#09H
01C4 752708 MOV 27H,#08H
01C7 752600 MOV 26H,#00H
01CA 12023F LCALL DISPUPDAT ;写入控制芯片(修改发射频率)
01CD 22 RET
;
;09号键功能程序(频率预置键)
01CE 752900 KEYFUN09: MOV 29H,#00H ; 预置96.0MHZ发射频率
01D1 752809 MOV 28H,#09H
01D4 752706 MOV 27H,#06H
01D7 752600 MOV 26H,#00H
01DA 12023F LCALL DISPUPDAT ;写入控制芯片(修改发射频率)
01DD 22 RET
;
C:\MY DOCUMENTS\2003.02.12书稿\配套光盘源程序\实例11\11.ASM
页 6
01-29-03
01:55:34
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
;10号键功能程序(频率预置键)
01DE 752900 KEYFUN10: MOV 29H,#00H ; 预置94.0MHZ发射频率
01E1 752809 MOV 28H,#09H
01E4 752704 MOV 27H,#04H
01E7 752600 MOV 26H,#00H
01EA 12023F LCALL DISPUPDAT ;写入控制芯片(修改发射频率)
01ED 22 RET
;
;11号键功能程序(频率预置键)
01EE 752900 KEYFUN11: MOV 29H,#00H ; 预置92.0MHZ发射频率
01F1 752809 MOV 28H,#09H
01F4 752702 MOV 27H,#02H
01F7 752600 MOV 26H,#00H
01FA 12023F LCALL DISPUPDAT ;写入控制芯片(修改发射频率)
01FD 22 RET
;
;12号键功能程序(频率预置键)
01FE 752900 KEYFUN12: MOV 29H,#00H ; 预置90.0MHZ发射频率
0201 752809 MOV 28H,#09H
0204 752700 MOV 27H,#00H
0207 752600 MOV 26H,#00H
020A 12023F LCALL DISPUPDAT ;写入控制芯片(修改发射频率)
020D 22 RET
;
;13号键功能程序(频率预置键)
020E 752900 KEYFUN13: MOV 29H,#00H ; 预置88.0MHZ发射频率
0211 752808 MOV 28H,#08H
0214 752708 MOV 27H,#08H
0217 752600 MOV 26H,#00H
021A 12023F LCALL DISPUPDAT ;写入控制芯片(修改发射频率)
021D 22 RET
;
;14号键功能程序(频率预置键) ; 预置87.0MHZ发射频率
021E 752900 KEYFUN14: MOV 29H,#00H
0221 752808 MOV 28H,#08H
0224 752707 MOV 27H,#07H
0227 752608 MOV 26H,#08H
022A 12023F LCALL DISPUPDAT ;写入控制芯片(修改发射频率)
022D 22 RET
;
;15号键功能程序(立体声/单声道设置键)
022E B203 KEYFUN15: CPL 03H ;立体/单声标志取反
0230 300306 JNB 03H,MONO ;为0转单声道MONO
0233 C2B3 CLR P3.3 ;为1开立体声指示灯
0235 1202C0 LCALL PUTBIT ;发送控制字至BH1415
0238 22 RET ;返回
0239 D2B3 MONO: SETB P3.3 ;关立体声指示灯
023B 1202C0 LCALL PUTBIT ;发控制字至BH1415
C:\MY DOCUMENTS\2003.02.12书稿\配套光盘源程序\实例11\11.ASM
页 7
01-29-03
01:55:34
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
023E 22 RET ;返回
;
; 将BCD码转为十六进制数,与5位控制码合成操作码,写入控制芯片
023F 120249 DISPUPDAT: LCALL BCDB ; 调BCD码转为十六进制数程序
0242 120282 LCALL CONCOMMAND ; 调与5位控制码合成操作码程序
0245 1202C0 LCALL PUTBIT ; 发控制字至BH1415
0248 22 RET ;返回
;
; 将BCD码转为十六进制数程序
0249 752100 BCDB: MOV CONBITL,#00H ; 控制字清0
024C 752200 MOV CONBITH,#00H ; 控制字清0
024F 852621 MOV CONBITL,26H ;小数位数放入控制字低8位
0252 E527 MOV A,27H ;个位数乘10操作
0254 75F00A MOV B,#10 ;
0257 120275 LCALL MULLOOP ;调乘法子程序
025A E528 MOV A,28H ;十位数乘100操作
025C 75F064 MOV B,#100 ;
025F 120275 LCALL MULLOOP ; 调乘法子程序
0262 E529 MOV A,29H ;
0264 7001 JNZ ADD3E8 ;百位数为1转ADD3E8(加1000操作)
0266 22 RET ; 百位数为0退出
0267 C3 ADD3E8: CLR C ;清进位档标志
0268 74E8 MOV A,#0E8H ;低8位加法
026A 2521 ADD A,CONBITL ;累加
026C F521 MOV CONBITL,A ;放回CONBITL
026E 7403 MOV A,#03H ; 高8位加法
0270 3522 ADDC A,CONBITH ;控制字高8位处理
0272 F522 MOV CONBITH,A ;放回CONBITH
0274 22 RET ;返回
;
;乘法及累加处理程序(将四位显示的十进制BCD码转为1个二进制数)
0275 A4 MULLOOP: MUL AB ;乘法
0276 C3 CLR C ;清进位标志
0277 2521 ADD A,CONBITL ;积低8位与CONBITL相加
0279 F521 MOV CONBITL,A ;放回CONBITL
027B E522 MOV A,CONBITH ;
027D 35F0 ADDC A,B ;积高8位与CONBITH带进位累加
027F F522 MOV CONBITH,A ;放回CONBITH
0281 22 RET ;返回
;
;频率控制数据与5位控制码合成BH1415控制字
0282 532207 CONCOMMAND: ANL CONBITH,#07H ;高四位为0
0285 E520 MOV A,20H ;控制字放入A
0287 4522 ORL A,CONBITH ;合成控制字
0289 F522 MOV CONBITH,A ;放回CONBITH
028B 22 RET ;返回
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
C:\MY DOCUMENTS\2003.02.12书稿\配套光盘源程序\实例11\11.ASM
页 8
01-29-03
01:55:34
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
;; 显示程序 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;共阳LED显示,P0口输出段码,P2口输出扫描字
028C 7926 DISPLAY: MOV R1,#26H ;显示首址
028E 7DFE MOV R5,#0FEH ;设扫描字
0290 ED PLAY: MOV A,R5 ;放入A
0291 F5A0 MOV P2,A ;P2口输出
0293 E7 MOV A,@R1 ;取显示数据
0294 9002B4 MOV DPTR,#TAB ;取段码表首址
0297 93 MOVC A,@A+DPTR ;查段码
0298 F580 MOV P0,A ;从P0输出
029A ED MOV A,R5 ;读入扫描字
029B 20E102 JB ACC.1,PLAY1 ; 不是十位(LED),不显示小数点
029E C287 CLR P0.7 ;是十位,显示小数点
02A0 1202ED PLAY1: LCALL DL1MS ;点亮1毫秒
02A3 09 INC R1 ;指向下一显示数据
02A4 30E306 JNB ACC.3,ENDOUT ;是第四位LED,退出
02A7 23 RL A ;不是,左移一位
02A8 FD MOV R5,A ;放回R5
02A9 D287 SETB P0.7 ;关小数点
02AB 4190 AJMP PLAY ;转PLAY循环
02AD 75A0FF ENDOUT: MOV P2,#0FFH ;显示结束,关显示输出口
02B0 7580FF MOV P0,#0FFH ;
02B3 22 RET ;返回
;
;0-9共阳段码表
02B4 C0F9A4
02B7 B09992
02BA 82F880
02BD 90FFFF TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0FFH
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 发送控制字节子程序 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
02C0 E521 PUTBIT: MOV A,CONBITL ;低8位控制字入A
02C2 D2B2 SETB P3.2 ;BH1415使能(允许写)
02C4 1202D3 LCALL PUT ;发送8位
02C7 E522 MOV A,CONBITH ; 高8位控制字入A
02C9 1202D3 LCALL PUT ; 发送8位
02CC C2B2 CLR P3.2 ; BH1415写禁止
02CE C2B0 CLR P3.0 ;复位
02D0 C2B1 CLR P3.1 ;复位
02D2 22 RET ;返回
;
;字节发送子程序
02D3 7B08 PUT: MOV R3,#8 ;发送8位控制
02D5 C3 CLR C ;清C
C:\MY DOCUMENTS\2003.02.12书稿\配套光盘源程序\实例11\11.ASM
页 9
01-29-03
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -