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

单片机万用表仿真及源码 能测直流 交流电压 电流 电容

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
单片机万用表仿真及源码 能测直流 交流电压 电流 电容
: E  _5 @5 b- |  u: X
, M3 L/ [2 m5 g/ a# {+ @
3 E9 O6 m6 s7 g9 y9 Q, [+ A
这是一个51单片机做的仿真设计,一个能测直流电压 交流电压 电流 电容和电阻的功能十分强大的单片机万用表仿真分享给大家:0 G" g7 h6 h3 A+ l9 t5 Z; ?8 o

6 ~3 Q+ C2 y: ]  p* |* C# U万用表继电器附操作图 万用表的仿真原理图:5 E. w# h( N9 f* s2 `/ R' k

. |( g5 K  C$ a, @单片机万用表程序源码:
& h! X* e7 E8 q( @" E" o
#include<reg52.h>
; a+ n3 O6 d2 ~! R6 D) p3 z# s#include"LCD.h") `2 i# @) R, [8 l
#include"Delay.h"' d( S& k& W8 A0 r* z
#include"AD.h"
6 a  O* p. b# F9 b- J#include<measure_define.h>
4 o# v+ I4 r, x$ G0 Y#include<KEY_FUNCTION_DEFINE.H>3 `% K0 G  `$ g
#include<Cap_define.h>8 `: X6 s0 W) c8 d- T  a
void ININT_int1(void);
9 H3 B, j5 ]; t1 t- y/ x" y3 u0 a: \- T
, l7 e# X9 K* \7 O, n
extern uchar key_number;' O/ r3 e) P; h; ^1 s
extern uchar disp_value[5];
; V4 R3 v3 Q3 Z. Q; Vvoid main(void)
' a* O5 x5 }8 H: K* V5 M{         
9 Q+ c" z6 ^/ n/ `$ f! Z/ K, }                uchar num=0;0 `/ R; K2 F6 X/ M0 O/ a. A. B
                s1=0;                                          
  o+ |1 y- O% w% F$ B# o9 O# p                s2=0;
3 T# g2 ?, A+ C" j, o+ X5 q2 }                s3=0;
. E3 v4 Z  I. a9 K                key_number=1;                           //初始化按键的值为0
" v$ t9 c& M; h9 \' n4 L7 B4 _        
- D" M7 }8 a; P4 E                LcdInit();                                    //LCD1602有初始化  3 S% D5 _. [- r- \9 J! a
* \8 Q! H6 @; E" K! |/ o

* o* S2 u1 K  P" w" |% \                WriteCom(0x80+0x46);                //1602第二行显示 value=00000v
  R& ]8 W* i: k5 ]8 P8 o                for(num=0;num<5;num++)                           
) N: v5 W; O+ |0 T; \! e/ y                {
% r, D0 }7 ~$ m* X' c6 O' z                        WriteData(disp_value[num]);( k9 y6 I7 u% C' @( M. b
                        Delay(10);        6 v7 ?' S/ [3 X
                }         
$ u$ Q) _0 p# ~# V7 F( A8 z) F        ININT_int1();                                            //外部中断1的初始化2 d- P9 j% `9 d# O7 S8 Z
        Tmie0_init();                                                //定时器0的初始化) y5 f7 a% z9 f! @+ \
                 - x3 R0 H- }! z+ V0 f! E$ J/ i
while(1)3 p% F8 M  y0 ^( O+ O
        {
2 p5 L& K2 i8 u+ i+ Y8 v  S# F& @* K                        if(key_number==1)                  //按键值为1* I- l6 H: A" Q2 m# }4 O; n
                        {# `! F! m! Z4 ]' N6 v9 }# f* x
                                DC_VOL_measure();          //直流电压的测量
; G% [1 c1 W5 Z8 F: E9 K                        }
+ I$ J; D( [" V
8 x5 G5 j8 y$ N

( r5 v* b7 Z: M5 i: t* T8 ?! g                        if(key_number==2)                  //按键值为2
) ]7 {# I( A' J$ b. Q# d" A                        {5 k) M+ G1 `/ ~3 C- h( Z
                                AC_VOL_measure();     //交流电压的测量
. A; N3 z* {2 Z8 S  P                        }
# V( m4 w* R$ T0 z+ S* v6 X- l7 ]4 d. ~4 P7 }7 l" s
: m, K" W- T& u
                        if(key_number==3)                  //按键值为3# M0 j, x& S/ M2 ~/ p; d" }
                        {) G% l, T8 j& J3 k% h
                                Circuit_measure();          //电流的测量
/ |- ^1 O  P- S$ m5 v                        }                         5 T" R- g: G! m! U, B3 \9 F4 q0 _
                        ( y) _7 F9 [% ~5 ^
                        if(key_number==4)                   //按键值为44 X) d' |" u( i! }# _5 z0 w0 f
                        {5 n2 f0 N" ]4 O
                                Res_measure();                   //电阻的测量, [) s6 a$ l+ G6 }3 C4 T
                        }                         : v# {, U9 `& A$ C. k( Z1 x& |
                        $ `( M" v5 w$ O5 D9 j8 A; ?
                        if(key_number==5)                   //按键值为5
$ R. T; f& E9 E/ O2 F- u- J                        {$ F/ Z' V# Y; O' o( A, N1 A6 w
                                WriteCom(0x01);                   //清屏- |0 E1 I; X2 _3 i+ e+ y
                                Cap_disp_init();           //电容显示初始化3 V3 I6 s( [* R) Q  B* W( R
                                 Cap_measure();                   //电容的测量- C0 t9 c% r3 q
                        }        /**/# E( q8 V2 ~: ?2 d  [8 S8 C
                        
9 a  B0 [* Y5 F7 k0 o, T/ b5 Z; O, L( g' M

6 T( E  K+ D' h: C% A8 A) |  j! w        }         ! |  p1 w4 Q4 g
}                 # Z' Q  e2 p! ]
游客,如果您要查看本帖隐藏内容请回复
* p3 t4 n! Z7 z! F4 V  l
7 U/ t3 Z- u8 t6 f4 c

该用户从未签到

2#
发表于 2019-1-11 15:06 | 只看该作者
不错,学习一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-19 19:21 , Processed in 0.109375 second(s), 26 queries , Gzip On.

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

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

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