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

📄 adc1.asm

📁 LCD和44键盘的一个简单例子,proteus下仿真通过
💻 ASM
字号:
   TEMPHIGH EQU 35H
   TEMPLOW  EQU 34H
   ORG 0000H
   AJMP MAIN
   ORG 0030H
MAIN:MOV 30H, #00H   ;采样单元初始化     
LOOP:
   ACALL ADCON
   ACALL  HEXTBCD
   ACALL DISPLAY 
        AJMP loop
;///////////////////////////////////////
;/ AD转换程序,利用查询方式,实时采样四路数据,
;/ 并分别存入30H~33H四个单元中
;///////////////////////////////////////
ADCON:
  MOV DPTR,#08000H;通道0的地址
   MOV R1,#30H
  MOVX @DPTR,A    ;启动AD转换
  MOV R2,#20H
  DLY:DJNZ R2,DLY
  HE: JB P3.2,HE
  MOVX A,@DPTR
  MOV 30H,A
  MOV R0,A
  RET
 ;////////////////////
  ; / 显示预处理子程序,TEMPHIAH TEMPLOW存放AD转换值与20的乘积
  ; / R3为转换时所用循环次数16
  ; /R4 R5分别存放BCD码的低位和高位
   ;/处理后的结果分别存放入38H~3FH
;/////////////////////////
HEXTBCD:
    MOV R0,#30H       ;存放AD转换值的首地址
   MOV R1,#38H       ;存放BCD码的首地址
   ;MOV R2,#1        ;要转化的AD转换值的个数

      MOV R4,#0        ;暂存转化结果的低位
   MOV R5,#0        ;;暂存转化结果的高位
   CLR C
   MOV A,@R0        ;取要转化的AD转换值
   MOV B,#20      ;×20
   MUL AB
   MOV R3,A     ;积低位存入TEMPLOW单元
   MOV A,B
   MOV R2,A    ;积高位存入TEMPHIGH单元
   CLR A                 ;转化程序
   
   MOV R6,A
   MOV R7,#10H
   BP1:CLR C
   MOV A,R3
   RLC A
   MOV  R3,A
   MOV A, R2
   RLC A
   MOV  R2,A
      MOV A ,R6
   ADDC A ,R6
   DA A
   MOV R6 ,A
   MOV A ,R5
   ADDC A ,R5
   DA A
   MOV R5 ,A
   MOV  A,R4
   ADDC A,R4
   SWAP A
   MOV R4,A
   DJNZ R7,BP1
     MOV 30H,R6
      MOV 31H,R5
      MOV R0,#30H
   MOV R1,#38H
   MOV R7,#02H
  BP2: MOV A,@R0
   ANL A,#0FH
   MOV @R1,A
   INC R1
   MOV A,@R0
   SWAP A
   ANL A,#0FH
   MOV @R1,A
  INC R0
  INC R1
  DJNZ R7, BP2

      RET
 
;*******************
;显示子程序 
;*******************
DISPLAY:MOV A,#0FEH
        MOV P2,A
        MOV A,3BH
        MOV DPTR,#TABLE
        MOVC A,@A+DPTR
        ORL A,#80H  ;加小数点
        MOV P1,A
       	CALL DELAY
		MOV A, #0FDH
        MOV P2,A
        MOV A,3AH
        MOV DPTR, #TABLE
        MOVC A,@A+DPTR
        MOV P1,A
        LCALL DELAY
		 MOV A, #0FBH
        MOV P2,A
        MOV A,39H
        MOV DPTR, #TABLE
        MOVC A,@A+DPTR
        MOV P1,A      
      LCALL DELAY
	  MOV A, #0F7H
        MOV P2,A
        MOV A,38H
        MOV DPTR, #TABLE
        MOVC A,@A+DPTR
        MOV P1,A       
      LCALL DELAY
	  	RET
       TABLE:  DB 3FH,06H,5BH,4FH,66H
        DB 6DH,7DH,07H,7FH,6FH
DELAY:  MOV 40,#34H    
D0:     MOV 41,#19H
D1:     DJNZ 41,D1
        DJNZ 40,D0
        RET

	END

⌨️ 快捷键说明

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