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

📄 sonic1.asm

📁 51单片机实现语音与超声波系统
💻 ASM
字号:
        CSEG AT 4000H
        LJMP START
        
        CSEG AT 4003H
        LJMP INTER0
        
        CSEG AT 400BH
        LJMP TIMER0
                       
        CSEG AT 4100H
START:  MOV PSW, #00H
        MOV TMOD, #11H           ;TIMER 0,MODE 1
        MOV TH0, #00H
        MOV TL0, #01H
        MOV R4, #0AH
        SETB TR0
        SETB ET0
        
SEND:   SETB P1.0
        NOP
        NOP
        NOP
        NOP
        NOP
        CLR  P1.0
        NOP
        NOP
        NOP
        NOP
        DJNZ  R4, SEND
        CALL  DELAY2
        SETB EX0
        SETB EA
        
     ;   JMP  SEND
     ;   INC  R4
WAIT1:  JB   TR0, WAIT1
        
        JNB  PSW.5, WAIT
        MOV  R0, #0FFH
        MOV  R1, #0FFH
        JMP  DISP
WAIT:   JNB  P3.2, WAIT
DISP:   MOV  DPTR, #0CFE9H     ;
        MOV  A, #08H
        MOVX @DPTR, A

        MOV  DPTR,#0CFE9H     ;写显示RAM命令字
        MOV  A,#90H
        MOVX @DPTR,A

        MOV  A, R1
        SWAP A
        ANL  A, #0FH          ;转换结果
        ACALL TABLE           ;转换为显码
        MOV  DPTR, #0CFE8H    ;8279数据口地址
        MOVX @DPTR, A         ;送显码输出
        
        MOV  A, R1
        ANL  A, #0FH          ;转换结果
        ACALL TABLE           ;转换为显码
        MOV DPTR, #0CFE8H     ;8279数据口地址
        MOVX @DPTR,A          ;送显码输出
        
        MOV  A, R0
        SWAP A
        ANL  A, #0FH          ;转换结果
        ACALL TABLE           ;转换为显码
        MOV  DPTR, #0CFE8H    ;8279数据口地址
        MOVX @DPTR, A         ;送显码输出
        
        MOV  A, R0 
        ANL  A, #0FH          ;转换结果
        ACALL TABLE           ;转换为显码
        MOV DPTR, #0CFE8H     ;8279数据口地址
        MOVX @DPTR,A          ;送显码输出
		
        ACALL DELAY1  
        LJMP  START	

DELAY1: MOV   R7, #250
DLY1:   MOV   R6, #255
DLY2:   NOP
        NOP
        NOP
        NOP
        DJNZ  R6, DLY2
        DJNZ  R7, DLY1
        RET
        
DELAY2: MOV  R7, #200
DLY3:   NOP
        NOP
        DJNZ R7, DLY3
        RET
                 
TABLE:  INC  	A
        MOVC 	A,@A+PC
        RET
DB      3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB      7FH,6FH,77H,7CH,39H,5EH,79H,71H 

INTER0: CLR  TR0
        CLR EX0
   ;     CLR EA
   ;     INC R2
   ;     SETB PSW.5
        MOV A, TL0
        MOV R0, A
        MOV A, TH0
        MOV R1, A
INRET1: RETI 

TIMER0: CLR TR0
        CLR EX0
        SETB PSW.5
        CPL P1.1
        RETI 
             
        END
        

⌨️ 快捷键说明

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