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

酸碱度ph传感器 单片机源程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-12-3 07:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
酸碱度ph传感器 单片机源程序: H; d: U1 D' q

8 U6 I! o% |0 f6 g3 T% E# x2 u5 R

) q+ w) {2 X0 i' a( \
分享一个测试酸碱度ph传感器的单片机源程序9 E# _3 L0 Y5 U0 ^, _
: o6 l. d& G3 b2 o, p7 v
1 x+ `8 u4 {* M; \
单片机源程序:
/********************************************************************
3 V% E( p+ j% i) c                           龙戈电子
5 Z' u9 Z1 Y# G) o$ Z- e5 v4 t*********************************************************************/# W1 L9 H% }" ]+ m' l' `$ L
#include <reg52.h>             //头文件3 l& l+ {% J8 `
#define uchar unsigned char           //宏定义无符号字符型
+ ?% L- L! I6 d- w" P#define uint  unsigned  int           //宏定义无符号整型
1 a7 ~3 _5 Y# x+ l3 S5 xcode uchar seg7code[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //显示段码 数码管字跟+ z" m' Q5 v9 c
uchar wei[4]={0XEf,0XDf,0XBf,0X7f};  //位的控制端                                                                 //位控制码! x* j6 w- e9 f2 i; j
sbit ST=P3^0;   //A/D启动转换信号
; \, v. N8 O2 `) ]sbit OE=P3^1;   //数据输出允许信号
* ?5 S; I" k! u. Q& E* t$ M/ h/ ^sbit EOC=P3^2;  //A/D转换结束信号
% v2 _& v% f! lsbit CLK=P3^3;  //时钟脉冲    t/ c& N( p, m, c3 G2 r
uint z,x,c,v,AD0809, date;        //定义数据类型5 R+ X0 a. v5 G4 y6 `
/******************************************************************
/ E1 {1 I) o3 i; y9 V" D9 z延时函数
3 v0 R9 `( K) t' _$ I1 I******************************************************************/$ _9 R& i1 V6 ]0 X9 x
void delay(uchar t)  t; b5 h; h7 W# q' G% T2 M
{
3 G+ M0 Q0 y- z" i( `  |# D( O  uchar i,j;
) J3 `1 z* Q8 K0 F3 e   for(i=0;i<t;i++)+ J/ {7 v5 I8 W6 M
   {/ x$ ^+ s0 ^# H& ]4 Q
            for(j=13;j>0;j--);" |3 F0 W7 N- `" V& Y$ [
         { ;
  f$ S/ Q0 G" P7 R         }
$ Z+ H6 O* g$ T$ I6 W/ h5 u   }5 N' ^4 h* y3 Y, [, G2 Z
}% l, L7 k0 [5 r1 Z' S
/**********************************************************************$ ^: P! ^$ M: d* ~- E5 i- K
                数码管动态扫描
) k( x/ `; |( G9 C6 F1 m+ p*********************************************************************/
1 m5 Q0 b: [/ u: J/ B( q( kvoid xianshi() //显示函数/ T& c, H2 E+ g) E9 V' J6 O
{
- E" W6 P; G  @* q; Vuint z,x,c,v;% `' j$ h. d! i6 p4 Q% c& w6 {: J
  z=date/1000;                         //求千位
- H. f3 q, ?+ T8 \% Y  Z/ ?2 w9 E  x=date%1000/100;                 //求百位% D) n( n4 |6 j! i6 d( _0 D
  c=date%100/10;                 //求十位) I  O, M& U9 ]
  v=date%10;                         //求个位
; S1 l& u' J- x5 Q  u! B+ f: e
$ N5 y# ^7 [# L+ {6 \& A      P2=0XFF;0 O8 j/ X) B' I5 `: w+ T/ z& r
          P0=seg7code[z]&0x7f;( Z  _& M4 A  t; x$ H( I
          P2=wei[0];4 ?5 A* C6 W( \6 Z5 G# T7 J' b. [
          delay(80);. [. G2 N$ ]1 f& A; n
          P2=0XFF;  
% [! S- v4 v+ K9 d" u( P4 _      P0=seg7code[x];
- Q+ U* h. E- C3 ~6 b' X          P2=wei[1];
" o- V/ h" F- e5 _" p, T( @' R. L0 w          delay(80);# [1 K6 s& V! K
          P2=0XFF;  
' B, J, {/ j. s2 H* g2 J             P0=seg7code[c];7 q" [: B* C# w6 |1 c; C+ N1 [
          P2=wei[2];
0 k+ Z1 }* V/ y! p# v; u          delay(80);1 g: T) ?1 A+ t) `! f
          P2=0XFF;  ; q1 j6 H3 U* M( u" k, B, u) [7 v
      P0=seg7code[v];/ w/ w$ N8 ^& G- E- f9 D9 J
          P2=wei[3];
, G6 O/ |. U9 U7 y3 g/ U          delay(80); , v0 D- E9 f8 H" [+ ~9 U
          P2=0XFF;! o3 f$ i5 S  N2 p1 U' p
  }
' g9 n5 e4 p/ M& \- y8 C, u /*************************************************************************
, D; q# I+ E3 k/ G) b- P! F                                CLK振荡信号        ) Q) T. x, b% O5 V
**************************************************************************/
2 b0 R9 ^6 |$ v; `9 @+ `void timer0( ) interrupt 1 //定时器0工作方式15 s" H$ w2 {9 O; T7 H
{3 O3 l- j" E! V  T# v9 v( J+ o
, I. {, J, U7 X  ]" p' c& d% T
TH0=(65536-2)/256;          //重装计数初值
! e3 i2 @! U, N2 v% o% L- e+ }TL0=(65536-2)%256;          //重装计数初值3 P0 ?2 Q0 ?+ k& A( D6 p! [
CLK=!CLK;                          //取反6 n9 y9 d) n- ^0 g- e
}0 t6 P, j1 q  E1 c' E

' E. F5 k2 A6 }' s; o- l. I0 \. H' Y /*************************************************************************/ q/ R( Q4 p0 \! }0 s+ s
                                主函数        
% L. P% W' w& F: t# }**************************************************************************/
# E% }1 v% [7 b4 q6 z; k8 x8 A void main()5 o! e& E8 i, B, m
{ & E7 P7 d. [" X7 q4 _/ i
TMOD=0X01;                          //定时器中断03 K4 B8 w7 i) q/ v$ t! w

: w# o) T$ S3 f9 s8 Z1 {6 QCLK=0;                                  //脉冲信号初始值为0
8 i/ c: X9 h7 jTH0=(65536-2)/256;          //定时时间高八位初值
, g: P- C  A- v1 ATL0=(65536-2)%256;          //定时时间低八位初值
4 a3 _7 L- z/ T* P0 K% @EA=1;                                  //开CPU中断$ |, a) t0 P  o6 ~$ ~$ X
ET0=1;                                  //开T/C0中断$ O1 X8 g1 u2 `- N( U
TR0=1;
( x- e( x' b- V0 `$ D1 A while(1)                           //无限循环2 ]$ D$ m  G. }3 m
        {
) a) P3 j; r" `        ST=0;                                //使采集信号为低( a8 r; j6 Z- W* e0 S
        ST=1;                                //开始数据转换' S) Z; M; ?0 Z. {+ g
        ST=0;                                //停止数据转换
& |+ P- O* S2 s1 S3 j        while(!EOC);                //等待数据转换完毕) s7 ]  D  C, Z; e
        OE=1;                                //允许数据输出信号, z9 J1 i! i( b/ w) N
        AD0809=P1;                    //读取数据
$ O8 x7 p1 j# p; t* [/ W2 h        OE=0;                                //关闭数据输出允许信号) y0 x+ v, {" F4 A. n9 A9 K* o* V5 Q
        if(AD0809>=251)                //电压显示不能超过5V4 e# Q, [( ?! ?5 c3 c/ W
        AD0809=250;
5 o5 W' V9 P* N' N$ r* R& E        date=AD0809*20;                //数码管显示的数据值,其中20为采集数据的毫安值
1 r- C( H: B. [  ]  D  W& ~- Y. Z
4 A$ L7 x% L! V- ]2 P; C5 y/ B4 U, ]: _: z* o0 L
…………限于本文篇幅 余下代码请从论坛下载附件…………+ L1 d) e1 I$ q$ W' _- m
游客,如果您要查看本帖隐藏内容请回复

# ~! A& u% J+ }5 q# @1 R, M) K
& \' d" T5 r8 C+ W8 \: o- |3 @

该用户从未签到

2#
发表于 2018-12-3 10:11 | 只看该作者
不错不错 谢谢楼主
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-18 22:44 , Processed in 0.093750 second(s), 26 queries , Gzip On.

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

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

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