找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 15688|回复: 9
打印 上一主题 下一主题
收起左侧

8086+汇编语言DAC0832转换四种波形发生器仿真与源程序

  [复制链接]
跳转到指定楼层
楼主
8086+DAC0832+汇编语言,Proteus仿真,有完整的源程序和硬件图,可以产生方波三角波正弦波锯齿波,并且可以调节各个波形的频率大小和幅度大小。

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. CODE SEGMENT
  2.         ASSUME CS:CODE
  3.         DA EQU 0C000H
  4.         IN245 EQU 0D000H
  5. SINBUF DB 80H,86H,8CH,92H,98H,9FH,0A5H,0ABH
  6.         DB 0B0H,0B6H,0BCH,0C1H,0C7H,0CCH,0D1H
  7.         DB 0D5H,0DAH,0DEH,0E2H,0E6H,0EAH,0EDH
  8.         DB 0F0H,0F3H,0F6H,0F8H,0FAH,0FCH,0FDH
  9.         DB 0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH
  10.         DB 0FDH,0FCH,0FAH,0F8H,0F6H,0F3H,0F0H
  11.         DB 0EDH,0EAH,0E6H,0E3H,0DEH,0DAH,0D6H
  12.         DB 0D1H,0CCH,0C7H,0C1H,0BCH,0B6H,0B1H
  13.         DB 0ABH,0A5H,9FH,99H,92H,8CH,86H,80H
  14.         DB 79H,73H,6DH,67H,61H,5BH,55H,4FH
  15.         DB 49H,43H,3EH,39H,33H,2EH,2AH,25H
  16.         DB 21H,1DH,19H,15H,12H,0FH,0CH,9H
  17.         DB 7H,5H,3H,2H,1H,0H,0H,0H,0H,0H
  18.         DB 1H,2H,3H,5H,7H,9H,0CH,0EH,12H
  19.         DB 15H,18H,1CH,20H,25H,29H,2EH
  20.         DB 33H,38H,3DH,43H,48H,4EH
  21.         DB 54H,5AH,60H,66H,6CH,73H,79H
  22.        
  23. START:
  24.         MOV DX,IN245
  25.         IN AL,DX
  26. DISO:
  27.         CMP AL,0
  28.         JZ FANGBO
  29.         CMP AL,1
  30.         JZ SANJIAOBO
  31.         CMP AL,2
  32.         JZ JUCHI
  33.         CMP AL,3
  34.         JZ ZHENGXIANBO
  35.        
  36.         CMP AL,10H
  37.         JZ FANGBO4
  38.         CMP AL,20H
  39.         JZ FANGBO5
  40.         CMP AL,40H
  41.         JZ FANGBO6
  42.         CMP AL,80H
  43.         JZ FANGBO7
  44.        
  45.         CMP AL,11H
  46.         JZ SANJIAOBO4
  47.         CMP AL,21H
  48.         JZ SANJIAOBO5
  49.         CMP AL,41H
  50.         JZ SANJIAOBO6
  51.         CMP AL,81H
  52.         JZ SANJIAOBO7
  53.        
  54.         CMP AL,12H
  55.         JZ JUCHI4
  56.         CMP AL,22H
  57.         JZ JUCHI5
  58.         CMP AL,42H
  59.         JZ JUCHI6
  60.         CMP AL,82H
  61.         JZ JUCHI7
  62.        
  63.         ;CMP AL,13H
  64.         ;JZ ZHENGXIANBO4
  65.         ;CMP AL,23H
  66.         ;JZ ZHENGXIANBO5
  67.         ;CMP AL,43H
  68.         ;JZ ZHENGXIANBO6
  69.         ;CMP AL,83H
  70.         ;JZ ZHENGXIANBO7
  71. ;方波
  72. FANGBO:
  73.         MOV AL,0FFH                ;+5V
  74.         MOV DX,DA
  75.         OUT DX,AL
  76.         MOV CX,2FH                ;循环次数
  77. DEL:
  78.         CALL DELAY
  79.         DEC CX
  80.         JNZ DEL
  81.         MOV AL,8F
  82.         OUT DX,AL
  83.         MOV CX,2FH                ;循环次数
  84. DEL0:
  85.         CALL DELAY
  86.         DEC CX
  87.         JNZ DEL0
  88.         JMP START
  89. ;方波幅度大
  90. FANGBO4:
  91.         MOV AL,0FFH                ;+5V
  92.         MOV DX,DA
  93.         OUT DX,AL
  94.         MOV CX,2FH                ;循环次数
  95. DEL4:
  96.         CALL DELAY
  97.         DEC CX
  98.         JNZ DEL4
  99.         MOV AL,0
  100.         OUT DX,AL
  101.         MOV CX,2FH                ;循环次数
  102. DEL40:
  103.         CALL DELAY
  104.         DEC CX
  105.         JNZ DEL40
  106.         JMP START
  107. ;方波幅度小
  108. FANGBO5:
  109.         MOV AL,0FFH                ;+5V
  110.         MOV DX,DA
  111.         OUT DX,AL
  112.         MOV CX,2FH                ;循环次数
  113. DEL5:
  114.         CALL DELAY
  115.         DEC CX
  116.         JNZ DEL5
  117.         MOV AL,0CFH
  118.         OUT DX,AL
  119.         MOV CX,2FH                ;循环次数
  120. DEL50:
  121.         CALL DELAY
  122.         DEC CX
  123.         JNZ DEL50
  124.         JMP START
  125. ;方波频率减小,周期变大
  126. FANGBO6:
  127.         MOV AL,0FFH                ;+5V
  128.         MOV DX,DA
  129.         OUT DX,AL
  130.         MOV CX,4FH                ;循环次数
  131. DEL6:
  132.         CALL DELAY
  133.         DEC CX
  134.         JNZ DEL6
  135.         MOV AL,8F
  136.         OUT DX,AL
  137.         MOV CX,4FH                ;循环次数
  138. DEL60:
  139.         CALL DELAY
  140.         DEC CX
  141.         JNZ DEL60
  142.         JMP START
  143. ;方波频率变大,周期减小
  144. FANGBO7:
  145.         MOV AL,0FFH                ;+5V
  146.         MOV DX,DA
  147.         OUT DX,AL
  148.         MOV CX,1FH                ;循环次数
  149. DEL7:
  150.         CALL DELAY
  151.         DEC CX
  152.         JNZ DEL7
  153.         MOV AL,8F
  154.         OUT DX,AL
  155.         MOV CX,1FH                ;循环次数
  156. DEL70:
  157.         CALL DELAY
  158.         DEC CX
  159.         JNZ DEL70
  160.         JMP START
  161.        
  162. ;三角波
  163. SANJIAOBO:
  164.         MOV AL,0
  165.         MOV DX,DA
  166. SJ0:
  167.         CALL DELAY
  168.         OUT DX,AL
  169.         INC AL
  170.         INC AL
  171.         CMP AL,7EH
  172.         JNZ SJ0
  173. SJ1:
  174.         CALL DELAY
  175.         OUT DX,AL
  176.         DEC AL
  177.         DEC AL
  178.         CMP AL,0
  179.         JNZ SJ1
  180.         JMP START
  181. ;三角波幅度大
  182. SANJIAOBO4:
  183.         MOV AL,0
  184.         MOV DX,DA
  185. SJ04:
  186.         CALL DELAY
  187.         OUT DX,AL
  188.         INC AL
  189.         INC AL
  190.         INC AL
  191.         INC AL
  192.         CMP AL,0FCH;-------------------------
  193.         JNZ SJ04
  194. SJ14:
  195.         CALL DELAY
  196.         OUT DX,AL
  197.         DEC AL
  198.         DEC AL
  199.         DEC AL
  200.         DEC AL
  201.         CMP AL,0;------------
  202.         JNZ SJ14
  203.         JMP START
  204. ;三角波幅度小
  205. SANJIAOBO5:
  206.         MOV AL,0
  207.         MOV DX,DA
  208. SJ05:
  209.         CALL DELAY
  210.         OUT DX,AL
  211.         INC AL
  212.         CMP AL,3FH
  213.         JNZ SJ05
  214. SJ15:
  215.         CALL DELAY
  216.         OUT DX,AL
  217.         DEC AL
  218.         CMP AL,0
  219.         JNZ SJ15
  220.         JMP START
  221. ;三角波周期大
  222. SANJIAOBO6:
  223.         MOV AL,0
  224.         MOV DX,DA
  225. SJ06:
  226.         CALL DELAY
  227.         OUT DX,AL
  228.         INC AL
  229.         CMP AL,7EH
  230.         JNZ SJ06
  231. SJ16:
  232.         CALL DELAY
  233.         OUT DX,AL
  234.         DEC AL
  235.         CMP AL,0
  236.         JNZ SJ16
  237.         JMP START
  238. ;三角波周期小
  239. SANJIAOBO7:
  240.         MOV AL,0
  241.         MOV DX,DA
  242. SJ07:
  243.         CALL DELAY
  244.         OUT DX,AL
  245.         INC AL
  246.         INC AL
  247.         INC AL
  248.         INC AL
  249.         CMP AL,7CH
  250.         JNZ SJ07
  251. SJ17:
  252.         CALL DELAY
  253.         OUT DX,AL
  254.         DEC AL
  255.         DEC AL
  256.         DEC AL
  257.         DEC AL
  258.         CMP AL,0
  259.         JNZ SJ17
  260.         JMP START

  261. ;锯齿波
  262. JUCHI:
  263.         MOV AL,07FH
  264.         MOV DX,DA
  265. JUC:
  266.         INC AL
  267.         INC AL
  268.         CALL DELAY
  269.         OUT DX,AL
  270.         CMP AL,0FFH
  271.         JNZ JUC
  272.         JMP START
  273. ;锯齿波幅度大
  274. JUCHI4:
  275.         MOV AL,0FFH
  276.         MOV DX,DA
  277. JUC4:
  278.         INC AL
  279.         INC AL
  280.         INC AL
  281.         INC AL
  282.         CALL DELAY
  283.         OUT DX,AL
  284.         CMP AL,0FFH
  285.         JNZ JUC4
  286.         JMP START
  287. ;锯齿波幅度小
  288. JUCHI5:
  289.         MOV AL,0BFH
  290.         MOV DX,DA
  291. JUC5:
  292.         INC AL
  293.         CALL DELAY
  294.         OUT DX,AL
  295.         CMP AL,0FFH
  296.         JNZ JUC5
  297.         JMP START
  298. ;锯齿波周期大
  299. JUCHI6:
  300.         MOV AL,07FH
  301.         MOV DX,DA
  302. JUC6:
  303.         INC AL
  304.        
  305.         CALL DELAY
  306.         OUT DX,AL
  307.         CMP AL,0FFH
  308.         JNZ JUC6
  309.         JMP START
  310. ;锯齿波周期小
  311. JUCHI7:
  312.         MOV AL,07FH
  313.         MOV DX,DA
  314. JUC7:
  315.         INC AL
  316.         INC AL
  317.         INC AL
  318.         INC AL
  319.         CALL DELAY
  320.         OUT DX,AL
  321.         CMP AL,0FFH
  322.         JNZ JUC7
  323.         JMP START
  324.        
  325. ;正弦波
  326. ZHENGXIANBO:
  327.         MOV CX,80H
  328.         MOV DI,OFFSET SINBUF
  329.         MOV DX,DA
  330. ZX:
  331.         MOV AL,[DI]
  332.         CALL DELAY
  333.         OUT DX,AL
  334.         INC DI
  335.         DEC CX
  336.         JNZ ZX
  337.         JMP START


  338. DELAY:
  339.         PUSH CX
  340.         MOV CX,0FFH
  341.         LOOP $
  342.         POP CX
  343.         RET
  344. CODE ENDS
  345.         END START


