单片机实验AD转换实验

时间:2024.4.9

沈阳工业大学(毛泽东字体)

实验报告

课程名称:       单片机原理及应用         

实验项目:         A/D转换实验            

专业班级:                             

姓    名:      学    号:       

实验室号:  实验组号:          

实验时间:             批阅时间:           

指导教师:      成    绩:           


沈阳工业大学实验报告

(适用计算机程序设计类)

专业班级:       学号:           姓名:   

实验名称:A/D转换实验

附件A           沈阳工业大学实验报告

(适用计算机程序设计类)

专业班级:    学号:           姓名:    

实验步骤或程序

实验原理:

A/D转换器大致有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近法A/D转换器,精度、速度、价格适中;三是并行A/D转换器,速度快,价格也昂贵。
    实验用的ADC0809属第二类,是八位A/D转换器。每采集一次需100us。
    ADC0809 START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号。实验电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,故启动A/D转换只需如下两条指令:
             MOV DPTR,#PORT
             MOVX @DPTR,A
     A中为何内容并不重要,这是一次虚拟写。
    在中断方式下,A/D转换结束后会自动产生EOC信号,将其与8031CPU板上的INT0相连接。在中断处理程序中,使用如下指令即可读取A/D转换的结果:
       MOV DPTR,#PORT
       MOVX A,@DPTR

实验步骤:
    1、0809的片选信号CS0809接CS0。
    2、电位器的输出信号AN0接0809的ADIN0。
    3、EOC接CPU板的INT0.

程序框图:

 

运行结果

  程序调试运行后,手调电位器,随着电位器的变化,看到数码管显示的数字电压值也在随之变化。

六、实验总结

    这次A/D转换实验相对以前的六个实验对于我来说有比较大的难度。在自主编程和绘制的过程中理论知识的欠缺就表现出来了。比如说:在使用Protues软件进行电路设计时接线的引脚连接不是很清楚,不知道正确使用AD0808芯片与单片机的接口进行总线扩展。因此,此次实验程序编写尤其显得吃力,并且在仿真的时候有不明原因的延时显示。不过经过此次实验我学到了更多的单片机和单片机资源扩展芯片的知识。


第二篇:单片机AD转换实验


一、实验目的

1、掌握单片机与ADC0809的接口设计方法 。

2、掌握Proteus软件与Keil软件的使用方法

二、实验要求

1、用Proteus软件画出电路原理图,在单片机的外部

扩展片外三总线,并通过片外三总线与0809接口。

2、在0809的某一模拟量输入通道上接外部模拟量。

3、在单片机的外部扩展数码管显示器。

4、分别采用延时和查询的方法编写A/D转换程序。

5、启动A/D转换,将输入模拟量的转换结果在显示器上显示。

三、实验电路图

四、实验程序流程框图和程序清单

1、查询

      ORG   0000H

START:LJMP  MAIN

      ORG   0100H

MAIN: MOV   SP,    #6FH

      CLR   EA

LOOP: MOV   DPTR,  #0fef8H

      MOVX  @DPTR, A

LOOP1:JNB   P3.2,  LOOP1

      MOVX  A,     @DPTR

      MOV   B,     #51

      DIV   AB

      MOV   23H,   A     

      MOV   A,    #10

      MOV   22H,   A          

  MOV   A,     B

      LCALL CHULI

      MOV   21H,   A    

      MOV   A,     B

      LCALL  CHULI

      MOV   20H,   A    

      LCALL DIR

      LJMP  LOOP

DIR:  PUSH   ACC

      PUSH   DPH

      PUSH   DPL

      PUSH   PSW

      SETB   RS1

      SETB   RS0

      MOV    R0,   #20H

      MOV    R3,   #0FEH

LOOP2:MOV    P2,   R3       

      MOV    DPTR, #TAB1

      MOV    A,    @R0

      MOVC   A,    @A+DPTR

      MOV    P1,   A

      LCALL  DELAY

      INC    R0

      MOV    A,    R3

      JNB     ACC.3,  LOOP3

      RL     A

      MOV    R3,   A

      LJMP   LOOP2

LOOP3:POP    PSW

      POP    DPL

      POP    DPH

      POP    ACC

      RET

TAB1:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,07FH

DELAY:MOV   R7,   #01H

DL1:  MOV   R6,   #8EH

DL0:  MOV   R5,   #02H

      DJNZ  R5,   $

      DJNZ  R6,   DL0

      DJNZ  R7,   DL1

      RET

