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

📄 ta9257.asm

📁 TA9257 东芝收音调谐IC的控制程序.
💻 ASM
📖 第 1 页 / 共 2 页
字号:
         jmp scanover
keyscan9:
         mov a,52h
         cjne a,#11011011b,scanover0
         mov a,57h
         cjne a,#11011011b,scanover0
         mov a,54h
         cjne a,#11011011b,key9
         jmp scanover
key9:
         call keypress9
         jmp scanover
scanover0:
         mov 54h,#00h
         jb p2.0,scanover1
         mov 5ah,#02h
         jmp scanover2
scanover1:
         mov 5ah,#03
scanover2:
         jnb tf1,scanover
         clr tf1
scanover:
         mov ie,#82h
         setb tr0
         pop psw
         pop acc
         reti

chrup:
         anl a,#0fh
         inc a
         da a
         mov 58h,a
         anl a,#0fh
         add a,#30h
         mov 59h,a
         ret

display:
         mov r2,#0fh
         mov a,#01h
         call writecom
         mov a,#80h
         call writecom
         mov r0,#30h
display1:
         mov a,@r0
         call writedata
         inc r0
         djnz r2,display1
         ret

writecom:
         call delay0
         clr p3.5
         setb p3.4
         mov p0,a
         clr p3.4
         swap a
         setb p3.4
         mov p0,a
         clr p3.4
         setb p3.5
         ret
        
writedata:
         call delay0
         setb p3.5
         setb p3.4
         mov p0,a
         clr p3.4
         swap a
         setb p3.4
         mov p0,a
         clr p3.4
         clr p3.5
         ret
        
delay0:
         mov r6,#1
loop1:   mov r7,#60h
loop2:
         djnz r7,loop2
         djnz r6,loop1
         ret

delay1:
         mov r6,#20h
loop4:   mov r7,#64h
loop3:
         djnz r7,loop3
         djnz r6,loop4
         ret

delay2:
         mov r6,#20h
loop5:
         mov r7,#0feh
loop6:
         djnz r7,loop6
         djnz r6,loop5
         ret

delay3:
         mov r6,#10h
loop10:  mov r7,#64h
loop20:  djnz r7,loop20
         djnz r6,loop10
         ret
delay4:
         mov r6,#10h
loop50:  mov r7,#0feh
loop60:  djnz r7,loop60
         djnz r6,loop50
         ret

keypress1:
         mov 54h,#11110110b
         jnb p2.5,key1run
         clr p2.5
         jmp keyover1
key1run:
         jb p2.0,key1fm
         mov 31h,#01000001b
         mov 35h,#00100000b
         mov 36h,#00110101b
         mov 37h,#00110011b
         mov 38h,#00110001b
         mov 39h,#00100000b
         mov 3ah,#00100000b
         mov 3ch,#01001011b
         call amcfm
         mov a,#0d0h
         mov 20h,#70h
         mov 21h,#14h
         mov 22h,#43h
         call senddata
         call amsenddata
         call delay0
         mov a,#0d2h
         mov 20h,#00h
         mov 21h,#80h
         mov 22h,#01h
         call senddata
         call amsendcom
         jmp keyover1
key1fm:
         mov 31h,#01000110b
         mov 35h,#00100000b
         mov 36h,#00111000b
         mov 37h,#00110111b
         mov 38h,#00101110b
         mov 39h,#00110101b
         mov 3ah,#00110000b
         mov 3ch,#01001101b
         call fmcam
         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
keyover1:
         call display
         ret

keypress2:
         mov 54h,#11101110b
         jnb p2.5,key2run
         clr p2.5
         jmp keyover2
key2run:
         jb p2.0,key2fm
         mov 31h,#01000001b
         mov 35h,#00100000b
         mov 36h,#00110110b
         mov 37h,#00110000b
         mov 38h,#00110011b
         mov 39h,#00100000b
         mov 3ah,#00100000b
         mov 3ch,#01001011b
         call amcfm
         mov a,#0d0h
         mov 20h,#0f0h
         mov 21h,#15h
         mov 22h,#43h
         call senddata
         call amsenddata
         call delay0
         mov a,#0d2h
         mov 20h,#00h
         mov 21h,#80h
         mov 22h,#01h
         call senddata
         call amsendcom
         jmp keyover2
key2fm:
         mov 31h,#01000110b
         mov 35h,#00100000b
         mov 36h,#00111001b
         mov 37h,#00110000b
         mov 38h,#00101110b
         mov 39h,#00110000b
         mov 3ah,#00110000b
         mov 3ch,#01001101b
         call fmcam
         mov a,#0d0h
         mov 20h,#0bch
         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
keyover2:
         call display
         ret

keypress3:
         mov 54h,#11011110b
         jnb p2.5,key3run
         clr p2.5
         jmp keyover3
