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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
智能温控器单片机源程序 热敏电阻+ADC0809检测 Proteus仿真6 Z9 n: }5 u; G' i# ~

* O% f# [, q; p) }
6 I$ L6 p0 X5 Z/ A
51单片机做的智能温控器设计:ADC0809,proteus与程序,用一个可变电阻代替热敏电阻来实现仿真控制.
7 j2 o2 U4 z- O/ j: N: R9 t! G  n51单片机源程序:
- q4 c7 [7 {2 ?+ \4 B* A
//设计要求:智能温控设
) f/ Q( E2 I3 n1 ^* r  W//用ADC0809检测温度,如果大于设定温度则断开回路,小于
7 Y; w# I( T0 t2 H//则进行加热,等于设定温度则保持不变' P/ V! {& Q7 H+ \% a# j7 j4 [! c1 x
//其中分别用数码管显示设定温度与实际温度
4 p5 e9 n! Q) s. u, {) o//用两个按键进行加减设定温度
: A4 l  V0 d+ H: S0 v' |; U//收获ADC0809高位应该与单片机低位连接8 R. U5 k& i5 A7 V5 M. @$ m
//在读取温度时必须先将P1口复位为1,不然会发生短路现象
/ P" r: a1 f' N3 [$ J8 t& |#include<reg51.h>7 R" x- r  N' G7 }2 i
#include<intrins.h>' n8 G1 {4 S5 D' N% g& d( y2 Q
#define Duan P0$ l: T! p2 s+ @  ^
7 L1 B: \  T5 F, U: D

) m0 n3 h( i! T7 p! i% Usbit wei1=P2^0;//数码管选通
9 N* e) |5 @( A, |/ wsbit wei2=P2^1;
  C- g! d7 C7 J) N6 R2 a9 Y: i& tsbit wei3=P2^2;
6 l) S: S0 @7 f* W$ {: isbit wei4=P2^3;# Q/ N  Y& m1 S' n4 t
sbit Relay=P2^4;//控制电路继电器闭合,使加热
6 |% u* g0 t! d( psbit Start=P2^5;//AD0809开始转化端口
+ m* A" w% e% ?. {sbit EOC=P2^6; //ADC0809转化标志口; m+ y, B! g( @) F% ]: ~
void System_Init();          //系统初始化, [& b; b7 G( e
unsigned char  M[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管段位9 Q3 W: Y- t% V" ~' [2 U
char shezhi=50;
1 L" s, ~) Q, b0 i  W6 aint val;//转化值
; T, s5 C- a. c1 s+ c/ P) r3 _: |char i=0;) H7 U$ [& U$ o1 G* R2 a; f
void delay1ms(void)   //误差 0us
/ z- Z/ I0 o# _2 R2 a& o5 e{0 U! `. v) H2 u0 h7 N6 A
    unsigned char a,b,c;3 C" @- u% r3 L8 E2 c2 x0 w( U
    for(c=1;c>0;c--)
; s( l1 T# R4 w6 ?" e6 {        for(b=142;b>0;b--)3 l) L9 q8 e0 w  j' `* B8 v
            for(a=2;a>0;a--);
5 D" c; ^) \. b* T* `}/ y% M; R% O7 S

) v. w" Y9 \% I4 w( X. |1 `

0 q  j; A! Z% O' o4 Tvoid main()( |2 v" Z% P, S
{
# X$ C$ m: C0 L# J  System_Init();
- ~& p* a# b9 E1 A! y  while(1)
' R4 h! r* z) x8 Q4 v3 Q# i& q& ]  {$ u' ~2 |8 k6 m& L; R
    P1=0xff;3 C' G4 F" \6 t2 t) W4 p+ E
    Start=0;
( M/ v) P: m/ G7 R' h  J% p" n    Start=1;  //开始转化
# m  j. a- S2 z$ _! R6 q* P    _nop_();1 x* `3 z5 \1 P4 Q" n' [3 L; p0 i
    Start=0;        ) H* O2 \+ E" Y3 u6 G
    _nop_();
  Z) Q4 g) Z4 Y1 T1 P    while(!EOC);   //转化结束4 l, r2 U/ G) @) @
        val=(P1*100/256); //量程转化% m7 d! {0 x; s# P  G1 G
        if(val>shezhi)//是否继续加热
5 z9 J7 O" {- Z9 L) Q        Relay=0;. @& K1 ^# b( C: e
        else
: N2 h. w3 [- r* g        Relay=1;) b2 X9 i" o9 j) e/ ?
  }
3 |! V9 E" r" I& }}
6 I, \* `8 q0 {% o3 R1 zvoid System_Init()2 P7 R  _$ }3 I! k$ w% u
{
8 L5 W7 K+ D7 `1 Z6 c) n  TMOD=0x01;
/ i, g2 Q9 \" z$ t! Z  EA=1;( h& \- F! ?2 x. N$ K. t6 h
  ET0=1;
% d8 Y6 e- ?) W' R# Y" n3 k, t  TH0=(65535-5000)/256;
4 ?$ F$ E" ^* I  TL0=(65535-5000)%256;6 k! m# Z) T1 o5 Y1 c( h: u! \! |
  TR0=1;
, c/ v9 t$ ], X. y0 g  EX0=1;
: y. x. E7 v; ]7 Y  H. p  EX1=1;* Y3 f5 ^- b. g# F
  
8 S  m7 L, r+ s% w! a7 h$ {' e. A  D) {! U( ]: ?3 Q* h0 a3 y

% Q3 ]( y. D, x8 F, n…………限于本文篇幅 余下代码请下载附件…………% J8 E6 N( E, T0 I6 L
全部资料下载(仿真工程文件和源码):
3 Z$ b$ k4 c- ]2 v5 {8 A9 s
游客,如果您要查看本帖隐藏内容请回复
' s7 F+ C3 W( X8 }$ {/ e
* X2 ~; s. i# c4 n# f! w

该用户从未签到

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-1 15:58 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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