|
|
這里是protues電路圖和keil程序:(我是用protues8做的,打不開(kāi)工程,可以直接打開(kāi)DSN文件)
所有資料下載:
chuan.rar
(96.47 KB, 下載次數(shù): 58)
2016-9-4 23:02 上傳
點(diǎn)擊文件名下載附件
設(shè)計(jì)一個(gè)多路溫度檢測(cè)儀,共有8個(gè)測(cè)溫點(diǎn),每個(gè)點(diǎn)連續(xù)檢測(cè)8次,以平均值代表該點(diǎn)溫度,并輪流在LED顯示器上顯示。測(cè)試檢測(cè)元件為鉑熱電阻Pt1000, 溫度測(cè)量范圍為100℃ ——+500℃,測(cè)量精度為±1℃。系統(tǒng)每隔10秒完成一個(gè)點(diǎn)的測(cè)量,測(cè)量值除在LED顯示器上顯示外,還必須通過(guò)串行口(RS485)發(fā)送到上位機(jī)。任何時(shí)刻,可以通過(guò)按鍵切換顯示通道。
各位大神,小弟初學(xué)c51。這次是做一個(gè)課程設(shè)計(jì),其余的部分基本都完成了,但是”數(shù)據(jù)通過(guò)串行口(RS485)發(fā)送到上位機(jī)“一直沒(méi)能實(shí)現(xiàn)。我用c51的txd,rxd直接連接9孔插口,仿真出來(lái),數(shù)據(jù)輸出到了虛擬串口上了。
但是加上max487和max232就不行了。查資料是說(shuō)得用max487和max232組合實(shí)現(xiàn),max232調(diào)整電平。但小弟照著網(wǎng)上的畫(huà)出來(lái),還是不行。
簡(jiǎn)化我的程序:
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”
但是就是這么簡(jiǎn)單都發(fā)送不出去。求大神幫忙,如果知道我哪里錯(cuò)了求指點(diǎn)
這樣連,都有數(shù)據(jù)傳出來(lái):
這樣連,9孔版驅(qū)動(dòng)不了,沒(méi)顯示:
查資料說(shuō)是,組合起來(lái)才行,但組合了還是沒(méi)數(shù)據(jù):
|
|