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

標題: DAMCP41010 DA轉換輸出不同的波形的單片機源程序 [打印本頁]

作者: fwefw    時間: 2018-10-22 00:58
標題: DAMCP41010 DA轉換輸出不同的波形的單片機源程序
分享一個DA轉換-輸出不同的波形的代碼

DAMCP41010的單片機源程序如下:
  1. #include<reg52.h>
  2. #include<dingyi.h>
  3. /***************************************/
  4. void DAMCP41010(uchar dabuf) //tds為設置工作方式,dabuf為寫入D7~D0的值
  5. { tds=0x11;
  6. MCP41010_CS=0;
  7. for(i=0;i<8;i++)    //前8個clk選擇設置DA工作方式
  8.   { MCP41010_CLK=0;
  9.   if(tds&0x80){
  10.   MCP41010_DI=1;}
  11.   else{
  12.   MCP41010_DI=0;
  13.   }
  14.   MCP41010_CLK=1;
  15.     tds<<=1;  //左移,準備送下一位
  16.   }   
  17. /**** 接下來寫入數據(D7~D0)****/
  18.   for(i=0;i<8;i++)   
  19.   {
  20.   MCP41010_CLK=0;
  21.     if(dabuf&0x80){
  22.          MCP41010_DI=1;
  23.          }
  24.          else
  25.          {
  26.          MCP41010_DI=0;
  27.          }
  28.          MCP41010_CLK=1;      
  29.   dabuf<<=1;
  30.   }
  31.   MCP41010_CS=1;
  32. // MCP41010_CLK=0;   
  33. }

  34. void bcd()         
  35. {switch(smsta)
  36. {case 0:
  37.    buf3f=1;
  38.    buf2=dabuf/100;                //百位
  39.    buf1=dabuf/10%10;    //十位
  40.    buf0=dabuf%10;      //個位
  41.    lightf=0;            //關掉點顯示  
  42.    break;         
  43.   case 1:
  44.    buf3f=0;
  45.    buf3=dabuf/110; //個位
  46.    buf2=dabuf%110*10/110;//十分位
  47.    buf1=dabuf%110*10%110*10/110;//百分位
  48.    buf0=dabuf%110*10%110*10%110*10/110;// 千分位
  49.    lightf=1;break;           //開個位點
  50.   }
  51. }
  52. /******************************
  53. **函數名:sjb()
  54. ***描述: 輸出三角波;        
  55. ******************************/
  56. void sjb()
  57. {uchar zhsta;
  58. if(sw1f){msta=2;}
  59. cnt++;
  60. if(cnt==20)
  61. {cnt=0;
  62.   switch(zhsta)
  63. {
  64. case 0:
  65.   dabuf++;
  66.   if(dabuf==255)
  67.    {zhsta=1;}break;
  68. case 1:
  69.   dabuf--;
  70.   if(dabuf==0){zhsta=0;}break;
  71. }}
  72. DAMCP41010(dabuf);
  73. }
  74. /******************************
  75. **函數名:jucb()
  76. ***描述: 輸出鋸齒波;        
  77. ******************************/
  78. void jucb()
  79. {cnt++;
  80. if(sw1f){msta=3;}
  81. if(cnt==20)
  82. { cnt=0;dabuf++;
  83.   if(dabuf==255)
  84.    {dabuf=0;}}
  85. DAMCP41010(dabuf);
  86. }
  87. /******************************
  88. **函數名:fangbb()
  89. ***描述: 輸出方波;        
  90. ******************************/
  91. void fangb()
  92. {
  93. uchar bdata gdf;
  94. if(sw1f){msta=4;}
  95.   cnt++;
  96.   if(cnt==200)   
  97.    {cnt=0;gdf=!gdf;}
  98.   if(gdf)
  99.    {dabuf=255;}
  100.   else
  101.    {dabuf=0;}
  102.   DAMCP41010(dabuf);
  103. }
  104. /***************************************************
  105. **函數名:zxb()
  106. ***描述: 輸出正弦波;        
  107. ***************************************************/
  108. void zxb()
  109. { uchar cnt;
  110.   if(sw1f){msta=0;}
  111.   cnt++;
  112.   if(cnt==20)
  113.   {cnt=0;dabuf=sin[zxf];
  114.   zxf++;
  115.   if(zxf==255){zxf=0;}}
  116.   DAMCP41010(dabuf);
  117. }
  118. /***************************************************
  119. **文件名:main()
  120. ***描述: DA轉換的主程序段,實現各功能模塊的轉換;
  121.           work0輸出三角波模塊;work1輸出鋸齒波模塊;
  122.                   work2輸出矩形波模塊;work3輸出正弦波;        
  123. ***************************************************/
  124. void main()
  125. {zxf=msta=smsta=flag=0;
  126. tds=0x11;dabuf=0;
  127. TMOD=0x01;
  128. TH0=0xec;
  129. TL0=0x78;
  130. TR0=1;
  131. while(1)
  132. { while(!TF0);
  133.   {
  134.    TH0=0xec;
  135.    TL0=0x78;
  136.    TF0=0;
  137.    #include<anjiansm.h>
  138.    #include<disp.h>
  139.    bcd();
  140.    switch(msta)
  141.    {
  142.         case 0:
  143.         if(sw1f){msta=1;}
  144.         buf3f=0;if(lightf){dian=1;}buf3=0;buf2=2;buf1=3;
  145.     buf0=9;buf4=0;       
  146.          break;
  147.         case 1:
  148.           sjb();buf4=0xfe;break;
  149.         case 2:
  150.           jucb();buf4=0xfd;break;
  151.         case 3:
  152.       fangb();buf4=0xfb;break;
  153.         case 4:
  154.           zxb();buf4=0xf7;break;
  155.    }
  156.   }
  157. }
  158. }
復制代碼

所有資料51hei提供下載:
DA轉換-輸出不同的波形.zip (35.23 KB, 下載次數: 45)



作者: admin    時間: 2018-10-22 05:10
補全原理圖或者詳細說明一下電路連接即可獲得100+黑幣




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产真实精品久久二三区 | 国产精品明星裸体写真集 | 久久91精品国产一区二区 | 美女爽到呻吟久久久久 | 91免费入口| 国产亚洲精品精品国产亚洲综合 | 国产婷婷精品 | 日韩免费视频一区二区 | 亚洲影音先锋 | 欧美日本免费 | 国产成人一区二区 | pacopacomama在线| 青青草av在线播放 | 精产国产伦理一二三区 | 天堂av中文在线 | 国产午夜精品一区二区三区嫩草 | 国产免费让你躁在线视频 | 中文字幕在线视频精品 | 午夜丰满少妇一级毛片 | 视频1区 | 国产日韩欧美在线 | 看片91 | 欧美一级精品片在线看 | 91精品国产91久久久久久三级 | 国产精品久久av | 粉嫩一区二区三区四区公司1 | 91精品国产91久久久久久吃药 | 亚洲免费av一区 | 99pao成人国产永久免费视频 | 久久亚洲一区 | 久久日本 | 欧美日韩精品中文字幕 | www日本在线| 久久99精品国产自在现线小黄鸭 | 中文字幕一区二区三区在线观看 | www.成人在线视频 | 成人激情视频免费观看 | 99热热热 | 欧美精品91 | 婷婷在线免费 | 特级黄一级播放 |