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

📄 ad.asm

📁 单片机I/O口的原程序 其简要的概括了程序的手写规范 对单片机初学者来说是很有意义的哟
💻 ASM
字号:
;--------------------
; AD.ASM
; CONTROL A/D PORT
; 8051 TX TO PC VIA RS232
; <9600 N 8 1 >
;--------------------
LF EQU 0AH
CR EQU 0DH
;----------------------
; READ AD0804 DATA AND
; SEND DATA OUT TO PC

   ORG 0H
   JMP BEGIN
;----------------------
BEGIN: MOV SP,#60H

   MOV R5,#10
   CALL DELAY

   CALL INIT_RS232

; SHOW MESSAGE
   MOV DPTR,#MESS
   CALL TX_STR

   MOV DPTR,#MESS1
   CALL TX_STR

AGAIN:
;READ IN DATA FROM P1
   MOV A, P1
   CALL HEX_OUT

   MOV	R5,#50
   CALL DELAY

   JMP AGAIN
;---------------------
; DELAY R5*10 ms
DELAY:
   MOV R6,#50
$1:MOV R7,#100
$2:DJNZ R7,$2
   DJNZ R6,$1
   DJNZ R5,DELAY
   RET
;--------------------
LED_BL:
   MOV R4,#2
$0:CPL P1.7
   MOV R5,#5
   CALL DELAY
   DJNZ R4, $0
   RET
;----------------------
INIT_RS232:
   MOV SCON,#50H
   MOV TMOD,#20H
   MOV TH1,#0FDH
   SETB TR1
   SETB TI
   RET
;----------------------
TX_CHAR:
   JNB TI,$
   CLR TI
   MOV SBUF, A
   RET
;----------------------
TX_STR:
   CLR A
   MOVC A,@A+DPTR
   CJNE A,#'$', $1
   RET
$1:
   CALL TX_CHAR
   INC DPTR
   JMP TX_STR
   RET
;--------------------------
MESS:	   DB "TEST A/D 0804", LF, CR, '$'
MESS1:	   DB "READ DATA NORMAL SHOULD BE  7FH, 80H, 81H..... ", LF, CR,'$'
ASCT:	   DB "0123456789ABCDEF"
;--------------------------
HEX_OUT:  ; 将数字数据由 RS232 接口传回 PC
; IN  : A HEX_VALUE    EX: 38H
; OUT : RS232 O/P     "38H "

   PUSH A
   MOV DPTR,#ASCT
; SEND BYTE1
   ANL A,#F0H
   SWAP A
   MOVC A,@A+DPTR
   CALL TX_CHAR
; SEND BYTE2
   POP A
   ANL A,#0FH
   MOVC A,@A+DPTR
   CALL TX_CHAR

; SEND OUT 'H' AND ' '
   MOV A,#'H'
   CALL TX_CHAR
   MOV A,#' '
   CALL TX_CHAR
   RET
;-------------------

⌨️ 快捷键说明

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