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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4398|回復: 2
收起左側

DAC0832+ADC0804轉換仿真實驗源碼

[復制鏈接]
ID:322787 發表于 2018-5-6 11:55 | 顯示全部樓層 |閱讀模式
基于51單片機+protues的AD/DA轉換實驗
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)

AD/DA

AD/DA


0.jpg

單片機源程序如下:
  1. #include<reg52.h>
  2. #include<intrins.h>

  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. sbit dula=P0^0;
  6. sbit wela=P0^1;
  7. sbit adwr=P3^6;
  8. sbit adrd=P3^7;
  9. sbit adcs=P0^2;
  10. sbit dacs=P0^3;
  11. sbit beep=P3^0;

  12. uchar code table[]={
  13. 0x3f,0x06,0x5b,0x4f,
  14. 0x66,0x6d,0x7d,0x07,
  15. 0x7f,0x6f,0x77,0x7c,
  16. 0x39,0x5e,0x79,0x71};

  17. uchar code table1[]={
  18. 0xbf,0x86,0xdb,0xcf,
  19. 0xe6,0xed,0xfd,0x87,
  20. 0xff,0xef};
  21. void delayms(uint);
  22. void display(char,char,char,char,char,char,char,char);
  23. void beeeep(uint);
  24. uint ge,ge_10,ge_100;

  25. void main()
  26. {
  27.         uchar k,kk,kkk,freq;
  28.         float temp;
  29.        
  30.         while(1)
  31.         {
  32.                 adcs=0;                      //ad測電阻
  33.                 dacs=1;
  34.                 adwr=1;
  35.                 _nop_();
  36.                 adwr=0;
  37.                 _nop_();
  38.                 adwr=1;
  39.                 display(50,50,50,50,50,ge,ge_10,ge_100);
  40.                 P1=0xff;
  41.                 adrd=1;
  42.                 _nop_();
  43.                 adrd=0;
  44.                 _nop_();
  45.                
  46.                 kk=P1;
  47.                 temp=kk*5/255;
  48.                 ge=temp;                                                     //個位
  49.                 temp=(temp-ge)*10;
  50.                 ge_10=temp;                                                                                 //十分位
  51.                 ge_100=(temp-ge_10)*10;       //百分位
  52.                
  53.                 adrd=1;
  54.                
  55.                 freq=ge*100+ge_10*10+ge_100;
  56.                 dacs=0;                                                                                                //da開蜂鳴
  57.                 adcs=1;
  58.                 beeeep(freq);
  59.         }
  60. }

  61. void delayms(uint xms)
  62. {
  63.         uint i,j;
  64.         for(i=xms;i>0;i--)
  65.                 for(j=110;j>0;j--);
  66. }

  67. void beeeep(uint xfreq)
  68. {
  69.         float t,tt;
  70.         t=1000/xfreq;
  71.         tt=xfreq;
  72.         for(;tt>0;tt--)
  73.         {
  74.                 beep=1;
  75.                 delayms(t);
  76.                 beep=0;
  77.         }
  78.         delayms(300);
  79. }

  80. void display(char aa,char bb,char cc,char dd,char ee,char ff,char gg,char hh)
  81. {
  82.         uint k=1,p=1;
  83.         uchar wei0,AA,BB,CC,DD,EE,FF,GG,HH;
  84.         wei0=~0x01;
  85.         AA=table[aa];
  86.         BB=table[bb];
  87.         CC=table[cc];
  88.         DD=table[dd];
  89.         EE=table[ee];
  90.         FF=table[ff];
  91.         GG=table[gg];
  92.         HH=table[hh];
  93.         for(k=1;k<9;k++)
  94.         {
  95.                 P2=0xff;
  96.                 wela=1;
  97.                 wela=0;
  98.                 switch(k)
  99.                 {
  100.                         case 1:
  101.                                 P2=AA;
  102.                                 break;
  103.                         case 2:
  104.                                 P2=BB;
  105.                                 break;
  106.                         case 3:
  107.                                 P2=CC;
  108.                                 break;
  109.                         case 4:
  110.                                 P2=DD;
  111.                                 break;
  112.                         case 5:
  113.                                 P2=EE;
  114.                                 break;
  115.                         case 6:
  116.                                 P2=FF;
  117.                                 break;
  118.                         case 7:
  119.                                 P2=GG;
  120.                                 break;
  121.                         case 8:
  122.                                 P2=HH;
  123.                                 break;
  124.                 }
  125.                 dula=1;
  126.                 dula=0;
  127.                 P2=wei0;
  128.                 wela=1;
  129.                 wela=0;
  130.                 wei0=_crol_(wei0,1);
  131.                 delayms(2);
  132.         }
  133. }
復制代碼

所有資料51hei提供下載:
AD DA.rar (26.73 KB, 下載次數: 73)



回復

使用道具 舉報

ID:236171 發表于 2018-6-30 08:11 | 顯示全部樓層
學習了學習了
回復

使用道具 舉報

ID:378116 發表于 2020-4-5 12:04 | 顯示全部樓層
圖看不清
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 毛片一区 | 欧美性生交大片免费 | 特级生活片| 亚洲一区播放 | 国产美女高潮 | 成人精品系列 | 亚洲小说图片 | 夜夜精品浪潮av一区二区三区 | 一区二区三区在线免费观看 | 自拍亚洲 | 三级av在线| 日本又色又爽又黄又高潮 | 精品久久久av | 国产精品自拍视频网站 | 亚洲欧美视频 | 欧美激情一区 | 亚洲www啪成人一区二区 | 九九导航 | 欧美日韩专区 | 成人欧美一区二区三区色青冈 | 久草中文在线观看 | 超碰在线国产 | 色视频一区二区 | 国产精品污www一区二区三区 | 欧美日韩久久精品 | 中文字幕在线第一页 | 成人精品视频免费 | 国产重口老太伦 | 亚洲国产成人一区二区 | 久久伊| 日本午夜一区二区三区 | 成人免费视频网站在线观看 | 男人天堂网址 | 亚洲精品三级 | 黄色在线免费观看 | 欧美综合在线观看 | 亚洲成色777777在线观看影院 | 日韩一级免费看 | 视频一区二区在线观看 | 精品国产91亚洲一区二区三区www | 久久精品一级 |