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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5185|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)ADC0809+CD4017分頻數(shù)字電壓表程序+PCB工程+Proteus仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
自己用了大半個(gè)月時(shí)間所做的數(shù)字電壓表;
1、采用數(shù)碼管顯示
2、可測(cè)電壓0V-25V;25V-50V、兩檔位超出量程可報(bào)警。顯示精度0.01V,與精確率0.2V.
3、采用ADC0809數(shù)碼轉(zhuǎn)換芯片
4、采用CD4017進(jìn)行分頻
(附件帶keil源程序、AD原理圖、裝配圖、proter仿真圖)整整一套完整的材料都在附件中
................................................................................................................................................................................................................................
都是自己設(shè)計(jì)原創(chuàng),請(qǐng)大家多多指教!
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


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


單片機(jī)源程序如下:
  1. //程序頭函數(shù)
  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;                        //小數(shù)點(diǎn)
  14. sbit beep = P3^0;   //蜂鳴器IO口定義

  15. /*******************************定義全局變量********************************/
  16. unsigned char dis[3];       //顯示數(shù)值
  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. /****************報(bào)警函數(shù)***************/
  26. //ADC0809讀取信息
  27. uchar ADC0809()
  28. {
  29.         uchar temp_=0x00;
  30.         //初始化高阻太
  31.         OE=0;
  32.         //轉(zhuǎn)化初始化
  33.         ST=0;
  34.         //開(kāi)始轉(zhuǎn)換
  35.         ST=1;
  36.         ST=0;
  37.         //外部中斷等待AD轉(zhuǎn)換結(jié)束
  38.         while(EOC==0)
  39.         //讀取轉(zhuǎn)換的AD值
  40.         OE=1;
  41.         temp_=Data_ADC0809;
  42.         
  43.         OE=0;
  44.         return temp_;
  45. }
  46. /****************************************************************************
  47. 函數(shù)功能:延時(shí)子程序
  48. 入口參數(shù):
  49. 出口參數(shù):
  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. 函數(shù)功能:將0-255級(jí)換算成0.00-5.00的電壓數(shù)值
  62. 入口參數(shù):i
  63. 出口參數(shù):
  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;      //個(gè)位         
  89.     dis[3] = Vo%100%10;     //小數(shù)點(diǎn)后第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. 函數(shù)功能:數(shù)碼管顯示子程序
  120. 入口參數(shù):
  121. 出口參數(shù):
  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. 函數(shù)功能:主程序
  145. 入口參數(shù):
  146. 出口參數(shù):
  147. ****************************************************************************/
  148. void main(void)
  149. {
  150.         unsigned char p=0;
  151.         a=1;
  152.         beep=0;
  153.     while(1)       //主循環(huán)                  
  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);      //數(shù)據(jù)轉(zhuǎn)換
  163.                 sum=0;
  164.                 display();      //顯示數(shù)值
  165.     }
  166. }
復(fù)制代碼

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

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: www.亚洲精品 | 欧美精品一区二区在线观看 | 天天玩天天操天天干 | 国产精品久久久久久妇女6080 | 欧美一级黄色片免费观看 | 亚洲导航深夜福利涩涩屋 | 久久99国产精品久久99果冻传媒 | 亚洲成a人片 | 久久精品99国产精品 | 国产乱码精品1区2区3区 | 成人午夜高清 | 中文字幕日韩在线 | 国产一区h| 99久久精品视频免费 | 91精品国产92 | 久久精品国产亚洲一区二区三区 | 成人激情视频免费在线观看 | 一区二区三区日韩精品 | 国产福利视频在线观看 | 久久免费看| 精品少妇一区二区三区在线播放 | 国产欧美一区二区久久性色99 | 欧美激情视频一区二区三区在线播放 | 伊人精品一区二区三区 | 国产一级片一区二区 | 国产精品久久久久久久岛一牛影视 | 九九综合 | 色吊丝2288sds中文字幕 | 亚洲成人免费电影 | 91高清在线观看 | 人人干视频在线 | 日本精品视频一区二区 | 欧美日韩一二三区 | 四虎成人精品永久免费av九九 | 成人中文字幕在线观看 | 成人在线激情 | 91免费电影 | 久久最新| 看片91| 91在线视频播放 | 久久91精品|