找回密码
 注册
关于网站域名变更的通知
查看: 482|回复: 1
打印 上一主题 下一主题

MG-811 二氧化碳传感器 测量控制程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-21 13:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
MG-811 二氧化碳传感器 测量控制程序
+ W+ y$ j/ b) l; E, P7 q& C* ?: i  L* I1 p3 q

- M  K5 ^& s* f, l完整程序代码下载:, P3 \: I$ w. S) Y" \2 O: f/ b
游客,如果您要查看本帖隐藏内容请回复

/ r" E2 B& f0 c1 N# T
9 \2 u! @) I7 R8 }4 f  V: p9 P
  Z( N" T6 W2 S' C6 L# Z
, z- A) b, k. A8 q- q

" J; ]% K5 P$ J. t+ p  h下面是主程序:1 N; `9 c0 l! e* T- e, w9 j# g
#include "lcd1602.h". \1 d+ P. x! @* B# v
sbit ST=P3^0;   //A/D启动转换信号  D! t; H  d0 V! ^% H/ O+ j- _
sbit OE=P3^1;   //数据输出允许信号
- f  M3 K. W, H: Z  [* M" psbit EOC=P3^2;  //A/D转换结束信号* h; W2 ]7 ^% a6 ?
sbit CLK=P3^3;  //时钟脉冲  . f  z" B. {. x, U5 w  L; F3 Y! y
uint z,x,c,v,AD0809, date;        //定义数据类型
* g) k, _- p) n6 o( B% e& H2 A0 O( [4 |
8 o1 B! B) l- D6 S% [; w4 }7 i/**********************************************************************6 @; A# U  n1 t
                数码管动态扫描4 \! g' k8 e: |" ~) W3 d# g2 o
*********************************************************************/2 b  S4 E* v' g3 J$ g7 ]6 |
void xianshi() //显示函数: q; ~4 f( c! e! B4 v
{
! l; V7 B$ w; @% m: h- e) [uint z,x,c,v;
7 r) Y$ f, I. h8 T" r  z=date/1000+'0';                         //求千位
+ R. f3 p& M1 c" O% e; D  x=date%1000/100+'0';                 //求百位/ J. ^8 M" l: h6 j2 A7 K
  c=date%100/10+'0';                 //求十位+ L5 D8 U6 v& G/ P( j7 e
  v=date%10+'0';                         //求个位* P3 }- E3 ?* V# m/ Y. F5 i, }, P$ Q
  DisplayOneChar(0,0,z);
3 |- b( d9 u3 R* y# `) C1 Q- N, K  DisplayOneChar(1,0,x);
3 e$ y4 s2 F" V; y* t; P  DisplayOneChar(2,0,c);
# a6 U- F7 [8 X* x! j  DisplayOneChar(3,0,v);
  z/ P1 |, n- a5 h7 n  }4 x: L+ j2 l. K' y
/*************************************************************************
+ _9 L* P+ q# R' ~3 M                                CLK振荡信号        
4 x- h" f+ v$ l  H& N**************************************************************************/
# i$ P  ]! T" {$ G2 V: r- O9 ?2 _& ovoid timer0( ) interrupt 1 //定时器0工作方式1
. r, q* n5 D" A6 U% a{1 T9 P+ l- H3 v2 z

+ {1 ^6 T8 d5 \! Y, ^TH0=(65536-2)/256;          //重装计数初值
* ?$ p! v) o" ^) x+ o" x5 U; ?/ Z: nTL0=(65536-2)%256;          //重装计数初值- i- s/ {9 O5 U9 R: @- A
CLK=!CLK;                          //取反
" U: W) x" D7 B& ]6 n}! o" k& C" Y* y& k7 N" T% N

7 [: x& h2 r& `  x' z /*************************************************************************+ T0 w6 U3 R* D/ q% X! }
                                主函数        
/ i  b% S) b, z( X4 ^! i**************************************************************************/1 s  Q8 c! k+ O- i
void main()( e$ \& D% r+ ^$ x) }
{ 3 {  `/ t0 _, |# G$ [! ~3 `- B8 p
InitLcd();* S5 ~; l) u- M
TMOD=0X01;                          //定时器中断0
) @/ E( o! ]7 D4 g2 g5 ~; I  g, P( M' C* J8 ]
CLK=0;                                  //脉冲信号初始值为0
/ C. P/ u, e) F  R& V  UTH0=(65536-2)/256;          //定时时间高八位初值+ L4 i1 T: g  m' p5 f
TL0=(65536-2)%256;          //定时时间低八位初值
/ i: H. t. P% E( g0 R7 REA=1;                                  //开CPU中断4 t$ \& e: M, ]  K' U/ E
ET0=1;                                  //开T/C0中断- l! y1 ^7 U; z3 x8 g2 U
TR0=1;
: a" j% x) a0 s* o( v( n while(1)                           //无限循环# z+ n( H4 \) G3 O3 g7 ~. t
        {1 k0 ^1 D* d. v# w' A9 J
        ST=0;                                //使采集信号为低0 l5 m1 ~, m# _  a: V3 _6 J
        ST=1;                                //开始数据转换# R; D' `9 S/ [4 s" `7 }" E
        ST=0;                                //停止数据转换3 S) C. q. B; i$ E/ p% R
        while(!EOC);                //等待数据转换完毕" I; j0 d' u' b
        OE=1;                                //允许数据输出信号% m- ?+ S$ Z9 n3 ^1 H9 _
        AD0809=P1;                    //读取数据: U1 |9 B/ C2 a0 P" j
        OE=0;                                //关闭数据输出允许信号
: A) p  r! |- ~        if(AD0809>=251)                //电压显示不能超过5V6 D; ~+ Y9 b8 U! N" `5 o- X1 Y' U2 q
        AD0809=250;
. ~" t; S( P) ~; r; m        date=AD0809*20;                //数码管显示的数据值,其中20为采集数据的毫安值
1 J+ b( x5 P% j  w. O        xianshi();                        //数码管显示函数/ n* b+ a( Q1 X
        delay(100);" \9 a) T( I6 q  e. G+ }4 r% ^
    }9 u, g3 z, {& F$ B0 B: V
}        + ~4 W: o7 |! s6 D& d" S" e( V" ]
( M& [: V2 c: d, a: U8 @. u/ t; x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-19 22:19 , Processed in 0.140625 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表