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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3246|回復(fù): 1
收起左側(cè)

51單片機實時數(shù)據(jù)采集ADC0809與報警系統(tǒng)源程序

[復(fù)制鏈接]
ID:528775 發(fā)表于 2019-11-22 17:06 | 顯示全部樓層 |閱讀模式
51實時數(shù)據(jù)采集ADC0809與報警系統(tǒng)

單片機源程序如下:
  1. /*============================================================
  2. //
  3. //程序編寫:劉先生

  4. 接線:D0--D7接P0.0-P0.7
  5.       ST---P2.3
  6.           EOC--P2.2
  7.           OE---P2.1
  8.           CLK--P2.0

  9. [注:使用12M或11.0592M晶振,實測使用11.0592M]
  10. =============================================================*/
  11. #include <reg52.H>                //器件配置文件
  12. #include <intrins.h>
  13. #include "lcd.h"

  14. #define adc0809_data  P3 //單片機P0接模塊D0~D7引腳

  15. sbit STR = P2^3; //單片機P2.3接模塊STR引腳, 啟動轉(zhuǎn)換信號
  16. sbit EOC = P2^2; //單片機P2.2接模塊EOC, 轉(zhuǎn)換結(jié)束信號,高電平有效
  17. sbit OE  = P2^1; //單片機P2.1接模塊OE,輸出允許信號,高電平有效
  18. sbit CLK = P2^0; //單片機P2.0接CLK ,ADC0809時鐘,輸入50-800KHZ的頻率
  19.                  //一般選用500K

  20.                                  //將短接片去掉開啟位選功能,否則默認IN0為輸入引腳
  21. sbit AA = P2^6;         //單片機P2.6接模塊A引腳
  22. sbit BB = P2^5;         //單片機P2.6接模塊B引腳
  23. sbit CC = P2^4;         //單片機P2.6接模塊C引腳

  24. unsigned char AD_DATA[1]; //保存IN0通道轉(zhuǎn)換后的數(shù)據(jù)
  25. unsigned char disbuff[4] = { 0,0,0,0,};
  26. unsigned char Disp[]="0123456789";         //使用字符串保存數(shù)字0~9所對應(yīng)的ASCLL碼
  27. unsigned char I_Disp[]="Smoke_C : ";           //初始顯示值
  28. unsigned char i;



  29. /***********************************
  30. 函數(shù)名:  AD()
  31. 功能:    啟動AD轉(zhuǎn)換將值儲存于 AD_DATA[0]

  32. ***********************************/
  33. void AD(void )
  34. {
  35.    STR=0;

  36.    STR=1; //啟動AD轉(zhuǎn)換

  37.    STR=0;  
  38.    while(0==EOC);//等待轉(zhuǎn)換結(jié)束
  39.    OE=1;  
  40.    AD_DATA[0]=adc0809_data; //讀取AD數(shù)據(jù),數(shù)據(jù)范圍為0-255
  41.    OE=0;  
  42. }
  43. /***********************************
  44. 函數(shù)名:  t0()
  45. 功能:    產(chǎn)生ADC0809CLK所需要的時鐘

  46. ***********************************/
  47. void t0(void) interrupt 1 using 0
  48. {  
  49.    CLK=~CLK;
  50. }
  51. /***********************************
  52. 函數(shù)名:  Conut()
  53. 功能:    將AD_DATA[0]的各位拆分以方便lcd顯示

  54. ***********************************/
  55. void Conut(void)
  56. {
  57.          disbuff[0]=AD_DATA[0]/100;
  58.          disbuff[1]=AD_DATA[0]/10%10;
  59.          disbuff[2]=AD_DATA[0]%10;
  60. }
  61. /***********************************
  62. 函數(shù)名:  delayms()
  63. 功能:    延時 ms 毫秒

  64. ***********************************/
  65. void delayms(unsigned int ms)
  66. {
  67.         unsigned char j;
  68.         i=100;
  69.         for(;ms;ms--)
  70.         {
  71.                 while(--i)
  72.                 {
  73.                         j=10;
  74.                         while(--j);
  75.                 }
  76.         }
  77. }
  78. /***********************************
  79. 函數(shù)名:  LcdDisplay()
  80. 功能:    用lcd顯示數(shù)組disbuff[]中的值

  81. ***********************************/

  82. void LcdDisplay(void)
  83. {
  84.         LcdWriteCom(0x0b+0x80);
  85.         for(i=0;i<3;i++)
  86.         {
  87.                 LcdWriteData(Disp[disbuff[i]]);        
  88.         }                                
  89. }
  90. /***********************************
  91. 函數(shù)名:  Analog_IO_Sel()
  92. 參數(shù)說明: m 的值對應(yīng)ADC0809芯片上模擬輸入的IO
  93. 功能:    確定模擬輸入位選

  94. ***********************************/

  95. void Analog_IO_Sel(unsigned char m)
  96. {
  97.         switch(m)
  98.         {
  99.                 case 0 : CC = 0; BB = 0; AA = 0; break;
  100.                 case 1 : CC = 0; BB = 0; AA = 1; break;
  101.                 case 2 : CC = 0; BB = 1; AA = 0; break;
  102.                 case 3 : CC = 0; BB = 1; AA = 1; break;
  103.                 case 4 : CC = 1; BB = 0; AA = 0; break;
  104.                 case 5 : CC = 1; BB = 0; AA = 1; break;
  105.                 case 6 : CC = 1; BB = 1; AA = 0; break;
  106.                 case 7 : CC = 1; BB = 1; AA = 1; break;
  107.         }
  108. }

  109. void main()
  110. {
  111.         EA=1; //開總中斷
  112.     TMOD=0x02; //設(shè)定定時器 T0工作方式
  113.     TH0=216; //利用T0中斷產(chǎn)生CLK信號
  114.     TL0=216;  
  115.     TR0=1; //啟動定時器T0
  116.     ET0=1;
  117.     STR=0;
  118.     OE=0;
  119.         Analog_IO_Sel(0);  //設(shè)置為IN0輸入

  120.         LcdInit();
  121.         for(i=0;i<10;i++)                  //顯示初始值
  122.         {
  123.                 LcdWriteData(I_Disp[i]);        
  124.         }

  125.         while(1)
  126.           {
  127.              AD();
  128.          Conut();                        //計算
  129.                  LcdDisplay();                //lcd顯示
  130.                  delayms(10);                //10MS         
  131.           }         
  132. }
