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

关于通过RS232串口通信&采集信号检测电压的硬件软件的求助

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
没有好好学习,所以很多地方都不懂,过来请教一下。有没有大佬愿意提供一下思路,意见,万分感谢!控制板是SAB80c537,存储芯片M27C512。目的是能通过串口通信在电脑上检测一块控制板有没有故障,顺便采集电压并显示大小。
& W7 p: f( X3 X# u' o) i3 P1 I- k控制板有电压输出和采集,但是采集口较少,需要38译码器绘制PCB但是不太懂(电压采集 电压量的大小如何检测,是在要设计的PCB板上加一些东西嘛?)6 x5 x+ h5 _. ?; F

- w+ D0 R6 Y2 O, j# I, o串口调试方面,是不是只要能够实现通讯这个功能就可以,对程序有没有要求
1 h4 _; _4 ?" M5 u( Z如果我要对采集的IO数据编辑处理,设置面板那种电脑上按键控制后面直接显示某个电压值难度高嘛?是在绘制PCB的时候通过硬件电路就能直接处理,还是在采集完信号之后通过烧录的程序处理?
- w6 I3 c$ K- {& J9 z3 c' B
9 G1 f2 v9 D& w; [/ b附上目前的单片机程序:
: Q4 B* t+ D6 g3 f串口的:#include "reg52.h" //包函8051 内部资源的定义9 f9 G& J4 v! A5 T& Q2 b. a
unsigned char dat; //用于存储单片机接收发送缓冲寄存器SBUF里面的内容
4 L; u1 w: h& O% I" x- n8 Jsbit gewei=P2^4; //个位选通定义
, k: n/ t/ y* U7 A2 @* D3 ~% ysbit shiwei=P2^5; //十位选通定义& e9 g, c1 |( t: t3 E+ U3 p( b9 \
sbit baiwei=P2^6; //百位选通定义
( t) G+ e+ a, ^, ?; Lunsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,}; //1~10
. ?9 _8 y* u! n; m  H. T" P: |5 m6 C9 ?* Jvoid Delay(unsigned int tc) //延时程序$ T6 _- |6 H9 E. o. z
{4 w. a8 O) _; _6 Q0 B5 y
while( tc != 0 )
2 A! O; c: r- v% Q% a4 j, V4 }{unsigned int i;# x" L+ }' g) S4 q1 q# x. b: w
for(i=0; i<100; i++);
9 c& \1 ^+ D, ~/ I& Y+ x: jtc--;}  d! @5 e6 ^' [2 v
}
- Y# a8 K" L8 j; Y7 W  T: Q$ lvoid LED() //LED显示接收到的数据(十进制)
) s8 ?/ w  ]  o$ L( B  I- l4 I{2 Y; d0 X" k& f" d6 Q& i, G
gewei=0; P0=table[dat%10]; Delay(10); gewei=1;- q$ P2 z6 F% R4 f# ]5 e- }$ H' j
shiwei=0; P0=table[dat/10]; Delay(10); shiwei=1;
5 {9 ?4 p: I; @' l5 bbaiwei=0; P0=table[dat/100]; Delay(10); baiwei=1;$ e* H/ `0 `' z7 N6 }
}( q8 X# |8 [$ ~
///////功能:串口初始化,波特率9600,方式1/////////' ^1 Y" Y6 P; I, q
void Init_Com(void)
: J; i. B$ s# |+ L6 Q$ F& B{
. |7 x6 h  H4 ^8 r! K* }$ {- n$ C) CTMOD = 0x20;7 R3 M6 U4 c# k1 i
PCON = 0x00;
3 P' e9 k2 P8 S: v5 ]: KSCON = 0x50;$ C' Y8 P8 @2 G) e4 k9 e
TH1 = 0xFd;
4 C$ l  i$ {  GTL1 = 0xFd;% l# r2 A) u. z, ^0 _8 G- t% T
TR1 = 1;8 V9 X. }! C+ T. |" F. ~- Y
}. M5 p! w& \! N: q2 g
/////主程序功能:实现接收数据并把接收到的数据原样发送回去///////
4 X& y9 `3 B( l" F9 n) h& uvoid main(); y; g8 w  ^- C. h' |4 \7 w- v$ U
{
7 @# s! }5 V* ?4 Y1 ZInit_Com();//串口初始化5 R5 Q1 t7 _' D  _3 n, c
while(1)
3 D7 |( Y9 g3 I' H/ s$ s0 }{                     
# ~: |6 s" \; w7 |7 b( t4 c( bif ( RI ) //扫描判断是否接收到数据,2 W$ ]+ d$ @7 m2 o2 L
{
3 v  ?4 t. A, K$ o% M' J- Ldat = SBUF; //接收数据SBUF赋与dat
0 m: r" S" A' o/ [RI=0; //RI 清零。$ M# T' [' f  b5 z
SBUF = dat; //在原样把数据发送回去(接收数据为发送数据的ASCII码,如发送q显示为113). J7 N" ^0 A2 r+ l& P# k6 r
}- l% k2 s9 j! f: L1 j) s* z# m
LED(); //显示接收到的数据0 j. ~+ p( D& }
}( S8 A8 e* }/ M: C/ l
}
. S9 z% P' H7 f& X) Q. h
& M: L/ I0 }0 k6 d9 P' x/ Z
% \$ K* z8 _2 t1 W9 m4 n- z

该用户从未签到

2#
发表于 2022-1-14 16:35 | 只看该作者
/ o: S3 k6 Y) p
AD电压采集:电阻分压,然后通过IO口测量,按分压比例算出实际电压值,发到屏幕显示4 M" W# o* @9 p$ n/ N2 L$ a

该用户从未签到

3#
发表于 2022-1-14 16:52 | 只看该作者
与硬件有关,不是一时半会可以说清楚的。需要面对面解决。) b3 X' x! N# M+ C; @! _2 f3 \
  • TA的每日心情
    奋斗
    2025-1-1 15:26
  • 签到天数: 584 天

    [LV.9]以坛为家II

    4#
    发表于 2022-1-16 20:20 | 只看该作者
    看看大佬们怎么说

    该用户从未签到

    5#
    发表于 2022-1-17 09:32 | 只看该作者
    我的理解是需要设计一个测试板,电脑可以通过该测试板与控制板通讯,另外测试板可以检测控制板的电压并显示。
    : l) p7 h# B& X6 i这样的话测试板就是两个功能,一个串口通讯转接电路,就是把控制板上的串口电平转换成和电脑串口一致的(电脑一般是RS232);另一个就是检测控制板的输出电压,这个的话前面有人说了,电阻分压之后再ADC检测换算、显示就可以了
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-9-21 01:39 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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