版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p><b> ?。ǘ?屆)</b></p><p> 基于無線通信的點(diǎn)菜系統(tǒng)設(shè)計(jì)</p><p> 所在學(xué)院 </p><p> 專業(yè)班級(jí) 電子信息工程 </p&g
2、t;<p> 學(xué)生姓名 學(xué)號(hào) </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘 要</b></p><p>
3、無線點(diǎn)餐系統(tǒng)的實(shí)現(xiàn)主要是要靠無線通信技術(shù),將兩片單片機(jī)作為無線通信的發(fā)送和接收端設(shè)備,無線通信技術(shù)遵循TCP協(xié)議,TCP協(xié)議是一種連接導(dǎo)向的、可靠的、基于字節(jié)流的運(yùn)輸層通信協(xié)議。在整個(gè)點(diǎn)餐的過程中,由單片機(jī)進(jìn)行按鍵選擇輸入,然后選擇的結(jié)果會(huì)在電腦的界面上展現(xiàn)出來,電腦上面展示的界面使用VB語言進(jìn)行開發(fā),程序的編寫選擇使用C語言,因?yàn)橄鄬?duì)于其他語言來說C語言比較簡(jiǎn)單易懂。編寫程序的時(shí)候選擇分模塊進(jìn)行,在一個(gè)主程序中分別調(diào)用各個(gè)分模塊,比如
4、有選擇的模塊、發(fā)送的模塊等等,這樣分模塊進(jìn)行的好處就在于整個(gè)程序便于調(diào)試,最后程序的實(shí)現(xiàn)是通過KeilC51燒入單片機(jī)之后來完成的。</p><p> 文章首先分析了無線點(diǎn)餐系統(tǒng)的組成以及各個(gè)部分的功能,并對(duì)硬件設(shè)備進(jìn)行簡(jiǎn)要的設(shè)計(jì)分析。然后再對(duì)幾種無線通信方式進(jìn)行比較后,得出應(yīng)該采用微功率短距離的無線通信技術(shù),并且詳細(xì)分析所采用的TCP協(xié)議。最后是軟件的開發(fā),采用C語言編程,在主程序中進(jìn)行子程序調(diào)用,增加程序的
5、可閱讀性和可修改性,大大縮短了程序的調(diào)試周期。</p><p> 關(guān)鍵詞:無線通信,TCP協(xié)議,模塊,單片機(jī),C語言</p><p> Design of Order Dishes System Based on Wireless </p><p><b> Abstract</b></p><p> Wirel
6、ess ordering system mainly depends on the realization of wireless communications technology, two pieces of MCU become the wireless communication's sending and receiving terminal equipment. Wireless communication tech
7、nology follows the TCP protocol, TCP protocol is a connection_oriented, reliable, byte stream_based transport layer communication protocol. In the process of the whole order, key to select the input from the MCU, then s
8、elect the results will show up on the computer's interface,</p><p> First, this article analyses the composition of ordering system of wireless and the function of each part, and the design of hardware
9、device briefly analysed. Then compared the other wireless communications, we found that we should use the micro-power short-range wireless communication technology, and analysed the TCP protocol detailedly. Finally, we u
10、se C language to develop the program. The advantage is easy to read and correct, and reducing the debugging cycle greatly. </p><p> Key words: wireless communication, TCP protocol, module, MCU, C language
11、</p><p><b> 目錄</b></p><p> 基于無線通信的點(diǎn)菜系統(tǒng)設(shè)計(jì)I</p><p><b> 摘 要I</b></p><p><b> 1 緒論1</b></p><p><b> 1.1引言1<
12、;/b></p><p> 1.2無線通信技術(shù)的國(guó)內(nèi)外發(fā)展現(xiàn)狀2</p><p> 1.3課題研究的主要內(nèi)容2</p><p> 2 設(shè)備方案設(shè)計(jì)與總體設(shè)計(jì)4</p><p> 2.1無線點(diǎn)餐系統(tǒng)的方案設(shè)計(jì)4</p><p><b> 2.2方案評(píng)價(jià)5</b></p
13、><p> 2.3無線點(diǎn)餐系統(tǒng)的總體設(shè)計(jì)6</p><p><b> 3設(shè)計(jì)說明7</b></p><p><b> 3.1系統(tǒng)硬件7</b></p><p><b> 3.2系統(tǒng)說明8</b></p><p> 3.2.1點(diǎn)菜終端主要模塊
14、結(jié)構(gòu)圖9</p><p> 3.2.2點(diǎn)菜終端主要模塊界面9</p><p> 4 系統(tǒng)軟件設(shè)計(jì)11</p><p> 4.1 系統(tǒng)總體流程圖11</p><p> 4.2 初始化11</p><p> 4.2.1 液晶初始化11</p><p> 4.2.2 串口初始化
15、12</p><p> 4.2.3 中斷初始化12</p><p> 4.3 鍵盤掃描12</p><p> 4.3.1鍵盤掃描流程圖13</p><p> 4.3.2 源程序部分代碼13</p><p> 4.4 液晶顯示14</p><p> 4.4.1液晶顯示14
16、</p><p> 4.4.2液晶顯示流程圖14</p><p> 4.4.3部分源程序代碼15</p><p> 4.5串口發(fā)送16</p><p> 4.5.1串口發(fā)送16</p><p> 4.5.2串口發(fā)送流程圖16</p><p> 4.5.3部分源程序代碼16
17、</p><p> 4.6無線通信協(xié)議17</p><p> 4.6.1無線通信的任務(wù)17</p><p> 4.6.2無線通信協(xié)議的層次結(jié)構(gòu)17</p><p> 4.6.3無線通信的實(shí)現(xiàn)18</p><p> 4.6.4無線通信發(fā)送和接收流程圖18</p><p> 4
18、.6.5部分源程序代碼20</p><p> 4.7 功能實(shí)現(xiàn)21</p><p> 4.7.1 點(diǎn)菜21</p><p> 4.7.2 刪除22</p><p> 4.7.3 翻頁(yè)23</p><p><b> 5 結(jié) 論24</b></p><p>
19、;<b> 參考文獻(xiàn)26</b></p><p><b> 附錄128</b></p><p><b> 1 緒論</b></p><p><b> 1.1引言</b></p><p> 無線通信技術(shù)自從問世之后,就在很多行業(yè)得到了應(yīng)用。尤其
20、在近幾年來說,無線通信技術(shù)的應(yīng)用領(lǐng)域越來越廣泛了,它已經(jīng)不僅僅是只在一些高端領(lǐng)域才能得到應(yīng)用了,現(xiàn)如今,各行各業(yè)都希望能夠?qū)⒁恍┫冗M(jìn)性的技術(shù)引入自己的領(lǐng)域,這樣一來,整體水平就會(huì)得到提升。就好像現(xiàn)在,我國(guó)的餐飲業(yè)也逐漸想將這樣一種高端的技術(shù)運(yùn)用在餐飲業(yè)的服務(wù)過程中。無線點(diǎn)餐系統(tǒng)就是在一過程之中,應(yīng)運(yùn)而生的一種新型高端技術(shù)。在將無線技術(shù)應(yīng)用在餐飲業(yè)中之后,這套無線點(diǎn)餐系統(tǒng)能夠?qū)鹘y(tǒng)的人工點(diǎn)菜、記菜、結(jié)賬等功能通通的計(jì)算機(jī)化,省去了人力的資
21、源,也避免了人工工作時(shí)的局限性。相對(duì)于以前人工的只能站立之后才開始工作的劣勢(shì),無線點(diǎn)餐系統(tǒng)的優(yōu)點(diǎn)在于,可以在行進(jìn)中進(jìn)行點(diǎn)菜等服務(wù),這樣一來,大大節(jié)省了時(shí)間,使得工作效率提高,并且可以更多的精力用來進(jìn)行更好的服務(wù),那么服務(wù)質(zhì)量也得到了很大程度上的提升[1]。</p><p> 無線通信技術(shù)的一個(gè)典型應(yīng)用就是無線點(diǎn)餐系統(tǒng),這套系統(tǒng)使用了無線通信的技術(shù),使得整個(gè)餐飲業(yè)的服務(wù)效率和服務(wù)質(zhì)量得到了很大程度上的提升。怎么樣
22、通過使用最新的無線通信技術(shù)為我國(guó)的餐飲業(yè)帶來一個(gè)嶄新的管理理念和服務(wù)的手段,優(yōu)化業(yè)務(wù)流程,為用餐顧客提供更加優(yōu)良的服務(wù)質(zhì)量,是無線點(diǎn)餐系統(tǒng)的一個(gè)最終也是最重要的目標(biāo)。無線點(diǎn)餐系統(tǒng)的這一個(gè)目標(biāo)會(huì)在餐飲業(yè)向信息技術(shù)化邁進(jìn)的過程中成為一個(gè)最重要的里程碑。不過,以我國(guó)目前的水平來說,無線點(diǎn)餐系統(tǒng)還處在一個(gè)最初級(jí)的階段,這套系統(tǒng)現(xiàn)在并沒有完全的普及到每一個(gè)餐館,所以,不是每一個(gè)餐館都會(huì)使用無線點(diǎn)餐系統(tǒng),即使這樣,但是相信,在信息技術(shù)不斷完善的將來
23、,這套系統(tǒng)的廣泛使用將不再是空想。雖然現(xiàn)在國(guó)內(nèi)的無線點(diǎn)餐系統(tǒng)的發(fā)展還不是很好,但在國(guó)外來說,這項(xiàng)技術(shù)已經(jīng)達(dá)到了一個(gè)非常成熟的階段了,他們基本上會(huì)使用無線局域網(wǎng)技術(shù)來完成這套系統(tǒng)。根據(jù)一些數(shù)據(jù)顯示,就目前來說,全世界每天會(huì)有數(shù)以萬計(jì)的人成為新的無線局域網(wǎng)的用戶。所以就我國(guó)而言,如果想讓餐飲業(yè)和數(shù)字信息化掛鉤,那么,最重要的一步舉措就是要盡早的利用無線局域網(wǎng)技術(shù)來實(shí)施無線點(diǎn)菜系統(tǒng)的一些功能。只有這樣,的無線點(diǎn)餐系統(tǒng)才會(huì)逐漸</p>
24、;<p> 1.2無線通信技術(shù)的國(guó)內(nèi)外發(fā)展現(xiàn)狀</p><p> 早在20世紀(jì)70年代以前,傳統(tǒng)的人工點(diǎn)菜服務(wù)方式一直被餐飲業(yè)所選用。隨著20世紀(jì)后期一些新型科技的發(fā)展,尤其是一些與計(jì)算機(jī)有關(guān)的數(shù)字信息的迅速發(fā)展,有越來越多的餐飲業(yè)管理者發(fā)現(xiàn)了將數(shù)字信息化加入到餐飲業(yè)中的重要性。在這個(gè)基礎(chǔ)之上,有一些餐飲服務(wù)系統(tǒng)、餐飲管理系統(tǒng)也逐漸的開發(fā)成功并且投入市場(chǎng),這一舉動(dòng)無疑給餐飲業(yè)帶來了希望的曙光。&
25、lt;/p><p> 國(guó)外在20世紀(jì)的70年代就已經(jīng)出現(xiàn)了餐飲管理系統(tǒng)的初步模型,而國(guó)內(nèi)則在80年代末期,也漸漸出現(xiàn)了這一理念模型,概括來說,就是在總服務(wù)臺(tái)設(shè)置電腦以及一些和它相連接的外圍設(shè)備等,可以用來實(shí)現(xiàn)一些基本的結(jié)賬、核算、打印賬單等最簡(jiǎn)單的功能。這個(gè)時(shí)期的餐飲管理的理念實(shí)際上就只是將企業(yè)內(nèi)部財(cái)務(wù)管理的內(nèi)容電算化,這樣看來還不算真正意義上的餐飲管理系統(tǒng),不過,就是這種最簡(jiǎn)單的想法,將一種新科技領(lǐng)進(jìn)了餐飲服務(wù)的
26、大門[3]。</p><p> 80年代中期一直到90年代中期,由于局域網(wǎng)技術(shù)的發(fā)展迅速,逐漸的出現(xiàn)了以觸摸屏為交互終端的一種餐飲服務(wù)管理系統(tǒng)。這個(gè)時(shí)期的系統(tǒng)都是一種有線的連接,使用起來非常的不方便。不過,90年代到現(xiàn)在為止,技術(shù)方面有了重大的突破,數(shù)據(jù)庫(kù)技術(shù)、動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)和寬帶技術(shù)的使用和完善使得網(wǎng)絡(luò)信息的傳遞和交互更加的方便,這也讓網(wǎng)絡(luò)成為了現(xiàn)代人生活中不可或缺的一部分。網(wǎng)絡(luò)的發(fā)展,進(jìn)一步的擴(kuò)大了餐飲管理系
27、統(tǒng)的概念,人們可以通過網(wǎng)絡(luò)進(jìn)行點(diǎn)餐、支付。無線網(wǎng)絡(luò)技術(shù)的發(fā)展,讓可以隨時(shí)隨地的進(jìn)行網(wǎng)絡(luò)通訊,也就是在這個(gè)時(shí)候,出現(xiàn)了一些主要由紅外技術(shù)、藍(lán)牙技術(shù)以及802.1.1系列為主的餐飲管理系統(tǒng)。比如在2000年的時(shí)候,北京食苑星技術(shù)有限公司將藍(lán)牙技術(shù)應(yīng)用于點(diǎn)餐服務(wù);北京辰森偉業(yè)軟件開發(fā)有限公司開發(fā)了一卡通管理系統(tǒng);2002年上??粕萍夹畔⒂邢薰静捎脽o線通信技術(shù),利用智能掌上電腦實(shí)現(xiàn)以前由人工進(jìn)行點(diǎn)菜的一系列的流程管理等等[4]。</p
28、><p> 現(xiàn)如今,我國(guó)整體的餐飲服務(wù)管理技術(shù)水平和國(guó)際先進(jìn)性水平相比,還有很大一段距離,尤其在信息的管理、數(shù)據(jù)的挖掘等方面的差距比較大。而且中餐是一個(gè)個(gè)性化很強(qiáng)大的行業(yè),國(guó)外的產(chǎn)品不能“入鄉(xiāng)隨俗”,它不能很好的滿足國(guó)內(nèi)的一些需求,所以在服務(wù)信息化的方面,我國(guó)會(huì)有很大的發(fā)展?jié)摿Α?lt;/p><p> 1.3課題研究的主要內(nèi)容</p><p> 根據(jù)上面所講述的內(nèi)容可
29、以分析得出,無線點(diǎn)菜系統(tǒng)的終端是現(xiàn)代化餐飲的一個(gè)重要組成部分,點(diǎn)菜系統(tǒng)最重要的差別就在于點(diǎn)菜終端的實(shí)現(xiàn)方式不同,就目前市場(chǎng)上面出現(xiàn)的產(chǎn)品來說,中低檔產(chǎn)品有限,并不能完全滿足于中低端市場(chǎng)的需求,而且它們的功能使用也有局限性,但是世面上所能見到的高檔產(chǎn)品,不僅價(jià)格昂貴,而且功能過于復(fù)雜,背離了最初的點(diǎn)菜初衷。所以現(xiàn)在市場(chǎng)急需要一種價(jià)格適宜,功能恰到好處,并且能夠滿足市場(chǎng)上絕大多數(shù)需求的中檔產(chǎn)品,所以想要開發(fā)研究一種滿足這種條件的中低檔無線點(diǎn)
30、菜系統(tǒng)。針對(duì)無線點(diǎn)菜系統(tǒng)終端這種具體化的應(yīng)用場(chǎng)合,不僅僅要求成本低廉,集成度高,還要盡量減少外圍器件,又要有非常豐富的軟硬件資源,能夠進(jìn)行文字處理、彩色圖片的顯示、無線通訊等處理能力[5]。</p><p> 這個(gè)課題初步研究無線點(diǎn)餐系統(tǒng)的原理,主要利用了無線模塊的發(fā)射和接收將所需要的信息反應(yīng)出來,整個(gè)程序用C語言進(jìn)行編寫,在主程序通過調(diào)用子程序來實(shí)現(xiàn),這樣便于程序的閱讀和調(diào)試。 然后將整個(gè)程序模塊化處理,在電
31、腦上利用SQL Sever2000,創(chuàng)建一個(gè)關(guān)于菜單的數(shù)據(jù)庫(kù),這個(gè)數(shù)據(jù)庫(kù)可以將菜譜進(jìn)行分類,簡(jiǎn)易的分為熱菜、涼菜、湯等等。通過51單片機(jī)調(diào)用這個(gè)數(shù)據(jù)庫(kù)中的信息,那么顧客點(diǎn)菜的一些信息比如桌號(hào)、菜名等等就會(huì)由單片機(jī)通過NRF2401的無線模塊傳輸?shù)街鞴芾砥?,然后主管理器就?huì)將這些信息顯示在電腦的顯示屏上。電腦上的顯示界面選擇用VB語言來進(jìn)行設(shè)計(jì),這樣相對(duì)來說比較容易,易于編寫和調(diào)試,而且當(dāng)顧客用餐結(jié)束之后,主管理器可以根據(jù)所點(diǎn)的菜單將消費(fèi)
32、總額計(jì)算出來,便于顧客結(jié)賬付款。所設(shè)計(jì)的每一個(gè)模塊的功能如下:</p><p> ?。?)業(yè)務(wù)選擇模塊:整個(gè)系統(tǒng)的程序一旦初始化之后,首先就會(huì)先進(jìn)入選擇業(yè)務(wù)的界面里面,這個(gè)界面包括了開臺(tái)、點(diǎn)菜、結(jié)賬三個(gè)部分。只要點(diǎn)擊每一個(gè)部分,就會(huì)進(jìn)入每個(gè)分模塊的界面中。其中,開臺(tái)部分包括了時(shí)間、用餐人數(shù)以及桌號(hào)等一系列常見的信息[6];</p><p> (2)點(diǎn)菜界面模塊:在前面的業(yè)務(wù)選擇模塊的界面
33、中點(diǎn)擊“點(diǎn)菜”之后,進(jìn)入這個(gè)點(diǎn)菜界面,這個(gè)界面一共包括了四個(gè)部分:熱菜、涼菜、主食、湯類等等。在進(jìn)行選擇之后,就會(huì)進(jìn)入相應(yīng)的界面,選擇了要點(diǎn)的菜之后,就會(huì)顯示出所選擇的菜名的價(jià)格以及所屬分類等信息;</p><p> (3)已選菜肴狀態(tài)查詢模塊:在顧客結(jié)束點(diǎn)餐之后,服務(wù)員調(diào)用已經(jīng)選擇好的菜單,顯示出前面顧客已經(jīng)選好的所有菜名以及價(jià)格,便于向顧客進(jìn)行再一次的復(fù)述[7];</p><p>
34、?。?)價(jià)格統(tǒng)計(jì)模塊:顧客用餐結(jié)束之后,將前面所有的菜單進(jìn)行匯總合計(jì),最后得出用餐總額,并且同時(shí)顯示出時(shí)間、桌號(hào)、消費(fèi)總額等信息,便于開單結(jié)算等。</p><p> 2 設(shè)備方案設(shè)計(jì)與總體設(shè)計(jì)</p><p> 2.1無線點(diǎn)餐系統(tǒng)的方案設(shè)計(jì)</p><p> 圖2-1設(shè)備總體設(shè)計(jì)方案</p><p> 無線點(diǎn)餐系統(tǒng)首先通過單片機(jī)上的壓
35、鍵輸入進(jìn)行一個(gè)菜單的選擇之后,通過和單片機(jī)引腳P1、P2連接的無線模塊進(jìn)行數(shù)據(jù)的發(fā)送,同時(shí)發(fā)送模塊的信息經(jīng)由已經(jīng)編寫好的程序顯示在液晶上;兩個(gè)無線模塊之間由TCP協(xié)議互相通信,在接收模塊接收到發(fā)送來的數(shù)據(jù)信息之后,將信息交由單片機(jī)處理,并且在液晶上進(jìn)行顯示[8]。 </p><p> 壓鍵輸入采用4×4的鍵盤輸入,由芯片82C55的數(shù)據(jù)輸入口PA和PB進(jìn)行控制,將數(shù)據(jù)通過雙向數(shù)據(jù)信號(hào)線D0~D7反饋
36、至AT89C52系列的單片機(jī)中,并且由單片機(jī)讀取該壓鍵所對(duì)應(yīng)的菜肴數(shù)據(jù)。</p><p> 單片機(jī)再對(duì)液晶進(jìn)行初始化,指定液晶顯示的位置,然后調(diào)用液晶字符顯示函數(shù),寫完一個(gè)字符之后,令光標(biāo)自動(dòng)右移,并且判斷字符是否顯示完全,若字符顯示還未結(jié)束,那么繼續(xù)顯示下一個(gè)字符,直到全部顯示完畢。</p><p> 當(dāng)有數(shù)據(jù)要進(jìn)行發(fā)送的時(shí)候,將數(shù)據(jù)通過無線模塊的SPI口寫入到模塊中的TX FIFO
37、寄存器中,經(jīng)過數(shù)據(jù)通道,將數(shù)據(jù)發(fā)送出去;當(dāng)數(shù)據(jù)發(fā)送完成之后,設(shè)置通道0為接收模式,等待接收應(yīng)答信號(hào),若此時(shí)接收到應(yīng)答信號(hào)便進(jìn)入待機(jī)模式,否則模塊會(huì)重新發(fā)送數(shù)據(jù)。當(dāng)重新發(fā)送的數(shù)據(jù)超過重發(fā)計(jì)數(shù)器ARC_CNT設(shè)置的值時(shí),就會(huì)丟棄數(shù)據(jù)包[9]。</p><p> 兩個(gè)無線模塊(分節(jié)點(diǎn)和主節(jié)點(diǎn))之間的數(shù)據(jù)發(fā)送和接收則通過TCP傳輸控制協(xié)議進(jìn)行傳送,當(dāng)另一個(gè)無線模塊接收到數(shù)據(jù)之后,將數(shù)據(jù)存入RX FIFO寄存器中,置高R
38、X_DR,并產(chǎn)生中斷,向無線模塊的發(fā)送端發(fā)送一個(gè)確認(rèn)信號(hào),最后單片機(jī)以一個(gè)合適的數(shù)據(jù)率通過SPI口將數(shù)據(jù)讀出,調(diào)用液晶字符顯示函數(shù),將數(shù)據(jù)顯示在液晶屏幕上。</p><p><b> 2.2方案評(píng)價(jià)</b></p><p> 無線通信技術(shù)的實(shí)現(xiàn)有好多種方法,常見的有以下幾種技術(shù):</p><p> 紅外技術(shù):它的方向性比較強(qiáng),數(shù)據(jù)傳輸?shù)倪^
39、程中干擾比較少,速度很快,而且保密性好,但是它要求在傳輸過程中,兩個(gè) 設(shè)備之間不能有阻擋物,有效距離很小,不能用于邊移動(dòng)邊使用的設(shè)備[10];</p><p> 藍(lán)牙技術(shù):是一種短距離無線通信技術(shù),采用無線互連,具有穿透能力,能夠全方位的傳送,通過無線方式將網(wǎng)絡(luò)中的數(shù)據(jù)和語音設(shè)備連接成為一個(gè)微微網(wǎng),多個(gè)微微網(wǎng)就可以形成一個(gè)分布式網(wǎng)絡(luò),但是一個(gè)微微網(wǎng)同時(shí)連接的設(shè)備不能超過8個(gè),如果一旦設(shè)備超過了8個(gè)之后,只能通過
40、建立兩個(gè)微微網(wǎng)來進(jìn)行連接,這樣一來,就會(huì)使得網(wǎng)速下降,所以在實(shí)際的應(yīng)用中并不是很實(shí)用;</p><p> 802.11b技術(shù):這個(gè)技術(shù)標(biāo)準(zhǔn)是無線局域網(wǎng)的國(guó)際標(biāo)準(zhǔn),它最大的優(yōu)點(diǎn)就是兼容性,只要在終端設(shè)備上裝上無線網(wǎng)卡,就可以訪問所有的資源,像使用有線局域網(wǎng)一樣的方便,而且還省去了布線的麻煩。但是目前這種設(shè)備還比較昂貴,妨礙了它的應(yīng)用和推廣。</p><p> 微功率短距離無線通信技術(shù):一
41、般會(huì)使用數(shù)字信號(hào)單片射頻收發(fā)芯片,再加上微控制器以及一些簡(jiǎn)單的外圍器件構(gòu)成專用或者通用的無線通信模塊,它一般含有最簡(jiǎn)單透明的傳輸協(xié)議,或者使用簡(jiǎn)單的加密協(xié)議,所以使用者不需要對(duì)無線通信的原理有過多的了解,只要根據(jù)命令字進(jìn)行操作就可以實(shí)現(xiàn)最基本的無線傳輸,由于它的功率小,開發(fā)非常的簡(jiǎn)單,但是數(shù)據(jù)傳輸?shù)乃俣?、流量都比較適合一些搭建的小型網(wǎng)絡(luò),所以在工業(yè)、民用方面會(huì)被廣泛的使用[11]。</p><p> 那么根據(jù)以
42、上的對(duì)比,考慮到成本、開發(fā)的難易程度、使用的程度等等各方各面的因素,這套無線點(diǎn)餐系統(tǒng)選擇使用的無線通信技術(shù)是微功率短距離無線通信技術(shù)。</p><p> 2.3無線點(diǎn)餐系統(tǒng)的總體設(shè)計(jì)</p><p> 無線點(diǎn)餐系統(tǒng)方案的數(shù)據(jù)傳輸是利用了無線模塊來進(jìn)行無線通信。根據(jù)一些比較現(xiàn)實(shí)的問題,選擇了微功率段距離的無線通信技術(shù)。</p><p> 在整個(gè)點(diǎn)菜系統(tǒng)之中,無線
43、通信的任務(wù)主要包括了以下幾個(gè)方面:</p><p> 將顧客的就餐位置、點(diǎn)菜的一些信息通過手持無線終端即PDA上傳給總的服務(wù)器(單片機(jī));</p><p> 將當(dāng)天餐廳里的菜單信息、結(jié)賬信息等等通過服務(wù)器 下傳給無線終端(PDA)。</p><p> 由上面的過程看來,在整個(gè)通信的過程之中,服務(wù)器(單片機(jī))和無線終端(PDA)不僅僅只是數(shù)據(jù)發(fā)送端,也是數(shù)據(jù)的接
44、收端。因?yàn)樵谶@個(gè)無線網(wǎng)絡(luò)中,存在一個(gè)主站(服務(wù)器終端)和多個(gè)從站(各個(gè)手持終端),所以這個(gè)無線通信協(xié)議是一個(gè)一對(duì)多的無線通信協(xié)議[12]。</p><p><b> 3設(shè)計(jì)說明</b></p><p><b> 3.1系統(tǒng)硬件</b></p><p> 整個(gè)系統(tǒng)的硬件的實(shí)物圖如下所示:</p><
45、p> 圖3-1 系統(tǒng)硬件實(shí)物圖 </p><p> 硬件電路圖見附錄圖1。</p><p><b> 壓鍵輸入模塊:</b></p><p> 圖3-2 壓鍵輸入模塊實(shí)物圖</p><p><b> 液晶顯示模塊:</b></p><p> 圖3-3 液晶
46、顯示實(shí)物圖</p><p><b> 無線通信模塊:</b></p><p> 圖3-4 無線通信模塊實(shí)物圖</p><p><b> 3.2系統(tǒng)說明</b></p><p> 整個(gè)系統(tǒng)中的MCU使用的AT89C52系列的單片機(jī),整個(gè)系統(tǒng)充分利用了單片機(jī)低功耗的特點(diǎn),在主程序中僅僅只要完成初
47、始化和開始的顯示部分就可以了,然后就會(huì)進(jìn)入一個(gè)低功耗的模式,其他的功能模塊會(huì)在中斷服務(wù)的子程序中完成,當(dāng)程序中產(chǎn)生了中斷的時(shí)候,單片機(jī)就會(huì)被喚醒,然后執(zhí)行相對(duì)應(yīng)的中斷程序,當(dāng)程序從中斷程序返回的時(shí)候,單片機(jī)又會(huì)進(jìn)入一個(gè)低功耗的模式,這樣,整個(gè)程序的設(shè)計(jì)都會(huì)使得單片機(jī)長(zhǎng)時(shí)間的處于低功耗的模式狀態(tài)下。</p><p> 整個(gè)程序打算采用C語言進(jìn)行編寫,采用一個(gè)模塊化的編寫方式,把每一個(gè)模塊相關(guān)聯(lián)的程序放在一個(gè)文件中
48、,便于每一個(gè)模塊的分開調(diào)試,縮短了整個(gè)程序的調(diào)試周期,增加了整個(gè)程序的可閱讀性以及可操作性。</p><p> 3.2.1點(diǎn)菜終端主要模塊結(jié)構(gòu)圖</p><p> 圖3-5 點(diǎn)菜終端主要模塊結(jié)構(gòu)圖</p><p> 3.2.2點(diǎn)菜終端主要模塊界面</p><p> 3.2.2.1點(diǎn)菜模塊</p><p> 圖
49、3-6 點(diǎn)菜界面結(jié)構(gòu)圖</p><p> 在進(jìn)入了分類點(diǎn)菜的界面之后,共有四個(gè)分類選擇:熱菜、冷菜、主食和湯類。當(dāng)顧客按照想要選擇的分類進(jìn)行選擇之后,就會(huì)進(jìn)入相應(yīng)的界面下,這個(gè)小的界面里面會(huì)有回主菜單、菜單、結(jié)束點(diǎn)菜以及上下翻頁(yè)的選擇。當(dāng)選擇好菜名之后,狀態(tài)標(biāo)志state置1,表示選中,此時(shí)菜單會(huì)反色顯示,同時(shí)儲(chǔ)存菜名相對(duì)應(yīng)的二進(jìn)制代碼、計(jì)算出總價(jià)格;若狀態(tài)標(biāo)志為0 時(shí)表示未選中,相應(yīng)的菜價(jià)也不會(huì)計(jì)入最后的總價(jià)
50、格之中。狀態(tài)標(biāo)志位的置位和復(fù)位是一個(gè)關(guān)鍵點(diǎn),因?yàn)楫?dāng)點(diǎn)菜界面上下翻頁(yè)或者說要查詢已點(diǎn)菜名的時(shí)候,都要通過這個(gè)狀態(tài)標(biāo)志state來進(jìn)行查詢或者顯示。整個(gè)點(diǎn)菜界面的流程圖如圖3.6所示,由于冷菜、主食、湯類等的流程圖與熱菜的一致,故上圖中不再畫出[13]。</p><p> 3.2.2.2 查詢模塊</p><p> 圖3-7 查詢模塊流程圖</p><p> 在進(jìn)
51、入查詢界面之后,通過輸入桌號(hào),此時(shí)若前面點(diǎn)菜模塊中的狀態(tài)標(biāo)志位為1,則說明該桌號(hào)有相對(duì)應(yīng)的選擇菜單,那么就會(huì)顯示已選的菜名以及總價(jià)格。當(dāng)所顯示的信息準(zhǔn)確無誤時(shí),點(diǎn)擊確定,那么就會(huì)將點(diǎn)菜信息通過無線模塊發(fā)送出去。</p><p> 3.2.2.3結(jié)賬模塊</p><p> 圖3-8 結(jié)賬模塊流程圖</p><p> 在結(jié)賬模塊中,類似于上面的查詢模塊,也是需要通
52、過輸入桌號(hào),對(duì)應(yīng)狀態(tài)標(biāo)志位來進(jìn)行判斷是否該桌號(hào)的信息,當(dāng)狀態(tài)標(biāo)志位為1的時(shí)候,也就是說有相對(duì)應(yīng)的信息,那么此時(shí)會(huì)顯示桌號(hào)以及用餐的總價(jià)格,結(jié)賬完成之后,返回最開始的主界面。</p><p><b> 4 系統(tǒng)軟件設(shè)計(jì)</b></p><p> 4.1 系統(tǒng)總體流程圖</p><p> 系統(tǒng)的總體流程圖如下4-1所示:</p>
53、<p> 圖4-1 系統(tǒng)總體流程圖</p><p><b> 4.2 初始化</b></p><p> 4.2.1 液晶初始化</p><p> 液晶初始化的源程序代碼如下:</p><p> void init_1602( ) //液晶1602初始化函數(shù) </p>
54、<p><b> { </b></p><p> lcden=0; </p><p> write_com(0x38); //顯示模式設(shè)置 </p><p> write_com(0x0c); //顯示開 不顯示光標(biāo) 光標(biāo)不顯示 </p><
55、;p> write_com(0x06); //顯示地址遞增,即寫一個(gè)數(shù)據(jù)后,顯示位置右移一位 </p><p> write_com(0x01); //清屏 </p><p> Display_string(table,0x80); </p><p> Display_string("Lo
56、ck ok!",0x80+0X40);</p><p><b> } </b></p><p> 4.2.2 串口初始化</p><p> 串口初始化的源程序代碼如下:</p><p> void InitialUart() //串口初始化函數(shù)</p><p><
57、b> {</b></p><p> SCON=0x50; //串口方式1,允許接收</p><p> TMOD=0x21; //定時(shí)器T1工作方式2,定時(shí)器T0工作方式1</p><p> TH1=0xFD; //11.0592MHz9600波特率</p><p> TL1=0xFD
58、; </p><p> PCON=0x00; //波特率不用翻倍</p><p><b> ?。?lt;/b></p><p> 4.2.3 中斷初始化</p><p> 中斷初始化的源程序代碼如下:</p><p> void Init_interrupt(void)&l
59、t;/p><p><b> {</b></p><p> P1DIR=0x00; </p><p> P1IE=0x7C;</p><p> P1IES=0x7C; //下降延觸發(fā)</p><p> P1IFG=0x00;</p><p><b>
60、}</b></p><p><b> 4.3 鍵盤掃描</b></p><p> 壓鍵輸入的模塊主要完成的任務(wù)是首先判斷是否有壓鍵壓下,然后再進(jìn)行一個(gè)壓鍵消抖的處理,最后進(jìn)行壓鍵的定位并且生成一個(gè)壓鍵特征碼[14]。</p><p> 4.3.1鍵盤掃描流程圖</p><p> 壓鍵輸入的流程圖如下圖
61、4-2所示:</p><p> 圖4-2 壓鍵輸入流程圖</p><p> 4.3.2 源程序部分代碼</p><p> 壓鍵輸入的源程序代碼:</p><p> uchar keyscan() //壓鍵掃描程序</p><p><b> {</b></p><p
62、><b> /*第一行*/</b></p><p> PA=0xfe; //開始掃描第一行</p><p> temp=PB; </p><p> temp=temp&0x0f;</p><p> while(temp!=0x0f) //有鍵壓下</p>
63、<p><b> {</b></p><p> delay(5); //延時(shí)5ms消抖</p><p><b> PA=0xfe;</b></p><p><b> temp=PB;</b></p><p> temp=temp&a
64、mp;0x0f;</p><p> while(temp!=0x0f)</p><p><b> {</b></p><p> switch(temp)</p><p><b> {</b></p><p> case 0x0e:num=1; //第一個(gè)壓鍵&
65、lt;/p><p><b> break;</b></p><p> case 0x0d:num=2; //第二個(gè)壓鍵</p><p><b> break;</b></p><p> case 0x0b:num=3; //第三個(gè)壓鍵</p><p><
66、b> break; </b></p><p> case 0x07:num=4; //第四個(gè)壓鍵</p><p><b> break;</b></p><p><b> }</b></p><p><b> if(num=1)</b><
67、/p><p> TXBUF[50]=a[0][50]; </p><p><b> if(num=2)</b></p><p> TXBUF[50]=a[1][50];</p><p><b> if(num=3)</b></p><p> TXBUF[50]=a[2
68、][50];</p><p><b> if(num=4)</b></p><p> TXBUF[50]=a[3][50];</p><p><b> ?。?lt;/b></p><p><b> }</b></p><p> 該代碼段表示的是4
69、15;4壓鍵輸入的第一行,如果有按鍵壓下,那么單片機(jī)就會(huì)讀取到信息,將信息交由液晶顯示模塊進(jìn)行處理和顯示數(shù)據(jù)。壓鍵的后面三行代碼段類似于第一行,故不再詳細(xì)介紹。</p><p><b> 4.4 液晶顯示</b></p><p><b> 4.4.1液晶顯示</b></p><p> 液晶顯示的模塊首先要先對(duì)液晶進(jìn)行
70、一個(gè)初始化的設(shè)置,使用基本指令動(dòng)作清屏。本設(shè)計(jì)所采用的液晶是1602字符型液晶顯示器,它是一塊專門用來顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,分為上下兩行,每行顯示16個(gè)字符[15]。</p><p> 4.4.2液晶顯示流程圖</p><p> 圖4-3 液晶顯示流程圖</p><p> 4.4.3部分源程序代碼</p><p> 液
71、晶顯示字符子程序的源程序代碼如下:</p><p> void xianshi(unchar jj) //顯示字符子程序</p><p><b> ?。?lt;/b></p><p> unchar i; </p><p> for(i=0;i<16;i++) //在一行內(nèi)全部顯示</
72、p><p><b> ?。?lt;/b></p><p> xianshione(i,1,jj++); //顯示一個(gè)字符之后,字形碼自動(dòng)加1</p><p> jj&=0x7f; //保證在0~127的CGROM字形碼范圍顯示內(nèi)</p><p> if(jj<32) jj=32; /
73、/保證顯示的字形碼大于32</p><p><b> }</b></p><p><b> ?。?lt;/b></p><p> 液晶在指定位置顯示字符串子函數(shù)的源程序代碼如下:</p><p> void weizhi(unchar x, unchar y, unchar code *p) //
74、在指定位置顯示字符串函數(shù)</p><p><b> ?。?</b></p><p> unchar i,1=32;</p><p> for(i=0;i<1;i++)</p><p><b> { </b></p><p> xianshione(x++, y,
75、 p[i]); //在指定位置上顯示一個(gè)字符</p><p> if(x==16) //若x為16,確定已經(jīng)到行尾,換行使x=0重起一行</p><p> {x=0;y^=1;} // y的異或運(yùn)算確保重起的行與原來的不一樣</p><p><b> ?。?lt;/b></p><
76、p><b> ?。?lt;/b></p><p><b> 4.5串口發(fā)送</b></p><p><b> 4.5.1串口發(fā)送</b></p><p> 串口發(fā)送模塊主要是把接收到的數(shù)據(jù)經(jīng)過串口發(fā)送給無線模塊,在發(fā)送數(shù)據(jù)之前首先要對(duì)單片機(jī)的串口進(jìn)行設(shè)置,并且將單片機(jī)初始化。</p>
77、<p> 4.5.2串口發(fā)送流程圖</p><p> 圖4-4 串口發(fā)送流程圖</p><p> 4.5.3部分源程序代碼</p><p> 串行口發(fā)送數(shù)據(jù)的實(shí)現(xiàn)程序如下:</p><p> SBUF=IsStrm; //待發(fā)送字節(jié)賦給發(fā)送緩沖器</p><p> while(TI=
78、=0); //等待字節(jié)被發(fā)送</p><p> TI=0; //待字節(jié)已被發(fā)送,將TI清0</p><p> 其中第一條程序啟動(dòng)了串行數(shù)據(jù)的發(fā)送功能,變量IsStrm中的數(shù)據(jù)會(huì)按照事先設(shè)置好的方式和波特率從單片機(jī)的TXD引腳(P31)串行輸出。第二條語句通過判斷發(fā)送中斷標(biāo)志位TI,可以判斷數(shù)據(jù)是否發(fā)送完畢,若發(fā)送完畢,則TI=1。第三條語句令TI=0,則允許
79、串口能夠發(fā)送下一幀數(shù)據(jù)。</p><p><b> 4.6無線通信協(xié)議</b></p><p> 4.6.1無線通信的任務(wù)</p><p> 在無線點(diǎn)菜系統(tǒng)中,無線通信的任務(wù)主要包括兩個(gè)方面,首先是將顧客點(diǎn)菜的一些信息通過無線手持終端傳輸?shù)椒?wù)器上,其次就是將當(dāng)天飯店中的一些信息經(jīng)過服務(wù)器傳輸回?zé)o線終端上。</p><
80、p> 所以在整個(gè)通信的過程當(dāng)中,發(fā)送端和接收端是可以互換的,即發(fā)送端也是接收端,由于在這個(gè)無線網(wǎng)絡(luò)之中,的服務(wù)器是只有一個(gè)的,也就是只有一個(gè)主站,而無線手持終端會(huì)有多個(gè),即從站會(huì)有多個(gè),所以這兩個(gè)無線之間采用的是TCP傳輸控制協(xié)議,該模塊有多個(gè)數(shù)據(jù)通道,可以實(shí)現(xiàn)一對(duì)多的數(shù)據(jù)通信[16]。</p><p> 4.6.2無線通信協(xié)議的層次結(jié)構(gòu)</p><p> TCP傳輸控制協(xié)議是
81、一種面向連接的、可靠的、基于字節(jié)流的運(yùn)輸層通信協(xié)議。TCP層是位于IP層之上,應(yīng)用層之下的運(yùn)輸層,不一樣主機(jī)的應(yīng)用層之間會(huì)嘗嘗需要一些可靠的、像管道一樣的連接,不過IP層不會(huì)提供這種機(jī)制,而是提供一個(gè)不可靠的包交換。當(dāng)應(yīng)用層向TCP層發(fā)送用于網(wǎng)間傳輸?shù)?、用一個(gè)8位字節(jié)表示的數(shù)據(jù)流,然后TCP把數(shù)據(jù)流分割成適當(dāng)長(zhǎng)度的報(bào)文段,然后TCP層把結(jié)果包傳輸給IP層,由IP層通過網(wǎng)絡(luò)將包送給接收端實(shí)體的TCP層,該層為了保證不會(huì)發(fā)生丟包,就要給每一
82、個(gè)字節(jié)一個(gè)序號(hào),這樣序號(hào)就能夠保證傳送到接收端的包可以按照順序來進(jìn)行接收,當(dāng)接收到以后,對(duì)已經(jīng)成功收到的字節(jié)發(fā)回一個(gè)相應(yīng)的確認(rèn)(ACK);如果發(fā)送端在合理的往返時(shí)延(RTT)內(nèi)沒有收到確認(rèn)的話,那么對(duì)應(yīng)的數(shù)據(jù)就會(huì)重新傳送一遍[17]。</p><p> TCP用一個(gè)校驗(yàn)和函數(shù)來檢驗(yàn)數(shù)據(jù)是否有錯(cuò)誤,在發(fā)送和接收的時(shí)候都要計(jì)算校驗(yàn)和。首先,當(dāng)TCP建立了連接之后,通信的雙方可以同時(shí)進(jìn)行數(shù)據(jù)傳輸;其次,他是全雙工通信
83、,在保證了可靠性的基礎(chǔ)之上,采用超時(shí)重新傳輸和捎帶確認(rèn)的機(jī)制。在控制流量的方面,采用了滑動(dòng)窗口協(xié)議,這個(gè)協(xié)議中規(guī)定,對(duì)于窗口內(nèi)部沒有經(jīng)過確認(rèn)的分組需要重新傳送。在擁塞控制上,采用了廣受好評(píng)的TCP擁塞控制算法,這個(gè)算法主要包括三個(gè)主要部分:一個(gè)是加性增、乘性減;一個(gè)是慢啟動(dòng);另一個(gè)是對(duì)超時(shí)事件做出反應(yīng)。</p><p> TCP支持終端服務(wù)器,很多的終端連接安裝之后,就不再直接連在計(jì)算機(jī)上了,而是直接將他們連接
84、到終端服務(wù)器上。終端服務(wù)器只是一個(gè)小的計(jì)算機(jī),所以它只要知道怎樣運(yùn)行就可以了。如果想要把終端連接在終端服務(wù)器上,那么只需要輸入需要連接的計(jì)算機(jī)名就可以了。一般來說,會(huì)有好幾種可能同時(shí)有幾個(gè)這樣的連接,這個(gè)時(shí)候,終端服務(wù)器都會(huì)采用快速開關(guān)技術(shù)來進(jìn)行切換。這種模式,對(duì)于無線點(diǎn)菜系統(tǒng)來說,將是非常方便的事情,只要將每一個(gè)手持終端連接在總服務(wù)器上,就可以實(shí)現(xiàn)數(shù)據(jù)間的傳送。</p><p> 4.6.3無線通信的實(shí)現(xiàn)&l
85、t;/p><p> 整個(gè)無線點(diǎn)餐系統(tǒng)中,最難以實(shí)現(xiàn)的就是電腦與單片機(jī)之間的連接,這個(gè)也正是無線應(yīng)用系統(tǒng)和一般的應(yīng)用系統(tǒng)之間的不同之處,所以要設(shè)計(jì)一個(gè)穩(wěn)定的通信方式,這也具有很重要的意義。電腦與單片機(jī)之間的通信方式可以有兩種,一種是有線通信的方式,而另一種就是無線通信的方式,有線通信的方式通過ActiveSync同步軟件、USB接口和數(shù)據(jù)線實(shí)現(xiàn)與電腦相連接的任務(wù)[18]。但是有線通信方式的缺點(diǎn)就在于數(shù)據(jù)不能實(shí)現(xiàn)同步,
86、而且需要有數(shù)據(jù)線的連接才能夠?qū)崿F(xiàn)。無線方式通過無線訪問節(jié)點(diǎn)(Access Point,AP)和局域網(wǎng)(Local Area Network,LAN)組成,無線方式的優(yōu)點(diǎn)就在于它可以實(shí)現(xiàn)實(shí)時(shí)同步。本系統(tǒng)中采用無線通信的方式,通過MSComm控件實(shí)現(xiàn)電腦與單片機(jī)的連接。MSComm 作為一個(gè)串行通訊控件為程序員串口通訊編程節(jié)省了很多時(shí)間。在基于對(duì)話框的應(yīng)用中加入一個(gè)MSComm控件就會(huì)使整個(gè)連接變得比較簡(jiǎn)單[19]。</p>
87、<p> 4.6.4無線通信發(fā)送和接收流程圖</p><p> 圖4-5 無線通信發(fā)送流程圖</p><p> 圖4-6無線通信接收流程圖</p><p> 4.6.5部分源程序代碼</p><p> 單片機(jī)將數(shù)據(jù)寫入發(fā)送緩沖寄存器,無線模塊處于等待發(fā)送狀態(tài),將發(fā)送緩存的數(shù)據(jù)發(fā)送出去。接收時(shí),當(dāng)無線模塊測(cè)試到空中有信息時(shí),
88、檢測(cè)無線模塊是否處于等待接收的狀態(tài),如果是的話,就將數(shù)據(jù)存入接收緩存寄存器中,由單片機(jī)直接訪問讀取數(shù)據(jù),并且在讀取完之后產(chǎn)生中斷,使得無線模塊再次進(jìn)入等待接收狀態(tài)。</p><p> 無線模塊發(fā)送數(shù)據(jù)時(shí)的源程序代碼如下:</p><p> uint SPI_Write(uchar reg, uchar *q, uchar uchars)</p><p><
89、b> {</b></p><p> uint status,uchar_ctr;</p><p> CSN = 0; //SPI使能 </p><p> status = SPI_RW(reg); </p><p> for(uchar_ctr=0; uchar_ctr<
90、uchars; uchar_ctr++)</p><p> SPI_RW(*q++);</p><p> CSN = 1; //關(guān)閉SPI</p><p> return(status); </p><p><b> }</b></p><p> 無線模塊在接收
91、數(shù)據(jù)時(shí)的源程序代碼如下:</p><p> uint SPI_Read(uchar reg, uchar *q, uchar uchars)</p><p><b> {</b></p><p> uint status,uchar_ctr;</p><p> CSN = 0;
92、 // SPI使能</p><p> status = SPI_RW(reg); </p><p> for(uchar_ctr=0;uchar_ctr<uchars;uchar_ctr++)</p><p> q[uchar_ctr] = SPI_RW(0); </p><p> CSN = 1
93、; //關(guān)閉SPI </p><p> return(status); </p><p><b> }</b></p><p> 上述程序代碼中,reg為緩沖寄存器地址,q為等待寫入數(shù)據(jù)的地址,uchars為寫入數(shù)據(jù)的個(gè)數(shù)。</p>&l
94、t;p><b> 4.7 功能實(shí)現(xiàn)</b></p><p><b> 4.7.1 點(diǎn)菜</b></p><p> 點(diǎn)菜模塊中使用按鍵SELECT、CANSEL、SEND等壓鍵來進(jìn)行一個(gè)菜單的選擇,SELECT表示菜單的選中,CANSEL表示對(duì)所選菜名的取消,SEND則是將已選的菜品信息發(fā)送至主節(jié)點(diǎn),等待另一個(gè)無線模塊進(jìn)行接收。<
95、/p><p> SELECT鍵的源程序代碼段如下:</p><p> void select(void) </p><p><b> {</b></p><p><b> uint i;</b></p><p> uchar flag=1;</p>
96、;<p> for(i=0;i<32;i++)</p><p> if(number+1==BUF[i])</p><p><b> flag=0;</b></p><p> if(flag==1)</p><p><b> {</b></p><p
97、> BUF[BUF_j]=number+1;</p><p><b> BUF_j++;</b></p><p> disp_img(0,line*16,24,16,sel);</p><p> r_counter+=1;</p><p> cls_ascii(0,1,3);//清除計(jì)數(shù)器顯示&l
98、t;/p><p> if(r_counter>9)</p><p><b> {</b></p><p> disp_char(0,8,r_counter/10+48);</p><p> disp_char(1,8,r_counter%10+48);</p><p><b>
99、 }</b></p><p><b> else</b></p><p> disp_char(0,8,r_counter+48);</p><p><b> } </b></p><p><b> }</b></p><p>
100、<b> 4.7.2 刪除</b></p><p> CANSEL鍵的源程序代碼如下:</p><p> void key_cancel(void)</p><p><b> { </b></p><p> for(BUF_i=0;BUF_i<32;BUF_i++)&l
101、t;/p><p><b> {</b></p><p> if(number+1==BUF[BUF_i])</p><p><b> {</b></p><p> BUF[BUF_i]=0;</p><p> cls_rec(0,line,2);</p>
102、<p> r_counter-=1;</p><p> cls_counter(0,1,3); //清除計(jì)數(shù)器顯示</p><p> if(r_counter>9)</p><p><b> {</b></p><p> disp_char(0,8,r_counter/10+48)
103、;</p><p> disp_char(1,8,r_counter%10+48);</p><p><b> }</b></p><p><b> else</b></p><p> disp_char(0,8,r_counter+48);</p><p><
104、;b> }</b></p><p><b> }</b></p><p><b> } </b></p><p><b> 4.7.3 翻頁(yè)</b></p><p> 定義一個(gè)向上翻頁(yè)和向下翻頁(yè)的壓鍵,在這里以向上翻頁(yè)為例,部分源程序代碼如下:&l
105、t;/p><p> void xiangxia(void)</p><p><b> {</b></p><p> number+=1;</p><p> if(number%7==0)//當(dāng)前記錄是當(dāng)前頁(yè)的最后一條記錄</p><p><b> {</b&
106、gt;</p><p><b> line=1;</b></p><p> loop_control=0;</p><p> cls_rec(0,1,105);</p><p> for(line=1;loop_control<7;loop_control++,number++,line++)//翻頁(yè)&l
107、t;/p><p> disp_record(line,record[number].Num,record[number].Name,record[number].Price);</p><p><b> line=1;</b></p><p> number-=7;</p><p> OVERTURN;//反色顯示
108、最上面一條記錄</p><p> disp_record(line,record[number].Num,record[number].Name,record[number].Price);</p><p> OVERTURN; </p><p><b> }</b></p><p> else
109、//其他情況</p><p><b> {</b></p><p> cls_err(0,0,3);//清除錯(cuò)誤標(biāo)志</p><p> cls_rec(2,line,13);//清除上一條記錄</p><p> disp_record(line,record[number-1].Num,reco
110、rd[number-1].Name,record[number-1].Price);</p><p><b> line+=1;</b></p><p> OVERTURN; </p><p> disp_record(line,record[number].Num,record[number].Name,record[n
111、umber].Price);</p><p><b> OVERTURN;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 5 結(jié) 論</b></p><p>
112、 隨著人民生活水平以及生活方式在根本理念上的一種改變,餐飲業(yè)在未來逐漸會(huì)具有巨大的投資市場(chǎng),被稱為中國(guó)的黃金產(chǎn)業(yè)。現(xiàn)在的無線點(diǎn)餐系統(tǒng)的目的就是想要利用一些最新的無線通信技術(shù),為我國(guó)的餐飲業(yè)進(jìn)入全面的數(shù)字信息化時(shí)代提供一些解決的方法。無線點(diǎn)餐系統(tǒng)的整體操作非常簡(jiǎn)單,不僅可以顯示餐桌的用餐信息,而且最后會(huì)快速結(jié)賬,避免了一些因?yàn)槿藶樵蛞鸬腻e(cuò)誤,也節(jié)省了服務(wù)員跑單的時(shí)間,從根本上提高了服務(wù)的效率,這樣就會(huì)提升服務(wù)的質(zhì)量,總體上提升了服務(wù)品
113、質(zhì)。</p><p> 無線點(diǎn)餐系統(tǒng)引入餐飲業(yè)之后,它為整個(gè)的餐飲業(yè)帶來了一些全新的經(jīng)營(yíng)、管理理念,以及嶄新的服務(wù)手段,在提升了餐館檔次的同時(shí)優(yōu)化了業(yè)務(wù)流程,提高了工作效率,并且精簡(jiǎn)了人員,這樣就能更好的為顧客提供服務(wù),在實(shí)現(xiàn)企業(yè)價(jià)值最大化的同時(shí)達(dá)到成本最低,這是餐飲業(yè)向數(shù)字信息化發(fā)展的一個(gè)重要的標(biāo)志。</p><p> 本文主要研究了無線點(diǎn)餐系統(tǒng)的設(shè)計(jì)思想,功能以及實(shí)現(xiàn)的過程等等。第
114、一部分通過對(duì)國(guó)內(nèi)外無線通信技術(shù)的發(fā)展?fàn)顩r進(jìn)行比較,然后得出一個(gè)大致的選擇方案;第二部分通過對(duì)幾種無線通信方式的比較,再結(jié)合市場(chǎng)的需求以及經(jīng)濟(jì)成本等各種方面的因素,確定一種所需要的無線通信技術(shù),最后選擇了微功率短距離的無線通信技術(shù),因?yàn)檫@種技術(shù)相對(duì)于其他的技術(shù)來說,成本比較低、開發(fā)比較簡(jiǎn)單、比較適合于一些小型的系統(tǒng);第三部分也是整個(gè)論文的重點(diǎn)部分,是整個(gè)系統(tǒng)的設(shè)計(jì)說明,它包含了無線點(diǎn)餐系統(tǒng)的硬件部分,以及系統(tǒng)軟件的說明,也就是整個(gè)系統(tǒng)實(shí)現(xiàn)
115、所需要的程序部分,有主程序以及每一個(gè)中斷服務(wù)的模塊等等,通過模塊的編寫方式可以使得調(diào)試的過程進(jìn)行有效的縮短,增加程序的閱讀性。但是由于時(shí)間的緊迫,很多功能還沒有實(shí)現(xiàn),只能將最基本的功能進(jìn)行實(shí)現(xiàn)。</p><p> 這種無線點(diǎn)餐系統(tǒng)采用的微功率短距離無線通信是一大優(yōu)勢(shì),使得無線手持的點(diǎn)菜方式成為餐飲業(yè)中最便捷、最快速、效果最好的點(diǎn)菜方式。隨著將來無線手持終端設(shè)備成本的降低,那么這種無線點(diǎn)菜方式將會(huì)被越來越多的餐廳
116、酒店使用。</p><p> 把無線通信技術(shù)引入到餐飲中以后,改變了長(zhǎng)期以來手寫的傳統(tǒng)點(diǎn)菜方式,使得整個(gè)餐飲業(yè)步入了一個(gè)新型的數(shù)字信息化的時(shí)代,降低了人力資源、提高了人員的工作效率,加速了各個(gè)部分流通的速率,在降低成本的同時(shí)增加了營(yíng)業(yè)利潤(rùn),這也是這套系統(tǒng)最根本的目標(biāo)之一。</p><p> 現(xiàn)在的無線點(diǎn)餐系統(tǒng)還是有很多的不足之處,但是在不久的將來,還會(huì)研制出更加優(yōu)異的點(diǎn)餐系統(tǒng),性能會(huì)更
117、加穩(wěn)定,硬件系統(tǒng)也會(huì)更加微型化,這樣更能體現(xiàn)它的便捷性,所以以后嵌入式的無線點(diǎn)餐系統(tǒng)必將會(huì)是無線點(diǎn)餐系統(tǒng)的一個(gè)趨勢(shì)所在。在軟件方面,對(duì)程序的要求更加高,要求穩(wěn)定運(yùn)行的程度更高,需要的功能也會(huì)更多。</p><p> 綜合上面所講到的眾多因素來看,這套基于無線通信技術(shù)的點(diǎn)菜系統(tǒng)是具有很大的可行性的,它將會(huì)帶領(lǐng)中國(guó)的餐飲業(yè)進(jìn)入一個(gè)嶄新的信息技術(shù)化的時(shí)代。 </p><p><b>
118、; 參考文獻(xiàn)</b></p><p> [1]夏建軍.餐飲管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].廣東:廣東工業(yè)大學(xué),碩士學(xué)位論文,2005年.</p><p> [2]強(qiáng)磊,呂玉琴.一種無線餐飲點(diǎn)菜系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[A].北京:北京郵電大學(xué)電子工程學(xué)院,微計(jì)算機(jī)應(yīng)用,2001年7月.</p><p> [3]王景景.無線點(diǎn)菜系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[A].海南
119、:海南大學(xué)學(xué)報(bào)自然科學(xué)版,2009年3月第27卷第1期.</p><p> [4]李?。疅o線點(diǎn)菜系統(tǒng)的研究[D].天津:天津大學(xué),2004年7月.</p><p> [5]蔡子裕.基于ARM嵌入式無線點(diǎn)菜系統(tǒng)終端的研究與設(shè)計(jì)[D].中南大學(xué),碩士學(xué)位論文,2008年.</p><p> [6]無線+美味:無線點(diǎn)餐系統(tǒng)加速餐飲業(yè)信息化,|時(shí)·訊|札記.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于無線通信的點(diǎn)菜系統(tǒng)軟件設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于無線通信的點(diǎn)菜系統(tǒng)設(shè)計(jì)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 基于無線通信的點(diǎn)菜系統(tǒng)設(shè)計(jì)【開題報(bào)告】
- 基于無線通信的點(diǎn)菜系統(tǒng)設(shè)計(jì)【文獻(xiàn)綜述】
- 基于無線通信的點(diǎn)菜系統(tǒng)軟件設(shè)計(jì)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 基于無線通信的點(diǎn)菜系統(tǒng)軟件設(shè)計(jì)【開題報(bào)告】
- 基于無線通信的點(diǎn)菜系統(tǒng)軟件設(shè)計(jì)【文獻(xiàn)綜述】
- 無線通信系統(tǒng)畢業(yè)設(shè)計(jì)
- 無線通信系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于SimpliciTI協(xié)議的無線點(diǎn)菜系統(tǒng)設(shè)計(jì).pdf
- 基于單片機(jī)的無線點(diǎn)菜系統(tǒng)【開題報(bào)告+文獻(xiàn)綜述+畢業(yè)設(shè)計(jì)】
- 基于嵌入式linux的無線點(diǎn)菜系統(tǒng)設(shè)計(jì)
- 基于qt的點(diǎn)菜系統(tǒng)設(shè)計(jì)
- 基于nRF905的無線點(diǎn)菜系統(tǒng)設(shè)計(jì).pdf
- 畢業(yè)設(shè)計(jì)--餐廳點(diǎn)菜系統(tǒng)(含外文翻譯)
- 基于ARM的無線點(diǎn)菜系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 畢業(yè)論文點(diǎn)菜系統(tǒng)設(shè)計(jì)
- 基于嵌入式的無線點(diǎn)菜系統(tǒng)課程設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--安卓電子菜單點(diǎn)菜系統(tǒng)
- 基于arm的電子點(diǎn)菜系統(tǒng)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論