key3run:
         jb p2.0,key3fm
         mov 31h,#01000001b
         mov 35h,#00100000b
         mov 36h,#00111001b
         mov 37h,#00111001b
         mov 38h,#00111001b
         mov 39h,#00100000b
         mov 3ah,#00100000b
         mov 3ch,#01001011b
         call amcfm
         mov a,#0d0h
         mov 20h,#30h
         mov 21h,#1eh
         mov 22h,#43h
         call senddata
         call amsenddata
         call delay0
         mov a,#0d2h
         mov 20h,#00h
         mov 21h,#80h
         mov 22h,#01h
         call senddata
         call amsendcom
         jmp keyover3
key3fm:
         mov 31h,#01000110b
         mov 35h,#00100000b
         mov 36h,#00111001b
         mov 37h,#00111000b
         mov 38h,#00101110b
         mov 39h,#00110000b
         mov 3ah,#00110000b
         mov 3ch,#01001101b
         call fmcam
         mov a,#0d0h
         mov 20h,#0fch
         mov 21h,#10h
         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
keyover3:
         call display
         ret

keypress4:
         mov 54h,#11110101b
         jnb p2.5,key4run
         clr p2.5
         jmp keyover4
key4run:
         jb p2.0,key4fm
         mov 31h,#01000001b
         mov 35h,#00110001b
         mov 36h,#00110100b
         mov 37h,#00110000b
         mov 38h,#00110100b
         mov 39h,#00100000b
         mov 3ah,#00100000b
         mov 3ch,#01001011b
         call amcfm
         mov a,#0d0h
         mov 20h,#0a0h
         mov 21h,#26h
         mov 22h,#43h
         call senddata
         call amsenddata
         call delay0
         mov a,#0d2h
         mov 20h,#00h
         mov 21h,#80h
         mov 22h,#01h
         call senddata
         call amsendcom
         jmp keyover4
key4fm:
         mov 31h,#01000110b
         mov 35h,#00110001b
         mov 36h,#00110000b
         mov 37h,#00110110b
         mov 38h,#00101110b
         mov 39h,#00110000b
         mov 3ah,#00110000b
         mov 3ch,#01001101b
         call fmcam
         mov a,#0d0h
         mov 20h,#3ch
         mov 21h,#12h
         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
keyover4:
         call display
         ret

keypress5:
         mov 54h,#11101101b
         jnb p2.5,key5run
         clr p2.5
         jmp keyover5
key5run:
         jnb p2.0,keyover5
         jb p2.7,key5run0
         setb p2.7
         mov 20h,#00h
         mov 21h,#00h
         mov 22h,#03h
         mov a,#0d2h
         call senddata
         jmp keyover5
key5run0:
         clr p2.7
         mov 20h,#00h
         mov 21h,#00h
         mov 22h,#02h
         mov a,#0d2h
         call senddata
keyover5:
         ret

keypress6:
         mov 2fh,#11011101b
         jb p2.5,key64
         setb p2.3
         clr p2.4
         jb tr1,key61
         mov tmod,#11h
         mov th1,#0c5h
         mov tl1,#68h
         setb tr1
key61:
         jnb tf1,key60
         djnz 5ah,key60
         clr tf1
         setb p2.3
         setb p2.5
         mov 54h,#11011101b
         mov tmod,#01h
         jmp key60
key64:   clr p2.3
         clr p2.5
key60:
         ret

keypress7:
         mov 2fh,#11110011b
         jb p2.5,key73
         setb p2.3
         setb p2.4
         jb tr1,key71
         mov tmod,#11h
         mov th1,#0c5h
         mov tl1,#68h
         setb tr1
key71:
         jnb tf1,key70
         djnz 5ah,key70
         clr tf1
         setb p2.3
         setb p2.5
         mov 54h,#11110011b
         mov tmod,#01h
         jmp key70
key73:   clr p2.5
         clr p2.3
key70:
         ret

keypress8:
         mov 54h,#11101011b
         jnb p2.5,key8run
         clr p2.5
         jmp over8
key8run:
         mov r2,#0fh
         jb p2.0,ampress
         setb p2.0
         jb p2.1,fmpress
         call disyline1
         mov 20h,#58h
         mov 21h,#0fh
         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
         jmp over8
fmpress:
         setb p2.1
         mov r0,#30h
         mov r1,#60h
fmpress1:
         mov a,@r1
         mov @r0,a
         inc r0
         inc r1
         djnz r2,fmpress1
         mov 20h,29h
         mov 21h,2ah
         mov 22h,2bh
         mov a,#0d0h
         call senddata
         mov 20h,2ch
         mov 21h,2dh
         mov 22h,2eh
         mov a,#0d2h
         call senddata
         jmp over8
ampress:
         clr p2.0
         jb p2.2,ampress1
         mov 31h,#01000001b
         mov 35h,#00100000b
         mov 36h,#00110101b
         mov 37h,#00110011b
         mov 38h,#00110001b
         mov 39h,#00100000b
         mov 3ah,#00100000b
         mov 3ch,#01001011b
         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
         jmp over8
ampress1:
         setb p2.2
         mov r0,#30h
         mov r1,#40h
