本站小編為你精心準備了LED無線通信網絡系統軟件設計參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
現在支持51系列單片機的語言共有4種,即匯編語言、PL/M語言、C語言和BASIC語言。這里面C語言是一種結構化語言,能夠產生壓縮代碼,同時具有語言簡潔、使用方便、表達能力強、可移植性好、可進行結構化程序設計等優點。由C語言生成的目標代碼的效率也只稍微低于匯編語言。因此本次設計采用C語言編程。
在單片機開發中除了使用到硬件外,也離不開軟件,在這里使用的是目前最流行的用以開發MCS-51系列單片機的軟件Keil軟件,它的開發方案十分完整,提供了包括C編譯器、宏匯編、連接器、庫管理以及一個功能強大的仿真調試器等,這些部分的組合是通過一個集成開發環境(uVision)來完成的。KeilC51軟件系統能夠提供豐富的庫函數和功能強大的集成開發調試工具,采用的是Windows界面。另一點重要之處是,通過查看編譯后生成的匯編代碼,就能感覺到KeilC51能夠生成的效率非常高的目標代碼,并且這些代碼的排列很緊湊,容易讓人理解,這種系統大型軟件的開發時更能將高級語言的優勢體現出來。
1無線模塊的設計
1.1無線模塊總體設計預先設置好必需的參數,模塊每次上電后即可自動連接到預先設置的無線網絡及服務器,因為在自動工作的模式下,模塊的串口始終工作在透明數據傳輸狀態,可以將它看做一條虛擬的串口線,按照使用普通串口的方式發送和接收數據就可以。在自動工作模式下,系統的連接網絡完全自動運行。系統默認自動重試次數設置為永遠,也就是說,系統會在連接網絡失敗或斷開的時候一直重新嘗試連接。用戶也可以將重試次數設置為有限值,在此情況下,一旦重試次數超限后,系統將不再嘗試重連,只有系統復位后才能再次重啟自動連接流程。Socket連接(此處特指Tcp連接)是虛連接,在無線網絡連接非正常斷開的情況下原有的Socket連接不會被刪除,并且在無線網絡連接恢復后繼續使用。自動組幀機制。在透明傳輸狀態下,在串口上所有的數據都是以字節流的形式進行傳輸的,而在網絡上,數據卻是以固定的幀格式的形式傳輸,因此,數據在串口與網絡之間流動是就需要一個流與幀之間的轉換過程。對于從網絡到串口的方向的數據傳輸來說,數據由幀轉換成流是非常容易的。而相反的從串口到網絡的數據傳輸方向,即數據由流轉換成幀格式的時候,就需要一定的規則來約束。
1.2無線模塊程序設計命令工作模式模塊提供了一種基于串口控制的命令工作模式,用于不同應用場合的特殊需求。此工作模式下,模塊根據用戶通過串口下發的指令進行工作,用戶可以通過指令對模塊進行完全的控制,包括修改配置參數、控制聯網、控制TCP/IP連接、數據傳輸等。這是一種高級的使用方式,也是對用戶來說最為靈活的使用方式,用戶可以通過指令任意控制無線網絡的連接、斷開,也可以同時創建多個不同類型的TCP/IP連接,并保持通信。在使用WIFI模塊時,可以根據系統的情況決定是否進行命令行的操作。串口數據操作。在串口發送每條CMD后,需要等待該命令的回復。如果本條命令沒有回復,需要增加超時,將強制退出該命令。應當保證At發送命令時,串口只有一條在等待回復的At指令。用于串口接收WIFI模塊回傳的響應信息,在上位機發送完成每條AT指令后需要等待WIFI模塊響應或者超時(請將超時時間設置大于500ms)。
2主控模塊與led顯示模塊程序設計
本設計采用RS232總線與PC機通信,在PC機中采用串口調試程序向單片機發送數據,在PC機與單片機之間采用MAX232電平轉換芯片進行電平轉換,參照51單片機的串口通信時序對單片機的串口通信程序進行編寫,其主程序流程圖及串口中斷服務程序流程如圖1所示。在顯示部分,由于采用ULN2803芯片作為數碼管陣列的段選顯示驅動電路,同時采用573芯片作為其顯示數據的緩沖電路,所以在顯示函數的編寫過程中,首先要對數碼管陣列送入位選信號并保持,然后通過一段恰當的延時再將段選信號送入,這樣一來就實現了數碼管的動態顯示。由于本設計中并沒有使用BCD數碼管,所以需在顯示數據之前進行數據為的分離,這部分程序在串口通信中斷服務函數中完成。在本設計中,采用MAX232作為單片機系統與PC機通信之間的電平轉換電路。而在單片機與PC機通信的過程中,在單片機系統的程序編寫則涉及到了兩個功能函數的編寫:串口通信初始化函數,串口通信中斷服務函數。在進行單片機串口通信函數的編寫過程中,要根據單片機串口通信時序來進行相應語句的編寫。
3結束語
本文在keil環境下采用C語言用模塊化程序設計的方法編程,先對無線模塊的部分功能進行程序分析,串口通信初始化函數,串口通信中斷服務函數。在進行單片機串口通信函數的編寫過程中,要根據單片機串口通信時序來進行相應語句的編寫,然后對主控模塊和顯示模塊進行具體的設計,將單片機的串口中斷和數碼管的動態顯示等程序進行了設計。
作者:楊巍 單位:齊齊哈爾信息中心