找回密码
 立即注册

QQ登录

只需一步,快速开始

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

proteus仿真DAC0832数模转换示波器显示波形

[复制链接]
跳转到指定楼层
楼主
数模转换proteus仿真波形显示


单片机源程序如下:
  1. #include <reg52.h>
  2. sbit key1=P1^0;                  //定义方波发生按钮
  3. sbit key2=P1^1;                  //定义三角波发生按钮
  4. sbit key3=P1^2;                  //定义正弦波发生按钮

  5. unsigned char code S[256]={0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5
  6. ,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5
  7. ,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd
  8. ,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda
  9. ,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99
  10. ,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51
  11. ,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16
  12. ,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00
  13. ,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02 ,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15
  14. ,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e
  15. ,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80 };     //正弦波编码

  16. void main()
  17. {
  18. int t=0;
  19. void Delay(int i);
  20. void Fangbo(void);
  21. void Sanjiaobo(void);
  22. void Zhengxianbo(void);
  23. while(1)
  24. {
  25. if(key1==0)                   //按键扫描
  26. {
  27. Delay(1);
  28. if(key1==0)
  29. {
  30. while(!key1)
  31. {;}
  32. }
  33. t=0;
  34. }

  35. if(key2==0)
  36. {
  37. Delay(1);
  38. if(key2==0)
  39. {
  40. while(!key2)
  41. {;}
  42. }
  43. t=1;
  44. }

  45. if(key3==0)
  46. {
  47. Delay(1);
  48. if(key3==0)
  49. {
  50. while(!key3)
  51. {;}
  52. }
  53. t=2;
  54. }
  55. switch(t)
  56. {
  57. case 0:
  58. {
  59. Fangbo();
  60. break;
  61. }
  62. case 1:
  63. {
  64. Sanjiaobo();
  65. break;
  66. }
  67. case 2:
  68. {
  69. Zhengxianbo();
  70. break;
  71. }
  72. }
  73. }
  74. }

  75. void Delay(int i)                //延时函数
  76. {
  77. int j=255;
  78. for(i;i>=0;i--)
  79. {
  80. for(j;j>=0;j--)
  81. {;}
  82. }
  83. }

  84. void Fangbo(void)           //方波发生函数
  85. {
  86. P2=0;
  87. Delay(1);
  88. P2=255;
  89. Delay(1);
  90. }

  91. void Sanjiaobo(void)          //三角波发生函数
  92. {
  93. int i=0;
  94. for(i;i<255;i++)
  95. {
  96. P2=i;
  97. }
  98. for(i;i>0;i--)
  99. {
  100. P2=i;
  101. }
  102. }

  103. void Zhengxianbo(void)                //正弦波发生函数
  104. {
  105. int i=0;
  106. for(i;i<=255;i++)
  107. {
  108. P2=S[i];
  109. }
  110. }
复制代码

所有资料51hei提供下载:
数据采集DA转化.rar (84.89 KB, 下载次数: 106)


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

使用道具 举报

沙发
ID:259315 发表于 2018-7-27 20:07 | 只看该作者
very good!
回复

使用道具 举报

板凳
ID:259315 发表于 2018-7-27 20:08 | 只看该作者
非常非常的好!
回复

使用道具 举报

地板
ID:294657 发表于 2018-8-29 09:41 | 只看该作者
波好差
回复

使用道具 举报

5#
ID:389903 发表于 2018-8-31 09:29 | 只看该作者
谢谢分享。下载中。学习了
回复

使用道具 举报

6#
ID:392298 发表于 2018-9-1 13:49 | 只看该作者
谢谢分享。学习了
回复

使用道具 举报

7#
ID:735921 发表于 2020-4-23 11:10 | 只看该作者
挺好的
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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