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

智能温控器单片机源程序 热敏电阻+ADC0809检测 Proteus仿真

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
智能温控器单片机源程序 热敏电阻+ADC0809检测 Proteus仿真
; F. s8 f( Y' }  h
+ \& G- X1 I- u! o0 J

9 z$ _, h. Y+ V6 K/ O. c* G' a51单片机做的智能温控器设计:ADC0809,proteus与程序,用一个可变电阻代替热敏电阻来实现仿真控制.1 {8 t* j% t% |% A0 q$ R& K6 ]- |+ x- n' N
51单片机源程序:

& v4 P0 h9 P  y) P/ G: u( ]//设计要求:智能温控设5 W& v. M* B) T! ^# r$ t, ~, P
//用ADC0809检测温度,如果大于设定温度则断开回路,小于
8 D9 o% l4 v* q  K; a: c//则进行加热,等于设定温度则保持不变0 t) j' L2 W& l  ^+ F: ?8 h* i' e# }
//其中分别用数码管显示设定温度与实际温度1 y  j- f& T, f6 R$ P( o
//用两个按键进行加减设定温度
" q$ k  K( T* E  f' W9 ?//收获ADC0809高位应该与单片机低位连接) w" w& R: I! x, N7 O
//在读取温度时必须先将P1口复位为1,不然会发生短路现象
& V! U( I& g! u7 O8 B8 n( [#include<reg51.h>, T1 V# p' g& v8 X$ Y, L
#include<intrins.h>, q! _/ ?3 s) J- q# w
#define Duan P0
% L' p  V( W: w  v, W6 H
6 _# Y( h/ _0 v! m5 p, {

/ s8 x( s+ Y1 I( Q1 ^& m, dsbit wei1=P2^0;//数码管选通
, I2 `) f% s! H% m3 A) psbit wei2=P2^1;! T9 T) }; N0 o  T, }* K( R
sbit wei3=P2^2;
, p+ l  i  ?" e: B" [+ Gsbit wei4=P2^3;- ^. X& b  u- ^2 r
sbit Relay=P2^4;//控制电路继电器闭合,使加热
& V; R0 M% i' b8 ~' O( }% xsbit Start=P2^5;//AD0809开始转化端口
: s* X) x# Q$ x7 l. @2 S; l. Nsbit EOC=P2^6; //ADC0809转化标志口. z$ p2 P( x2 T: y
void System_Init();          //系统初始化7 v7 Y& G4 L  C+ P! b% e/ K
unsigned char  M[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管段位
4 ~1 @' z; |' P! E( d0 J0 @char shezhi=50;
/ }$ U8 T/ w8 o. u. Z; iint val;//转化值
/ r/ x# D/ o( R# Qchar i=0;
9 t% V+ \% }( }. }+ n" o9 w8 \void delay1ms(void)   //误差 0us# y+ [, C; U. r
{
- ]% d. I2 L- N    unsigned char a,b,c;" H' I, }+ M* [, o
    for(c=1;c>0;c--): }  \9 D6 ~7 u0 V& @
        for(b=142;b>0;b--)
+ D' g2 p2 K  b4 Y            for(a=2;a>0;a--);
$ h$ e5 O9 r  [& Z3 N}
2 P2 ^5 \& x3 m2 B/ Z, P
5 n! |; B9 v0 I0 a

, K5 m. L, @! p# W/ @" l4 ^# }void main()
) o( C' N0 [+ `: i: Z{
% x+ e' A2 m( R' ~  System_Init();" W+ }) M; R6 A1 a: i' V- ]
  while(1)
" {# Z. r# D. O3 u! N  {, K& S5 o9 @; i+ {
    P1=0xff;) T: Q. U2 C0 [1 j. i
    Start=0;
* o  V7 j5 a; d& L& H    Start=1;  //开始转化- x9 @$ `/ u" S/ p5 r$ p
    _nop_();$ I! @. |0 l' J, j
    Start=0;        4 Z/ T. `! U$ x/ s
    _nop_();
3 m, l* `3 S3 W2 L+ m7 m- P    while(!EOC);   //转化结束* q, m0 S5 J+ g* {1 @0 T- y; R
        val=(P1*100/256); //量程转化0 }7 i8 N# \1 P
        if(val>shezhi)//是否继续加热
, m- e# D3 N' Z+ M" X$ y8 k( G        Relay=0;+ N" d( E& Z. p
        else9 l! ~! i% T( L# f$ _' z
        Relay=1;
  j6 v+ O! x* N6 \  }
+ T( `0 A( x+ f}
) ?) A! J; @: Q0 t- Svoid System_Init()+ M- J& k7 o' k8 r
{  `7 L  r( X5 h
  TMOD=0x01;
' r! [. }' Y: Y. v% Q( Y# u: u  EA=1;" }+ G1 M3 B- f* U- W& e; a% e" {
  ET0=1;
/ I1 g8 G" |  M+ X8 y0 B; i6 I# e  TH0=(65535-5000)/256;
+ Q7 P# h5 `/ x- Z# i0 v# H  TL0=(65535-5000)%256;
7 M* u2 V. T# P& y% `  TR0=1;
3 \8 \, k! n  g* l2 F4 r9 r9 V# b; w  EX0=1;9 g' w0 C4 g; B  _; A5 U" Q& W7 D
  EX1=1;% U( m' E; c% B8 g
  0 t, [& e2 \* J: V2 @
1 i& d/ _+ I; ?# ]4 Q' U7 b1 H

+ Z8 N: ]' ^5 J& B0 K( t…………限于本文篇幅 余下代码请下载附件…………. w, O. A2 n' D& P+ P# ]& H  H
全部资料下载(仿真工程文件和源码):% @  Z! n% y4 M2 G1 }! b+ y
游客,如果您要查看本帖隐藏内容请回复

4 S, x' r: G+ Q+ y5 C" a; i/ j

# `2 H1 b: K1 [) s

该用户从未签到

4#
发表于 2019-5-22 10:21 | 只看该作者
学习一下哈

该用户从未签到

6#
发表于 2019-11-16 14:22 | 只看该作者
:hug::hug:

该用户从未签到

7#
发表于 2019-11-16 14:23 | 只看该作者
:hug::hug:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-12 03:54 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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