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

📄 新建 文本文档 (3).txt

📁 使用单片机构造数据采集系统。程序采用汇编语言编写。
💻 TXT
字号:
源程序:1.由电路图可以知道:ADC0809的地址是70FFh
        2.ADC0809的8个模拟通道所对应的口地址是78FFh~7FFFh
        3.采样的开始,只要对模拟通道对应的地址写入一个数即启动转换。
        4.由P1.0查询ADC0809的EOC信号,即可确定转换是否完成
        5.8个通道的转换结果依次放入20h~27h存储单元中
  org 0000h
       ljmp mainini
  org 0003h
      ljmp ex0_handler
  org 0013h
       ljmp t0_handler
  org 40h
  ex0_handler:
      clr ea          ;关中断
      mov p0,#0ffh   ;读结果。由于p0口复用,需先把P0口置为输入方式
      mov a,p0
      mov @r1,a      ;存结果

      inc dph         ;下一通道
      cjne  dph,#08h,continue
      mov dph,#00h
      mov r1,#00h
  continue:        
      inc r1          
      mov p0,dph
      setb p2.7       ;启动下一通道转换
      nop
nop
 nop
  clr p2.7
  setr int0
      setb ea          ;开中断 
 reti
to_handler:
      clr ea
      clr tf0           ;定时器溢出中断位置零
      mov tl0,#0h      ;定时器初值重置
      mov th0,#0b8h
      setb ea
      reti

  mainini:
      clr   it0             ;int0为电平触发
      mov tl0,#0h ;
      mov th0,#0b8h       ;设定计数器初值
      ;mov tmod,#21h      ;定时器0为工作方式1(16位定时器),定时器1位工作方        式2(波特率发生器)
       Setb pt0              ;设置定时器0为最高优先级中断
       Setbt r0             ;启动定时器0
       ;初始化AD转换器      
mov p0,#00h    
      clr p2.7
      set p2.7
      nop
      nop
      nop
      clr p2.7
      ;中断使能
      setb ex0             ;允许外中断0
      setb et0              ;允许定时器0溢出中断
      setb es               ;允许串行中断
      setb ea               ;开总中断控制位
      end


⌨️ 快捷键说明

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