CHULI:CJNE  A,    #25,  LP

      LJMP   LP2

LP:   JNC    LP1

LP2:  MOV   B,     #10

      MUL   AB

      MOV   B,     #51

      DIV   AB

      LJMP LP3

LP1:  CLR   C

      SUBB  A,     #25

      MOV   B,     #10

      MUL   AB

      CLR   C

      SUBB  A,    #5           

      MOV   B,     #51

      DIV   AB

      ADD   A,     #5

LP3:  RET

      END

2、延时

ORG   0000H

START:LJMP  MAIN

      ORG   0100H

MAIN: MOV   SP,    #6FH

      CLR   EA

LOOP: MOV   DPTR,  #0fef8H

      MOVX  @DPTR, A

      LCALL DELAY100

      MOVX  A,     @DPTR

      MOV   B,     #51

      DIV   AB

      MOV   23H,   A     

      MOV   A,    #10

      MOV   22H,   A          

  MOV   A,     B

      LCALL CHULI

      MOV   21H,   A    

      MOV   A,     B

      LCALL  CHULI

      MOV   20H,   A    

      LCALL DIR

      LJMP  LOOP

DIR:  PUSH   ACC

      PUSH   DPH

      PUSH   DPL

      PUSH   PSW

      SETB   RS1

      SETB   RS0

      MOV    R0,   #20H

      MOV    R3,   #0FEH

LOOP2:MOV    P2,   R3       

      MOV    DPTR, #TAB1

      MOV    A,    @R0

      MOVC   A,    @A+DPTR

      MOV    P1,   A

      LCALL  DELAY

      INC    R0

      MOV    A,    R3

      JNB    ACC.3, LOOP3

      RL     A

      MOV    R3,   A

      LJMP   LOOP2

LOOP3:POP    PSW

      POP    DPL

      POP    DPH

      POP    ACC

      RET

TAB1:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,07FH

DELAY:MOV   R7,   #01H

DL1:  MOV   R6,   #8EH

DL0:  MOV   R5,   #02H

      DJNZ  R5,   $

      DJNZ  R6,   DL0

      DJNZ  R7,   DL1

      RET

CHULI:CJNE  A,    #25,  LP

      LJMP   LP2

LP:   JNC    LP1

LP2:  MOV   B,     #10

      MUL   AB

      MOV   B,     #51

      DIV   AB

      LJMP LP3

LP1:  CLR   C

      SUBB  A,     #25

      MOV   B,     #10

      MUL   AB

      CLR   C

      SUBB  A,    #5           

      MOV   B,     #51

      DIV   AB

      ADD   A,     #5

LP3:  RET

DELAY100: MOV R6,#01H;误差 0us

DL0:MOV R5,#2FH

    DJNZ R5,$

    DJNZ R6,DL0

    RET

    END

3、中断

ORG     0000H

START:LJMP    MAIN

      ORG     0003H

       LJMP    INTT0

      ORG     0100H

MAIN: MOV     SP,    #6FH

      SETB    EA

      SETB    EX0

      MOV     DPTR,  #0000H

      MOVX    @DPTR, A

HERE: LJMP    HERE

INTT0:MOVX    A,     @DPTR

      MOV     B,      #51

      DIV     AB

      MOV     23H,   A       //整数部分放22H中

      MOV     A,     #10

      MOV     22H,   A       //小数点放22H中

      MOV     A,     B

      LCALL   CHULI

      MOV     21H,   A       //小数点后第一位放21H中

      MOV     A,     B

      LCALL   CHULI

      MOV     20H,   A       //小数点后第一位放21H中

      LCALL   DIR

      MOV     DPTR,  #0000H

      MOVX    @DPTR, A

      RETI

DIR:  PUSH   ACC

      PUSH   DPH

      PUSH   DPL

      PUSH   PSW

      SETB   RS1

      SETB   RS0

      MOV    R0,   #20H

      MOV    R3,   #01H

LOOP2:MOV    P2,   R3        //位控码初始值

      MOV    DPTR, #TAB1

      MOV    A,    @R0

      MOVC   A,    @A+DPTR

      MOV    P1,   A

      LCALL  DELAY

      INC    R0

      MOV    A,    R3

      JB     ACC.3 LOOP3

      RL     A

      MOV    R3,   A

      LJMP   LOOP2

LOOP3:POP    PSW

      POP    DPL

      POP    DPH

      POP    ACC

      RET

TAB1:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,07FH

DELAY:MOV   R7,   #01H

DL1:  MOV   R6,   #8EH

