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

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

QQ登錄

只需一步,快速開始

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

MQ-2煙霧傳感器的單片機(jī)程序問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:345583 發(fā)表于 2020-3-10 17:24 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 孤仙1233 于 2020-3-10 17:43 編輯

MQ-2煙霧傳感器經(jīng)ADC0809轉(zhuǎn)換,反饋大概的濃度值,但是燒入后51開發(fā)板蜂鳴器一直響,請(qǐng)求大神們幫我看看    謝謝!


#include <reg52.h>  //器件配置文件
#include <intrins.h>
#include <stdio.h>
#define adc0809_data P0  //單片機(jī)P0接模塊D0~D7引腳
sbit ST = P2^3; //單片機(jī)P2.3接模塊STR引腳, 啟動(dòng)轉(zhuǎn)換信號(hào)
sbit EOC = P2^2; //單片機(jī)P2.2接模塊EOC, 轉(zhuǎn)換結(jié)束信號(hào),高電平有效
sbit OE  = P2^1; //單片機(jī)P2.1接模塊OE,輸出允許信號(hào),高電平有效
sbit CLK = P2^0; //單片機(jī)P2.0接CLK ,ADC0809時(shí)鐘,輸入50-800KHZ的頻率
                 //一般選用500K
     //將短接片去掉開啟位選功能,否則默認(rèn)IN0為輸入引腳
sbit AA = P2^6;  //單片機(jī)P2.6接模塊A引腳
sbit BB = P2^5;  //單片機(jī)P2.6接模塊B引腳
sbit CC = P2^4;  //單片機(jī)P2.6接模塊C引腳
int k,j;
unsigned char AD_DATA[1]; //保存IN0通道轉(zhuǎn)換后的數(shù)據(jù)
int a[2],b[2];

unsigned char i;

void InitUART(void)       //串口初始化
{

SCON = 0x50;
   TH1 = 0xfd;
  TL1 = TH1;
  TMOD |= 0x02;
  
  TR1 = 1;
TI = 1;

  
}
/*void UART_T (unsigned char UART_data)//定義串口發(fā)送數(shù)據(jù)變量
{  
    SBUF = UART_data; //將接收的數(shù)據(jù)發(fā)送回去  
    while(TI == 0);  //檢查發(fā)送中斷標(biāo)志位  
    TI = 0;       //令發(fā)送中斷標(biāo)志位為0(軟件清零)
}
void UART_TC (unsigned char *str)
{  
    while(*str != '\0')  //檢查是否發(fā)送完畢
    {
            UART_T(*str);   //發(fā)送
            *str++;         //指針指向下一個(gè)字符   
    }
    *str = 0;               //發(fā)送完畢后指針歸零
}
char putchar(char c)
{
    UART_T(c);
    return c;
}*/
/***********************************
函數(shù)名:  delayms()
功能:    延時(shí) ms 毫秒
***********************************/
void delayms(unsigned int ms)
{
unsigned char j;
i=100;
for(;ms;ms--)
{
  while(--i)
  {
   j=10;
   while(--j);
  }
}
}
void Analog_IO_Sel(unsigned char m)
{
switch(m)
{
  case 0 : CC = 0; BB = 0; AA = 0; break;
  case 1 : CC = 0; BB = 0; AA = 1; break;
  case 2 : CC = 0; BB = 1; AA = 0; break;
  case 3 : CC = 0; BB = 1; AA = 1; break;
  case 4 : CC = 1; BB = 0; AA = 0; break;
  case 5 : CC = 1; BB = 0; AA = 1; break;
  case 6 : CC = 1; BB = 1; AA = 0; break;
  case 7 : CC = 1; BB = 1; AA = 1; break;
}
}
/***********************************
函數(shù)名:  AD()
功能:    啟動(dòng)AD轉(zhuǎn)換將值儲(chǔ)存于 AD_DATA[0]
***********************************/
void AD(void )
{
   ST=0;
Analog_IO_Sel(0);  //設(shè)置為IN0輸入
   ST=1; //啟動(dòng)AD轉(zhuǎn)換

   ST=0;  
   while(0==EOC);//等待轉(zhuǎn)換結(jié)束
   OE=1;  
   AD_DATA[0]=P0; //讀取AD數(shù)據(jù),數(shù)據(jù)范圍為0-255
   OE=0;
   delayms(100);
   ST=0;
Analog_IO_Sel(1);  //設(shè)置為IN1輸入
   ST=1; //啟動(dòng)AD轉(zhuǎn)換

   ST=0;  
   while(0==EOC);//等待轉(zhuǎn)換結(jié)束
   OE=1;  
   AD_DATA[1]=P0; //讀取AD數(shù)據(jù),數(shù)據(jù)范圍為0-255
   OE=0;
   delayms(100);
  if (adc0809_data>=251)
  {
     adc0809_data=250;
  }
}
/***********************************
函數(shù)名:  t0()
功能:    產(chǎn)生ADC0809CLK所需要的時(shí)鐘
***********************************/
void t0(void) interrupt 1
{  
TH0=(65536-2)/256;   //重裝計(jì)數(shù)初值
  TL0=(65536-2)%256;   //重裝計(jì)數(shù)初值
   CLK=~CLK;
}
/***********************************
函數(shù)名:  Conut()
功能:    將AD_DATA[0]的各位拆分以方便
***********************************/
void Conut(void)
{
a[0]=AD_DATA[0]/100;
  a[1]=AD_DATA[0]/10%10;
  a[2]=AD_DATA[0]%10;
b[0]=AD_DATA[1]/100;
b[1]=AD_DATA[1]/10%10;
b[2]=AD_DATA[1]%10;

k=a[0]*100+a[1]*10+a[2];
j=b[0]*100+b[1]*10+b[2];
}



