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

📄 ta9257.asm

📁 TA9257 东芝收音调谐IC的控制程序.
💻 ASM
📖 第 1 页 / 共 2 页
字号:
         org 0h
         jmp start
         org 0bh
         jmp keyscan

start:
         mov sp,#70h
         mov p2,#00h
         mov a,#00101000b
         call writecom
         mov a,#00001100b
         call writecom
         mov a,#06h
         call writecom
         setb p2.0
         call disyline1
         call display
         mov a,#0d0h
         mov 20h,#58h
         mov 21h,#0fh
         mov 22h,#5ch
         call senddata
         call fmsenddata
         call delay0
         mov a,#0d2h
         mov 20h,#00h
         mov 21h,#00h
         mov 22h,#02h
         call senddata
         call fmsendcom
         mov tmod,#01h
         mov th0,#0c5h
         mov tl0,#68h
         mov ie,#82h
         mov 54h,#00
         mov 5ah,#03
         mov 53h,#05
         setb tr0
waitt:   call waittt
         jmp waitt
waittt:
wait:
         jb p2.3,keyud
         jmp wait2
keyud:
         mov ie,#02h
         jb p2.4,keydown0
         jmp keyup
keydown0:
         jmp keydown
keyup:
         jb p2.0,fmup000
         jmp amup000
fmup000:
         jmp fmup00
amup000:
         mov a,38h
         anl a,#0fh
         add a,#09
         da a
         mov 58h,a
         anl a,#0fh
         add a,#30h
         mov 38h,a
         mov a,58h
         anl a,#0f0h
         cjne a,#00h,amup1
         jmp amup0
amup1:
         mov a,37h
         call chrup
         mov a,59h
         mov 37h,a
         mov a,58h
         anl a,#0f0h
         cjne a,#00h,amup2
         jmp amup0
amup2:
         mov a,36h
         call chrup
         mov a,59h
         mov 36h,a
         mov a,58h
         anl a,#0f0h
         cjne a,#00h,amup3
         jmp amup0
amup3:
         mov 35h,#31h
amup0:
         mov a,35h
         cjne a,#31h,amupover
         mov a,36h
         cjne a,#36h,amupover
         mov a,37h
         cjne a,#31h,amupover
         mov a,38h
         cjne a,#31h,amupover
         mov 35h,#00100000b
         mov 36h,#35h
         mov 37h,#33h
         mov 38h,#31h
         call display
         mov 20h,#70h
         mov 21h,#14h
         mov 22h,#43h
         mov a,#0d0h
         call senddata
         call amsenddata
         mov 20h,#00h
         mov 21h,#80h
         mov 22h,#01h
         mov a,#0d2h
         call senddata
         call amsendcom
         clr p2.5
         jmp wait1
amupover:
         call amcfm
         call display
         mov 20h,23h
         mov 21h,24h
         mov 22h,25h
         mov a,20h
         add a,#30h
         jb psw.7,amadd
         mov 20h,a
         jmp amadd1
amadd:
         clr psw.7
         mov 20h,a
         mov a,21h
         add a,#01h
         mov 21h,a
amadd1:
         mov a,#0d0h
         call senddata
         call delay3
         call amsenddata
         jnb p2.5,amadd6
         mov 20h,#0f1h
         mov 21h,#0c1h
         mov 22h,#05h
         mov r5,#02h
         jmp amadd7
amadd6:
         mov 20h,#00h
         mov 21h,#80h
         mov 22h,#01h
         mov r5,#01h
amadd7:
         mov a,#0d2h
         call senddata
         call delay4
         call amsendcom
         djnz r5,amadd7
amadd2:
         mov a,#0d1h
         call redata
         mov a,22h
         jb acc.5,amadd2
         mov a,21h
         cjne a,#07h,amadd3
         jmp amadd5
amadd3:
         jc amaddover
amadd5:
         mov a,20h
         cjne a,#07h,amadd4
amadd4:  jc amaddover
         cjne a,#0eh,amadd40
amadd40: jnc amaddover
         mov a,#0d2h
         mov 20h,#00h
         mov 21h,#80h
         mov 22h,#01h
         call senddata
         call amsendcom
         clr p2.5
amaddover:
         jmp wait1
