0.png (55.39 KB, 下載次數: 53)
下載附件
2016-9-4 23:01 上傳
這里是protues電路圖和keil程序:(我是用protues8做的,打不開工程,可以直接打開DSN文件)
所有資料下載:
chuan.rar
(96.47 KB, 下載次數: 58)
2016-9-4 23:02 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
設計一個多路溫度檢測儀,共有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”
但是就是這么簡單都發送不出去。求大神幫忙,如果知道我哪里錯了求指點
這樣連,都有數據傳出來:
0.png (442.14 KB, 下載次數: 54)
下載附件
2016-9-4 22:58 上傳
這樣連,9孔版驅動不了,沒顯示:
105232h9ejgmq4zg32i633.jpg.thumb.jpg (45.93 KB, 下載次數: 53)
下載附件
2016-9-4 22:58 上傳
查資料說是,組合起來才行,但組合了還是沒數據:
0.png (450.3 KB, 下載次數: 72)
下載附件
2016-9-4 22:58 上傳
|