【电路图已发】数据通过串行口(RS485)发送到上位机。

2019-07-18 08:29发布

本帖最后由 东华修哥 于 2014-6-23 15:36 编辑

多路温度巡回检测仪的设计

设计一个多路温度检测仪,共有8个测温点,每个点连续检测8次,以平均值代表该点温度,并轮流在LED显示器上显示。测试检测元件为铂热电阻Pt1000, 温度测量范围为100℃ ——+500℃,测量精度为±1℃。系统每隔10秒完成一个点的测量,测量值除在LED显示器上显示外,还必须通过串行口(RS485)发送到上位机。任何时刻,可以通过按键切换显示通道。

各位大神,小弟初学c51。这次是做一个课程设计,其余的部分基本都完成了,但是”数据通过串行口(RS485)发送到上位机“一直没能实现。我用c51的txd,rxd直接连接9孔插口,仿真出来,数据输出到了虚拟串口上了。
但是加上max487和max232就不行了。查资料是说得用max487和max232组合实现,max232调整电平。但小弟照着网上的画出来,还是不行。
简化我的程序:


char code str[] ={"0123456789 "};        //发送用的字符数组

void Senddata(unsigned char dat)            //发送子程序
{
   SBUF=str[dat];
   while(ti==0);
    TI=0;
        delay(10);
}


void main()
{
   TMOD=0x20;  //TMOD=0010 0000B,定时器T1工作于方式2
   SCON=0x40;  //SCON=0100 0000B,串口工作方式1           PCON=0x00;  //PCON=0000 0000B,波特率9600
   TH1=0xfd;    //根据规定给定时器T1赋初值
   TL1=0xfd;    //根据规定给定时器T1赋初值
   TR1=1;      //启动定时器T1
while(1)
  {
    wei=0x05;
    Senddata(wei);
  }

上述程序目的是输出“5”
但是就是这么简单都发送不出去。求大神帮忙,如果知道我哪里错了求指点
这样连,都有数据传出来:
QQ图片20140622223038.jpg


这样连,9孔版驱动不了,没显示:
QQ图片20140622223213.jpg

查资料说是,组合起来才行,但组合了还是没数据:
QQ图片20140622224805.jpg 这里是protues电路图和keil程序:(我是用protues8做的,打不开工程,可以直接打开DSN文件) chuan.rar (96.47 KB, 下载次数: 517)

[qq]1141670043[/qq]







友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。