|
0.png (55.39 KB, 下載次數(shù): 53)
下載附件
2016-9-4 23:01 上傳
這里是protues電路圖和keil程序:(我是用protues8做的,打不開工程,可以直接打開DSN文件)
所有資料下載:
chuan.rar
(96.47 KB, 下載次數(shù): 58)
2016-9-4 23:02 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
設(shè)計(jì)一個(gè)多路溫度檢測儀,共有8個(gè)測溫點(diǎn),每個(gè)點(diǎn)連續(xù)檢測8次,以平均值代表該點(diǎn)溫度,并輪流在LED顯示器上顯示。測試檢測元件為鉑熱電阻Pt1000, 溫度測量范圍為100℃ ——+500℃,測量精度為±1℃。系統(tǒng)每隔10秒完成一個(gè)點(diǎn)的測量,測量值除在LED顯示器上顯示外,還必須通過串行口(RS485)發(fā)送到上位機(jī)。任何時(shí)刻,可以通過按鍵切換顯示通道。
各位大神,小弟初學(xué)c51。這次是做一個(gè)課程設(shè)計(jì),其余的部分基本都完成了,但是”數(shù)據(jù)通過串行口(RS485)發(fā)送到上位機(jī)“一直沒能實(shí)現(xiàn)。我用c51的txd,rxd直接連接9孔插口,仿真出來,數(shù)據(jù)輸出到了虛擬串口上了。
但是加上max487和max232就不行了。查資料是說得用max487和max232組合實(shí)現(xiàn),max232調(diào)整電平。但小弟照著網(wǎng)上的畫出來,還是不行。
簡化我的程序:
char code str[] ={"0123456789"}; //發(fā)送用的字符數(shù)組
void Senddata(unsigned char dat) //發(fā)送子程序
{
SBUF=str[dat];
while(TI==0);
TI=0;
delay(10);
}
void main()
{
TMOD=0x20; //TMOD=0010 0000B,定時(shí)器T1工作于方式2
SCON=0x40; //SCON=0100 0000B,串口工作方式1 PCON=0x00; //PCON=0000 0000B,波特率9600
TH1=0xfd; //根據(jù)規(guī)定給定時(shí)器T1賦初值
TL1=0xfd; //根據(jù)規(guī)定給定時(shí)器T1賦初值
TR1=1; //啟動(dòng)定時(shí)器T1
while(1)
{
wei=0x05;
Senddata(wei);
}
上述程序目的是輸出“5”
但是就是這么簡單都發(fā)送不出去。求大神幫忙,如果知道我哪里錯(cuò)了求指點(diǎn)
這樣連,都有數(shù)據(jù)傳出來:
0.png (442.14 KB, 下載次數(shù): 54)
下載附件
2016-9-4 22:58 上傳
這樣連,9孔版驅(qū)動(dòng)不了,沒顯示:
105232h9ejgmq4zg32i633.jpg.thumb.jpg (45.93 KB, 下載次數(shù): 53)
下載附件
2016-9-4 22:58 上傳
查資料說是,組合起來才行,但組合了還是沒數(shù)據(jù):
0.png (450.3 KB, 下載次數(shù): 72)
下載附件
2016-9-4 22:58 上傳
|
|