ISD1420JL语音组合精灵板发码程序下载:《ISD1420JL语音组合精灵板发码程序》 以下为部分,查看全部请点上面下载。 ; ********************************* ; * ISD1420 ISD2500 ISD3300 * ; * 语音电路发码程序 * ; * AT89C2051单片计算机 12MHz * ; * TXHH.ASM * ; * 一九九九年八月二十三日 * ; ********************************* ;**** 初始化 **** ORG 0000H ; ;主程序 MAIN: MOV SP,#10H ; MOV P1,#0FFH ; MOV P3,#0FFH ; CLR ET1 ; CLR ES ; CLR EX1 ; CLR EX0 ; CLR EA ; MOV R3,#0DDH ; JJK: MOV R0,#40H ;键输入存储的首地址 MOV SP,#10H ; MOV P1,#0FFH ; MOV P3,#0FFH ; MOV SCON,#50H ;串行口工作于方式1 MOV PCON,#00H ;SMOD=0=fosc/32 (SMOD=1=fosc/16) MOV TMOD,#20H ;定时器1工作于方式2 自动装入的8位计数器 MOV TH1,#0FAH ;波特率设置2400 1位起始位 8位数据位 1位停止位 MOV TL1,#0FAH ; WW2: SETB T1 ; MOV P1,#0EFH ; JB RXD,WWWL ; AJMP FCCC ; WWWL: JNB P1.0,WW0 ; JNB P1.1,WW0 ; JNB P1.2,WW0 ; JNB P1.3,WW0 ; MOV P1,#0DFH ; JNB P1.0,WW0 ; JNB P1.1,WW0 ; JNB P1.2,WW0 ; JNB P1.3,WW0 ; MOV P1,#0BFH ; JNB P1.0,WW0 ; JNB P1.1,WW0 ; JNB P1.2,WW0 ; JNB P1.3,WW0 ; AJMP WW2 ; WW0: MOV A,P1 ; CLR T1 ; MOV 30H,#100 ; DD0: JNB P1.0,$ ; JNB P1.1,$ ; JNB P1.2,$ ; JNB P1.3,$ ; ACALL Y100 ; DJNZ 30H,DD0 ; SETB T1 ; CJNE A,#0E7H,JJ1 ; MOV A,#01H ; JJ1: CJNE A,#0D7H,JJ2 ; MOV A,#02H ; JJ2: CJNE A,#0B7H,JJ3 ; MOV A,#03H ; JJ3: CJNE A,#0EBH,JJ4 ; MOV A,#04H ; JJ4: CJNE A,#0DBH,JJ5 ; MOV A,#05H ; JJ5: CJNE A,#0BBH,JJ6 ; MOV A,#06H ; JJ6: CJNE A,#0EDH,JJ7 ; MOV A,#07H ; JJ7: CJNE A,#0DDH,JJ8 ; MOV A,#08H ; JJ8: CJNE A,#0BDH,JJ9 ; MOV A,#09H ; JJ9: CJNE A,#0EEH,JJ0 ;每一段的结束键 MOV A,#0AH ; JJ0: CJNE A,#0DEH,JJA ; MOV A,#00H ; JJA: CJNE A,#0BEH,JJB ; MOV A,R3 ; CJNE A,#0DDH,JJBB ; AJMP MAIN ; JJBB: CJNE A,#0AAH,JJBB1 ; AJMP FMM; JJBB1: DEC R0 ; AJMP AA ;输入结束 JJB: MOV R3,#00H ; MOV @R0,A ; INC R0 ; AJMP WW2 ;没有输入结束键继续输入 AA: DEC R0 ; MOV 3FH,#0AH ; MOV 26H,#28H ; AA0: MOV 20H,#00H ; MOV 21H,#00H ; MOV 22H,#00H ; MOV 23H,#00H ; MOV R1,#23H ; AA1: MOV A,@R0 ; CJNE A,#0AH,AA2 ; MOV 18H,R0 ; 结果在 25H,24H 20H 21H 22H 23H ACALL AH ;调四位BCD码转换十六位二进制数 千 百 十 个 |