找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3124|回复: 0
收起左侧

51单片机DAC0832正弦波,三角波,方波,矩形波发生器Proteus仿真程序

[复制链接]
ID:733819 发表于 2020-6-18 14:47 | 显示全部楼层 |阅读模式
51单片机正弦波,三角波,方波,矩形波发生器,Proteus仿真,汇编、C源码
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
51hei.png bf1353f09fa5aad455705deaaa54c90.png 57813e036e2fd2094ea9e9c33b81646.png 011544b7635899709529a9446dec9bd.png

单片机源程序如下:
  1. ORG 0000H
  2. SJMP MAIN
  3. ORG 0003H
  4. LJMP _INT0
  5. ORG 0030H
  6. MAIN:SETB EA            ;CPU 开中断
  7. SETB IT0                 ;设置中断0触发方式为边沿触发
  8. SETB EX0                 ;外部中断0 开中断
  9. TRI:CJNE R0,#00H,SIN
  10. MOV DPTR,#7FFFH
  11. MOV A,#00H
  12. UP:MOVX @DPTR,A
  13. LCALL DELAY
  14. INC A
  15. JNZ UP
  16. DOWN:DEC A
  17. MOVX @DPTR,A
  18. LCALL DELAY
  19. JNZ DOWN
  20. SJMP TRI
  21. SIN:CJNE R0,#01H,JUCHI
  22. MOV R1,#00H
  23. DA_S:MOV DPTR,#TABLE
  24.      MOV A,R1
  25.      MOVC A,@A+DPTR
  26.      MOV DPTR,#7FFFH
  27.      MOVX @DPTR,A
  28.      LCALL DELAY
  29.      INC R1
  30.      CJNE R1,#32,DA_S
  31.      SJMP SIN
  32. JUCHI:CJNE R0,#02H,SQU
  33. MOV DPTR,#7FFFH
  34. MOV A,#00H
  35. UP1:MOVX @DPTR,A
  36. LCALL DELAY
  37. INC A
  38. JNZ UP1
  39. SJMP JUCHI
  40. SQU:CJNE R0,#03H,TRI
  41. MOV DPTR,#7FFFH
  42. MOV A,#00H
  43. MOVX @DPTR,A
  44. LCALL DELAY
  45. MOV A,#0FFH
  46. MOVX @DPTR,A
  47. LCALL DELAY
  48. SJMP SQU
  49. SJMP $

  50. _INT0:INC R0
  51. CJNE R0,#4,EXIT
  52. MOV R0,#00H
  53. EXIT:RETI

  54. DELAY:MOV R2,#0FFH
  55. DJNZ R2,$
  56. RET


  57. TABLE:DB 80H,96H,0AEH,0C5H,0D8H,0E9H,0F5H,0FDH
  58.       DB 0FFH,0FDH,0F5H,0E9H,0D8H,0C5H,0AEH,96H
  59.       DB 80H,66H,4EH,38H,25H,15H,09H,04H
  60.       DB 00H,04H,09H,15H,25H,38H,4EH,66H
  61.    
  62. END
复制代码

所有资料51hei提供下载:
dac0832.rar (31.13 KB, 下载次数: 40)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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