【正文】
摘要本文通過單片機(jī)的串口并經(jīng)過MAX202電平轉(zhuǎn)換,可實(shí)現(xiàn)兩個(gè)單片機(jī)之間實(shí)時(shí)會(huì)話,半雙工工作模式;程序中設(shè)有發(fā)送接收允許、自行校驗(yàn),提高了通信的準(zhǔn)確度;可以將接收數(shù)據(jù)儲(chǔ)存并將儲(chǔ)存數(shù)據(jù)進(jìn)行讀取,可儲(chǔ)存99個(gè)數(shù)據(jù);設(shè)有軟件復(fù)位功能,防止程序走死。關(guān)鍵字:實(shí)時(shí)會(huì)話 自行校驗(yàn) 軟件復(fù)位AbstractThrough and through the MAX202 chip serial level converter, enabling realtime conversation, halfduplex mode between two microcontrollers。 program features allow sending and receiving, self check and improve the accuracy of munication。 may be receiving data storage and store data read, can store 99 data。 has a software reset function to prevent the program go to die.Key words: live Session selfcalibration software reset session目錄摘要 1Abstract 1目錄 2第1章 課題概述 3第2章 總體設(shè)計(jì)方案 3第3章 硬件設(shè)計(jì) 3 單片機(jī) 3 UT62256CPCL芯片 3 單片機(jī)間串行通訊 4 按鍵與顯示 4 軟件復(fù)位 4 讀取儲(chǔ)存數(shù)據(jù) 4第4章 軟件設(shè)計(jì)與調(diào)試 5 待機(jī)界面 5 通信協(xié)議 5 發(fā)送接收允許 5 自行校驗(yàn) 5 6 儲(chǔ)存接收數(shù)據(jù) 6 讀取接收數(shù)據(jù) 6 總程序框圖 6第5章 結(jié)論 8第6章 參考文獻(xiàn) 8程序 9第1章 課題概述單片機(jī)行業(yè)已經(jīng)有了很久的歷史,隨著科學(xué)技術(shù)的進(jìn)步和社會(huì)的發(fā)展,單片機(jī)行業(yè)更加迅速的發(fā)展起來。不論在工業(yè)還是民也上都有很好的發(fā)展和應(yīng)用,得到大家很好的認(rèn)可和高度的評價(jià)。單片機(jī)的通信接口是各臺(tái)儀表之間或儀表與計(jì)算機(jī)之間進(jìn)行信息交換和傳輸?shù)穆?lián)絡(luò)裝置。串行通信按同步方式可分為異步通信和同步通信兩種基本通信方式。它是在數(shù)字化的基礎(chǔ)上用微處理器裝備起來,是計(jì)算機(jī)技術(shù)與電子儀器相結(jié)合的產(chǎn)物。它具有數(shù)據(jù)存儲(chǔ)、運(yùn)算、邏輯判斷能力,能根據(jù)被測參數(shù)的變化自選量程,可自動(dòng)校正,自動(dòng)補(bǔ)償,自尋故障等,可以做一些需要人類的智慧才能完成的工作,既具備了一定的智能,故稱為智能儀器。本課程設(shè)計(jì)通過單片機(jī)的串口并經(jīng)過MAX202電平轉(zhuǎn)換,可實(shí)現(xiàn)兩個(gè)單片機(jī)之間實(shí)時(shí)會(huì)話,半雙工工作模式,數(shù)碼管顯示發(fā)送和接收過程。第2章 總體設(shè)計(jì)方案方案一:編寫發(fā)送和接收程序,顯示發(fā)送和接收數(shù)據(jù)。方案二:編寫發(fā)送和接收程序,添加發(fā)送和接收允許程序和自行校驗(yàn)程序,顯示發(fā)送和接收數(shù)據(jù)。方案三:編寫待機(jī)界面,編寫發(fā)送和接收程序,添加發(fā)送和接收允許程序和自行校驗(yàn)程序,顯示發(fā)送和接收數(shù)據(jù)程序,儲(chǔ)存接收數(shù)據(jù)程序,顯示儲(chǔ)存數(shù)據(jù)程序,軟件復(fù)位程序。方案四:在方案三基礎(chǔ)上添加看門狗程序。四個(gè)方案是這段時(shí)間內(nèi)不斷探索、循序漸進(jìn)的結(jié)果,由于能力有限,添加看門狗程序后,程序一直復(fù)位,不知如何關(guān)閉看門狗,程序不能正常進(jìn)行工作,最終選擇方案三。第3章 硬件設(shè)計(jì) 單片機(jī)本文使用STC12C5A60S2單片機(jī),重要參數(shù)介紹:62KB容量ROM,1280字節(jié)RAM,4個(gè)16位定時(shí)器,7路外部中斷,8路10位精度ADC,有兩個(gè)串口。 UT62256CPCL芯片單片機(jī)接收數(shù)據(jù)存放在外部RAMUT62256CPCL芯片中,有32KB容量。 單片機(jī)間串行通訊本文使用MAX202電平轉(zhuǎn)換芯片,用RS232接口進(jìn)行串口通信,通信過程如圖1所示。圖1 按鍵與顯示按鍵與顯示使用芯片CH452。CH451是一個(gè)整合了數(shù)碼管顯示驅(qū)動(dòng)和鍵盤掃描控制以及μP監(jiān)控的多功能外圍芯片。CH451內(nèi)置RC振蕩電路,可以動(dòng)態(tài)驅(qū)動(dòng)8位數(shù)碼管或者64位LED,具有BCD譯碼、閃爍、移位等功能;同時(shí)還可以進(jìn)行64鍵的鍵盤掃描;CH451通過可以級聯(lián)的串行接口與單片機(jī)等交換數(shù)據(jù);并且提供上電復(fù)位和看門狗等監(jiān)控功能。 軟件復(fù)位使用STC12C5A60S2中的特殊功能寄存器IAP_CONTR可以實(shí)現(xiàn),硬件上使用外部中斷INT0,在中斷程序改變IAP_CONTR的值實(shí)現(xiàn)軟件復(fù)位,外部中斷INT0的接口電路如圖2所示。 讀取儲(chǔ)存數(shù)據(jù)讀取儲(chǔ)存數(shù)據(jù),硬件上使用外部中斷INT1,在中斷程序中讀取儲(chǔ)存數(shù)據(jù),外部中斷INT1的接口電路如圖2所示。圖2第4章 軟件設(shè)計(jì)與調(diào)試 待機(jī)界面當(dāng)單片機(jī)開機(jī)或軟件復(fù)位后,系統(tǒng)板上4個(gè)數(shù)碼管會(huì)顯示“HELLO”,開始顯示“HELL”,一秒之后顯示“ELLO”。 通信協(xié)議本文單片機(jī)通信采用2400的波特率,串行口工作方式為方式1,設(shè)有發(fā)送接收允許和自行校驗(yàn)。 發(fā)送接收允許設(shè)兩個(gè)進(jìn)行實(shí)時(shí)回話的單片機(jī)分別為單片機(jī)A和單片機(jī)B,單片機(jī)A處于接收等待狀態(tài),單片機(jī)B處于發(fā)送狀態(tài),單片機(jī)B發(fā)送“8AH”,單片機(jī)A接收到“8AH”時(shí)發(fā)送“A8H”,當(dāng)單片機(jī)B接收到“A8H”時(shí)表示建立通信關(guān)系可以發(fā)送數(shù)據(jù)。 自行校驗(yàn)當(dāng)兩單片機(jī)建立通信關(guān)系時(shí),單片機(jī)B發(fā)送數(shù)據(jù)的原碼和反碼,單片機(jī)A判斷數(shù)據(jù)的原碼和反碼是否匹配,若匹配,單片機(jī)A發(fā)送“AAH”,當(dāng)單片機(jī)B接收到“AAH”,表示發(fā)送數(shù)據(jù)正確;若數(shù)據(jù)的原碼和反碼不匹配,單片機(jī)A發(fā)送“55H”,當(dāng)單片機(jī)B接收到“55H”,表示發(fā)送