fmup00:
         mov a,3ah
         anl a,#0fh
         add a,#05
         da a
         mov 58h,a
         anl a,#0fh
         add a,#30h
         mov 3ah,a
         mov a,58h
         anl a,#0f0h
         cjne a,#00h,fmup01
         jmp fmup0
fmup01:
         mov a,39h
         call chrup
         mov a,59h
         mov 39h,a
         mov a,58h
         anl a,#0f0h
         cjne a,#00h,fmup02
         jmp fmup0   
fmup02:
         mov a,37h
         call chrup
         mov a,59h
         mov 37h,a
         mov a,58h
         anl a,#0f0h
         cjne a,#00h,fmup03
         jmp fmup0
fmup03:
         mov a,36h
         call chrup
         mov a,59h
         mov 36h,a
         mov a,58h
         anl a,#0f0h
         cjne a,#00h,fmup04
         jmp fmup0
fmup04:
         mov 35h,#31h
fmup0:
         mov a,35h
         cjne a,#31h,fmupover
         mov a,36h
         cjne a,#30h,fmupover
         mov a,37h
         cjne a,#38h,fmupover
         mov a,39h
         cjne a,#30h,fmupover
         mov a,3ah
         cjne a,#35h,fmupover
         mov 35h,#20h
         mov 36h,#38h
         mov 37h,#37h
         mov 39h,#35h
         mov 3ah,#30h
         mov 20h,#58h
         mov 21h,#0fh
         mov 22h,#5ch
         call display
         mov a,#0d0h
         call senddata
         call fmsenddata
         mov 20h,#00h
         mov 21h,#00h
         mov 22h,#02h
         mov a,#0d2h
         call senddata
         call fmsendcom
         clr p2.5
         jmp wait1
fmupover:
         call fmcam
         call display
         mov 20h,29h
         mov 21h,2ah
         mov 22h,2bh
         mov a,20h
         add a,#02h
         jb psw.7,fmadd
         mov 20h,a
         jmp fmadd1
fmadd:
         clr psw.7
         mov 20h,a
         mov a,21h
         add a,#01h
         mov 21h,a
fmadd1:
         mov a,#0d0h
         call senddata
         call delay2
         call fmsenddata
         call delay0
         jnb p2.5,fmadd6
         mov 20h,#0f0h
         mov 21h,#41h
         mov 22h,#06h
         jmp fmadd7
fmadd6:
         mov 20h,#00h
         mov 21h,#00h
         mov 22h,#02h
fmadd7:
         mov a,#0d2h
         call senddata
         call delay4
         call fmsendcom
         call delay1
fmadd2:
         mov a,#0d1h
         call redata
         mov a,22h  
         jb acc.5,fmadd2
         mov a,21h
         cjne a,#29h,fmadd3
         jmp fmadd5
fmadd3:
         jc fmaddover
fmadd5:
         mov a,20h
         cjne a,#0c9h,fmadd4
fmadd4:
         jc fmaddover
         mov a,#0d2h
         mov 20h,#00h
         mov 21h,#00h
         mov 22h,#02h
         call senddata
         call fmsendcom
         clr p2.5
fmaddover:
         call delay1
         jmp wait1
keydown:
         jb p2.0,fmdow
         jmp fmdo
fmdow:
         jmp fmdown
fmdo:
         mov a,38h
         add a,#01
         da a
         mov 58h,a
         anl a,#0fh
         cjne a,#00,amdown1
         mov 38h,#30h
         jmp amdown0
amdown1:
         mov a,58h
         anl a,#0fh
         add a,#30h
         mov 38h,a
         mov a,37h
         subb a,#01
         jb psw.6,amdown2
         mov 37h,a
         jmp amdown0
amdown2:
         clr psw.6
         clr c
         subb a,#06h
         anl a,#0fh
         add a,#30h
         mov 37h,a
         mov a,36h
         subb a,#01
         jb psw.6,amdown3
         mov 36h,a
         jmp amdown0
amdown3:
         clr psw.6
         clr c
         subb a,#06h
         anl a,#0fh
         add a,#30h
         mov 36h,a
         mov 35h,#20h
