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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
单片机万用表仿真及源码 能测直流 交流电压 电流 电容
  G2 \. _, s; G0 c, m7 q. c8 U6 |5 m1 `# o1 ?6 U% H' A

  S. c* s% Y/ g7 w7 h) r这是一个51单片机做的仿真设计,一个能测直流电压 交流电压 电流 电容和电阻的功能十分强大的单片机万用表仿真分享给大家:3 `" R. ~  v  o+ v0 U* i
; @8 o& I: b- Y5 Q; I) f' Z/ k
万用表继电器附操作图 万用表的仿真原理图:, }+ R& B* |' Q; r; Q
5 O' ?) F* \' P! |
单片机万用表程序源码:
% E" `3 t# R7 U& K9 z/ ^* \* b3 P
#include<reg52.h>: }/ T" v% k! ^( T7 \- _
#include"LCD.h"
; p0 Z6 d. m/ u% f#include"Delay.h"
& L" c7 f8 p8 V+ C' ^#include"AD.h"  P7 k0 m. U( _$ a4 q
#include<measure_define.h>
7 q* ^. u3 y/ U9 W" @, I#include<KEY_FUNCTION_DEFINE.H>
" g+ S! r) \1 Q& z, ?#include<Cap_define.h>6 S+ n% B* C# _+ N; ?2 F! K: n
void ININT_int1(void);! D; F1 F8 O/ g+ ]6 V
4 X3 `2 y; Z2 P3 ^/ a
8 i5 Z% D" R. \# o9 X% s
extern uchar key_number;4 V$ i' `& A/ q- |4 s9 V  A
extern uchar disp_value[5];
" e5 Q4 D  {: L" @: Kvoid main(void)
8 r5 v" ~. M9 Q* T- m* J{         
# R1 P0 l- I$ {4 L, W% m1 Q. A                uchar num=0;+ ^6 ^0 G4 D4 B; M4 ]8 p5 F
                s1=0;                                          $ C9 O* ~5 u$ p: o$ P0 u
                s2=0;5 _. i. Z" \8 e  F* V& J# z
                s3=0;4 J/ i+ Y' _/ }, F. f* M! `5 [
                key_number=1;                           //初始化按键的值为0; l" A" @0 ?' `2 o1 Z
        1 A6 [! n; h. X$ e% {0 g
                LcdInit();                                    //LCD1602有初始化  0 H, k) a: J% o  C/ T( I% y7 o

& t5 m8 Y0 r5 @+ A9 `( z; {
( f; V3 b8 P( \9 ]% O& O) F* {
                WriteCom(0x80+0x46);                //1602第二行显示 value=00000v
' F9 ?4 v0 l6 ~0 Y' ^                for(num=0;num<5;num++)                            : \) p- {7 @9 [& v9 P( E8 i
                {7 A# T$ b5 `) `. T& }: o% Z- |" r
                        WriteData(disp_value[num]);6 V7 i6 ?# E0 q' E8 ^) S% \) S6 k
                        Delay(10);        
4 Z7 Z2 Q  `9 T- A# E  l                }         ; T) Q4 V- F! s( w' X
        ININT_int1();                                            //外部中断1的初始化3 L0 L( Z5 x+ [  x* k. ?
        Tmie0_init();                                                //定时器0的初始化, x& o& @5 q' t8 ]: z0 n9 C
                 0 ]1 |- V, d3 Z
while(1)' z7 [" P& ?% o+ O% a
        {0 E9 I, A, s* X& ?4 K
                        if(key_number==1)                  //按键值为1+ [9 h! o2 C" Q# y1 ]
                        {
! J, V! u  h8 Z, K, e4 W& O! {6 C/ i                                DC_VOL_measure();          //直流电压的测量! ?' l; {. p9 ~  Y- _3 g8 ~1 [, G  e' b
                        }9 w9 A' a' T9 f8 ^

. U) ?5 ]6 }$ Q5 B- p+ w
% \4 t2 W. E8 S  i- x9 A6 f5 l$ O
                        if(key_number==2)                  //按键值为2
4 h+ v5 X2 p. h" W+ G2 r                        {$ b2 c* i+ s1 Q. P) v! G; ]& s: u
                                AC_VOL_measure();     //交流电压的测量  x: Z: S. Z  E' ^7 F
                        }
1 |. x2 l6 |  _! U/ s+ W5 H& P( ]3 ^  \( e1 t
' ]6 P9 w* }! o5 y7 N
                        if(key_number==3)                  //按键值为3
1 ^6 G" Y; L2 k5 w$ `0 u                        {$ A! Z5 {4 D* p0 t1 M
                                Circuit_measure();          //电流的测量
; Z: D2 V+ N" e                        }                         " I+ W3 l1 u. c' e, f
                        ! O6 h* A- ]! G+ h* Y- |% ^# C5 d1 P
                        if(key_number==4)                   //按键值为4
3 {8 |( _: `, s5 _0 o: A                        {
& K7 U6 E# A0 T- U                                Res_measure();                   //电阻的测量- D0 {/ C7 S; m6 `7 f
                        }                         : m: {# {( D- G  e
                        / `- N# D' u% ?2 o; M1 S! O
                        if(key_number==5)                   //按键值为56 Q& t# V" T) u) D- I0 Q' i" @
                        {
+ t6 \  N5 u' A; Y' `5 z                                WriteCom(0x01);                   //清屏
# I. y) t4 Q# |4 P0 |2 J                                Cap_disp_init();           //电容显示初始化
7 y( b1 c* y( u                                 Cap_measure();                   //电容的测量; `7 G0 q  M- l" Y8 ?9 j/ o+ s' ^
                        }        /**/6 A. p' Z# }$ n7 }
                        + R, W- h2 h* t6 P5 }
7 _- a' Y- ^. @( s( |
: Z& ]- p& o$ ]" z. k( P  D
        }         
% u: O, F, E; i! s/ Y}                 
7 ?& M" ]% j$ A' n, z1 Z) x9 ]
游客,如果您要查看本帖隐藏内容请回复

5 t; |. e9 e" G) @4 |* I+ f
, \' G; e7 w, z" k- k, Y

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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