|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
[摘要]介绍了一种韩国三星公司生产的高性能8位单片机S3F9454。 给出了以该单片机为- _0 _6 j7 ]7 k2 n
核心的水位水温检测电路。分别介绍了--种通过串行发光二极管(LED)显示驱动器MAX7219与两
. J& k. U# z& U$ X8 }. k个3位数码管构成的水位显示器和水温显示器、--种有多个电极的探测棒和与这些电极相连接的电.8 U2 B; @+ u9 S7 ~0 ^% {
阻网络构成的水位传感器以及与其相关的水位检测电路、一种由热敏电阻构成的水温传感器以及与.
7 w4 w* T/ C5 H, l4 g/ ]$ b2 t/ Z其相关的水温检测电路;介绍了水位检测原理和水温检测原理;以及如何用单片机S3F9454来完成检.* }% W8 b$ o+ O. Q
测和显示的过程,给出了各功能模块的程序流程。: n9 m- T7 Y9 t5 J# r, b
8 ~, N( l6 b/ K% j7 y/ H
关键词:单片机,S3F9454, MAX7219,水位检测,水温检测
/ c% R1 x! \1 g R) c% H& q/ ]4 k& i3 F0 B
0引言* [- p) b# y9 q1 f+ _# Q7 h) E- c
S3F9454是韩国三星公司生产的高性能8位微处
- ~0 P {& w' h' v. z: O" x理器,其价格低廉、控制功能强、工作稳定,是一种较理& [3 H9 ?3 d$ y* }
想的微控制器,可以用于各种控制电路中。本文介绍.
2 P: `* @, _* o/ z. Z笔者为某太阳能热水器研制的控制系统中的水位、水
2 v( l, q6 ~2 y& y' [: A温检测电路的设计和各功能模块的程序流程。# J {( q$ R( c1 O7 Z
1 S3F9454 单片机的结构和特点
7 m! ?& y5 R/ V0 `* F* v封装形式:DIP,有20引脚和16引脚两种。, ]# _( f; _+ E. s) J" G
ROM:4 kB Flash存储器,208 B RAM。$ w8 u! j n3 k
RAM:208 B,其中16 B作为工作寄存器且这16
& g I/ M8 V+ ^+ b# M1 N* a个寄存器都可以作为累加器。
! K% @% k/ k4 U% C- Q控制寄存器:26 个,11个系统控制,15个I/0控.
8 h4 f9 P. X6 q- z制。
5 S: y6 a! K0 u精简指令集:41条指令,最短执行时间400 ns& n7 ]/ A! H1 {
(fosc=10 MHz)。% [0 M9 U6 G; W- b: U& r
振荡器:可接外部晶体振荡器,其频率范围1 MHz .- g% L4 C) x/ y' p( Q
~ 10 MHz;也可只用内部RC振荡器,在5 V电源时有! H! n% {+ @' V
3.2MHz和0.5MHz两种频率。) j8 f; f% K5 @5 B/ u, c
看门狗功能:1个8位看门狗定时器。.1 x8 K' ]& o+ A& X
复位功能:内外两种复位,内复位为低电压复位,.+ G6 s* b! m( t [/ U+ w
可设置为2.3 V.3.0 V.3.9 V;外部低电平复位;不用; ~4 \/ m/ l* O. U6 G& p) a$ K
外部复位时,其复位引脚可用做普通I/0引脚。
4 l% z5 W% p/ i; r# e* z, J2 V2 Z/ K中断源:4个(1个中断矢量)。) o# g! a9 [$ _7 e1 ~
I/0口:3个(最大18个I/O引脚)。
- v: C% J2 A) d脉宽调制( PWM)功能:1个8位PWM输出。
" [' ~. W$ f: m. z: U" _. i定时器:1个基本定时器,1个8位定时/计数器。
$ S4 N1 O: n( g' B7 hA/D转换器:1个10位A/D转换器,9个模拟输( }9 h+ ]; I5 k/ F% o
入。% e% Y. d/ E: R7 D# C3 k* m
工作电压:2 V ~5.5 V。
7 s' w+ }& L( E- h0 d6 ^! I7 z工作温度: -40C ~ +85%C% k6 |/ [! n, W' `( r& v! o
2水位检测; ]7 g& j# H% ^ z* r
图1为基于S3F9454的水位、水温检测电路。
& D& `# `7 Q& R% }+ x# i+ W# }可以看出,水位传感器是在一根探棒上等间隔布
$ @ V& Y* V: }/ c) G置10个电极,电极与-一个电阻网络(R1 ~R11 )相连,
5 T9 h( N. v# {4 J8 [它们与R14一起构成分压电路,设计时要恰当地选择
- u O( @( y. G1 \& F5 G这些电阻的阻值,使得探棒悬空时,a点有一个恰当的
& \! n' t2 K; f5 w% Y电压值。探棒深入水中时,每淹没一个电极,由于水电7 h/ A5 Q4 k: q- ~2 _
阻的作用,a点的电压值都会发生变化。不同的电压
' P! x# p% ~# E b值代表了被水淹没的不同的电极。R11、 R12、R13、2 c5 T9 h2 r$ B" _
C1.U1构成振荡器,该振荡器输出的交变电压接到探
m& @8 U: y; q# p! W+ q% z5 G棒的电极,这样可以避免水中的离子向电极沉积而结) ^9 u' V! z# k& W+ c1 s5 f+ L! r
垢。V1、C2、R15.U4构成解调电路,将a点的交变电4 F# ] b% k( U9 I
压解调成直流。R16、R17将其转换为适于单片机.$ J; }* F2 b* s4 o; g
S3F9454工作的电压值,该电压代表了水位的高低。.. b: A& p$ b& d$ e( p
把它接入S3F9454的P0. 6。8 `2 h/ z* j" v: @& s4 S7 v
P0.6是单片机A/D转换器的模拟输入口之- - 。
]6 ^" p' t/ [. J探棒在水中随着水位的变化,每淹沒一个电极表示水2 X9 s6 U2 {$ [! N
位变化10%。水满时,淹没最上面的电极显示100%。
: b# q! e- t2 b) N2 m单片机中的A/D转换器将这个电压变换成相应的数
, M0 s& U; ~- v7 g字量。该数字量代表被水淹没的探极所处的水位,数2 Z! U8 `) s* m" [; E2 _
码管显示水位分别为0, 10,20, ..,100,直观地表示水/ }- g# B# q% p9 a1 ^2 ^( q
位在水箱中的百分数。但实际的A/D转换值不是这/ B/ z+ r0 j6 z) q' p' y
些显示值,因此要对变换后的数字量进行处理,使其成
# R" |+ x E' W/ t( N+ [为相应的显示值。1 }2 Z$ Y+ {/ f& |$ j& f" `
3 V' O; P& x }( r+ e6 k
9 U: F3 P: e% r z; r附件下载:* ~% N, I% @2 E
9 T& J+ f' j! M0 q1 ^6 _4 V% K
|
|