欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

CO2傳感器PWM輸出與51單片機

[復制鏈接]
跳轉到指定樓層
樓主
ID:264624 發表于 2017-12-27 15:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
下面的程序是基于52單片機CO2濃度測量系統,請問一下下列程序是否具有上位機通信功能,如果想用PWM輸出的方式怎么寫程序


#include<reg52.h>
#include<stdio.h>
#include<intrins.h>
#include"lcd1602.H"
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
uchar code tab[9]={0xff,0x01,0x86,0x00,0x00,0x00,0x00,0x00,0x79};
uchar  date[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
/************************************
    延時子程序
延時時間(xms*1)ms
*************************************/
void delayms(uint xms)
{
uint x,y;
for(x=xms;x>0;x--)
  for(y=110;y>0;y--);
}

void send(uchar dat)  //發送一字節   
{
  SBUF=dat;
  while(!TI);
  TI=0;
}


void main(void)
{
uint  tmp;
uchar i;
TMOD=0x20;  // T1定時方式2
SCON=0x40;//串行工作 方式1
PCON=0x00; //不加倍
TH1=TL1=0xfd; //定時器1賦初值  保證波特率9600
TR1=1;    //開定時器1
REN=1;    //允許串口接收
init_1602();   //液晶初始化
delayms(10);
ES=1;    //打開串口中斷
EA=1;    //開總中斷
while(1)      
{
for(i=0;i<9;i++)  //向co2傳感器發送數據
   {
    send(tab[i]);
   }
  delayms(1000);  //延時一秒  刷新測得數據
   
             tmp=date[2]*256+date[3]; //計算出co2濃度值
    if(tmp>9999)
    tmp=0;   
          WRITE_LCD1602_COM(0x80+8);
    if((tmp/1000)>0)
          WRITE_LCD1602_DAT(LCD1602_Table[tmp/1000]);
          else WRITE_LCD1602_DAT(' ');
             WRITE_LCD1602_DAT(LCD1602_Table[tmp%1000/100]);
          WRITE_LCD1602_DAT(LCD1602_Table[tmp%100/10]);
          WRITE_LCD1602_DAT(LCD1602_Table[tmp%10]);
}
   }
void serial()interrupt 4  //串口中斷服務函數
  {
   static uchar j;
   ES=0;    //禁止中斷
   if(!RI);
   RI=0;      //清楚接收完畢標志
   date[j]=SBUF;
   if(date[0]==0xff)  //判斷接收到的第一位為傳感器所發數據
      j++;
  else
      j=0;
   if(j==9)     //接收傳感器所發數據9字節
     j=0;
   ES=1;    //允許串口中斷
   
  }
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表