找回密码
 立即注册

QQ登录

只需一步,快速开始

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

PIC16F690+MCP4725正弦波发生器Protues仿真

[复制链接]
ID:202142 发表于 2026-10-26 16:49 | 显示全部楼层 |阅读模式
{A3CE505A-9AF4-423D-A37F-0FDA8D908CEB}.png

  1. /* Created:   周一 10月 26 2026
  2. * Processor: PIC16F690
  3. * Compiler:  HI-TECH C for PIC10/12/16
  4. */

  5. //受单片机主频限制,生成的波形频率较低,没有什么实用价值,只作为仿真编程参考。

  6. #include <htc.h>
  7. #include "I2C.H"
  8. #include "MCP4725.H"

  9. unsigned int const Data[200] =
  10. {
  11. 2047,2111,2176,2240,2304,2367,2431,2494,2556,2618,\
  12. 2680,2741,2801,2860,2919,2977,3033,3089,3144,3198,\
  13. 3250,3302,3352,3401,3449,3495,3540,3583,3625,3665,\
  14. 3703,3740,3776,3809,3841,3871,3900,3926,3951,3973,\
  15. 3994,4013,4030,4045,4058,4069,4078,4085,4090,4093,\
  16. 4095,4093,4090,4085,4078,4069,4058,4045,4030,4013,\
  17. 3994,3973,3951,3926,3900,3871,3841,3809,3776,3740,\
  18. 3703,3665,3625,3583,3540,3495,3449,3401,3352,3302,\
  19. 3250,3198,3144,3089,3033,2977,2919,2860,2801,2741,\
  20. 2680,2618,2556,2494,2431,2367,2304,2240,2176,2111,\
  21. 2047,1983,1918,1854,1790,1727,1663,1600,1538,1476,\
  22. 1414,1353,1293,1234,1175,1117,1061,1005,950,896,\
  23. 844,792,742,693,645,599,554,511,469,429,\
  24. 391,354,318,285,253,223,194,168,143,121,\
  25. 100,81,64,49,36,25,16,9,4,1,\
  26. 0,1,4,9,16,25,36,49,64,81,\
  27. 100,121,143,168,194,223,253,285,318,354,\
  28. 391,429,469,511,554,599,645,693,742,792,\
  29. 844,896,950,1005,1061,1117,1175,1234,1293,1353,\
  30. 1414,1476,1538,1600,1663,1727,1790,1854,1918,1983
  31. };

  32. void GenerateSineWave(void)
  33. {
  34.         unsigned char i;
  35.     unsigned char addr = MCP4725_BASE_ADDR;

  36.         for(i = 0;i < 200; i++)
  37.         {
  38.                 mcp4725_fast_write(Data[i]);
  39.         }
  40. }

  41. void DeviceInitial()
  42. {
  43.         OSCCON = 0X71;

  44.     CM1CON0 = 0x00;         // 关闭比较器
  45.     CM2CON0 = 0x00;
  46. }

  47. void main(void)
  48. {
  49.         DeviceInitial();

  50.         while (1)
  51.         {   
  52.                 GenerateSineWave( );
  53.                 CLRWDT();
  54.         }
  55. }
复制代码

PIC16F690.zip

94.09 KB, 下载次数: 0, 下载积分: 黑币 -5

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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