📄 a.asm
字号:
ORG 0000H
SETB P1.0
CLR P1.1
CLR P1.2
MAIN: CPL P1.0 ;设置指示灯
CPL P1.1
CPL P1.2
;设置串口通信波特率
MOV TMOD,#0x20
MOV TL1,#0xF3
MOV TH1,#0xF3
MOV SCON,0xD8 ;3号工作模式 2400 6Mhz
SETB TR1
CLR TI
;缓冲区一头一尾加起始标志,方便数据库管理软件处理
;开始标志字符串
MOV 40H,#43H ;C
MOV 41H,#4CH ;L
MOV 42H,#45H ;E
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 采集过程
COLL: MOV R1,#43H
MOV DPTR,#7FF0H
MOV R7,#10H
LOOP1: MOVX @DPTR,A ;启动采集
MOV R6,#0AH
DLAY: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R6,DLAY
;WEND: JB P3.3,WEND ;等待A/D转换结束
MOVX A,@DPTR
MOV @R1,A
INC DPTR
INC R1
DJNZ R7,LOOP1
;结束16个通道的采集
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;结束标志字符串
MOV 53H,#45H ;E
MOV 54H,#4EH ;N
MOV 55H,#44H ;D
MOV 56H,#0AH ;CR
MOV 57H,#00H
;将40H-57H缓冲区的数据发往串口
MOV R0,#040H
MOV R2,#18H ;缓冲区长度
LOOP: MOV A,@R0
MOV C,P
MOV TB8,C
MOV SBUF,A ;启动发送
WAIT: JBC TI,CONT
SJMP WAIT
CONT: INC R0
DJNZ R2,LOOP
;延时,下一个周期查询
MOV R4,#0FFH
DK: MOV R3,#0FFH
DL: DJNZ R3,DL
DJNZ R4,DK
AJMP MAIN
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -