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

標題: 單片機ADC0809+CD4017分頻數字電壓表程序+PCB工程+Proteus仿真 [打印本頁]

作者: xiaohaitao    時間: 2019-7-9 10:52
標題: 單片機ADC0809+CD4017分頻數字電壓表程序+PCB工程+Proteus仿真
自己用了大半個月時間所做的數字電壓表;
1、采用數碼管顯示
2、可測電壓0V-25V;25V-50V、兩檔位超出量程可報警。顯示精度0.01V,與精確率0.2V.
3、采用ADC0809數碼轉換芯片
4、采用CD4017進行分頻
(附件帶keil源程序、AD原理圖、裝配圖、proter仿真圖)整整一套完整的材料都在附件中
................................................................................................................................................................................................................................
都是自己設計原創,請大家多多指教!
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)


單片機源程序如下:
  1. //程序頭函數
  2. #include <reg52.h>

  3. //宏定義
  4. #define uint unsigned int
  5. #define uchar unsigned char
  6. #define Data_ADC0809 P1

  7. //ADC0809
  8. sbit ST=P3^2;
  9. sbit EOC=P3^3;
  10. sbit OE=P3^1;
  11. sbit k1=P3^5;
  12. sbit k2=P3^4;
  13. sbit DIAN = P0^7;                        //小數點
  14. sbit beep = P3^0;   //蜂鳴器IO口定義

  15. /*******************************定義全局變量********************************/
  16. unsigned char dis[3];       //顯示數值
  17. unsigned int sum=0;
  18. unsigned int temp=0;
  19. unsigned int dat=0;
  20.         unsigned int Vo;
  21.         uint a;
  22. /*******************************共陰LED段碼表*******************************/

  23. unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90/*字母U*/};        //gc.debfa

  24. /****************************************************************************
  25. /****************報警函數***************/
  26. //ADC0809讀取信息
  27. uchar ADC0809()
  28. {
  29.         uchar temp_=0x00;
  30.         //初始化高阻太
  31.         OE=0;
  32.         //轉化初始化
  33.         ST=0;
  34.         //開始轉換
  35.         ST=1;
  36.         ST=0;
  37.         //外部中斷等待AD轉換結束
  38.         while(EOC==0)
  39.         //讀取轉換的AD值
  40.         OE=1;
  41.         temp_=Data_ADC0809;
  42.         
  43.         OE=0;
  44.         return temp_;
  45. }
  46. /****************************************************************************
  47. 函數功能:延時子程序
  48. 入口參數:
  49. 出口參數:
  50. ****************************************************************************/
  51. void delay(unsigned int x)
  52. {
  53.     unsigned int i,j;
  54.     for(i=0;i<x;i++)
  55.         for(j=0;j<50;j++);
  56. }
  57. //=====================================================================================
  58. //=====================================================================================
  59. //=====================================================================================

  60. /****************************************************************************
  61. 函數功能:將0-255級換算成0.00-5.00的電壓數值
  62. 入口參數:i
  63. 出口參數:
  64. ****************************************************************************/

  65. void convdata(unsigned char dat1)
  66. {
  67.     if(k1==0)
  68.     {
  69.      delay(10);
  70.          if(k1==0)
  71.          {
  72.           a=1;
  73.         // while(!k1);
  74.          }
  75.         }
  76.         if(k2==0)
  77.     {
  78.      delay(10);
  79.          if(k2==0)
  80.          {
  81.           a=2;
  82.           //          while(!k2);
  83.          }
  84.         }
  85.         Vo=dat1*5*1.96*a;        
  86.         dis[0]=Vo/1000;
  87.     dis[1] = Vo/100%10;       //十位
  88.     dis[2] = Vo%100/10;      //個位         
  89.     dis[3] = Vo%100%10;     //小數點后第1位
  90.         if(a==1)
  91.         {
  92.          if(dis[0]>=2)
  93.          {
  94.           if(dis[1]>=4)
  95.           {
  96.            beep=1;
  97.           }
  98.          }
  99.         }
  100.         if(a==2)
  101.         {
  102.          if(dis[0]>=4)
  103.          {
  104.           if(dis[1]>=9)
  105.           {
  106.            beep=1;
  107.           }
  108.          }
  109.         }
  110.     if(dis[0]==0)
  111.          {
  112.           if(dis[1]==0)
  113.           {
  114.            beep=0;
  115.           }
  116.          }

  117. }
  118. /****************************************************************************
  119. 函數功能:數碼管顯示子程序
  120. 入口參數:
  121. 出口參數:
  122. ****************************************************************************/
  123. void display(void)
  124. {  
  125.     P0=tab[dis[0]];      
  126.     P2=0xbf;                  //10111112
  127.     delay(1);   
  128.     P2=0xff;

  129.     P0=tab[dis[1]];      
  130.     P2=0xef;                //11101111
  131.         DIAN=0;
  132.     delay(1);
  133.     P2=0xff;

  134.     P0=tab[dis[2]];      
  135.     P2=0xfb;              //11111011  
  136.     delay(1);
  137.     P2=0xff;

  138.         P0=tab[dis[3]];        //11111110  
  139.     P2=0xfe;              
  140.     delay(1);
  141.     P2=0xff;
  142. }
  143. /****************************************************************************
  144. 函數功能:主程序
  145. 入口參數:
  146. 出口參數:
  147. ****************************************************************************/
  148. void main(void)
  149. {
  150.         unsigned char p=0;
  151.         a=1;
  152.         beep=0;
  153.     while(1)       //主循環                  
  154.     {
  155.                 for(p=0;p<20;p++)
  156.                 {        
  157.                         sum=sum+ADC0809();
  158.                         display();
  159.                 }
  160. //                dat=((sum/20)+dat)/2;
  161.                 dat=sum/20;
  162.                 convdata(dat);      //數據轉換
  163.                 sum=0;
  164.                 display();      //顯示數值
  165.     }
  166. }
復制代碼

所有資料51hei提供下載:
“直流數顯電壓表”程序、原理圖、仿真圖.7z (603.08 KB, 下載次數: 115)






歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 成人毛片网站 | 久草久草| 99re视频在线| 日韩精品免费观看 | 一区二区黄色 | 欧美自拍一区 | 欧美操 | 欧美精品二区三区四区免费看视频 | 成年人免费观看 | 国产三级精品三级在线观看 | 蜜桃av一区二区三区 | 看av| 日韩久久久久 | 国产精品久久久久久久久久久久久 | 欧美精品网 | 精品日韩在线观看 | 日韩黄色网址 | 日韩三级一区 | 久久精品视频网 | 久久亚洲免费视频 | 一级毛片在线 | 91手机看片 | 性大毛片视频 | 欧美午夜在线 | 国产精品二区一区二区aⅴ污介绍 | 亚洲一区二区三区在线播放 | 欧美一级特黄视频 | 日韩在线欧美 | 黄色片视频网站 | 亚洲精品自拍视频 | 在线播放毛片 | 亚洲免费观看 | 国产精品久久久国产盗摄 | 国产毛片在线 | 香蕉成人 | 久久综合五月天 | 欧美黄网站 | 不卡的av在线 | 国产福利在线播放 | 欧美视频一二三区 | 91小视频在线观看 |