amdown0:
         mov a,38h
         cjne a,#32h,amdownov
         mov a,37h
         cjne a,#32h,amdownov
         mov a,36h
         cjne a,#35h,amdownov
         mov a,35h
         cjne a,#20h,amdownov
         mov 35h,#31h
         mov 36h,#36h
         mov 37h,#30h
         mov 38h,#32h
         call display
         mov 20h,#0c0h
         mov 21h,#2ah
         mov 22h,#43h
         mov a,#0d0h
         call senddata
         call amsenddata
         mov 20h,#00h
         mov 20h,#80h
         mov 22h,#01h
         mov a,#0d2h
         call senddata
         call amsendcom
         clr p2.5
         clr p2.3
         jmp wait1
amdownov:
         call amcfm
         call display
         mov 20h,23h
         mov 21h,24h
         mov 22h,25h
         mov a,20h
         clr c
         subb a,#30h
         jb psw.7,amsub
         mov 20h,a
         jmp amsub1
amsub:
         clr psw.7
         mov 20h,a
         mov a,21h
         clr c
         subb a,#01h
         mov 21h,a
amsub1:
         mov a,#0d0h
         call senddata
         call delay3
         call amsenddata
         jnb p2.5,amsub6
         mov 20h,#0f1h
         mov 21h,#0c1h
         mov 22h,#05h
         mov r5,#02h
         jmp amsub7
amsub6:
         mov 20h,#00h
         mov 21h,#80h
         mov 22h,#01h
         mov r5,#01h
amsub7:
         mov a,#0d2h
         call senddata
         call amsendcom
         call delay4
         djnz r5,amsub7
amsub2:
         mov a,#0d1h
         call redata
         mov a,22h
         jb acc.5,amsub2
         mov a,21h
         cjne a,#07h,amsub3
         jmp amsub5
amsub3:
         jc amsubover
amsub5:
         mov a,20h
         cjne a,#07h,amsub4
amsub4:  jc amsubover
         cjne a,#0eh,amsub40
amsub40: jnc amsubover
         mov a,#0d2h
         mov 20h,#00h
         mov 21h,#80h
         mov 22h,#01h
         call senddata
         call amsendcom
         clr p2.5
amsubover:
         jmp wait1
fmdown:
         mov a,3ah
         clr c
         subb a,#05h
         jb psw.6,fmdown1
         mov 3ah,#30h
         jmp fmdown0
fmdown1:
         mov 3ah,#35h
         mov a,39h
         clr c
         subb a,#01
         jb psw.6,fmdown2
         mov 39h,a
         jmp fmdown0
fmdown2:
         clr psw.6
         clr c
         subb a,#06
         anl a,#0fh
         add a,#30h
         mov 39h,a
         mov a,37h
         clr c
         subb a,#01
         jb psw.6,fmdown3
         mov 37h,a
         jmp fmdown0
fmdown3:
         clr psw.6
         clr c
         subb a,#06
         anl a,#0fh
         add a,#30h
         mov 37h,a
         mov a,36h
         clr c
         subb a,#01
         jb psw.6,fmdown4
         mov 36h,a
         jmp fmdown0
fmdown4:
         clr psw.6
         clr c
         subb a,#06
         anl a,#0fh
         add a,#30h
         mov 36h,a
         mov 35h,#20h
fmdown0:
         mov a,3ah
         cjne a,#35h,fmdownov
         mov a,39h
         cjne a,#34h,fmdownov
         mov a,37h
         cjne a,#37h,fmdownov
         mov a,36h
         cjne a,#38h,fmdownov
         mov a,35h
         cjne a,#20h,fmdownov
         mov 3ah,#30h
         mov 39h,#30h
         mov 37h,#38h
         mov 36h,#30h
         mov 35h,#31h
         call display
         mov 20h,#8ch
         mov 21h,#12h
         mov 22h,#5ch
         mov a,#0d0h
         call senddata
         call fmsenddata
         mov 20h,#00h
         mov 21h,#00h
         mov 22h,#02h
         mov a,#0d2h
         call senddata
         call fmsendcom
         clr p2.5
         jmp wait1
fmdownov:
         call fmcam
         call display
         mov 20h,29h
         mov 21h,2ah
         mov 22h,2bh
         mov a,20h
         clr c
         subb a,#02h
         jb psw.7,fmsub
         mov 20h,a
         jmp fmsub1
fmsub:
         clr psw.7
         mov 20h,a
         mov a,21h
         clr c
         subb a,#01h
         mov 21h,a
