上位機(jī)和89S51通訊時(shí),數(shù)據(jù)傳遞范圍受到限制.
我用上位機(jī)通過232串口向51傳遞數(shù)據(jù),51接受到數(shù)據(jù)后,通過8只LED 顯示接受到的值.如上位機(jī)發(fā)出01(16進(jìn)制,以下皆是)),LED 狀態(tài)為0000 0001(0表示滅,1表示亮),發(fā)出0F時(shí),LED狀態(tài)為0000 1111.這些都是正常的,可是當(dāng)上位機(jī)發(fā)送10時(shí),LED就顯示0011 0000了(應(yīng)該是0001 0000的呀),當(dāng)發(fā)送30時(shí),就顯示0111 0000(應(yīng)該顯示0011 0000的呀).請高手指教,這是哪里出了問題?我后來懷疑是我的上位機(jī)程序出了問題,于是我就下載了一個(gè)串口調(diào)試精靈,但是用這個(gè)串口調(diào)試精靈向51發(fā)送數(shù)據(jù)時(shí),還是遇到相同的問題.那就是發(fā)送的值小于0F時(shí),LED可以正常顯示,大于這個(gè)值后, LED總會(huì)多顯示高一位.如應(yīng)該是0001 0000,但LED顯示實(shí)際是0011 0000.實(shí)在不知道是怎么回事了,單片機(jī)里與此相關(guān)的語句就用了一句MOV A,SBUF,怎么會(huì)有這種問題的呢???清高手賜教.
全部回復(fù)(2)
正序查看
倒序查看