找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2577|回复: 0
收起左侧

AD转换测电压

[复制链接]
ID:70976 发表于 2014-12-27 18:13 | 显示全部楼层 |阅读模式
  1. ;=================================================================
  2. ;程序编写人:兰建文
  3. ;编写地点:51hei培训机构
  4. ;时间:6月10日下午  星期三
  5. ;功能:本程序实现液晶的信息功能,显示数模转换读
  6. ;来处理后的数据,精确到0.5。
  7. ;=======================开始初始化================================
  8.              CS     BIT    P3.2      ;设置使能口
  9.        SCLK   BIT    P3.4      ;设置时钟脉冲口
  10.        ADOUT  BIT    P3.5   ;设置数据输出口
  11.     PIANXUAN EQU    P2   ;设置片选口
  12. ;========================系统程序==================================
  13.                    ORG    0000H
  14.        JMP    MAIN
  15.         ORG    30H
  16. ;=========================主程序===================================
  17.           MAIN:
  18.            MOV    A,#0H
  19.      SETB   ADOUT
  20.      SETB   SCLK
  21.      CLR    SCLK
  22.         CLR    CS
  23.      CALL   READ
  24.      SETB   CS
  25.      CALL   HBCD
  26.      CALL   DISPLAY
  27.      JMP    MAIN
  28. ;=========================读子程序===========================
  29. ;输入条件:待转化的单字节十六进制整数在累加器A中。
  30. ;输出信息:转化后的BCD码(十位和个位)仍在累加器A中,百位在R3中。
  31. ;影响资源:PSW、A、B、R3    堆栈需求:2字节
  32. ;============================================================
  33.       READ:
  34.            MOV    R1,#08H
  35.      LL:SETB   SCLK     ;设置下降沿
  36.         MOV    C,ADOUT
  37.      RLC    A
  38.      CLR    SCLK
  39.      DJNZ   R1,LL
  40.      RET
  41. ;=====================BCD转化子程序=========================
  42. ;输入:"R2、R3、R6"
  43. ;输出:"P0口"
  44. ;实现的功能:把R2、R3、R6的数输出到P0口显示
  45. ;============================================================
  46.       HBCD:
  47.            MOV    B,#25
  48.      DIV    AB
  49.      MOV    B,#5
  50.      MUL    AB
  51.    
  52.      MOV    B,#100    ;分离百位,放在R3中
  53.            DIV    AB
  54.            MOV    R3,A
  55.      MOV    A,#10    ;继续分离十位和个位
  56.      XCH    A,B
  57.      DIV    AB
  58.      MOV    R2,A
  59.      MOV    R6,B
  60.      RET
  61. ;========================显示子程序==========================
  62. ;输入:"A"
  63. ;输出:"P0口"
  64. ;实现的功能:把A的数输出到P0口显示
  65. ;============================================================
  66.       DISPLAY:MOV    R0,#50
  67.     CC: MOV    A,R3
  68.      MOV    DPTR,#TAB0
  69.      MOVC   A,@A+DPTR
  70.      MOV    P0,A       ;显示百位
  71.      MOV    PIANXUAN,#03H
  72.      CALL   DELAY
  73.      MOV    P0,#0FFH
  74.      MOV    A,R2
  75.      MOV    DPTR,#TAB1
  76.      MOVC   A,@A+DPTR
  77.      MOV    P0,A       ;显示十位
  78.      MOV    PIANXUAN,#04H
  79.      CALL   DELAY
  80.      MOV    P0,#0FFH
  81.      MOV    A,R6
  82.      MOV    DPTR,#TAB0
  83.      MOVC   A,@A+DPTR
  84.      MOV    P0,A       ;显示个位
  85.      MOV    PIANXUAN,#05H
  86.      CALL   DELAY
  87.      MOV    P0,#0FFH
  88.      DJNZ   R0,CC
  89.      RET
  90. ;========================延时程序============================
  91. ;输入;无
  92. ;输出: 无
  93. ;实现的功能:延时一段时间
  94. ;============================================================
  95.      DELAY:MOV    R4,#5
  96.            MOV    R5,#200
  97.     D1: NOP
  98.         DJNZ   R5,$
  99.         DJNZ   R4,D1
  100.      RET
  101. ;=======================共阳查表数据==========================
  102.       TAB0:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
  103.    TAB1:DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H                     
  104. ;=========================程序结束=================================
  105.             END
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表