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

標(biāo)題: DAC0832多波形發(fā)生(可調(diào)頻等)單片機(jī)代碼+仿真 [打印本頁(yè)]

作者: feiyang888    時(shí)間: 2017-10-7 10:44
標(biāo)題: DAC0832多波形發(fā)生(可調(diào)頻等)單片機(jī)代碼+仿真
1、可通過(guò)按鍵隨意切換DAC0832輸出波形;
2、可通過(guò)按鍵實(shí)現(xiàn)頻率可調(diào);
3、可通過(guò)按鍵實(shí)現(xiàn)占空比可調(diào)。




51單片機(jī)源程序如下:
  1. #ifndef __0832_h__
  2. #define __0832_h__

  3. unsigned char i,sqar_num=128; //最大值100,默認(rèn)值50
  4. unsigned char cho=0;         //0:正弦波。1:方波。2:三角波。3:鋸齒波。
  5. unsigned char num=0;
  6. unsigned char TIME0_H=0xff,TIME0_L=0xd9;      //定時(shí)器0的初值設(shè)置;全局變量.對(duì)應(yīng)正弦波,鋸齒波50HZ
  7. sbit chg=   P1^0;                                                           //三角波100Hz.
  8. sbit freq_u=P1^1;
  9. sbit freq_d=P1^2;
  10. sbit duty_u=P1^3;
  11. sbit duty_d=P1^4;
  12. sbit cs    =P3^7;
  13. bit flag=0;
  14. unsigned int FREQ=50;//初始化頻率,50HZ

  15. //調(diào)節(jié)部分——頻率
  16. void freq_ud(void)
  17. {
  18.    unsigned int temp;
  19.    if(freq_d==0)
  20.         {  FREQ--;         }
  21.    else if(freq_u==0)
  22.          { FREQ++;         }
  23.   
  24.    if(cho==1|cho==3) //鋸齒波256次中斷一周期,特殊處理下。否則他的頻率是100(+\-)n*2Hz.
  25.          {
  26.           temp=0xffff-3906/FREQ;  //方波,三角波默認(rèn)為100hz,切換后頻率也為50HZ 65336-10^6/(256*FREQ)
  27.           TIME0_H=temp/256;
  28.       TIME0_L=temp%256;
  29.          }
  30.    else if(cho==0|cho==3){         //正弦波 三角波默認(rèn)周期50hz  65536-10^6//(512*FREQ)
  31.    temp=0xffff-1953/FREQ;
  32.    TIME0_H=temp/256;
  33.    TIME0_L=temp%256;
  34.    }
  35. }
  36. //調(diào)節(jié)部分——方波的占空比
  37. void duty_ud(void)  //方波也采用512次中斷構(gòu)成一個(gè)周期。
  38. {
  39.    if(duty_d==0&sqar_num>0)
  40.            sqar_num--;
  41.    else if(duty_u==0&sqar_num<255)
  42.           sqar_num++;


  43. }
  44. //波形發(fā)生函數(shù)
  45. void sint(void)
  46. {
  47.      if(!flag)
  48.      {
  49.         cs=0;P2=sin_num[num++];cs=1;
  50.                 if(num==0){num=255;flag=1;}
  51.             }
  52.     else if(flag)
  53.     {
  54.            cs=0;P2=sin_num[num--];cs=1;
  55.            if(num==255){num=0;flag=0;}
  56.          
  57.          }
  58. }
  59. void square(void)
  60. {
  61.     if(i++<sqar_num)  {cs=0;P2=0XFF;cs=1;}
  62.         else{cs=0;P2=0X00;cs=1;}
  63. }
  64. void triangle(void)
  65. {
  66.   cs=0;P2=num++;cs=1;
  67. }
  68. void stw(void)
  69. {
  70.    if(~flag)
  71.      {
  72.         cs=0;P2=num++;cs=1;
  73.                 if(num==0){num=255;flag=1;}
  74.             }
  75.    else if(flag)
  76.      {
  77.            cs=0;P2=num--;cs=1;
  78.            if(num==255){num=1;flag=0;}
  79.          
  80.          }
  81. }
  82. //按鍵中斷處理程序。
  83. void it0() interrupt 0
  84. {
  85.    if(chg==0) { if(++cho==4) {cho=0;num=0;}        }         //num=0;所有數(shù)據(jù)從新開(kāi)始,保證波形的完整性
  86.    else if(freq_u==0|freq_d==0)
  87.      {freq_ud();}
  88.    else if (cho==1&(duty_d==0|duty_u==0))
  89.      {duty_ud();}
  90.    else ;
  91. }
  92. //定時(shí)器中斷處理程序。
  93. void intt0() interrupt 1
  94. {

  95. //TH0=0x00;TL0=0x00;sinx();

  96.   switch(cho)
  97.   {

  98.           case 0:{TH0=TIME0_H;TL0=TIME0_L;sint()    ;break;}  //正弦波//每半周期256取樣。
  99.         case 1:{TH0=TIME0_H;TL0=TIME0_L;square();  break;}        //方波   //為了提高方波的最高頻率,只有犧牲占空比的最小可調(diào)值。分100份 每次1%。
  100.         case 2:{TH0=TIME0_H;TL0=TIME0_L;triangle();break;}        //三角波
  101.           case 3:{TH0=TIME0_H;TL0=TIME0_L;stw();     break;}        //鋸齒波
  102.         default: ;
  103.   
  104.   }

  105. }

  106. #endif



  107. ……………………

  108. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
多波形發(fā)生(可調(diào)頻等).rar (54.62 KB, 下載次數(shù): 67)




作者: 大眼兒炮    時(shí)間: 2018-3-22 10:00
幫了大忙謝謝




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产99热精品| 91久久北条麻妃一区二区三区 | 日韩在线小视频 | 日日骚av | 欧美成人a| 国产中文 | 亚洲精品一级 | 欧美一区免费 | 国产精品亚洲视频 | 国产乱码高清区二区三区在线 | 一级毛片大全免费播放 | 一区二区三区欧美 | 最新中文字幕一区 | 色偷偷噜噜噜亚洲男人 | 我我色综合 | 中文字幕乱码一区二区三区 | 亚洲视频中文 | 国产色 | a毛片视频网站 | 成人国产在线视频 | 午夜色婷婷 | 午夜久久久久 | 草久久久| 免费h在线 | 国产国语精品 | 国产日韩一区二区 | 国产高清一二三区 | 日本网站免费观看 | 亚洲精品久久嫩草网站秘色 | 精产国产伦理一二三区 | 欧美精品一区二区三区在线播放 | 99资源 | 国产高清久久久 | 日本精品久久 | 91精品国产自产在线老师啪 | 国产99久久久久 | 精品国偷自产在线 | 国产成人免费视频网站高清观看视频 | 亚洲国产成人精品女人久久久 | 国产成人高清成人av片在线看 | 老牛影视av一区二区在线观看 |