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

ADC5608和LCD12864电压示波器制作 带源程序

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
ADC5608和LCD12864电压示波器制作 带源程序& s$ }& W: B9 F9 u7 N: T$ }
8 s+ E0 t. K0 i4 J6 Y) A: \
0 m  J( n0 W( S
ADC5608转换芯片和lcd12864液晶显示器组成的电压示波器设计.
  S. p% u! I) R0 z0 G& K 9 b* b4 o* F* e2 r
2 N* ?, v% [7 q" Z/ G, `/ G. o
ADC5608源程序:
6 H$ }) L8 S5 ]
/*& ~# b; F/ {+ B$ o
        先用Io_init()才能用
. X+ P/ S- d7 g# W, A9 D3 Z        adpro()返回电压值0~1023; L& F4 J- o/ g  C6 ?
*/# e* I& l6 g9 B
: _9 d9 p7 N8 s9 B* U& N5 T
& ?: K+ Y( i* p# g% D2 d; X
9 w. F( [0 P5 e! z

# t7 R  Q2 z2 u$ i% ^6 O  V- rvoid Io_init()
4 r0 e$ k  L5 u4 [0 }  |+ w- ~{
$ i. k( o$ K( L0 w# K  E         P1M0=0x80;                                        //设置P1.0为高阻输入,以准备AD3 b% c' C/ F9 a2 B
        P1M1=0x00;
+ G  s8 o; p; M" Z! u! e) {$ R0 R    ADC_CONTR = ADC_CONTR|0x87; //1000,0111打开A/D转换电源                  
/ a% b; Q. p; x  \$ {        delay1(10);
7 Z) p& m; ~# O" f) b        delay1(10);+ q# w  z, H6 s- l9 x5 C0 `; K; o
        ADC_CONTR = ADC_CONTR&0xe7; //1110,0000 清ADC_FLAG,ADC_START位和低3位}        
( E1 \8 k( w% a: t, W}
$ f, B4 E& H- x7 `, Q0 i//=======================================================================================================*/                                                                                                                                                                                                                 % t* v" q& s0 L' \( z9 @5 A
//                                           模数转换函数(8位)                                                                                               */
- _$ h  e8 _5 i  g1 w( Z/ P3 U//=======================================================================================================*/
+ I0 P. {* {( f- w+ Z& {2 s' Y  o
  K% _2 Y* q' E5 u8 g9 W& e+ y1 O9 t% ?
unsigned int adpro()
# B( V0 ]' n0 f+ L{4 q) e! Y8 o. s9 ^, i4 L( J+ h
         unsigned int adbuf;
, m& I8 _5 M, i         ADC_DATA = 0;               //清A/D转换结果寄存器; p' z& L! @- t* f) b- Q2 V
        ADC_LOW2 = 0;( f' J0 {( @9 l) R$ P* Z
        ADC_CONTR = ADC_CONTR|0x08; //0000,1000ADCS = 1,启动转换
6 p& `& c" T5 b/ _1 {, ~3 T        delay1(10);
& I# @# t# p4 s        do{
4 f2 ?! N* S) b6 S- O                ; 0 U: G+ g# Z6 O, f: p6 d1 e
                        }   
. z6 c7 r4 c2 W$ ^+ |5 i: f    while((ADC_CONTR&0x10)==0);   //0001,0000等待A/D转换结束
8 U' R  x( n: j% V+ ]4 A4 m( r        ADC_CONTR = ADC_CONTR&0xE7; //1110,0111清ADC_FLAG位,停止A/D转换! V( K9 A) m2 ~1 V1 Q7 h
        adbuf=0;
. D7 T5 S) m9 R( S7 _7 ?% j. N        adbuf = ((adbuf|ADC_DATA)<<2)|(ADC_LOW2&0x03);
5 A/ L3 T7 E: N, g        if(adbuf>1024) adbuf=1024;
4 f$ G7 K' l0 a# W) {         return adbuf;
  J, @& B* q* Y% N}) }9 W9 k* x* J; I2 ?
. {' o( |: M- ^" d6 |9 C1 B
' q6 q3 d6 Q) ^( }" ]8 g% y
主程序:& z/ f6 w$ \! }0 c+ D
/*
" D7 ~: U/ \  z2 z4 _0 M  AP1^7口为波形输入端口  J/ h1 X; z0 W8 i/ J
*/1 d" c& _- h, S( l: g
#include <STC12C5608AD.H>
. h4 P, h& \/ C1 M8 X( F4 M#include <5608_12864.H>
% ~9 ]$ z' s3 \; b  P3 ~#include<picture.H>7 l7 p+ i6 u, k# m9 u* N' h1 _% Y  k% X
#include<ADC5608.H>6 ~: H- R* u( M1 c, X5 t/ x8 I6 a
//#include<math.h>
; W! r. |+ H9 ~4 `' ?) H0 D+ Z" K9 u' H, r0 N5 E* u
& W) e+ @3 ]$ O4 P9 A5 c
sbit a=P3^3;
+ ]! ~9 H7 }6 e5 Wsbit b=P3^4;
% F1 D( u; T+ O: d1 ?( osbit c=P2^0;        % i; t0 ^* W/ e
//#define pi 3.1415926
) F: L" y& R/ x) B  Xvoid main()
' h* u. a1 Y9 a{        6 `/ e' w& }) v
        uchar X=15,buf;! q& g  U5 i; z( Q, g
        uchar Y=32,yy;- A) Z% ^. f7 K: m: I. @* D9 L; @: |
        double Vol;        
. n1 T% H. S. b% h7 Y        a=0;b=0;c=0;5 v  G* {$ K0 Q5 v' q
        Io_init();  K) u% ^3 y' `" j0 x& d- z
//        lcd_init();% G; _% t: C. x3 ~2 V/ l1 n7 a
        init_picture();
, v0 g; x, F8 t& j        show_Pic(XY);
, a8 T1 H# c& j1 a" ~        //Y=32-yy;" Q% C/ y9 Y# s+ f* p
        while(1)                        // 进入程序主循环' k) A: u8 a. G: L0 E
        {                 
9 X! v$ m6 R: h6 d7 Y# H2 `* g6 {                buf=adpro();
1 _4 U, ~' g0 h, I                Vol=5000/1024*buf;//电压单位mV        
, L1 ^! w* \' D0 N# b                if(X<126)        X++        ;
8 B+ S  s7 u  q# K4 D                else                 # J6 Y+ D6 `3 q: t
                {
' ~/ ^& b5 j* w  H; i! e+ R8 v                        X=15;0 ^5 z2 {9 W. u5 _* ^2 z  J4 p% B
                        lcd_wcmd(0x01);6 r. m$ a0 T- t% j  Z0 U: m
                        init_picture();8 e- e0 u2 p9 t7 x9 g6 e' y
                        show_Pic(XY);
, O6 U$ o; h6 Q7 i9 K7 \                }% T- k! `+ I( y$ g$ U4 ^$ y$ Y
                yy=buf/5;
, d( s' j" P$ [                Y=56-yy;
  ?$ t* F. W' e1 [; b: d1 h, l                DrawDots(X,Y,1);8 }4 `" ?* a- u9 k# A
//                X++;, K: @  C* z% _, O- T
//                Y=32-25*sin(3.14/180*X*8);
2 m( \9 K5 Z9 z. [& K9 W/ U, s' C/ g. L
5 k0 M* R* _, N8 W3 Q

" D. U( v7 m  x- [- \

4 R2 U4 T9 i9 F! g…………限于本文篇幅 余下代码请下载附件…………
& W5 t3 }$ ^  c* P/ ^1 L/ B, P 7 }- q' g& b3 a+ S

; m( Q* B6 L0 w# J# c4 B+ e) K

! w# V% @2 W! U7 c8 R1 a. s全部资料下载:% {  T7 d9 D" `* M; m- g* c# t9 p
游客,如果您要查看本帖隐藏内容请回复
; Y) n' G* l) m3 m1 ^
6 N' |8 b, q* V6 J- P

) ?5 ?1 }0 [5 n8 S! S% s1 N( l
  • TA的每日心情
    开心
    2019-11-20 15:05
  • 签到天数: 2 天

    [LV.1]初来乍到

    2#
    发表于 2019-1-10 17:09 | 只看该作者
    看看楼主的原理图
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-10-8 21:50 , Processed in 0.171875 second(s), 26 queries , Gzip On.

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

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

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