51单片机AD转换代码

      OE    EQU  P1.0//给特定的符号名赋值
      EOC  EQU  P1.1
      ST    EQU  P1.2
      CLK  EQU  P1.3
      SHU  EQU  30H
      TEMP EQU  31H
      ORG  0000H  ;起始指令
      AJMP  MAIN
      ORG  000BH
      CPL  CLK ;i这是在定时器中翻转CLK,也就是给ADC提供时钟。
      RETI
      ORG  0100H
MAIN:         
      MOV SP,#60H ;这个是设置堆栈的位置,否则默认的堆栈肯定会被冲掉
          MOV TMOD,#02H  ;设置T0工作于外启动,定时,方式2
      MOV  TH0,#14H
      MOV  TL0,#00H  ;给定时器赋初值,X=M-T/Tm
      MOV  IE,#82H  ;IE初始化
代码转换      SETB  TR0        ; 启动定时器T0
      MOV  A,#3FH
      MOV  P1,A      ;选通模拟量输入通道3
      MOV  SHU,#0
SCAN:   
          CLR    ST 
          SETB  ST       
      CLR    ST  ;人为地在ST引脚上产生脉冲,给ADC一个开始脉冲,告诉它启动AD转化
       
M0:      JNB  EOC,M0  ;EOC是AD转换结束的标志,可作为转换结束中断的请求信号
      SETB    OE  ; OE是数字量输出允许信号输入,高电平有效
      MOV  A,#0FFH
          MOV  P3,A     
M1:      MOV  A,P3
      MOV  SHU,A  ;把转换出来的数给SHU
      LCALL  CHANGE
      LCALL  DISP
      CLR  OE  ;使能ADC,让它能够工作,看来这个ADC是低电平使能
          AJMP  SCAN
DISP: 
      MOV  R0,#TEMP       
      MOV  R2,#00H
DISP1:MOV  A,R2
      MOV DPTR,#TAB1
      MOVC A,@A+DPTR
      MOV  P2,A    ;把选通的那一个管的数给P2口
      MOV  A,@R0
      MOV  DPTR,#TAB
      MOVC  A,@A+DPTR    ;取字符         
      MOV  P0,A  ;A就输出
      MOV R5,#5
      ACALL DELAY             
      INC  R0
      INC  R2
      CJNE R2,#3,DISP1    ;扫描显示
      MOV P0,#00H       
      RET
CHANGE:                ;把数字分成百、十和个位
          MOV  A,SHU
      MOV  B,#100
      DIV  AB
      MOV  TEMP,A
      MOV  A,B
      MOV  B,#10
      DIV  AB
      MOV TEMP+1,A
      MOV TEMP+2,B
      RET             
DELAY:        ;延时         
      MOV R6,#1
DELAY0:
      MOV R7,#100
      DJNZ R7,$
      DJNZ R6,DELAY0
      DJNZ R5,DELAY
      RET
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH  ;字形码表
TAB1: DB  0FDH,0FBH,0F7H    ;选通数吗管的通道
  END

本文发布于:2024-09-22 05:35:24,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/377199.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:转换   启动   信号   输入   脉冲   堆栈   结束   工作
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议