在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > CAN總線在分布式烤煙控制系統(tǒng)中的應(yīng)用

            CAN總線在分布式烤煙控制系統(tǒng)中的應(yīng)用

            作者: 時(shí)間:2009-06-19 來(lái)源:網(wǎng)絡(luò) 收藏

            3.1 硬件組成
            AT89C52是控制器的核心,完成溫度和濕度的采樣與控制、控制算法運(yùn)算、鍵盤掃描、LCD顯示、數(shù)據(jù)通信等功能。
            LCD顯示器用于現(xiàn)場(chǎng)顯示采樣的溫度及濕度、控制參數(shù)設(shè)定值等,由于需要顯示的內(nèi)容較少,選用段式顯示器;而鍵盤用于在現(xiàn)場(chǎng)設(shè)置控制參數(shù),為了簡(jiǎn)化接口電路,采用獨(dú)立式鍵盤電路,即每個(gè)按鍵占用AT89C52的一位開關(guān)量輸入。
            DS18B20和直流電機(jī)控制電路組成溫濕度采樣與控制電路。DS18B20的控制程序按其規(guī)定的時(shí)序進(jìn)行編寫,通過執(zhí)行SETB P1.7(或P1.6)和CLR P1.7(P1.6)即可產(chǎn)生所需要的軟件脈沖,從而實(shí)現(xiàn)對(duì)溫濕度的數(shù)字化輸入;而直流電機(jī)的控制通過對(duì)P1.5(P1.4)進(jìn)行控制產(chǎn)生高低電平,再送由三極管和直流繼電器組成的電機(jī)驅(qū)動(dòng)電路,即可實(shí)現(xiàn)對(duì)電機(jī)的正反轉(zhuǎn)控制,通過傳動(dòng)機(jī)構(gòu)帶動(dòng)火門(或窗門)移動(dòng)對(duì)溫度和濕度進(jìn)行調(diào)節(jié)。
            控制器接口由、6N137和82C250組成,如圖3所示。以并行接口芯片和中斷形式與AT89C52連接,AT89C52對(duì)映射到存儲(chǔ)器的有關(guān)寄存器進(jìn)行讀寫,即可實(shí)現(xiàn)SJA1000初始化設(shè)置、數(shù)據(jù)收發(fā)、數(shù)據(jù)校驗(yàn)等操作;6N137組成光電隔離電路以提高系統(tǒng)的抗干擾能力;82C250則提高驅(qū)動(dòng)能力。

            3.2 程序設(shè)計(jì)
            控制器程序除了完成定時(shí)對(duì)溫濕度的采樣與閉環(huán)控制和實(shí)現(xiàn)人機(jī)接口外,還要對(duì)監(jiān)控計(jì)算機(jī)通過發(fā)送來(lái)的遠(yuǎn)程命令進(jìn)行響應(yīng),以便執(zhí)行特定的功能。由于系統(tǒng)采用中斷方式實(shí)現(xiàn)溫濕度的定時(shí)采樣和總線的通信,因此程序包括主程序和中斷服務(wù)程序兩部分,其中定時(shí)中斷程序較為簡(jiǎn)單,在此不再詳細(xì)介紹。
            3.2.1 主程序
            主程序完成對(duì)定時(shí)器和CAN總線的初始化,并循環(huán)掃描鍵盤和控制LCD顯示。
            對(duì)CAN總線的初始化主要是對(duì)SJA1000的工作方式、接收濾波方式、接收屏蔽寄存器(AMR)、接收代碼寄存器(ACR)、波特率參數(shù)和中斷允許寄存器進(jìn)行設(shè)置,在初始化前必須使SJA1000進(jìn)行復(fù)位模式,當(dāng)初始化設(shè)置完成后,須使SJA1000回到正常工作模式,才能實(shí)現(xiàn)正常工作。為增強(qiáng)程序的可讀性,在程序執(zhí)行代碼前使用EQU偽指令將SJA1000各寄存器所對(duì)應(yīng)的存儲(chǔ)器地址定義成特定的符號(hào)。
            MOV DPTR,#MOD ;方式寄存器
            MOV A,#09H
            MOVX @DPTR,A ;使SJA1000進(jìn)入復(fù)位模式
            …… ;其他寄存器設(shè)置
            MOV DPTR,#MOD ;方式寄存器
            MOV A,#08H
            MOVX @DPTR,A ;使SJA1000進(jìn)入工作模式
            ……
            3.2.2 中斷服務(wù)程序
            當(dāng)監(jiān)控計(jì)算機(jī)通過CAN總線向控制節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),一旦CAN數(shù)據(jù)幀內(nèi)的接收方地址與初始化程序中設(shè)置的地址匹配時(shí),SJA1000即通過INT1(外部中斷)向AT89C52發(fā)送中斷請(qǐng)求,當(dāng)AT89C52響應(yīng)中斷請(qǐng)求后立即轉(zhuǎn)向中斷服務(wù)程序執(zhí)行,在中斷服務(wù)程序內(nèi)進(jìn)行信息的解釋,并進(jìn)行相應(yīng)的控制,如傳送溫濕度數(shù)據(jù)、修改控制參數(shù)等。在對(duì)SJA1000接收的信息進(jìn)行處理前,還需要對(duì)總線脫離、錯(cuò)誤報(bào)警、接收溢出等進(jìn)行處理。
            MOV DPTR,#SR ;狀態(tài)寄存器地址
            MOVX A,@DPTR
            ANL A,#0C3H ;讀取總線脫離、錯(cuò)誤報(bào)警、接收溢出、有數(shù)據(jù)等位
            JNZ ERRPROG ;轉(zhuǎn)錯(cuò)誤處理程序
            …… ;正常處理程序



            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