新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于PSoC的車用單片機試驗裝置設計

        基于PSoC的車用單片機試驗裝置設計

        作者:倪成群,張希偉 時間:2008-07-17 來源:電子元器件應用 收藏

          1.3 通信和相應數據的顯示

        本文引用地址:http://www.104case.com/article/85843.htm

          通過 (Universal Asynchronous Receiver/Transmitter)可實現串行通信中的異步數據傳輸,它是一個全雙工異步收發器,采用RS232通信協議,可通過兩根電纜同時接收和發送數據。中的用戶模塊是數字模塊,該模塊接收和發送的字符為一個數據,數據包括4部分:起始位、數據位、奇偶校驗位、停止位。另外,UART數據模塊也支持可編程時鐘、發送和接收中斷以及輪詢操作。UART數字模塊也可提供應用程序接口(API)程序,以給編程帶來方便。它可由一個串行接收器和一個串行發送器組成,分別為RX UART和TX UART。

          (1)通用異步接收器RX-UART

          異步接收器需要有關通信類型的數字模塊,它有自己的RX緩沖區寄存器、RX移位寄存器以及RX控制寄存器。可以使用UART用戶模塊固件中的API程序來對RX控制寄存器進行初始化和配置。本裝置的RX初始化包括UART無奇偶校驗、滿足RX寄存器條件的中斷使能。

          當檢測到RX輸入起始位到來時,RX模塊中的除8時鐘開始啟動,然后開始對輸人的數據位進行異步接收。而在下一個8位時鐘的上升沿到來時,輸入的數據將被接收并送到RX移位寄存器中。當在下一個時鐘的上升沿接收到停止位以后,RX控制寄存器中的RX寄存器滿的這一位被置位,同時接受中斷使能,并在中斷中記錄異步通信所接收到的值,然后在中顯示。

          (2)通用異步發送器TX-UART

          異步發送器也需要一個通信類型的數字PSoC模塊。它有自己的TX緩沖區寄存器、TX移位寄存器以及TX控制寄存器。可以使用UART用戶模塊固件API程序來對TX控制寄存器進行初始化和配置。本裝置的TX初始化包括UART無奇偶校驗、RX寄存器不產生中斷(輪詢操作發送數據)。

          當TX控制寄存器的使能位被置位時,TX模塊中的除8時鐘開始啟動,此時在鍵盤中將會得到一個數據。把此數據送往顯示,再把此數據字節通過API函數寫入到TX緩沖區寄存器中,然后清除TX控制寄存器的TX緩沖區空狀態位,再在下一個時鐘的上升沿到來時將緩沖區的數據發送到移位寄存器,然后將TX控制寄存器的TXBuffer Empty狀態位置位,即可完成數據發送。

          2 系統軟件設計

          單片機系統初始化后,首先運行UART通信并顯示,然后由鍵盤中斷進行選擇。每次進入按鍵中斷便進行了一次選擇,以選擇所需要執行的另一個子程序。選擇完所有的子程序后系統又跳回UART通信子程序,如此循環。顯示程序便可把所執行的子程序所得到的結果,用串口通信方式輸出到并以顯示相應的值。其軟件程序流程圖如圖2所示。

         

          3 實驗

          將p[0]3與示波器相連接,可以觀察示波器所顯示的波形和LCD中顯示的周期和占空比,然后調節電位計,即可觀察示波器和數碼管顯示是否保持一致。

          把信號發生器與p[0]7和地線相連,并輸入一定頻率的方波,可以觀察信號發生器顯示的頻率值與LCD顯示的值,之后,可通過改變信號發生器的輸出頻率。來觀察兩個值的變化是否保持一致。

          本實驗需要硬件MAX232和軟件程序“串口調試助手V2.1”的支持。利用MAX232芯片可將串口通訊總線信號轉換為單片機可以接收和發送的信號,從而使單片機與PC微機相連來實現串口通訊。在“串口調試助手V2.1”下邊的發送框中輸入任意數字或字符,然后選擇自動或手動發送,即可觀察LCD的接收區的顯示,然后調節裝置使其發送16進制數,最后就可以觀察軟件窗口上顯示區所顯示的數據。

          4 結束語

          多次實驗表明:本裝置中LCD的顯示值均與其它實驗設備的值相符,且誤差很小,響應時間很短,穩定性好,可靠性強且各項工作穩定,可以達到較高的精度要求和測量范圍。所以,基于PSoC教學裝置的開發具有較高的實用性和可靠性,而且體積小,經濟性較好,可在教學和實驗中實現一機多用,故可降低實驗成本。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 郸城县| 大化| 津市市| 天全县| 顺平县| 安仁县| 饶阳县| 郴州市| 城口县| 洛南县| 霍州市| 涟水县| 广丰县| 通海县| 久治县| 庄浪县| 西乡县| 洛隆县| 宜章县| 长春市| 中阳县| 马边| 长沙市| 肥东县| 仙居县| 福贡县| 随州市| 克什克腾旗| 涿鹿县| 宾川县| 巢湖市| 同德县| 肇州县| 宜良县| 彰武县| 鹰潭市| 新化县| 隆回县| 南澳县| 城口县| 名山县|