复制代码

所有资料51hei提供下载:
8086DA波形发生器.zip (21.92 KB, 下载次数: 305)


评分

参与人数 2黑币 +55 收起 理由
zidonghua152 + 5 很给力!谢谢楼主的分享
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享淘帖 顶3 踩
回复

使用道具 举报

沙发
ID:313331 发表于 2018-4-21 20:28 | 只看该作者
谢谢楼主
回复

使用道具 举报

板凳
ID:310431 发表于 2018-4-23 18:42 | 只看该作者
大佬,有没有关于程控滤波器的
回复

使用道具 举报

地板
ID:361021 发表于 2018-6-28 16:15 | 只看该作者
请问怎么调出其他波形 仿真了一下 只有正弦波
回复

使用道具 举报

5#
ID:363244 发表于 2018-7-4 11:48 来自手机 | 只看该作者
谢谢大佬的分享
回复

使用道具 举报

6#
ID:770522 发表于 2020-6-7 10:36 | 只看该作者
感谢楼主!
回复

使用道具 举报

7#
ID:790313 发表于 2020-6-26 16:10 | 只看该作者
感谢楼主
回复

使用道具 举报

8#
ID:942960 发表于 2021-6-23 11:11 | 只看该作者

我怎么没有波形,可以教教我怎么弄吗
回复

使用道具 举报

9#
ID:1027075 发表于 2022-5-18 00:15 | 只看该作者
1533719209 发表于 2018-6-28 16:15
请问怎么调出其他波形 仿真了一下 只有正弦波

好巧 我也是
回复

使用道具 举报

10#
ID:1083024 发表于 2023-6-9 15:21 | 只看该作者
1533719209 发表于 2018-6-28 16:15
请问怎么调出其他波形 仿真了一下 只有正弦波

通过控制不同开关
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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