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

標題: DAC0832+ADC0804轉換仿真實驗源碼 [打印本頁]

作者: zdz    時間: 2018-5-6 11:55
標題: DAC0832+ADC0804轉換仿真實驗源碼
基于51單片機+protues的AD/DA轉換實驗
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)




單片機源程序如下:
  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)




作者: 午夜蹦迪丶    時間: 2018-6-30 08:11
學習了學習了
作者: hyf0920020637    時間: 2020-4-5 12:04
圖看不清




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 在线观看国产视频 | www.788.com色淫免费 | 黄色精品 | 成人免费在线电影 | 免费精品| 久久久精 | 亚洲黄色一区二区三区 | 日本午夜视频 | 亚洲成人免费av | 亚洲国产成人av好男人在线观看 | 高清久久久 | 久久亚洲国产精品 | 在线观看h视频 | 精品日韩一区二区 | 久久久久久久久久久久91 | 一级免费视频 | 91av视频| caoporn视频在线 | 成在线人视频免费视频 | 国产精品久久久久久久久久免费 | 色999视频| 国产日韩免费视频 | 日韩精品一区二区三区 | 成人免费一区二区三区视频网站 | 亚洲一区中文字幕在线观看 | 久久久高清 | 亚洲第一天堂 | 亚洲欧美成人影院 | 日韩福利片 | 亚洲在线一区 | 99re热这里只有精品视频 | 天天干免费视频 | 欧美久久影院 | 精品一区二区三区中文字幕 | 狠狠躁18三区二区一区 | 中文二区| 国产成人精品久久二区二区91 | 亚洲国产成人精品女人 | 罗宾被扒开腿做同人网站 | 日韩中文字幕一区二区三区 | 精品一区二区三区四区 |