久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4951|回復: 0
打印 上一主題 下一主題
收起左側

protues+51單片機TLC5615多種波形發生器

[復制鏈接]
跳轉到指定樓層
樓主
轉載加修改,原:http://www.zg4o1577.cn/bbs/dpj-189611-1.html
1.能夠產生正弦波、三角波、鋸齒波和方波等四種波形
2.不同波形輸出可通過按鍵進行選擇


  1. #include <reg51.h>
  2. #include <intrins.h>
  3. #include <math.h>

  4. sbit tlc5615_clk  =P2^0;
  5. sbit tlc5615_cs   =P2^1;
  6. sbit tlc5615_di   =P2^2;
  7. sbit tlc5615_dout =P2^3;
  8. sbit k0 = P3^0;
  9. sbit k1 = P3^1;
  10. sbit k2 = P3^2;
  11. sbit k3 = P3^3;

  12. unsigned char k;

  13. void delay(unsigned int us)
  14. {
  15.     while(us--)
  16.         {
  17.            _nop_();
  18.         }
  19. }

  20. void tlc5615_dac( int dat)
  21. {
  22.     unsigned char i;
  23.         dat<<=2;
  24.         tlc5615_clk=0;
  25.         tlc5615_cs=0;
  26.         for(i=0;i<16;i++)
  27.         {
  28.             tlc5615_di=(bit)(dat & 0x8000);
  29.                 tlc5615_clk=0;
  30.                 dat<<=1;
  31.                 tlc5615_clk=1;
  32.         }
  33.         tlc5615_cs=1;
  34.         tlc5615_clk=0;
  35.         delay(10);
  36. }

  37. void Timer0Init()
  38. {
  39.         TMOD|=0X01;//選擇為定時器0模式,工作方式1,僅用TR0打開啟動。

  40.         TH0=0XFC;        //給定時器賦初值,定時1ms
  41.         TL0=0X18;       
  42.         ET0=1;//打開定時器0中斷允許
  43.         EA=1;//打開總中斷
  44.         TR0=1;//打開定時器                       
  45. }

  46. char key_scan()
  47. {
  48.         static char k = 1;
  49.         if(k0 == 0)
  50.         {
  51.                 k = 1;
  52.         }
  53.         if(k1 == 0)
  54.         {
  55.                 k = 2;
  56.         }
  57.         if(k2 == 0)
  58.         {
  59.                 k = 3;
  60.         }
  61.         if(k3 == 0)
  62.         {
  63.                 k = 4;
  64.         }
  65.         return k;
  66. }


  67. void main(void)
  68. {
  69.         Timer0Init();

  70.     while(1)
  71.         {
  72.           unsigned int i;
  73.           float a;
  74.           int s;
  75.           
  76.           switch(k)
  77.           {
  78.                   case 1:        //鋸齒波       
  79.                         for(i=0;i<255;i++)
  80.                       tlc5615_dac(i);
  81.                         break;

  82.                 case 2:        //三角波
  83.                         for(i=0;i<255;i++)
  84.                       tlc5615_dac(i);
  85.                         for(i=255;i>0;i--)
  86.                       tlc5615_dac(i);
  87.                         break;

  88.                 case 3:        //正弦波
  89.                         for(i=0;i<157;i++)
  90.                     {
  91.                                 a =(float)i/100;
  92.                                 s = sin(4*a)*100+100;       
  93.                         tlc5615_dac(s);
  94.                                
  95.                         }
  96.                         break;

  97.                 case 4: //方波
  98.                         for(i=0;i<255;i++)
  99.                       tlc5615_dac(0);
  100.                         for(i=255;i>0;i--)
  101.                       tlc5615_dac(250);                       
  102.                         break;       
  103.           }
  104.       
  105.         }
  106. }

  107. void Timer0() interrupt 1
  108. {
  109.         static unsigned int i;
  110.         TH0=0XFC;        //給定時器賦初值,定時1ms
  111.         TL0=0X18;
  112.         i++;
  113.         if(i==100)
  114.         {
  115.                 k =  key_scan();
  116.                 i = 0;       
  117.         }       
  118. }
復制代碼



}GSH8P}@B~X}A_R1BT)~NE1.png (142.41 KB, 下載次數: 91)

正弦波

正弦波

5%U07)3M1)$~($6D8[A{~OF.png (138.91 KB, 下載次數: 66)

三角波

三角波

7M$H6IJ9NDQ_1)QJUDRO6%M.png (159.26 KB, 下載次數: 116)

鋸齒波

鋸齒波

D~UR2TQ%KDQM{_{MFA9JF{Y.png (146.56 KB, 下載次數: 71)

方波

方波

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本在线一区二区 | 91丨九色丨国产在线 | 国久久 | 亚洲视频中文 | 人妖av| 不卡av在线 | 久久狠狠 | 欧美日韩在线一区 | 精品国产乱码久久久久久牛牛 | 婷婷激情综合 | 人人人人干 | 精品久久中文 | 久久久国产一区二区三区 | 日韩视频专区 | 成人毛片一区二区三区 | 男女啪啪高潮无遮挡免费动态 | 久久99深爱久久99精品 | 精品视频999 | 一区二区三区在线 | 精品少妇一区二区三区在线播放 | av看片网站 | 国产欧美一区二区三区在线看 | 色视频在线免费观看 | 午夜资源 | a级在线| 亚洲一一在线 | 免费播放一级片 | 自拍视频一区二区三区 | 久久精品国产一区二区三区 | 色视频一区二区 | 国产精品精品视频一区二区三区 | 午夜ww| 成人精品福利 | 天天干天天操天天看 | 国产精品成人一区二区三区夜夜夜 | 精品免费看 | 国产亚洲黄色片 | 91视频精选 | 91免费福利视频 | 久久99网 | 五月婷婷丁香婷婷 |