void main()
{
    InitUART();
   CLK=0;
    TMOD|=0x01; //設(shè)定定時(shí)器 T0工作方式
    TH0=(65536-2)/256; //利用T0中斷產(chǎn)生CLK信號(hào)
    TL0=(65536-2)%256;  
    TR0=1; //啟動(dòng)定時(shí)器T0
    ET0=1;
   
ES = 1;
EA=1; //開總中斷
  //InitUART();
while(1)
   {
      AD();
         Conut();   //計(jì)算
     
   
    printf("%d",k);
      printf("%d",j);

   delayms(100);  //100MS  
   }  
}
/*void InterrupUART ()    interrupt 4
{
  if (RI)
  {
     RI = 0;
  SBUF = SBUF ;
  }
  if (TI)
   {
      TI =0;
   
   }
}*/

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

使用道具 舉報(bào)

沙發(fā)
ID:345583 發(fā)表于 2020-3-10 17:43 | 只看該作者
問題已找到
回復(fù)

使用道具 舉報(bào)

板凳
ID:701939 發(fā)表于 2020-3-28 22:16 | 只看該作者

哪里出現(xiàn)問題能說說嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久久久久久久久久福利观看 | 免费看91 | 午夜资源 | 天天干天天操 | 亚洲欧美日韩电影 | 午夜视频一区二区 | 午夜精品久久久久久久久久久久 | 欧美日韩亚洲三区 | 91视频在线看 | av一区二区三区 | 91原创视频在线观看 | 精品久久久久久久久久久 | av资源网站 | 蜜臀网 | 成人h动漫精品一区二区器材 | www日韩 | 日韩二区 | 成人国产一区二区三区精品麻豆 | 国产精品s色 | 狠狠亚洲 | 国产精品日日做人人爱 | 国产精品久久久久无码av | 老头搡老女人毛片视频在线看 | 99pao成人国产永久免费视频 | 91免费视频| 日日碰狠狠躁久久躁婷婷 | 欧美一区二区三区在线观看 | 欧美日韩黄色一级片 | 91视频国产一区 | 久久亚洲春色中文字幕久久久 | 日韩中文字幕免费 | www.亚洲.com | 日本天堂视频在线观看 | 人干人操| 亚洲国产成人在线观看 | 欧美在线观看一区 | 亚洲欧美激情精品一区二区 | 亚洲电影第三页 | 亚洲码欧美码一区二区三区 | 四色成人av永久网址 | 久久精品电影 |