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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC15F2K16S2單片機驅動12位DAC MCP4726測試程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:68356 發表于 2019-7-9 14:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
使用STC15單片機驅動12位DAC MCP4726芯片的測試程序,實機測試通過,proteus元件庫沒有這個元件,所以沒做仿真

單片機源程序如下:
  1. #include"mcp.h"
  2. #include"lcd.h"
  3. char *num="0123456789ABCDEF";
  4. extern uchar vh,vl,eph,epl;
  5. sbit k=P1^0;
  6. uint n=0;
  7. //測試使用的單片機型號:STC15F2K16S2,頻率選擇5.5296MHz,理論上STC15系列單片機通用
  8. //必要的話請自行修改改引腳定義
  9. //測試加入了LCD1602和按鍵功能來顯示調整部分參數用于調試,實際使用時可以去掉
  10. //代碼通過實機測試
  11. //MCP4726的VOUT腳串接一個LED和102電阻,用于粗略顯示電壓
  12. void delayms()
  13. {
  14.    uchar a,b,c;
  15.    for(c=1;c;c--)
  16.       for(b=38;b;b--)
  17.              for(a=130;a;a--);
  18. }
  19. void vup()
  20. {
  21.    if(k==0)
  22.    {
  23.           delayms();
  24.           if(k==0)
  25.           {
  26.              uchar m=0;
  27.              n+=100;
  28.                  while(k==0&&m<200)
  29.                  {
  30.                     delayms();
  31.                         ++m;
  32.                  }
  33.           }
  34.    }
  35. }
  36. void main()
  37. {
  38.    uchar count=0;
  39.    uchar temp=0;
  40.    while(!(temp&0x40))
  41.    temp=mcpread();
  42.    lcdinit();
  43.    //mcpwriteall(2400);        //這個函數測試時沒用到
  44.    while(1)
  45.    {
  46.       
  47.           temp=mcpread();
  48.           vup();
  49.           if(n>4095)
  50.           n=0;
  51.           mcpwrite(n);
  52.           writecom(0x80);
  53.           writedata(num[temp/100]);
  54.           writedata(num[temp%100/10]);
  55.           writedata(num[temp%10]);
  56.           writedata(' ');
  57.           writedata(num[count/100]);
  58.           writedata(num[count%100/10]);
  59.           writedata(num[count%10]);
  60.           ++count;
  61.           writedata(' ');
  62.           writedata(num[vh/100]);
  63.           writedata(num[vh%100/10]);
  64.           writedata(num[vh%10]);
  65.           writedata(' ');
  66.           writedata(num[vl/100]);
  67.           writedata(num[vl%100/10]);
  68.           writedata(num[vl%10]);
  69.           writecom(0xc0);
  70.           writedata(num[eph/100]);
  71.           writedata(num[eph%100/10]);
  72.           writedata(num[eph%10]);
  73.           writedata(' ');
  74.           writedata(num[epl/100]);
  75.           writedata(num[epl%100/10]);
  76.           writedata(num[epl%10]);
  77.    }
  78. }
復制代碼
  1. #include"mcp.h"
  2. uchar vh,vl,eph,epl;
  3. void mcpwrite(uint dat)
  4. {
  5.   uchar datl,dath;
  6.   datl=dat&0x00ff;
  7.   dath=((dat&0x0f00)>>8);
  8.   i2cstart();
  9.   i2cwrite(0xc0,1);
  10.   i2cwrite(dath,1);
  11.   i2cwrite(datl,1);
  12.   i2cstop();
  13. }
  14. void mcpwriteall(uint dat)
  15. {
  16.   uchar datl,dath;
  17.   datl=dat&0x00ff;
  18.   dath=(dat&0xff00)>>8;
  19.   i2cstart();
  20.   i2cwrite(0xc0,1);
  21.   i2cwrite(0x61,1);
  22.   i2cwrite(dath,1);
  23.   i2cwrite(datl,1);
  24.   i2cstop();
  25. }
  26. uchar mcpread()
  27. {
  28.    uchar temp,config;
  29.    i2cstart();
  30.    i2cwrite(0xc1,1);
  31.    config=i2cread(0);
  32.    vh=i2cread(0);
  33.    vl=i2cread(0);
  34.    temp=i2cread(0);
  35.    eph=i2cread(0);
  36.    epl=i2cread(0);
  37.    i2cstop();
  38.    return config;
  39. }
復制代碼

所有資料51hei提供下載:
MCP4726.zip (43.46 KB, 下載次數: 105)

評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:579958 發表于 2019-7-10 09:26 | 只看該作者
新手弱弱的問一下仿真是干嘛的?
回復

使用道具 舉報

板凳
ID:337813 發表于 2020-4-16 13:42 | 只看該作者
非常感謝您的無私分享!!!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久草青青| av黄色免费在线观看 | 国产成视频在线观看 | 国产片侵犯亲女视频播放 | 91av在线免费观看 | 天天天天操| 免费亚洲成人 | 激情一区二区三区 | 国产欧美一区二区三区在线看蜜臀 | 欧美精品久久久 | 国产一区二区在线免费观看 | 免费精品 | 在线a视频网站 | 亚洲国产精品视频一区 | 五月免费视频 | 午夜精品一区二区三区在线观看 | 谁有毛片 | 99re在线视频免费观看 | 久久久国产网站 | 少妇特黄a一区二区三区88av | 亚洲一区久久久 | 婷婷色国产偷v国产偷v小说 | 成人高清在线 | 九九热精品在线 | 中文字幕一区在线观看视频 | 在线国产精品一区 | 国产精品亚洲欧美日韩一区在线 | 亚洲视频一区在线播放 | 成人国产精品色哟哟 | 国产成人精品一区二区三区网站观看 | 国产精品69毛片高清亚洲 | 国产精品成人av | 91一区二区三区在线观看 | 国产区视频在线观看 | 成人动漫视频网站 | 黄色片在线 | 中文av电影 | 夜夜爽99久久国产综合精品女不卡 | 成年人在线视频 | 韩日精品视频 | 日韩中文在线视频 |