找回密码
 立即注册

QQ登录

只需一步,快速开始

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

Proteus函数信号发生器 仿真+代码

[复制链接]
跳转到指定楼层
楼主
Proteus函数信号发生器原理图(仿真工程文件可到附件中下载):


单片机源程序如下(正弦波和方波):
  1. //频率可调方波
  2. //============
  3. #include <reg51.h>
  4. sbit fangbo=P3^5;
  5. void clearmen();
  6. void keyscan();
  7. //=================
  8. void main()
  9. {
  10.         clearmen();
  11.         while(1)
  12.         {keyscan();}
  13. }
  14. //====================
  15. void clearmen()
  16. {
  17.         P3=0xff;THHL=6555;
  18.         TH1=THHL/256;TL1=THHL%256;
  19.         TMOD=0x11;ET1=1;TR1=1;EA=1;
  20. }
复制代码

  1. #include <reg51.h>
  2. #define uchar unsigned char
  3. #define dataout P0
  4. void clearmen();
  5. unsigned int a;
  6. void keyscan();
  7. void delay1ms(unsigned char ms);
  8. sbit fangbo=P3^7;
  9. //=============正弦波数据====================
  10. uchar code sin_tab[128]={64,67,70,73,76,79,82,85,88,91,94,96,99,102,104,106,
  11. 109,111,113,115,117,118,120,121,123,124,125,126,126,
  12. 127,127,127,127,127,127,127,126,126,125,124,123,121,
  13. 120,118,117,115,113,111,109,106,104,102,99,96,94,91,
  14. 88,85,82,79,76,73,70,67,64,60,57,54,51,48,45,42,39,
  15. 36,33,31,28,25,23,21,18,16,14,12,10,9,7,6,4,3,2,1,
  16. 1,0,0,0,0,0,0,0,1,1,2,3,4,6,7,9,10,12,14,16,18,21,23,
  17. 25,28,31,33,36,39,42,45,48,51,54,57,60
  18.                                                 };
  19. unsigned int data THHL =65535;
  20. uchar n=0;
  21. sbit K1=P1^4;
  22. bdata sinthr;
  23. //===============================================================
  24. void main()
  25. {
  26.         clearmen();
  27.         while(1)
  28.         {keyscan();}
  29. }
  30. //===============================================================
  31. void keyscan()
  32. {
  33.         if(K1==0)
  34.         {        
  35.                 delay1ms(10);
  36.                 while(K1==0);
  37.                 THHL=THHL+255;
  38.                 if(THHL >= 65235)THHL=65535;
  39.         }

  40. }
  41. //================================================================
  42. void clearmen()
  43. {
  44.         dataout=0x00;THHL=56555;
  45.         P3=0xff;
  46.         TH1=THHL/256;TL1=THHL%256;
  47.         TMOD=0x11;ET1=1;TR1=1;EA=1;
  48.         P3=0x00;
  49.         a=0;
  50. }
  51. //===============================================================
  52. void time_intt1(void) interrupt 3
  53. {
  54.         EA=0;TR1=0;TH1=THHL/256;TL1=THHL%256;TR1=1;
  55.         dataout=sin_tab[a];
  56.         fangbo=~fangbo;
  57.         n++;
  58.         a++;
  59.         if(n> 255){n=0;}
  60.         if(a>127){a=0;}
  61. ……………………

  62. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
Proteus函数信号发生器.rar (136.05 KB, 下载次数: 94)



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

使用道具 举报

沙发
ID:210506 发表于 2017-6-12 16:34 | 只看该作者
顶 好东西 值得分享!!!!!!!!!!!!!!
回复

使用道具 举报

板凳
ID:213573 发表于 2017-6-26 16:07 | 只看该作者
谢谢分享
回复

使用道具 举报

地板
ID:110866 发表于 2017-6-30 13:52 | 只看该作者
仿真源文件呢,尴尬
回复

使用道具 举报

5#
ID:429887 发表于 2018-11-20 14:51 | 只看该作者
很棒 挺好的 就是么有源文件
回复

使用道具 举报

6#
ID:430087 发表于 2018-11-20 18:50 | 只看该作者
顶 好东西 值得分享!!!!!!!!!!!!!!
回复

使用道具 举报

7#
ID:433370 发表于 2018-12-7 10:03 | 只看该作者
proteus仿真图呢
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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