復(fù)制代碼

所有資料51hei提供下載:
單片機控制系統(tǒng)綜合實訓(xùn).7z (181.49 KB, 下載次數(shù): 58)


捕獲.PNG

評分

參與人數(shù) 1黑幣 +5 收起 理由
tanxin19991120 + 5 很給力!

查看全部評分

回復(fù)

使用道具 舉報

ID:1153086 發(fā)表于 2025-6-9 09:16 | 顯示全部樓層
報警模塊在哪?
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人福利在线观看 | 黑人精品xxx一区一二区 | 这里只有精品999 | 亚洲国产精品一区二区久久 | 国产乱码精品一区二区三区五月婷 | 国产特级毛片aaaaaa | 蜜桃视频成人 | 亚洲一区二区三区桃乃木香奈 | 色婷婷一区二区三区四区 | 国产精品久久久久久久免费观看 | 久久不卡日韩美女 | 求个av网址 | 欧美电影大全 | 视频一区二区国产 | 男人av的天堂 | 精品视频在线免费观看 | 综合亚洲视频 | 欧美炮房 | 国产一级片一区二区三区 | 亚洲一区在线日韩在线深爱 | a a毛片| 欧美日韩综合视频 | 欧美激情久久久 | 午夜免费网 | 97精品一区二区 | 日韩精品免费视频 | 97av在线 | 国产欧美日韩精品一区 | 日韩网站在线 | 国产国拍亚洲精品av | 亚洲成人播放器 | 亚洲伊人a | 97精品国产一区二区三区 | 91看片免费 | av一级久久 | 午夜视频免费在线观看 | 日日夜夜天天久久 | 中文字幕一二三 | 久久久国产一区二区三区 | 一区二区蜜桃 | 欧美不卡视频 |