1496|0

13

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

2路ADC0808测量数码管显示汇编程序 [复制链接]

2路ADC0808测量电压,通过按键切换,仿真加程序!

 

LED1  EQU  31H
LED2  EQU  32H
LED3  EQU  33H        
ADC   EQU  35H  
BIAOZHI  EQU 36H
ST    BIT  P3.2 
EOC   BIT  P3.3
OE    BIT  P3.1      
        ORG   00H
       SJMP   START       
        ORG   0BH
  MOV BIAOZHI,#00H
START:  MOV   P3,#0FFH    
        MOV   LED1,#00H
        MOV   LED2,#00H
        MOV   LED3,#00H   
        MOV   DPTR,#TAB  
  JB P3.7,MAINNOKEY         //检测到按键
     LCALL SETCHANNEL  
SETCHANNEL:          //通道切换子函数
LCALL DELAY5MS   //去抖动流程
JB P3.7,SETCHANNELEND

JNB P3.7,$     //等待松开按键
MOV A,BIAOZHI
CPL A
MOV BIAOZHI,A
  

SETCHANNELEND:
RET  
  
MAINNOKEY:MOV   R4,#250
       MOV    R5,#250
WAIT:   
      MOV A,BIAOZHI
   
      CJNE A,#00,WAIT2
   SETB P3.0
   
       CLR   ST
       SETB   ST
        CLR   ST          
        JNB   EOC,$       
       SETB   OE          
        MOV   ADC,P1      
        CLR   OE          
        MOV   A,ADC
        MOV   B,#51    
        DIV   AB
        MOV   LED3,A      
        MOV   A,B
        MOV   B,#5
        DIV   AB
        MOV   LED2,A        
        MOV   LED1,B       
        LCALL   DISP   
    LJMP   START 
       // DJNZ   R4,WAIT
WAIT2:  CLR P3.0         
        CLR   ST
       SETB   ST
        CLR   ST           
        JNB   EOC,$      
        SETB   OE        
        MOV   ADC,P1     
        CLR   OE          
        MOV   A,ADC
        MOV   B,#51    
        DIV   AB
        MOV   LED3,A     
        MOV   A,B
        MOV   B,#5
        DIV   AB
        MOV   LED2,A     
        MOV   LED1,B    
        LCALL   DISP    
       // DJNZ   R5,WAIT2
        LJMP   START    
    
    
    
    

DISP: MOV   A,#03EH
      CLR   P2.3    
      MOV   P0,A
      LCALL   DELAY
      SETB    P2.3
     
      MOV   A,LED1
      MOVC   A,@A+DPTR
      CLR   P2.2
      MOV   P0,A
       LCALL   DELAY
      SETB    P2.2
    

      MOV   A,LED2
      MOVC   A,@A+DPTR
      CLR   P2.1
      MOV   P0,A
       LCALL   DELAY
      SETB    P2.1
    
      MOV    A,LED3
      MOVC    A,@A+DPTR
      CLR    P2.0
      ORL    A,#80H
      MOV    P0,A
       LCALL   DELAY
      SETB    P2.0
      
      RET
    
DELAY:  MOV    R6,#10        
   D1:  MOV    R7,#250
       DJNZ    R7,$
       DJNZ    R6,D1
        RET
DELAY5MS: 
PUSH 0X06
PUSH 0X07
MOV R6,#0c4H 
DL1: MOV R7,#0CH
DL2: DJNZ R7,DL2
DJNZ R6,DL1
POP 0X07
POP 0X06
RET
TAB:DB 3FH,06H,5BH,4FH,66H
    DB 6DH,7DH,07H,7FH,6FH 
     END
此帖出自51单片机论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表