freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于單片機無線電子點菜系統(tǒng)畢業(yè)設計論文設計論文基于畢業(yè)論文pcb圖畢業(yè)設計基于單片機pcb點菜系統(tǒng)點菜寶系統(tǒng)-資料下載頁

2024-11-29 11:04本頁面

【導讀】稱為中國的黃金產業(yè)。無線電子點菜系統(tǒng)是無線通信技術的典型應用,把無線技術。用于餐飲業(yè)將會極大提高餐館的工作效率和服務質量。論文給出了無線電子點菜系統(tǒng)的完整的硬件平臺的設計和實現方案。的協議來實現數據交換。設計的硬件平臺時,首先詳細介紹了平臺將要用到的一些。芯片,然后使用Protel99SE設計出了系統(tǒng)的原理圖和PCB(PrintCircuitBroad,印刷。文中還附帶簡要介紹了用到的軟件開發(fā)工具,以及系統(tǒng)的局限性,并提出了進一步改進的方案。遠端,基本達到了論文的設計目的。

  

【正文】 同。使用 Keil uVision2 開發(fā)硬件驅動程序,它支持眾多不同公司的 MCS51 架構的芯片,它集編輯,編譯,仿真等于一體,同時還支持,PLM,匯編和 C 語言的程序設計,它的界面和常用的微軟 VC++的界面相似,界面友好,易學易用,在調試程序,軟件仿真方面也有很強大的功能。因此很多開發(fā) 51 應用的工程師或普通的單片機愛好者,都對它十分喜歡。51 的編程語言常用的有二種,一種是匯編語言,一種是 C 語言。匯編語言的機器代碼生成效率很高但可讀性卻并不強,復雜一點的程序就更是難讀懂,而 C 語言在大多數情況下其機器代碼生成效率和匯編語言相當,但可讀性和可移植性卻遠遠超過匯編語言,而且 C 語言還可以嵌入匯編來解決高時效性的代碼編寫問題。對于開發(fā)周期來說,中大型的軟件編寫用 C 語言的開發(fā)周期通常要小于匯編語言很多。綜合以上 C 語言的優(yōu)點,在開發(fā)時選擇了 C51 語言. 主機端硬件驅動程序主機端的硬件驅動程序主要有兩種功能:實現開發(fā)板通過串行口和 PC 機通信;實現開發(fā)板通過某些 I/O 口和無線數據傳輸模塊進行通信。STC89C58RD+單片機的串行口是一個全雙工通信接口,即能同時進行發(fā)送和接收,它可以作 UART 用,也可以作為同步移位寄存器用,其禎格式和波特率可以通過軟件編程來設置,在使用上非常方便?;趩纹瑱C的無線點菜系統(tǒng)的硬件設計及實現 第四章 硬件驅動程序和串行口調試工具25STC89C58RD+單片機串行口的工作方式和波特率由控制寄存器 SCON 和特殊功能寄存器 PCON 組成。串行口控制寄存器 SCON:D7 D6 D5 D4 D3 D2 D1 D0SM0 SM1 SM2 REN TB8 RB8 TI RI特殊功能寄存器 PCON:D7 D6 D5 D4 D3 D2 D1 D0SMOD串行口可以通過軟件設置四種工作方式,各種工作方式的數據格式和波特率均有所不同,這四種工作方式如下:1. 方式 0當設定 SMSM0 為 00 時,串行口工作于方式 0,在方式 0 下,RXD 為數據輸入/輸出端,TXD 為同步脈沖輸出端,發(fā)送或接收的數據為 8 位,低位在前,高位在后,方式 0 的波特率固定震蕩頻率的 1 /12,也就是每一機器周期傳送一位數據。方式 0 可以外接移位寄存器,將串行口擴展為并行口,也可以外接同步輸入/輸出設備。發(fā)送完畢后,硬件自動將 TI 置 1。再次發(fā)送數據前,需要軟件將 TI 位清 0。REN 為 1 時,單片機允許接收數據。RXD 為數據接收端,接受數據保存到 SBUF接收緩沖器中。發(fā)送完畢后,硬件自動將 RI 置 1。再次接收數據前,需要通過軟件將 RI 清 0。2. 方式 1當設定 SMSM0 為 01 時,串行口工作方式 1。方式 1 為波特率可變的 8 位異步通信方式,由 TXD 發(fā)送 RXD 接收,一幀數據為 10 位,1 位起始位(低電平) ,8位數據位(低位在前)和 1 位停止位(高電平) ,波特率取決于定時器 的 T 溢出率(1/溢出周期)和波特率的選擇位 SMOD。 2 和方式 3 當設定 SM0、SM1 為 10 或 11 時,串行口工作于方式 2 或方式 3,這兩種方式都是 9 位異步通信,僅波特率不同,適用于多機通信。在方式 2 或方式 3 下,數據由TXD 發(fā)送 RXD 接收,1 幀數據為 11 位,1 位起始位(低電平) ,8 位數據位(低位在前) ,1 位可編程位(第 9 位數據,用作奇偶校驗或地址/數據選擇) ,1 位停止位(高電平) 。與方式 1 相比,多了一位可編程位,發(fā)送時,第 9 位數據為 TB8,接收時,第 9 位數據送入 RB8。 基于單片機的無線點菜系統(tǒng)的硬件設計及實現 第四章 硬件驅動程序和串行口調試工具26通過以上單片機串行口各種工作方式的比較,由于使用一個開發(fā)板和 PC 機進行單獨的通信,因此工作方式 1 比較適合系統(tǒng)的要求。通過設置合適的波特率和幀格式,來實現開發(fā)板和 PC 機之間準確的數據傳遞。由于 PC 機和單片機的處理速度的不同,PC 機給開發(fā)板發(fā)送數據時,單片機采用中斷的方式進行數據接收。通過軟件設置單片機的傳輸屬性參數為“9600,N,8,1” ,來實現和 PC 機端串行口傳輸速率同步。開發(fā)板向 PC 機發(fā)送數據時,采用查詢方式,這樣可以節(jié)省單片機有限的資源。開發(fā)板還要通過專門的接口和無線數據傳輸模塊進行數據交換,由于系統(tǒng)設計為點對點通信,因此只使用了 nRF2401 一個信道。nRF2401 的數據傳輸方式為同步傳輸,因此使用普通的 I/O 口通過軟件方式模擬 SPI 方式傳輸。nRF2401 有四種工作模式:收發(fā)模式,配置模式,空閑模式和關機模式 [16][17]。工作模式由 PWR_UP 、CE、TX_EN 和 CS 三個引腳決定,詳見表 。表 nRF2401 的各種工作模式的設置方式工作模式 PWR_UP CE CS收發(fā)模式 1 1 0配置模式 1 0 1空閑模式 1 0 0關機模式 0 * *前文已經講過有關 nRF2401 的收發(fā)方式,這里重點討論一下它的配置方式。nRF2401 的所有配置工作都是通過 CS、CLK1 和 DATA 三個引腳完成,把其配置為ShockBurstTM 收發(fā)模式需要 15 字節(jié)的配置字。ShockBurst TM 的配置字可以分為以下四個部分:(1) 數據寬度:聲明射頻數據包中數據占用的位數。這使得 nRF2401 能夠區(qū)分接收數據包中的數據和 CRC 校驗碼;(2) 地址寬度:聲明射頻數據包中地址占用的位數。這使得 nRF2401 能夠區(qū)分地址和數據;(3) 地址:接收數據的地址,有通道 1 的地址和通道 2 的地址;(4) CRC:使 nRF2401 能夠生成 CRC 校驗碼和解碼。 nRF2401 的配置字如表 所示: 在配置模式下要保持 PWR_UP 引腳為高電平,CE 引腳為低電平,配置字從最高位開始,依次寫入 nRF2401。在 CS 引腳的下降沿,新送入的配置字開始工作?;趩纹瑱C的無線點菜系統(tǒng)的硬件設計及實現 第四章 硬件驅動程序和串行口調試工具27表 nRF2401 的配置字位 位數 名字 功能143:12024 TEST 保留119:1128 DATA2_W 接收頻道 2 有效數據長度111:1048 DATA1_W 接收頻道 1 有效數據長度103:64 40 ADDR2 接收頻道 2 的地址,最高為 5 字節(jié)63:24 40 ADDR1 接收頻道 1 的地址,最高為 5 字節(jié)23:18 6 ADDR_W 接受頻道地址位數17 1 CRC_L 8 位或 16 位 CRC 校驗ShockbBrst TM 配置16 1 CRC_EN 使能 CRC 校驗15 1 RX2_EN 使能第二頻道14 1 CM 通信方式設置13 1 RFDR_SB 發(fā)射數據速率12:10 3 XO_F 晶震頻率9:8 2 RF_PWR 發(fā)射輸出電源7:1 7 RF_CH 頻道設置常用器件配置0 1 RX_EN 接收或發(fā)送操作開發(fā)板通過串行口和 PC 機交換數據的流程圖如下:開始初始化串行口循環(huán)等待觸發(fā)條件開發(fā)板上有鍵按下否 是RI=1否ACC=SBUF將數據在數碼管上顯示將數據發(fā)送到串口發(fā)送緩沖區(qū),關中斷TI=1?否基于單片機的無線點菜系統(tǒng)的硬件設計及實現 第四章 硬件驅動程序和串行口調試工具28圖 開發(fā)板和 PC 機通過串行口交 換數據的流程圖開發(fā)板通過 IO 口和無線數據傳輸模塊進行數據交換的流程圖為圖 。圖 開發(fā)板通 過 IO 口和無線數據傳輸模塊進行數據交換的流程圖 移動端驅動程序移動端的開發(fā)板的結構和 PC 機端的開發(fā)板的結構完全相同,但由于它不需要和 PC 機通信,只需要和無線數據傳輸模塊進行通信。因此相對另一端的驅動簡單一些。具體編程規(guī)則在上一節(jié)已經詳細敘述,這里不再多說,具體的程序是 PC 機端程序的一部分。 串行口調試工具串行口調試工具是用微軟公司的 visual c++[20][21]開發(fā)的。幾乎所有世界級的軟件,從業(yè)界領先的 Web 瀏覽器到面向任務的企業(yè)應用,都是使用 Microsoft Visual C++開發(fā)系統(tǒng)來開發(fā)的。要用 C++來開發(fā) Windows 和 Web 上的高性能應用程序,Visual C++是效率最高的首選工具。Visual C++ 在不犧牲靈活性、性能和控制力度的同時,給 C++帶來了更高水平的生產效率。它具有可視化的界面,封裝了大量的類,使界面制作變的很簡單,使用它可以方便快捷地開發(fā) Windows 環(huán)境下的應用程序。visual c++ 專門為串行口通信提供了 Msm[20][21]控件,使用該控件程序員不必花時間去了解比較復雜的 API 函數,通過簡單修改控件的屬性和使發(fā)送完畢,開中斷開始配置 nRF2401 的工作方式循環(huán)等待觸發(fā)條件DR1=1否是有數據發(fā)送否將數據接收到開發(fā)板將數據發(fā)送到開發(fā)板是基于單片機的無線點菜系統(tǒng)的硬件設計及實現 第四章 硬件驅動程序和串行口調試工具29用控件提供的方法就可以實現對串口的配置,完成串口發(fā)送和接收數據。 串行通信的基本原理串行端口的本質功能是作為 CPU 和串行設備間的編碼轉換器。當數據從 CPU 經過串行端口發(fā)送出去時,字節(jié)數據轉換為串行的位。在接收數據時,串行的位被轉換為字節(jié)數據。 在 Windows 環(huán)境下,串口是系統(tǒng)資源的一部分。 應用程序要使用串口進行通信,必須在使用之前向操作系統(tǒng)提出資源申請要求(打開串口) ,通信完成后必須釋放資源(關閉串口) 。32 位下串口通信程序可以用兩種方法實現:利用 ActiveX 控件;使用 API 通信函數。在本次課程設計中,所用到的是 MFC 的MSComm 控件,下面先將這個關鍵的控件做一下簡單的介紹。Microsoft Communications Control(以下簡稱 MSComm)是 Microsoft 公司提供的簡化 Windows 下串行通信編程的 ActiveX 控件,為應用程序提供串行通信功能,它為應用程序提供了通過串行接口收發(fā)數據的簡便方法。MSComm 控件在串口編程時非常方便,其實際上是調用了 API 函數,但我們不必再了解復雜的 API 函數就可控制串行通信。通信的過程,實際上是對屬性的操作和對控件事件的響應。在 Windows 操作系統(tǒng)中,串行通信采用“事件通知”方式,支持數據按塊傳送。進行通信時,Windows 開辟一個用戶定義的輸入輸出緩沖區(qū),每接收一個字符就產生一個低級硬件中斷,串行驅動程序立即取得控制權,并將字符放入輸入數據緩沖區(qū),然后將控制權返還正在運行的應用程序。如果輸入數據緩沖區(qū)滿了,驅動程序用當前定義的流控制機制通知發(fā)送方停止發(fā)送數據。發(fā)送數據也采用類似的處理方式,應用程序將需要發(fā)送的數據放入輸出數據緩沖區(qū),串口每發(fā)送一個字符就產生一個低級硬件中斷。Visual C++ 通信控件 Msm 提供了功能完善的串口數據的發(fā)送和接收功能,Msm 控件具有兩種處理方式:一是事件驅動(Event-driven)方法,一是查詢法。1)事件驅動方式。當通信事件發(fā)生時,MSCOMM 控件會觸發(fā) OnComm 事件,調用者可以捕獲該事件,通過檢查其 CommEvent 屬性便可確認發(fā)生的是哪種事件或錯誤,從而進行相應的處理。這種方法的優(yōu)點是響應及時、可靠性高。 2)查詢方式。在程序的每個關鍵功能之后,可以通過檢查 CommEvent 屬性的值來查詢事件和錯誤。如果應用程序較小,這種方法可能更可取。例如,如果寫一個簡單的電話撥號程序,則沒有必要每接收 1 個字符都產生事件,因為惟一等待接收的字符是調制解調器的確定響應。在使用 MSCOMM 控件時,1 個 MSCOMM 控件只能同時對應 1 個串口。如果應用程序需要訪問和控件多個串口,那么必須使用多個 MSCOMM 控件。 在 VC++中,MSCOMM 控件只對應著 1 個 C++類CMSComm。由于 MSCOMM 控件本身沒有提供方法,所以 CMSComm 類除了 Create()成員函數外,其他的函數都是基于單片機的無線點菜系統(tǒng)的硬件設計及實現 第四章 硬件驅動程序和串行口調試工具30Get/Set 函數對,用來獲取或設置控件的屬性。MSCOMM 控件也只有 1 個 OnComm 事件,用來向調用者通知有通信事件發(fā)生。 MSCOMM 控件有許多很重要的屬性,限于篇幅只給出幾個較為重要和常用的屬性。表 MSCOMM 控件的重要屬性屬 性 說 明CommPort 通信端口號Settings 以字符串形式表示的波特率、奇偶校驗、數據位PortOpen 通信端口的狀態(tài),打開或是關閉Input 接收數據Output 發(fā)送數據InputMode 接收數據的類型:0 為文本;1 為二進制 表 程序中用到的所有控件,以及它們的 ID控件 ID 標題按鈕 ID_SEND 發(fā)送按鈕 ID_CLEAR 清空編輯框 IDC_EDIT_SEND編輯框 IDC_EDIT_RCV靜態(tài)文本 IDC_STATIC 接收緩沖區(qū)靜態(tài)文本 IDC_STATIC 發(fā)送緩沖區(qū)組框 IDC_STATIC 端口選擇單選按鈕 IDC_1 端口 1單選按鈕 IDC_
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1