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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于adc0809和51單片機檢測電源電壓并顯示(4位數碼管)

[復制鏈接]
跳轉到指定樓層
樓主


單片機源程序如下:
  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 DIAN = P0^5;                        //小數點
  12. /*******************************定義全局變量********************************/
  13. unsigned char dis[3];       //顯示數值
  14. unsigned int sum=0;
  15. unsigned int temp=0;
  16. unsigned int dat=0;
  17. /*******************************共陰LED段碼表*******************************/

  18. unsigned char code tab[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0x5e/*字母U*/};        //gc.debfa

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

  55. /****************************************************************************
  56. 函數功能:將0-255級換算成0.00-5.00的電壓數值
  57. 入口參數:i
  58. 出口參數:
  59. ****************************************************************************/
  60. void convdata(unsigned char dat1)
  61. {
  62.         unsigned int Vo;
  63.         Vo=dat1*1.96;         
  64.     dis[0] = Vo/100;       //十位
  65.     dis[1] = Vo%100/10;      //個位         
  66.     dis[2] = Vo%100%10;     //小數點后第1位
  67. }
  68. /****************************************************************************
  69. 函數功能:數碼管顯示子程序
  70. 入口參數:
  71. 出口參數:
  72. ****************************************************************************/
  73. void display(void)
  74. {  
  75.     P0=~tab[dis[0]];      
  76.     P2=0xfe;                  //11011111
  77.         DIAN=0;
  78.     delay(1);   
  79.     P2=0xff;

  80.     P0=~tab[dis[1]];      
  81.     P2=0xfb;                //10111111
  82.     delay(1);
  83.     P2=0xff;

  84.     P0=~tab[dis[2]];      
  85.     P2=0xef;              //01111111  
  86.     delay(1);
  87.     P2=0xff;

  88.         P0=~tab[10];      
  89.     P2=0xbf;              
  90.     delay(1);
  91.     P2=0xff;
  92. }
  93. /****************************************************************************
  94. 函數功能:主程序
  95. 入口參數:
  96. 出口參數:
  97. ****************************************************************************/
  98. void main(void)
  99. {
  100.         unsigned char p=0;
  101.     while(1)       //主循環                  
  102.     {
  103.                 for(p=0;p<20;p++)
  104.                 {      
  105.                         sum=sum+ADC0809();
  106.                         display();
  107.                 }
  108. //                dat=((sum/20)+dat)/2;
  109.                 dat=sum/20;
  110.                 convdata(dat);      //數據轉換
  111.                 sum=0;
  112.                 display();      //顯示數值
  113.     }
  114. }

復制代碼

全部資料51hei下載地址:
原理圖.docx (49.81 KB, 下載次數: 24)

評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:1001575 發表于 2022-1-13 20:26 | 只看該作者
問一下能不能測量交流電電壓值
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产一级在线观看 | 亚洲国产成人精品女人久久久 | 欧美日韩精品久久久免费观看 | 欧美 日韩 中文 | 久久久精品黄色 | 99精品国产一区二区三区 | 国产真实精品久久二三区 | 久久av一区 | 国产精品日韩在线观看 | 色999视频| 日本在线视频一区二区 | 九九热精 | 一区二区三区四区电影视频在线观看 | 日本成人综合 | 狠狠综合久久av一区二区老牛 | 成人亚洲片 | 午夜久久久 | 日本a视频 | av在线视 | 亚洲精品小视频在线观看 | 精品久久久久久久 | 欧美日韩在线免费观看 | 99亚洲国产精品 | 国产在线视频一区 | 精品视频在线观看 | 91在线视频免费观看 | 久久久青草 | 国产精品亚洲一区二区三区在线观看 | 777777777亚洲妇女 | 高清欧美性猛交 | 91中文字幕在线观看 | 黄色精品视频网站 | 激情六月天 | 中文字幕在线观看av | 午夜男人的天堂 | 91久久久久久久久久久久久 | 精品乱人伦一区二区三区 | 在线中文字幕av | 亚洲午夜精品久久久久久app | 日韩精品一区二区三区在线播放 | 伊人在线 |