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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機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)

評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩亚洲一区 | 国产农村妇女精品一区 | 免费在线黄色av | 我我色综合| 欧美日韩亚| 91香蕉嫩草 | 中文字幕视频在线免费 | 国产精品色婷婷久久58 | 波多野结衣精品 | 久久在线 | 蜜桃在线播放 | 久久久久久影院 | 久草网在线视频 | 午夜在线电影网 | 日韩视频一区 | 成人免费一区二区三区视频网站 | 欧美一区二区三区国产 | 亚洲精品在线免费观看视频 | 日韩三级视频 | 精品国产91乱码一区二区三区 | 在线视频中文字幕 | 一区二区久久 | 一区二区三区观看视频 | 男人天堂免费在线 | 欧美日韩在线观看一区 | 国产 日韩 欧美 在线 | 国产日韩一区二区三区 | 视频一区在线观看 | 日韩三级 | 欧美成人一区二区三区片免费 | 免费久久99精品国产婷婷六月 | 天天操天天摸天天干 | 午夜在线影院 | 一区二区av | 手机在线不卡av | 欧美乱大交xxxxx另类电影 | 高清免费av | 香蕉久久av | 亚洲成人一区 | 久久久国产精品视频 | 四虎影视免费观看 |