fmsub1:
         mov a,#0d0h
         call senddata
         call delay1
         call fmsenddata
         jnb p2.5,fmsub6
         mov 20h,#0f0h
         mov 21h,#41h
         mov 22h,#06h
         jmp fmsub7
fmsub6:
         mov 20h,#00h
         mov 21h,#00h
         mov 22h,#02h
fmsub7:
         mov a,#0d2h
         call senddata
         call delay2
         call fmsendcom
         call delay0
fmsub2:
         mov a,#0d1h
         call redata
         mov a,22h
         jb acc.5,fmsub2
         mov a,21h
         cjne a,#29h,fmsub3
         jmp fmsub5
fmsub3:
         jc fmsubover
fmsub5:  mov a,20h
         cjne a,#0d3h,fmsub4
fmsub4:  jc fmsubover
         mov a,#0d2h
         mov 20h,#00h
         mov 21h,#00h
         mov 22h,#02h
         call senddata
         call fmsendcom
         clr p2.5
         jmp fmdown
fmsubover:
wait1:
         clr p2.3
         jnb p2.5,wait3
         call delay3
         setb p2.3
wait3:
         call delay2
         mov ie,#82h
wait2:
         ret

keyscan:
         push acc
         push psw
         mov ie,#02h
         mov th0,#0c5h
         mov tl0,#68h
         mov p1,#11111110b
         mov a,p1
         mov 50h,a
         mov p1,#11111101b
         mov a,p1
         mov 51h,a
         mov p1,#11111011b
         mov a,p1
         mov 52h,a
         mov p1,#11111111b
         call delay1
         mov p1,#11111110b
         mov a,p1
         mov 55h,a
         mov p1,#11111101b
         mov a,p1
         mov 56h,a
         mov p1,#11111011b
         mov a,p1
         mov 57h,a
         mov p1,#11111111b
         mov a,50h
         djnz 53h,next
         mov 53h,#05
         mov 2fh,#00
next:
         cjne a,#11110110b,keyscan2
         mov a,55h
         cjne a,#11110110b,keyscan2
         mov a,54h
         cjne a,#11110110b,key1
         jmp scanover
key1:
         call keypress1
         jmp scanover
keyscan2:
         mov a,50h
         cjne a,#11101110b,keyscan3
         mov a,55h
         cjne a,#11101110b,keyscan3
         mov a,54h
         cjne a,#11101110b,key2
         jmp scanover
key2:
         call keypress2
         jmp scanover
keyscan3:
         mov a,50h
         cjne a,#11011110b,keyscan4
         mov a,55h
         cjne a,#11011110b,keyscan4
         mov a,54h
         cjne a,#11011110b,key3
         jmp scanover
key3:
         call keypress3
         jmp scanover
keyscan4:
         mov a,51h
         cjne a,#11110101b,keyscan5
         mov a,56h
         cjne a,#11110101b,keyscan5
         mov a,54h
         cjne a,#11110101b,key4
         jmp scanover 
key4:
         call keypress4
         jmp scanover
keyscan5:
         mov a,51h
         cjne a,#11101101b,keyscan6
         mov a,56h
         cjne a,#11101101b,keyscan6
         mov a,54h
         cjne a,#11101101b,key5
         jmp scanover
key5:
         call keypress5
         jmp scanover
keyscan6:
         mov a,51h
         cjne a,#11011101b,keyscan7
         mov a,56h
         cjne a,#11011101b,keyscan7
         mov a,54h
         cjne a,#11011101b,key66
         jmp scanover
key66:   mov a,2fh
         cjne a,#11011101b,key6
         jmp scanover
key6:
         call keypress6
         jmp scanover
keyscan7:
         mov a,52h
         cjne a,#11110011b,keyscan8
         mov a,57h
         cjne a,#11110011b,keyscan8
         mov a,54h
         cjne a,#11110011b,key77
         jmp scanover
key77:   mov a,2fh
         cjne a,#11110011b,key7
         jmp scanover
key7:
         call keypress7
         jmp scanover
keyscan8:
         mov a,52h
         cjne a,#11101011b,keyscan9
         mov a,57h
         cjne a,#11101011b,keyscan9
         mov a,54h
         cjne a,#11101011b,key8
         jmp scanover
key8:
         call keypress8

⌨️ 快捷键说明

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