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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
单片机万用表仿真及源码 能测直流 交流电压 电流 电容- N; r# J& m# \& [
  @* r/ l9 k2 }5 X' T

3 ]2 \: V6 t6 d0 E2 r这是一个51单片机做的仿真设计,一个能测直流电压 交流电压 电流 电容和电阻的功能十分强大的单片机万用表仿真分享给大家:
5 k+ I/ e. @+ Q/ n1 }
1 m+ O  r5 _' s2 z万用表继电器附操作图 万用表的仿真原理图:) Q3 o' v( K4 Z! ?6 @& @

  W0 V! D2 y3 C8 j单片机万用表程序源码:

  K+ e3 ?4 m  q#include<reg52.h>7 I3 p7 f, R5 f0 z: c
#include"LCD.h": k. r: H6 {6 u. q
#include"Delay.h"+ p; n; I) L  `& e3 \
#include"AD.h"; Q/ i* v. ^9 J1 |- F8 {
#include<measure_define.h>
# Q7 }: A# w, m1 N. L  `#include<KEY_FUNCTION_DEFINE.H>
' t2 J# d4 v) P( F& I# C: \#include<Cap_define.h>
& {5 p. g; b8 u% M7 |3 Dvoid ININT_int1(void);
, i$ S. n0 `4 d1 C. r7 `
4 x( l1 ^4 D- M6 t& G
* O" k& l: l+ l3 d; @( A+ }& f* H, R
extern uchar key_number;
7 ^" x+ v1 D  _: T: R( Q, o9 Vextern uchar disp_value[5];
0 w$ p1 k( y" u; f  U% Qvoid main(void)+ b, }4 T0 [$ v, {9 x
{         2 X7 `( ^' V1 ~
                uchar num=0;: H& p9 K7 T7 [  ]# I' K. n+ _
                s1=0;                                          ( ^& R5 d$ i+ e* p7 F
                s2=0;8 j! [. I3 W: `% D7 F) F
                s3=0;* m3 r" h0 F6 B  l8 _; G' u
                key_number=1;                           //初始化按键的值为0, \. v/ b( v: j' [0 ]
        8 z; q0 g9 O5 A. N' c  M
                LcdInit();                                    //LCD1602有初始化  2 `% n. {, u8 `

$ a) _4 D5 z  k5 b4 z

* ^" R/ s" [' S* i- L4 v( ]2 g                WriteCom(0x80+0x46);                //1602第二行显示 value=00000v
' G7 N$ W& w5 W- [* C6 o                for(num=0;num<5;num++)                            7 T5 I# Q3 {3 k4 h, X
                {
- [* c& S. k5 D* F                        WriteData(disp_value[num]);% y' ^) K5 t' O% @; M  g' y
                        Delay(10);        
: v# I( k) I) X3 ~8 ^6 F, }                }         * U; K* w! P5 z, a8 K; C( ]
        ININT_int1();                                            //外部中断1的初始化
7 @4 N: r% Y) N' }        Tmie0_init();                                                //定时器0的初始化
- w0 \9 {: q/ |- n* p& W* p                 5 F6 T1 y3 O& F/ u3 y/ o, F) D/ g! x, }3 n
while(1)
# n! g( l% p; b        {6 j/ Z$ O5 e" J; p# f' G% a
                        if(key_number==1)                  //按键值为1; ~3 Q" w/ F0 L; D+ g3 m- q7 L
                        {& J( s' }# t9 f1 |. u7 ~
                                DC_VOL_measure();          //直流电压的测量
3 r5 Y; D6 F! J/ V0 {5 P0 {! n/ a                        }
; l* W& |7 ~8 z2 h& X/ r1 P) k, v+ J# s/ Q' p
. O% I5 l/ U5 h0 E
                        if(key_number==2)                  //按键值为2+ t$ _/ P3 {! B; _1 K$ h
                        {4 f1 B, R6 U8 }" b. ~
                                AC_VOL_measure();     //交流电压的测量5 D% D2 S: ~# ~$ P( o8 `2 U3 [
                        }( x2 n4 Z; K4 |2 ^

  @& j- I+ |$ u7 v! J4 I
+ N5 ]1 \7 v0 S# }
                        if(key_number==3)                  //按键值为3
0 I& X5 N6 I$ s" e; A                        {3 F) [. A. j4 \) R% e% V- H
                                Circuit_measure();          //电流的测量( c- `2 n* b# x* f
                        }                        
7 c1 ~! o8 ?+ e4 r                        
+ M9 n' p1 r* o) A5 D$ O3 K/ ]! y                        if(key_number==4)                   //按键值为4
/ v% T( n- [- G# _                        {
; K% R9 q$ x0 A; X# \* Z6 l9 v2 N1 _                                Res_measure();                   //电阻的测量& l: [5 p* |7 r& Z  n% T
                        }                        
1 F+ B$ f# Q9 Z# y  X8 D                        ( x, b; ~& r# X" C" v
                        if(key_number==5)                   //按键值为5
: B+ U: |# \" _7 m, S$ T                        {
- x. L* P. d7 s" H( K) ]1 }4 n  k: y                                WriteCom(0x01);                   //清屏
+ T6 \. O7 m, S6 {  b( \& V                                Cap_disp_init();           //电容显示初始化* J8 s/ }/ s  M
                                 Cap_measure();                   //电容的测量
: t  v" ]" E7 g3 J. T) v: ~- k2 D! S                        }        /**/
0 }3 J; M* W0 B5 v/ c6 ?                        
1 Q; n) G* U# Y' r
" i/ o6 @' j# E2 k/ k

. i3 F, a9 h) m' N: ?9 j3 ^  J        }         
. a' J) z7 F8 ]0 Y}                 ; }3 C4 z( n$ Q; m
游客,如果您要查看本帖隐藏内容请回复
" x! ]9 x4 R8 G
; V0 l% H1 z& u2 J/ k# X7 Y, E: ?

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-29 03:58 , Processed in 0.078125 second(s), 26 queries , Gzip On.

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

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

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