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

📄 51接收.asm

📁 这是一个51串行通信的接收程序,经过调试后很好用,并且很方便修改.
💻 ASM
字号:
;串行通信,实现与PC机通信(通过超级终端),通过串口软件可以实现PC机和下位单片机的数据传输
ORG     0000H    ;程序执行开始地址
LJMP    START    ;跳至START执行
ORG     0100H

START:   MOV SP,#60H
         MOV  TMOD,#20H     ;定时器1,工作在模式00100000b
         MOV  TL1,#0FDH     ;定时初值
         MOV  TH1,#0FDH     ;波特率为9600
         CLR  ET1
         SETB TR1           ;定时开始
         MOV  SCON,#40H     ;串行方式1,禁止接收
         MOV  PCON,#00H
         CLR  ES
         MOV  R0,#40H       ;数据地址接收
         MOV  R2,#16        ;接收数据字节数
         setb ren
TRSA:    jnb  ri,$
         clr  ri
         MOV  A,SBUF
         mov  @r0,a
         INC  R0
         DJNZ R2,TRSA
         clr  P3.2
         lcall delay
         MOV  R0,40H
         MOV  R4,#16
DD:      MOV  A,@R0
         lcall ASCH
         MOV  @R0,A
         INC  R0
         DJNZ R4,DD
         lcall bcd
sss:     lcall display
         setb  p3.2
         SJMP  start
ASCH:    CLR C
         SUBB A,#30H
         JNB ACC.4,ASH1
         SUBB A,#7
ASH1:    RET
bcd:     mov  r1,#40h
         mov dptr,#TABLE
ssss:    mov a,@r1
         movc a,@a+dptr
         mov  @r1,a
         inc  r1
         cjne r1,#50h,ssss
         ret
display:MOV DPTR,#7FFFH
 	SETB P2.3
	MOV A,40H
	MOVX @DPTR,A
	CLR P2.0
	LCALL DELAY
 	SETB P2.0
	MOV A,41H
	MOVX @DPTR,A
	CLR P2.1
	LCALL DELAY
 	SETB P2.1
	MOV A,42H
	MOVX @DPTR,A
	CLR P2.2
	LCALL DELAY
 	SETB P2.2
	MOV A,43H
	MOVX @DPTR,A
	CLR P2.3
	LCALL DELAY
        setb  p2.3
        MOV A,44H
	MOVX @DPTR,A
	CLR P2.0
	LCALL DELAY
 	SETB P2.0
	MOV A,45H
	MOVX @DPTR,A
	CLR P2.1
	LCALL DELAY
 	SETB P2.1
	MOV A,46H
	MOVX @DPTR,A
	CLR P2.2
	LCALL DELAY
 	SETB P2.2
	MOV A,47H
	MOVX @DPTR,A
	CLR P2.3
	LCALL DELAY
        setb  p2.3
        MOV A,48H
	MOVX @DPTR,A
	CLR P2.0
	LCALL DELAY
 	SETB P2.0
	MOV A,49H
	MOVX @DPTR,A
	CLR P2.1
	LCALL DELAY
 	SETB P2.1
	MOV A,4aH
	MOVX @DPTR,A
	CLR P2.2
	LCALL DELAY
 	SETB P2.2
	MOV A,4bH
	MOVX @DPTR,A
	CLR P2.3
	LCALL DELAY
        setb  p2.3
        MOV A,4cH
	MOVX @DPTR,A
	CLR P2.0
	LCALL DELAY
 	SETB P2.0
	MOV A,4dH
	MOVX @DPTR,A
	CLR P2.1
	LCALL DELAY
 	SETB P2.1
	MOV A,4eH
	MOVX @DPTR,A
	CLR P2.2
	LCALL DELAY
 	SETB P2.2
	MOV A,4fH
	MOVX @DPTR,A
	CLR P2.3
	LCALL DELAY
        setb  p2.3
	RET

DELAY:  MOV R5,#50
D2:     MOV R6,#20
D1:     MOV R7,#248
        DJNZ R7,$
        DJNZ R6,D1
        DJNZ R5,D2
        RET
TABLE:	DB 0C0H,0F9H,0A4H,0B0H,99H   	;共阳字段码表,实验板是这个共阳极的
	DB 92H,82H,0F8H,80H,90H

	DB 88H,83H,0C6H,0A1H,86H,8EH	;A~F

END

⌨️ 快捷键说明

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