《电子技术应用》
您所在的位置:首页 > 测试测量 > 其他 > 波形发生器实例篇,基于单片机设计DAC0832波形发生器

波形发生器实例篇,基于单片机设计DAC0832波形发生器

2020-07-11
来源:21ic

    波形发生器应用相对广泛,对于波形发生器,想必大家有所了解。往期文章中,小编对波形发生器做过诸多介绍。为增进大家对波形发生器的了解,本文将对如何基于单片机设计DAC0832波形发生器加以介绍。

qq111.png

    波形发生器是一种常用的信号源,广泛的应用于电子电路自动控制系统和教学实验等领域,是现代测试领域内应用最为广泛的通用仪器之一。在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都需要有信号源。由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察。

    测量被测仪器的输出响应,以分析确定它们的性能参数。信号发生器是电子测量领域中最基本、应用最为广泛的一类电子仪器。它可以产生多种波形信号,如方波、锯齿波、三角波等,因而广泛应用于通信、雷达、导航、宇航等领域

    以多种波形发生器为对象,选择单片机、独立按键及D/A转换器,设计相应的电路构成多种波形发生器。

    一、功能要求

    1.有4个功能键,分别用来选择输出:三角波、锯齿波、梯形拨、方波。

    2.按下某个功能键,进入中断,在中断程序中查询、确定是哪个功能键,并输出对应的波形。

    3.显示器2位,显示功能号01、02、03、04,代表输出三角波、锯齿波、梯形拨、方波。

    二、设计任务

    1、 完成单片机最小系统电路设计。

    2、 完成按键电路设计。

    3、 完成D/A转换及接口电路的设计。

    4、 完成显示电路的设计。

    电路图如下:(proteus 仿真通过)

    

qq22.png

    其一仿真图:

    

qq333.png

    三、源程序

    ORG 0000H

    START: LJMP MAIN

    ORG 0003H ;外部中断入口

    LJMP INSER ;转到中断服务程序

    ORG 0030H

    MAIN: MOV DPTR,#7FFFH ;DAC0832地址

    SETB EX0 ;允许中断

    SETB IT0 ;负边沿触发方式

    SETB EA ;开中断

    HERE: JB 20H.0,ST ;锯齿波处理

    JB 20H.1,TRI ;三角波处理

    JB 20H.2,SQ ;方波处理

    JB 20H.3,TXB ;梯形波处理

    SJMP HERE ;等待中断

    INSER: JNB P1.0, LL1 ;中断服务程序,查询按键

    SJMP L1

    LL1: MOV 20H,#00H SETB 20H.0 ;设置锯齿波标志

    SJMP RT

    L1: JNB P1.2, LL2

    SJMP L2

    LL2: MOV 20H,#00H

    SETB 20H.1 ;设三角梯波标志

    SJMP RT

    L2: JNB P1.4, LL3

    SJMP L3

    LL3: MOV 20H,#00H

    SETB 20H.2 ;设置方波标志

    SJMP RT

    L3: JNB P1.6, LL4

    SJMP RT

    LL4: MOV 20H,#00H

    SETB 20H.3 ;设置梯形波标志

    RT: RETI ;中断返回

    ST: CLR

    P1.1 ;锯齿波

    CLR P1.3 SETB P1.5

    CLR P1.7

    MOV A,#00H

    LOOPP: MOVX @DPTR,A ;启动D/A转换

    INC A

    JB 20H.0,LOOPP ;连续输出波形

    LJMP HERE

    TRI: CLR P1.1 ;三角波

    CLR P1.3

    CLR P1.5

    SETB P1.7

    MOV A,#00H

    UP: MOVX @DPTR,A ;启动D/A转换

    INC A ;上升沿

    CJNE A,#0FFH,UP

    DOWN: MOVX @DPTR,A ;启动D/A转换

    DEC A ;下降沿

    CJNE A,#00H,DOWN

    JB 20H.1, UP ;连续输出波形

    LJMP HERE

    SQ: CLR P1.1 ;方波

    SETB P1.3

    CLR P1.5

    CLR P1.7

    MOV A,#00H

    MOVX @DPTR,A ;DAC输出低电平

    ACALL DELAY ;延时1

    MOV A,#0FFH

    MOVX @DPTR,A ;DAC输出高电平

    ACALL DELAY ;延时2

    JB 20H.2, SQ ;连续输出波形

    LJMP HERE

    TXB: CLR P1.1 ;梯形波

    CLR P1.3

    SETB P1.5

    SETB P1.7

    MOV A,#00H

    MOVX @DPTR,A

    ACALL DELAY

    LOOP: MOVX @DPTR,A

    INC A

    CJNE A,#0FFH,LOOP

    ACALL DELAY

    MOVX @DPTR,A

    LOOP1: DEC A

    MOVX @DPTR,A

    CJNE A,#00H,LOOP1

    MOVX @DPTR,A

    ACALL DELAY

    JB 20H.3,LOOP

    DELAY: MOV R4,#0FH ;延时子程序

    LOOP11: MOV R5,#10H

    LOOP22: NOP

    NOP

    NOP

    DJNZ R5,LOOP22

    DJNZ R4,LOOP11

    RET

    END

    

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。