0 卖盘信息
BOM询价
您现在的位置: 首页 > 电子资讯 >基础知识 > 波形发生器实例篇,基于单片机设计DAC0832波形发生器

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

来源: 21ic
2020-12-10
类别:基础知识
eye 24
文章创建人 拍明

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

  波形发生器应用相对广泛,对于波形发生器,想必大家有所了解。往期文章中,小编对波形发生器做过诸多介绍。为增进大家对波形发生器的了解,本文将对如何基于单片机设计DAC0832波形发生器加以介绍。如果你对本文内容具有兴趣,不妨继续往下阅读哦。

  

1.jpg


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

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

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

  一、功能要求

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

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

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

  二、设计任务

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

  2、 完成按键电路设计。

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

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

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

  


  其一仿真图:

  


  三、源程序

  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


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