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

📄 three.asm

📁 C51通信程序
💻 ASM
字号:
			ONE_G	EQU	  01111111B
			TWO_G	EQU	  01101111B
                        THREE_G EQU       01001111B
                        FOUR_G  EQU       01001110B
                      

			ORG     0000H
        		LJMP    START           	;转初始化程序
        		ORG     0023H
        		LJMP    INTR              	;转中断子程序
			ORG     0030H
START:
        		MOV     TMOD,#20H
        		MOV     TH1,#0FDH
        		MOV     TL1,#0FDH
        		SETB    TR1             	;启动定时器
        		MOV     SCON,#50H       	;串口初始化
        		MOV     PCON,#00H       	;SMOD=0
        		SETB    EA              	;允许CPU中断
        		SETB    ES             		;允许串行口中断
			SETB 	  REN 			;允许接收

N2:

        		MOV     R0,#00H
        		MOV     P2,#0FFH

LOOP:
                        CLR TI
                        JB      P1.2,BUTTON2
                        MOV A,#031H
                        MOV SBUF,A
                        WAIT:
                        JNB TI,WAIT 	;等待发送
BUTTON2:                       
                        JB      P1.3,BUTTON3
                        MOV A,#032H
                        MOV SBUF,A
                        WAIT2:
                        JNB TI,WAIT2 	;等待发送
BUTTON3:                        
                        JB      P1.4,BUTTON4
                        MOV A,#033H
                        MOV SBUF,A
                        WAIT3:
                        JNB TI,WAIT3 	;等待发送
BUTTON4:                       
                        JB      P1.5,N0
                        MOV A,#034H
                        MOV SBUF,A
                        WAIT4:
                        JNB TI,WAIT4	;等待发送
                       
N0:
                         MOV     A,R0
        		CJNE    A,#031H,N1
        		MOV     P2,#ONE_G
        		JMP    LOOP
N1:

        		CJNE    A,#032H,N3
        		MOV     P2,#TWO_G
        		JMP    LOOP
N3:

                        CJNE    A,#033H,N4
                        MOV     P2,#THREE_G
                        JMP     LOOP
N4:
                        CJNE    A,#034H,N2
                        MOV     P2,#FOUR_G
                        JMP     LOOP

INTR:
        		PUSH  A
        		JB     RI,RCV      		;判断是发送还是接收
                        POP A
                        RETI
RCV:
        		CLR     EA              	;接收子程序,关中断
        		CLR     RI              	;清除中断标志
        		MOV    A,SBUF     		;接收地址并送到A
        		MOV    R0,A      		;将数据送SBUF
        		SETB    EA              	;开中断
        		POP     A
        		RETI

⌨️ 快捷键说明

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