DL0:  MOV   R5,   #02H

      DJNZ  R5,   $

      DJNZ  R6,   DL0

      DJNZ  R7,   DL1

      RET

CHULI:CJNE  A,    #25,  LP

      LJMP   LP2

LP:   JNC    LP1

      MOV   B,     #10

      MUL   AB

      MOV   B,     #51

      DIV   AB

      LJMP LP3

LP1:  CLR   C

      SUBB  A,     #25

      MOV   B,     #10

      MUL   AB

      CLR   C

      SUBB  A,     #5          

      MOV   B,     #51

      DIV   AB

      ADD   A,     #5

      LJMP  LP3

LP2:  MOV   A,     #5

      MOV   B,     #0

LP3:  RET

      END

五、实验结果

六、实验总结

通过本次试验掌握了A/D转换的电路设计,掌握了AD0808的使用以及编址技术,熟悉了A/D转换的方法和A/D转换的程序设计方法。

更多相关推荐:
单片机实验报告

单片机实验报告学生姓名学号专业指导教师学院信息与电气工程学院20xx年11月单片机实验报告实验一MCS51指令系统实验数据排序1实验目的熟悉MCS51指令系统掌握程序设计方法加深对内部存储器读写的认识熟悉仿真开...

单片机实验报告

通信与信息工程学院20xx20xx学年第二学期实验报告课程名称单片机原理及应用专业班级学号学生姓名指导教师日期20xx年4月15日1实验一单片机汇编语言程序设计一实验目的1学习MedWin或Keilc51仿真软...

单片机实验报告

题目单片机组成原理实验报告学院计算机科学与工程学院专业信息安全姓名学号20xx年12月8日实验一输入输出接口编程一实验目的1掌握Keil软件的基本使用12掌握单片机汇编语言基本编程二实验内容1学习用Keil软件...

51单片机课程设计实验报告

51单片机课程设计报告学院:专业班级:姓名:指导教师:设计时间:51单片机课程设计一、设计任务与要求1.任务:制作并调试51单片机学习板2.要求:(1)了解并能识别学习板上的各种元器件,会读元器件标示;(2)会…

单片机实验报告

海南大学届单片机实验报告4份论文题目学生姓名学号所在院系专业班级授课教师完成时间蜂鸣器实验实验目的1熟悉实验板中蜂鸣器工作原理掌握汇编编程控制蜂鸣器播放音乐2掌握单片机编程控制蜂鸣器发出不同频率声音的方法3了解...

单片机实验报告

单片机课程设计报告实验五系别物理与电子工程学院年级专业班级学号学生姓名指导教师设计时间常熟理工学院课程设计报告目录1题目22实验要求221实验目的222实验内容23总体设计231硬件设计232软件设计44运行结...

51单片机实验报告

08424020xx单片微型计算机原理学院班级学号姓名指导教师成绩120xx年6月08424020xx硬件实验实验一定时器中断实验实验内容fosc110592MHzT0方式2产生定时中断实现秒表功能数码管后两位...

单片机交通灯实验报告

交通灯控制系统设计院系:电子电气工程学院专业:电气自动化班级:P10电气四班成员:*************交通灯控制系统设计实验一.设计目的1.通过本次课程设计进一步熟悉和掌握单片机的结构及工作原理,巩固和加…

单片机实验报告1

实验1开发环境使用及常用指令功能一、实验目的1、掌握集成开发环境的使用;2、初步了解实验装置的使用方法;3、熟悉常用指令的功能;4、熟悉程序调试的方法;5、学习自己编写、调试计算程序。二、实验说明利用单片机及K…

短学期单片机实验报告

宁波大学信息与工程学院课程名称姓名学号专指导老师班级完成时间单片机应用系统设计自动化09120xx7121目录一实验内容及设计要求311实验内容312设计要求3二概述课题意义及背景介绍3三硬件电路图设计及说明4...

单片机学习实验报告

嵌入式系统实验报告实验1KeilC51的使用汇编语言实验目的初步掌握KeilC51汇编语言和ZY15MCU12BD型综合单片机实验箱的操作和使用能够输入和运行简单的程序实验设备ZY15MCU12BD型综合单片机...

单片机秒表实验报告

单片机课程设计说明书题目电子秒表学生姓名任闯徐金超张飞俞军蒲敏谢长安陈琛曾超刘强强专业农业机械化与自动化班级08级1班指导教师吴敏日期20xx年12月12日目录第一章单片机课程设计任务书1一目的意义1二设计时间...

单片机实验报告(42篇)