标题:
萌新关于通过RS232串口通信&采集信号检测电压的硬件软件的求助
[打印本页]
作者:
柠檬酸酸哒
时间:
2019-2-21 16:35
标题:
萌新关于通过RS232串口通信&采集信号检测电压的硬件软件的求助
在学校没有好好学习,所以很多地方都不懂,过来请教一下。有没有大佬愿意提供一下思路,意见,万分感谢!控制板是SAB80c537,存储芯片M27C512。目的是能通过串口通信在电脑上检测一块控制板有没有故障,顺便采集电压并显示大小。
控制板有电压输出和采集,但是采集口较少,需要38译码器绘制PCB但是不太懂(电压采集 电压量的大小如何检测,是在要设计的PCB板上加一些东西嘛?)
串口调试方面,是不是只要能够实现通讯这个功能就可以,对程序有没有要求
如果我要对采集的IO数据编辑处理,设置面板那种电脑上按键控制后面直接显示某个电压值难度高嘛?是在绘制PCB的时候通过硬件电路就能直接处理,还是在采集完信号之后通过烧录的程序处理?
附上目前的单片机程序:
串口的:
#include "reg52.h" //包函8051 内部资源的定义
unsigned char dat; //用于存储单片机接收发送缓冲寄存器SBUF里面的内容
sbit gewei=P2^4; //个位选通定义
sbit shiwei=P2^5; //十位选通定义
sbit baiwei=P2^6; //百位选通定义
unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,}; //1~10
void Delay(unsigned int tc) //延时程序
{
while( tc != 0 )
{unsigned int i;
for(i=0; i<100; i++);
tc--;}
}
void LED() //LED显示接收到的数据(十进制)
{
gewei=0; P0=table[dat%10]; Delay(10); gewei=1;
shiwei=0; P0=table[dat/10]; Delay(10); shiwei=1;
baiwei=0; P0=table[dat/100]; Delay(10); baiwei=1;
}
///////功能:串口初始化,波特率9600,方式1/////////
void Init_Com(void)
{
TMOD = 0x20;
PCON = 0x00;
SCON = 0x50;
TH1 = 0xFd;
TL1 = 0xFd;
TR1 = 1;
}
/////主程序功能:实现接收数据并把接收到的数据原样发送回去///////
void main()
{
Init_Com();//串口初始化
while(1)
{
if ( RI ) //扫描判断是否接收到数据,
{
dat = SBUF; //接收数据SBUF赋与dat
RI=0; //RI 清零。
SBUF = dat; //在原样把数据发送回去(接收数据为发送数据的ASCII码,如发送q显示为113)
}
LED(); //显示接收到的数据
}
}
复制代码
作者:
lfc315
时间:
2019-2-22 10:30
AD电压采集:电阻分压,然后通过IO口测量,按分压比例算出实际电压值,发到屏幕显示
作者:
yzwzfyz
时间:
2019-2-22 12:28
与硬件有关,不是一时半会可以说清楚的。需要面对面解决。
作者:
柠檬酸酸哒
时间:
2019-2-27 09:44
lfc315 发表于 2019-2-22 10:30
AD电压采集:电阻分压,然后通过IO口测量,按分压比例算出实际电压值,发到屏幕显示
谢谢你的思路!
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1