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

正文內(nèi)容

基于單片機(jī)無(wú)線電子點(diǎn)菜系統(tǒng)帶pcb圖-資料下載頁(yè)

2025-05-05 22:16本頁(yè)面

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

  

【正文】 布線的方式有兩種:自動(dòng)布線及交互式布線 。但由于自動(dòng)布線效果不好,往往實(shí)際的效果和預(yù)計(jì)效果有很大的出入,因此全部使用 交互式布線 。布線過(guò)程中充分考慮到如何降低元件字之 間互相的干擾。 首先 根據(jù)印制線路板電流的大小,盡量加租電源線寬度,減少環(huán)路電阻 , 它們的關(guān)系是:地線>電源線>信號(hào)線 。 同時(shí)使電源線、地線的走向和數(shù)據(jù)傳遞的方向一致,這樣有助于增強(qiáng)抗噪聲能力。線條有講究:有條件做寬的線決不做細(xì);高壓及高頻線應(yīng)園滑,不得有尖銳的倒角,拐彎也不得采用直角 。 由于采用雙層設(shè)計(jì),因此不可避免地將會(huì)使用到過(guò)孔。 過(guò)孔太多,沉銅工藝稍有不慎就會(huì)埋下隱患。所以,設(shè)計(jì)中應(yīng)盡量減少過(guò)線孔。 此外,應(yīng)該 合理布置電源濾波 /退耦電容:一般在原理圖中僅畫(huà)出若干電源濾波 /退耦電容,但未指出它們各自應(yīng)接于何處。 其實(shí)這些電容是為開(kāi)關(guān)器件 (門(mén)電路 )或其它需要濾波 /退耦的部件而設(shè)置的,布置這些電容就應(yīng)盡量靠近這些元部件,離得太遠(yuǎn)就沒(méi)有作用了。 無(wú)線數(shù)據(jù)傳輸模塊的 PCB 圖 由于無(wú)線數(shù)據(jù)傳輸模塊的核心芯片工作在 ,因此在設(shè)計(jì) PCB 圖時(shí)對(duì)干擾的控制要格外重視。在 PCB 設(shè)計(jì)時(shí),必須考慮到各種電磁干擾,注意調(diào)整電阻、電容和電感的位置,特別要注意電容的位置。 nRF2401 的 PCB 為雙層板,底層一般不放置元件,頂層的空余地方敷上銅,這些基于單片機(jī)的無(wú)線點(diǎn)菜系統(tǒng)的硬件設(shè)計(jì)及實(shí)現(xiàn) 第三章 硬件系統(tǒng)的設(shè)計(jì) 及實(shí)現(xiàn) 23 敷銅通過(guò)過(guò)孔與底層的地相連。 nRF2401 的供電電源應(yīng)通過(guò)電容隔開(kāi),這 樣有利于給nRF2401 提供穩(wěn)定的電源。在 PCB 中,盡量多打一些通孔,使頂層和底層的地能夠充分接觸。 nRF2401 模塊的 PCB 如圖 所示。 圖 無(wú)線數(shù)據(jù)傳輸模塊的 PCB圖 基于單片機(jī)的無(wú)線點(diǎn)菜系統(tǒng)的硬件設(shè)計(jì)及實(shí)現(xiàn) 第四章 硬件驅(qū)動(dòng)程序和串行口調(diào)試工具 24 第四章 硬件驅(qū)動(dòng)程序和串行口調(diào)試工具 驅(qū)動(dòng)程序是硬件電路的靈魂,沒(méi)有驅(qū)動(dòng)的硬件電路是沒(méi)有用的。 STC89C58RD+是51 類單片機(jī),可以像開(kāi)發(fā)其他 51 單片機(jī)驅(qū)動(dòng)一樣開(kāi)發(fā)它的驅(qū)動(dòng)程序。單片機(jī)軟件開(kāi)發(fā)平臺(tái)選擇比較流行的 Keil uVision2,因?yàn)楝F(xiàn)在關(guān)于 Keil uVision2 軟件的資料很多,這樣上手就會(huì)很快。 串行口調(diào)試工具是用來(lái)將 PC 機(jī)上的數(shù)據(jù)通過(guò)串行口發(fā)送到單片機(jī),和 PC 機(jī)接收從單片機(jī)發(fā)送過(guò)來(lái)的數(shù)據(jù)。選用 Visual C++ 來(lái)開(kāi)發(fā)串行口調(diào)試工具, Visual C++ 是微軟公司推出的一款優(yōu)秀開(kāi)發(fā)工具,代碼緊湊,運(yùn)行速度快,而且比較適合低層開(kāi)發(fā)。 硬件驅(qū)動(dòng)程序 整個(gè)數(shù)據(jù)傳輸系統(tǒng)有兩部分組成:與 PC機(jī)相連的開(kāi)發(fā)板為主機(jī)端,它不能移動(dòng),接收從機(jī)端發(fā)送過(guò)來(lái)的數(shù)據(jù),并向從機(jī)端發(fā)送指令;可以移動(dòng)的為從機(jī)端,它由開(kāi)發(fā)板和無(wú)線數(shù)據(jù)傳輸模塊組成。由于兩端的地位和功能不同,因此對(duì)應(yīng)的驅(qū)動(dòng)程序也不同。 使用 Keil uVision2 開(kāi)發(fā)硬件驅(qū)動(dòng)程序, 它支持眾多不同公司的 MCS51 架構(gòu)的芯片,它集編輯,編譯,仿真等于一體,同時(shí)還支持, PLM,匯編和 C語(yǔ)言的程序設(shè)計(jì),它的界面和常用的微軟 VC++的界面相似,界面友好,易學(xué)易用,在調(diào)試程序,軟件仿真方面也有很強(qiáng)大的功能。因此很多開(kāi)發(fā) 51 應(yīng)用的工程師或普通的單片機(jī)愛(ài)好者,都對(duì)它十分喜歡。 51 的編程語(yǔ)言常用的有二種,一種是匯編語(yǔ)言,一種是 C 語(yǔ)言。匯編語(yǔ)言的機(jī)器代碼生成效率很高但可讀性卻并不強(qiáng),復(fù)雜一點(diǎn)的程序就更是難讀懂,而 C 語(yǔ)言在大多數(shù)情況下其機(jī)器代碼生成 效率和匯編語(yǔ)言相當(dāng),但可讀性和可移植性卻遠(yuǎn)遠(yuǎn)超過(guò)匯編語(yǔ)言,而且 C 語(yǔ)言還可以嵌入?yún)R編來(lái)解決高時(shí)效性的代碼編寫(xiě)問(wèn)題。對(duì)于開(kāi)發(fā)周期來(lái)說(shuō),中大型的軟件編寫(xiě)用 C 語(yǔ)言的開(kāi)發(fā)周期通常要小于匯編語(yǔ)言很多。綜合以上 C 語(yǔ)言的優(yōu)點(diǎn),在開(kāi)發(fā)時(shí)選擇了 C51 語(yǔ)言 . 主機(jī)端硬件驅(qū)動(dòng)程序 主機(jī)端的硬件驅(qū)動(dòng)程序主要有兩種功能:實(shí)現(xiàn)開(kāi)發(fā)板通過(guò)串行口和 PC 機(jī)通信;實(shí)現(xiàn)開(kāi)發(fā)板通過(guò)某些 I/O 口和無(wú)線數(shù)據(jù)傳輸模塊進(jìn)行通信。 STC89C58RD+單片機(jī)的串行口是一個(gè)全雙工通信接口,即能同時(shí)進(jìn)行發(fā)送和接收,它可以作 UART 用,也可以 作為同步移位寄存器用,其禎格式和波特率可以通過(guò)軟件編程來(lái)設(shè)置,在使用上非常方便。 基于單片機(jī)的無(wú)線點(diǎn)菜系統(tǒng)的硬件設(shè)計(jì)及實(shí)現(xiàn) 第四章 硬件驅(qū)動(dòng)程序和串行口調(diào)試工具 25 STC89C58RD+單片機(jī)串行口的工作方式和波特率由控制寄存器 SCON 和特殊功能寄存器 PCON 組成。 串行口控制寄存器 SCON: D7 D6 D5 D4 D3 D2 D1 D0 SM0 SM1 SM2 REN TB8 RB8 TI RI 特殊功能寄存器 PCON: D7 D6 D5 D4 D3 D2 D1 D0 SMOD 串行口可以通過(guò)軟件設(shè)置四種工作方式,各種工作方式的數(shù)據(jù)格式和波特率均有所不同 ,這四種工作方式如下: 1. 方式 0 當(dāng)設(shè)定 SM SM0 為 00 時(shí),串行口工作于方式 0,在方式 0下, RXD 為數(shù)據(jù)輸入/輸出端, TXD 為同步脈沖輸出端,發(fā)送或接收的數(shù)據(jù)為 8 位,低位在前,高位在后,方式 0 的波特率固定 震蕩頻率的 1 /12,也就是每一機(jī)器周期傳送一位數(shù)據(jù)。方式 0可以外接移位寄存器,將串行口擴(kuò)展為并行口,也可以外接同步輸入 /輸出設(shè)備。 發(fā)送完畢后,硬件自動(dòng)將 TI 置 1。再次發(fā)送數(shù)據(jù)前,需要軟件將 TI 位清 0。 REN 為 1 時(shí),單片機(jī)允許接收數(shù)據(jù)。 RXD 為數(shù)據(jù)接收端,接受數(shù)據(jù)保存到 SBUF接收緩沖器中。發(fā)送完畢后, 硬件自動(dòng)將 RI 置 1。再次接收數(shù)據(jù)前,需要通過(guò)軟件將 RI 清 0。 2. 方式 1 當(dāng)設(shè)定 SM SM0 為 01 時(shí),串行口工作方式 1。方式 1 為波特率可變的 8 位異步通信方式,由 TXD 發(fā)送 RXD 接收,一幀數(shù)據(jù)為 10 位, 1位起始位(低電平), 8位數(shù)據(jù)位(低位在前)和 1 位停止位(高電平),波特率取決于定時(shí)器 的 T 溢出率( 1/溢出周期)和波特率的選擇位 SMOD。 2 和方式 3 當(dāng)設(shè)定 SM0、 SM1 為 10 或 11時(shí),串行口工作于方式 2 或方式 3,這兩種方式都是 9 位異步通信,僅波特率不同,適用于多機(jī)通信。在方式 2 或方式 3 下, 數(shù)據(jù)由TXD 發(fā)送 RXD 接收, 1 幀數(shù)據(jù)為 11 位, 1 位起始位(低電平), 8 位數(shù)據(jù)位(低位在前), 1 位可編程位(第 9 位數(shù)據(jù),用作奇偶校驗(yàn)或地址 /數(shù)據(jù)選擇), 1 位停止位(高電平)。與方式 1相比,多了一位可編程位,發(fā)送時(shí),第 9 位數(shù)據(jù)為 TB8,接收時(shí),第 9位數(shù)據(jù)送入 RB8。 基于單片機(jī)的無(wú)線點(diǎn)菜系統(tǒng)的硬件設(shè)計(jì)及實(shí)現(xiàn) 第四章 硬件驅(qū)動(dòng)程序和串行口調(diào)試工具 26 通過(guò)以上單片機(jī)串行口各種工作方式的比較,由于使用一個(gè)開(kāi)發(fā)板和 PC 機(jī)進(jìn)行單獨(dú)的通信,因此工作方式 1 比較適合系統(tǒng)的要求。通過(guò)設(shè)置合適的波特率和 幀 格式,來(lái)實(shí)現(xiàn)開(kāi)發(fā)板和 PC 機(jī)之間準(zhǔn)確的數(shù)據(jù)傳遞。 由于 PC 機(jī)和單片機(jī)的處理速度的不同, PC機(jī)給開(kāi)發(fā)板發(fā)送數(shù)據(jù) 時(shí),單片機(jī)采用中斷的方式進(jìn)行數(shù)據(jù)接收。通過(guò)軟件設(shè)置單片機(jī)的傳輸屬性參數(shù)為“ 9600, N, 8, 1”,來(lái)實(shí)現(xiàn)和 PC 機(jī)端串行口傳輸速率同步。開(kāi)發(fā)板向 PC 機(jī)發(fā)送數(shù)據(jù)時(shí),采用查詢方式,這樣可以節(jié)省單片機(jī)有限的資源。 開(kāi)發(fā)板還要通過(guò)專門(mén)的接口和無(wú)線數(shù)據(jù)傳輸模塊進(jìn)行數(shù)據(jù)交換,由于系統(tǒng)設(shè)計(jì)為點(diǎn)對(duì)點(diǎn)通信,因此只使用了 nRF2401 一個(gè)信道。 nRF2401 的數(shù)據(jù)傳輸方式為同步傳輸,因此使用普通的 I/O 口通過(guò)軟件方式模擬 SPI 方式傳輸。 nRF2401 有四種工作模式:收發(fā)模式,配置模式,空閑模式和關(guān)機(jī)模式 [16][17]。工作模 式由 PWR_UP 、 CE、 TX_EN 和 CS 三個(gè)引腳決定,詳見(jiàn)表 。 表 nRF2401的各種工作模式的設(shè)置方式 工作模式 PWR_UP CE CS 收發(fā)模式 1 1 0 配置模式 1 0 1 空閑模式 1 0 0 關(guān)機(jī)模式 0 * * 前文已經(jīng)講過(guò)有關(guān) nRF2401 的收發(fā)方式,這里重點(diǎn)討論一下它的配置方式。nRF2401 的所有配置工作都是通過(guò) CS、 CLK1 和 DATA 三個(gè)引腳完成,把其配置為ShockBurstTM 收發(fā)模式需要 15 字節(jié)的配置字。 ShockBurst TM 的配置字可以 分為以下四個(gè)部分: ( 1) 數(shù)據(jù)寬度:聲明射頻數(shù)據(jù)包中數(shù)據(jù)占用的位數(shù)。這使得 nRF2401 能夠區(qū)分接收數(shù)據(jù)包中的數(shù)據(jù)和 CRC 校驗(yàn)碼; ( 2) 地址寬度:聲明射頻數(shù)據(jù)包中地址占用的位數(shù)。這使得 nRF2401 能夠區(qū)分地址和數(shù)據(jù); ( 3) 地址:接收數(shù)據(jù)的地址,有通道 1 的地址和通道 2 的地址; ( 4) CRC:使 nRF2401 能夠生成 CRC 校驗(yàn)碼和解碼。 nRF2401 的配置字如表 所示: 在配置模式下要保持 PWR_UP 引腳為高電平, CE 引腳為低電平,配置字從最高位開(kāi)始,依次寫(xiě)入 nRF2401。在 CS 引腳 的下降沿,新送入的配置字開(kāi)始工作。 基于單片機(jī)的無(wú)線點(diǎn)菜系統(tǒng)的硬件設(shè)計(jì)及實(shí)現(xiàn) 第四章 硬件驅(qū)動(dòng)程序和串行口調(diào)試工具 27 表 nRF2401的配置字 位 位數(shù) 名字 功能 Shockb Brst T M 配置 143: 120 24 TEST 保留 119: 112 8 DATA2_W 接收頻道 2有效數(shù)據(jù)長(zhǎng)度 111: 104 8 DATA1_W 接收頻道 1有效數(shù)據(jù)長(zhǎng)度 103: 64 40 ADDR2 接收頻道 2 的地址,最高為 5 字節(jié) 63: 24 40 ADDR1 接收頻道 1 的地址,最高為 5 字節(jié) 23: 18 6 ADDR_W 接受頻道地址位數(shù) 17 1 CRC_L 8 位或 16位 CRC 校驗(yàn) 16 1 CRC_EN 使能 CRC 校驗(yàn) 常用器件配置 15 1 RX2_EN 使能第二頻道 14 1 CM 通信方式設(shè)置 13 1 RFDR_SB 發(fā)射數(shù)據(jù)速率 12: 10 3 XO_F 晶震頻率 9: 8 2 RF_PWR 發(fā)射輸出電源 7: 1 7 RF_CH 頻道設(shè)置 0 1 RX_EN 接收或發(fā)送操作 開(kāi)發(fā)板通過(guò)串行口和 PC 機(jī)交換數(shù)據(jù)的流程圖如下: 圖 開(kāi)發(fā)板和 PC機(jī)通過(guò)串行口交換數(shù)據(jù)的流程圖 開(kāi)始 初始化串行口 循環(huán)等待觸發(fā)條件 發(fā)送完畢,開(kāi)中斷 開(kāi)發(fā)板上有鍵按下 否 是 RI=1 否 ACC=SBUF 將數(shù)據(jù)在數(shù)碼管上顯示 將數(shù)據(jù)發(fā)送到串口發(fā)送緩沖區(qū),關(guān)中斷 TI=1? 否 基于單片機(jī)的無(wú)線點(diǎn)菜系統(tǒng)的硬件設(shè)計(jì)及實(shí)現(xiàn) 第四章 硬件驅(qū)動(dòng)程序和串行口調(diào)試工具 28 開(kāi)發(fā)板通過(guò) IO口和無(wú)線數(shù)據(jù)傳輸模塊進(jìn)行數(shù)據(jù)交換的流程圖為圖 。 圖 IO口和無(wú)線數(shù)據(jù)傳輸模塊進(jìn)行數(shù)據(jù)交換的流程圖 移動(dòng)端驅(qū)動(dòng)程序 移動(dòng)端的開(kāi)發(fā)板的結(jié)構(gòu)和 PC 機(jī)端的開(kāi)發(fā)板的結(jié)構(gòu)完全相同,但由于它不需要和PC 機(jī)通信,只需要和無(wú)線數(shù)據(jù)傳輸模塊進(jìn)行通信。因此相對(duì)另一端的驅(qū)動(dòng)簡(jiǎn)單一些。具體編程規(guī)則在上一節(jié)已經(jīng)詳細(xì)敘 述,這里不再多說(shuō),具體的程序是 PC 機(jī)端程序的一部分。 串行口調(diào)試工具 串行口調(diào)試工具是用微軟公司的 visual c++[20][21]開(kāi)發(fā)的。 幾乎所有世界級(jí)的軟件,從業(yè)界領(lǐng)先的 Web 瀏覽器到面向任務(wù)的企業(yè)應(yīng)用,都是使用 Microsoft Visual C++開(kāi)發(fā)系統(tǒng)來(lái)開(kāi)發(fā)的。要用 C++來(lái)開(kāi)發(fā) Windows 和 Web 上的高性能應(yīng)用程序, Visual C++是效率最高的首選工具。 Visual C++ 在不犧牲靈活性、性能和控制力度的同時(shí),給 C++帶來(lái)了更高水平的生產(chǎn)效率。 它具有可視化的界面 ,封裝了大量的類,使界面制作變的很簡(jiǎn)單,使用它可以方便快捷地開(kāi)發(fā) Windows 環(huán)境下的應(yīng)用程序。visual c++ 專門(mén)為串行口通信提供了 Msm[20][21]控件,使用該控件程序員不必花時(shí)間去了解比較復(fù)雜的 API 函數(shù),通過(guò)簡(jiǎn)單修改控件的屬性和使用控件提供的方法就可以實(shí)現(xiàn)對(duì)串口的配置,完成串口發(fā)送和接收數(shù)據(jù)。 串行通信的基本原理 串行端口的本質(zhì)功能是作為 CPU 和串行設(shè)備間的編碼轉(zhuǎn)換器。當(dāng)數(shù)據(jù) 從 CPU 經(jīng)開(kāi)始 配置 nRF2401 的工作方式 循環(huán)等待觸發(fā)條件 DR1=1 否 是 有數(shù)據(jù)發(fā)送 否 將數(shù)據(jù)接收到開(kāi)發(fā)板 將數(shù)據(jù)發(fā)送到開(kāi)發(fā)板 是 基于單片機(jī)的無(wú)線點(diǎn)菜系統(tǒng)的硬件設(shè)計(jì)及實(shí)現(xiàn) 第四章 硬件驅(qū)動(dòng)程序和串行口調(diào)試工具 29 過(guò)串行端口發(fā)送出去時(shí),字節(jié)數(shù)據(jù)轉(zhuǎn)換為串行的位。在接收數(shù)據(jù)時(shí),串行的位被轉(zhuǎn)換為字節(jié)數(shù)據(jù)。 在 Windows 環(huán)境下,串口是系統(tǒng)資源的一
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1