ampress2:
         mov a,@r1
         mov @r0,a
         inc r0
         inc r1
         djnz r2,ampress2
         mov 20h,23h
         mov 21h,24h
         mov 22h,25h
         mov a,#0d0h
         call senddata
         mov 20h,26h
         mov 21h,27h
         mov 22h,28h
         mov a,#0d2h
         call senddata
         jmp over8
over8:
         call display
         ret

fmcam:
         setb p2.1
         mov r2,#0fh
         mov r0,#30h
         mov r1,#60h
fmcam1:
         mov a,@r0
         mov @r1,a
         inc r0
         inc r1
         djnz r2,fmcam1
         ret

amcfm:
         mov r2,#0fh
         setb p2.2
         mov r0,#30h
         mov r1,#40h
amcfm1:
         mov a,@r0
         mov @r1,a
         inc r0
         inc r1
         djnz r2,amcfm1
         ret

amccfm:
         mov r2,#0fh
         mov r0,#30h
         mov r1,#40h
amccfm1:
         mov a,@r1
         mov @r0,a
         inc r0
         inc r1
         djnz r2,amccfm1
         ret

fmccam:
         mov r2,#0fh
         mov r0,#30h
         mov r1,#60h
fmccam1:
         mov a,@r1
         mov @r0,a
         inc r0
         inc r1
         djnz r2,amccfm1
         ret

keypress9:
         mov 54h,#11011011b
         jb p2.0,key9fm
         jnb p2.6,key9ammute
         clr p2.6
         mov a,#0d2h
         mov 20h,#00h
         mov 21h,#80h
         mov 22h,#01h
         call senddata
         jmp keyover9
key9ammute:
         setb p2.6
         mov a,#0d2h
         mov 20h,#00h
         mov 21h,#00h
         mov 22h,#05h
         call senddata
         jmp keyover9
key9fm:
         jnb p2.6,key9fmmute
         clr p2.6
         mov a,#0d2h
         mov 20h,#00h
         mov 21h,#00h
         mov 22h,#02h
         call senddata
         jmp keyover9
key9fmmute:
         setb p2.6
         mov a,#0d2h
         mov 20h,#00h
         mov 21h,#00h
         mov 22h,#06h
         call senddata
keyover9:
         call display
         ret

disyline1:
         mov 30h,#00100000b
         mov 31h,#01000110b
         mov 32h,#01001101b
         mov 33h,#00100000b
         mov 34h,#00100000b
         mov 35h,#00100000b
         mov 36h,#00111000b
         mov 37h,#00110111b
         mov 38h,#00101110b
         mov 39h,#00110101b
         mov 3ah,#00110000b
         mov 3bh,#00100000b
         mov 3ch,#01001101b
         mov 3dh,#01001000b
         mov 3eh,#01111010b
         mov 3fh,#00100000b
         ret

senddata:
         mov p3,#0ffh
         mov  scon,#00h
         clr p3.7
         nop
         mov sbuf,a
senwait:jbc scon.1,second
         jmp senwait
second:
         setb p3.7
         nop
         mov r0,#20h
         mov r2,#03h
rewrite:
         mov a,@r0
         mov sbuf,a
senwait1:
         jnb scon.1,senwait1
         clr scon.1
         inc r0
         djnz r2,rewrite
         mov scon,#00h
         clr p3.7
         nop
         nop
         setb p3.7
         clr a
         ret
        
redata:
         mov scon,#00h
         clr p3.7
         nop
         mov sbuf,a
redata1:
         jbc scon.1,redata2
         jmp redata1
redata2:
         setb p3.7
         mov r0,#20h
         mov r3,#03h
         mov scon,#10h
redata3:
         clr scon.0
redata4:
         jnb scon.0,redata4
         mov a,sbuf
         mov @r0,a
         inc r0
         djnz r3,redata3
         clr scon.0
         mov scon,#00h
         nop
         clr p3.7
         nop
         nop
         setb p3.7
         ret
        
amsenddata:
         mov r0,#20h
         mov r1,#23h
         mov r2,#03h
amsenddata1:
         mov a,@r0
         mov @r1,a
         inc r0
         inc r1
         djnz r2,amsenddata1
         ret

amsendcom:
         mov r0,#20h
         mov r1,#26h
         mov r2,#03h
amsendcom1:
         mov a,@r0
         mov @r1,a
         inc r0
         inc r1
         djnz r2,amsendcom1
         ret

fmsenddata:
         mov r0,#20h
         mov r1,#29h
         mov r2,#03h
fmsenddata1:
         mov a,@r0
         mov @r1,a
         inc r0
         inc r1
         djnz r2,fmsenddata1
         ret

fmsendcom:
         mov r0,#20h
         mov r1,#2ch
         mov r2,#03h
fmsendcom1:
         mov a,@r0
         mov @r1,a
         inc r0
         inc r1
         djnz r2,fmsendcom1
         ret
        
         end
        

⌨️ 快捷键说明

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