標(biāo)題: 紅外通信+溫度測(cè)量 [打印本頁(yè)]

作者: liuda    時(shí)間: 2015-1-23 21:03
標(biāo)題: 紅外通信+溫度測(cè)量
          這幾天我放棄我們學(xué)校那邊的電賽培訓(xùn)而跟李老師做項(xiàng)目,因?yàn)槟沁叺呐嘤?xùn)越來(lái)越覺(jué)得是一個(gè)幌子。這個(gè)項(xiàng)目的基本思路其實(shí)很簡(jiǎn)單,相信會(huì)單片機(jī)的人應(yīng)該很容易明白。他其實(shí)就是一對(duì)多的相互通信,通過(guò)紅外傳輸,剛開(kāi)始李老師選的紅外通信是用的IRDA協(xié)議,發(fā)送接收管用ZH1810,可是它里面沒(méi)有IRDA的協(xié)議,需要自己寫(xiě),我們花了一個(gè)晚上,也沒(méi)找到什么可靠的資料,我們也實(shí)驗(yàn)過(guò),沒(méi)有成功。于是李老師決定換方案,采用現(xiàn)成的模塊,直接通過(guò)串口發(fā)送,這樣就不需要我們軟件來(lái)解碼,基本上就相當(dāng)于一個(gè)一對(duì)的串口通信,采用分時(shí)的思維來(lái)實(shí)現(xiàn)。先前沒(méi)用過(guò)51做項(xiàng)目,自己應(yīng)付考試也是臨時(shí)把51的基本功能所對(duì)應(yīng)的寄存器地址熟悉下,可惜的是我記這玩意的記憶力細(xì)胞實(shí)在少得可憐。都是通過(guò)邊翻書(shū)邊解決所遇到的問(wèn)題的。呵呵,我花了一天的時(shí)間把液晶【128*64】顯示做出來(lái)【ST7920】,這個(gè)芯片驅(qū)動(dòng)很扯蛋,漢字是16*16的很正常,字母都16*8,太可惡啦,還有沒(méi)有與,或,異或,同或的功能,而我們這個(gè)項(xiàng)目要顯示一行漢字——中南民族大學(xué),接下來(lái)顯示6行溫度測(cè)量的度數(shù),而且每一行一個(gè)實(shí)測(cè)溫度,一個(gè)與之對(duì)應(yīng)的報(bào)警溫度,也就是說(shuō)一行對(duì)應(yīng)一個(gè)從機(jī)所測(cè)的溫度,如果超過(guò)我們認(rèn)為設(shè)【通過(guò)按鍵實(shí)現(xiàn)】的溫度時(shí),就報(bào)警,好在我4月份用ARM 寫(xiě)過(guò)6960【驅(qū)動(dòng)芯片】的液晶,看ST7920的資料沒(méi)費(fèi)什么勁,可是這個(gè)界面寫(xiě)下來(lái)還是花了我一天時(shí)間。呵呵,笨啊,菜鳥(niǎo)一個(gè)。
          第二天,即昨天我開(kāi)始寫(xiě)串口通信的協(xié)議,呵呵,這玩意我最痛苦啦,由于我用的是仿真器,而且只有一個(gè)仿真器,另一個(gè)不知道為啥罷工啦,李老師說(shuō)另一個(gè)就用燒錄器,呵呵,這個(gè)問(wèn)題也花了我好幾個(gè)小時(shí),主要是電腦的并口也罷工啦,好在找到原因并解決啦,怎么解決的,換臺(tái)電腦。呵呵,然后開(kāi)始調(diào)試程序,真是奇了怪了,我分別主機(jī)自發(fā)自收沒(méi)問(wèn)題,從機(jī)自發(fā)自收沒(méi)問(wèn)題,聯(lián)機(jī)就是不聽(tīng)話,然后我通過(guò)示波器一一把問(wèn)題解決,到最后顯示時(shí),已經(jīng)是晚上7點(diǎn)啦,真是奇怪,他怎么一會(huì)顯示是正確的,復(fù)位后又不正確,再?gòu)?fù)位又可以,當(dāng)時(shí)實(shí)在費(fèi)解,我主機(jī)里面專門有校驗(yàn)的程序的,怎么可能會(huì)出現(xiàn)這樣的情況呢,如果是接收不是我要的數(shù)據(jù),他壓根就不會(huì)顯示,呵呵,別急,會(huì)有辦法的,當(dāng)時(shí)我一步一步的的運(yùn)行,呵呵,怎么單步運(yùn)行怎么沒(méi)問(wèn)題,難道是波特率快啦,2400不快吧,先改小點(diǎn)看看,于是把它改為1200,得了,集體罷工,無(wú)論我怎么弄都不行啦,改回2400也不行啦,一直找到晚上10點(diǎn),還沒(méi)找到,當(dāng)時(shí)真不想走啊,可是宿舍10點(diǎn)就要關(guān)門了的,還是走吧,今天早上一來(lái),我隨意的看了一下仿真器,發(fā)現(xiàn)仿真器上面有個(gè)晶振,仔細(xì)一看是我的板子上的一半大,于是我馬上想到難道是它在作怪,先試試看,呵呵,果然是它,真要我命。可是主機(jī)我一復(fù)位,接收的不是溫度,我單步運(yùn)行【這篇所說(shuō)的單步運(yùn)行就是設(shè)一個(gè)斷點(diǎn),在哪設(shè),網(wǎng)友們自己想想看】卻又可以,真笨啊我,剛開(kāi)始我以為我主機(jī)的校驗(yàn)程序有問(wèn)題,怎么看也沒(méi)有發(fā)現(xiàn),突然靈光一想,為什么我中斷一下可以,中斷一下有什么影響,延遲,馬上就想到了它,呵呵,搞定,然后我又把一個(gè)從機(jī)分別扮演6個(gè)從機(jī)的角色,主機(jī)發(fā)送數(shù)據(jù)命令那個(gè)從機(jī)發(fā)送溫度,主機(jī)校驗(yàn)后把溫度顯示出來(lái)。就這樣這么個(gè)小玩意弄了我2天半,不過(guò)收獲還算很大的,至少里面所遇到的問(wèn)題以后有良策啦。
          不過(guò)我還么有把紅外的模塊添上去,不知道添了后有沒(méi)有影響,不過(guò)我敢肯定會(huì)有,因?yàn)槲疫沒(méi)有玩過(guò)這紅外,呵呵,不過(guò)我相信我能解決,畢竟我旁邊還有個(gè)老師呢,李老師真的肯教?hào)|西,比起我們的小危不知道強(qiáng)哪去啦,一提起他,讓我白白花費(fèi)了5、6 月份時(shí)間,真想揍他。

作者: cai596513612    時(shí)間: 2015-11-19 20:22
大神有紅外傳輸溫度并接收顯示的程序和電路圖么,最近在做這個(gè),卡住了,好想?yún)⒖紖⒖?hr noshade size="2" width="100%" color="#808080"> 作者: haungqiang    時(shí)間: 2017-3-24 21:03
可以分享一下資料嗎,最近也在搞這個(gè)




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1