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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2554|回復: 2
收起左側

求MH-Z19二氧化碳傳感器的程序

[復制鏈接]
ID:269410 發表于 2017-12-31 10:12 | 顯示全部樓層 |閱讀模式
求MH-Z19二氧化碳傳感器的程序
回復

使用道具 舉報

ID:269410 發表于 2017-12-31 10:13 | 顯示全部樓層
有沒有大神有MH-Z19二氧化碳傳感器的程序
回復

使用道具 舉報

ID:258566 發表于 2017-12-31 12:55 | 顯示全部樓層
#include"reg52.h"#include"stdio.h"#include"intrins.h"#include"lcd1602.H"#define uchar unsigned char#define uint unsigned int#define ulong unsigned longuchar code tab[9] ={ 0xff, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79 };uchar date[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };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[tmp00 / 100]);        WRITE_LCD1602_DAT(LCD1602_Table[tmp0 / 10]);        WRITE_LCD1602_DAT(LCD1602_Table[tmp]);    }}void serial() interrupt 4   //串口中斷服務函數{    static uchar j=0;    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; //允許串口中斷}//////////////////////////////////////////////////////////////////////////////////////////////lcd1602.H:#define uchar unsigned char#define uint unsigned intsbit RS = P2 ^ 5;sbit RW = P2 ^ 6;sbit EN = P2 ^ 7;uchar LCD1602_Table[] = "0123456789";//LCD1602顯示標尺   //0123456789abcdefuchar code DIS_TIM[16] = { "    PPM=        " };    //顯示溫濕度uchar code DIS_STA[16] = { "  Test is   oK! " };    //uchar code DIS[16] = { "alarm       ppm" }; //extern void delayms(uint xms);void WRITE_LCD1602_DAT(uchar date){    EN = 0;    RS = 1;    P0 = date;    EN = 1;    delayms(2);    EN = 0;}void WRITE_LCD1602_COM(uchar date){    EN = 0;    RS = 0;    P0 = date;    EN = 1;    delayms(2);    EN = 0;}void init_1602(){    unsigned char i;    RW = 0;    WRITE_LCD1602_COM(0x38);    WRITE_LCD1602_COM(0x0c);    WRITE_LCD1602_COM(0x06);    WRITE_LCD1602_COM(0x01);    WRITE_LCD1602_COM(0x80);    for (i = 0; i < 8; i++)        WRITE_LCD1602_DAT(DIS_TIM[i]);}

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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