本帖最后由 东华修哥 于 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”
但是就是这么简单都发送不出去。求大神帮忙,如果知道我哪里错了求指点
这样连,都有数据传出来:
这样连,9孔版驱动不了,没显示:
查资料说是,组合起来才行,但组合了还是没数据:
这里是protues电路图和keil程序:(我是用protues8做的,打不开工程,可以直接打开DSN文件)
chuan.rar
(96.47 KB, 下载次数: 517)
[qq]1141670043[/qq]
一周热门 更多>