2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、<p>  基于PIC單片機的出租車計費系統(tǒng)</p><p><b>  摘要</b></p><p>  本系統(tǒng)由單片機PIC16F877A和一些外圍原件組成,具有操作簡單,顯示明了,功能強大的特點。</p><p>  整個系統(tǒng)只有兩個按鍵,一個“啟動/停止”,一個“復位”;</p><p>  使用TG1

2、2864E 液晶模組作為顯示器,可以顯示數(shù)字、字母、中文、圖片等,使系統(tǒng)信息一目了然;</p><p>  本系統(tǒng)除了里程統(tǒng)計和費用計算以外,還具有萬年歷和語音播報功能。</p><p>  萬年歷由時鐘芯片PCF8563實時提供時鐘信號,再由單片機調(diào)用顯示;</p><p>  語音播報由語音芯片ISD1420提供語音信息,語音信息放在不同的地址里,由單片機從這些

3、地址中調(diào)用合適的語音進行播放。</p><p>  本方案充分發(fā)揮人性化的特點,利用ISD1420的語音功能,配合TG12864液晶模組,模擬實現(xiàn)帶語音提示的出租車計價系統(tǒng)。比較真實地模擬出租車的空車、載客、到站及對各狀況的費率的計算、統(tǒng)計、顯示和語音播報等功能。</p><p>  本系統(tǒng)涉及到的理論知識有: PIC單片機知識、LCD液晶顯示器的工作原理和使用方法、可擦、寫的語音芯片的工

4、作原理及應用、實時時鐘芯片的工作原理及應用、 出租車計費系統(tǒng)的原理和實現(xiàn)方法、 PROTEUS仿真原理及實際應用。</p><p>  本系統(tǒng)提高同學們用C語言編寫程序的能力、單片機應用系統(tǒng)設計綜合能力的訓練、培養(yǎng)同學們分析問題和解決問題的能力、對同學們的招聘以及參加工作均有幫助。</p><p>  該系統(tǒng)稍加改進,可以成為一套真正的實用的計費系統(tǒng)。 </p><p&

5、gt;  關鍵詞:時鐘芯片PCF8563 語音芯片ISD1420 TG12864液晶模組 LCD液晶顯示器</p><p><b>  目錄</b></p><p>  摘要……………………………………………………………………1</p><p>  第一章 系統(tǒng)總體介紹 ………………………………………………2</p><

6、;p>  1.系統(tǒng)組成及功能框圖………………………………………………3</p><p>  2.里程計量及費用計算功能…………………………………………3</p><p>  3.語音播放功能………………………………………………………4</p><p>  4.中文菜單顯示功能…………………………………………………4</p><p>  

7、5.實時時鐘功能………………………………………………………5</p><p>  6.按鍵功能……………………………………………………………5</p><p>  7.系統(tǒng)電路設計原理圖………………………………………………6</p><p>  第二章 硬件設計………………………………………………………7</p><p>  1.主程序/CP

8、U模塊……………………………………………………7</p><p>  2.語音播放模塊 ………………………………………………………8</p><p>  3.液晶顯示驅(qū)動模塊 …………………………………………………9</p><p>  4.脈沖發(fā)生器模塊 ……………………………………………………11</p><p>  5.時鐘模塊 ………

9、……………………………………………………12</p><p>  6.按鍵掃描模塊 ………………………………………………………14</p><p>  第三章 系統(tǒng)程序設計 …………………………………………………12</p><p>  1.系統(tǒng)主程序流程框圖 ………………………………………………15</p><p>  2.里程和費率計算程

10、序流程圖 ……………………………………………18</p><p>  3.鍵盤處理程序流程圖 …………………………………………………………19</p><p>  結(jié)束語……………………………………………………………………19</p><p>  致謝………………………………………………………………………21</p><p>  參考文獻……

11、……………………………………………………………21</p><p>  附件………………………………………………………………………21</p><p><b>  第一章系統(tǒng)總體介紹</b></p><p><b>  1.系統(tǒng)組成</b></p><p>  此出租車計費系統(tǒng)以單片機為系統(tǒng)核心,利

12、用PIC16F877單片機配合TG12864液晶模組及ISD1420語音模塊等,實現(xiàn)基本的出租車計價器功能。</p><p>  本系統(tǒng)是由PIC單片機、液晶顯示模塊、計數(shù)脈沖發(fā)生器、系統(tǒng)實時時鐘及語音等模塊組成。系統(tǒng)框圖如圖(1)所示:</p><p>  2.系統(tǒng)各部分功能:</p><p><b> ?、牛锍逃嬃抗δ?lt;/b></

13、p><p>  a)單片機對傳感器輸出脈沖進行計數(shù),并將脈沖數(shù)換算成公里數(shù);</p><p>  b)每一個脈沖代表輪胎旋轉(zhuǎn)一周,設輪胎的直徑為520mm,輪胎的周長為:(即每轉(zhuǎn)一圈的距離)</p><p>  520x3.14159=1634mm=1.634m </p><p>  c)每公里的脈沖數(shù):</p><p

14、>  PulsePerKM=1000m/1.634m=612(個脈沖) </p><p>  ⑵.費用計算功能(參照廣州市出租車收費標準)</p><p>  費用計算包括三部分:起步費、行使費和燃油附加費:</p><p>  a)起步費用(StartPrice)—</p><p>  當行駛里程(RunMilege)在2.3Km(

15、含2.3Km)以內(nèi)按起步價(StartPrice)7元計費。即行使費用(RunPrice)為: </p><p>  RunPrice = StartPrice + 1 = 8(元)</p><p>  行使費用(RunPrice)--</p><p>  行使費用分短途與長途兩種情況:</p><p> ?、?當行駛里程(RunMile

16、ge)超出2.3Km時并且小于35Km時,按2.6元/Km收費,這時行駛費用為:</p><p>  RunPrice=StartPrice+2.6×(RunMilege-StartMilege)+1</p><p>  其中:StartPrice為起步價=7元</p><p>  StartMilege為起步里程=2.3Km</p><

17、;p>  RunMilege為行使里程(總行使里程)</p><p>  RunPrice為行使費用(總行使金額)</p><p> ?、?當行使里程超過35Km后,要加空駛費,即每公里升至3.50元, 這時行駛費用為:</p><p>  RunPrice=StartPrice+3.5×(RunMilege-StartMilege)+1</p

18、><p>  c) 燃油附加費--每車次加收一元。</p><p><b> ?、牵Z音播放功能</b></p><p>  ①.當初次按下“start/stop”鍵,出租車開始啟動,系統(tǒng)播放“您好!歡迎乘坐本公司出租汽車,謝謝!”播送完畢,計費器開始計費。</p><p> ?、?按下“SpeedUp”鍵,出租車加速行使,

19、最高速為100Km。</p><p> ?、?按下“SpeedDown”鍵,出租車減速行使,最低速為0Km。</p><p> ?、?在行使狀態(tài)下,按下“start/stop”鍵,表示出租車到站,結(jié)束行使。這時候,系統(tǒng)播放“您好!行使里程XXX公里,應付XXX元,請檢查您的隨身物品,歡迎再次乘坐,再見!”的提示音。</p><p>  ⑤.按下“Reset”鍵,進

20、入空車狀態(tài)。 </p><p> ?、龋形牟藛物@示功能</p><p> ?、?在空車狀態(tài)下(啟動前),LCD屏幕上顯示如下的中文信息:</p><p> ?、?在空車狀態(tài)下,按下“start/stop”鍵,系統(tǒng)播放“您好!歡迎乘坐本公司出租汽車,謝謝!”的提示音,同時在LCD屏幕上顯示如下的中文信息:</p><p> ?、?播完提示

21、音后,進入行使狀態(tài),LCD屏幕顯示以下信息:</p><p> ?、?在行使狀態(tài),按下“SpeedUp”鍵,里程顯示的公里數(shù)增加的速度會不斷的變快,金額數(shù)值也在作相應的變化。按下“SpeedDown”鍵,里程顯示的公里數(shù)增加的速度會不斷的變慢。</p><p> ?、?在行使狀態(tài),按下“start/stop”鍵,表示出租車到站,結(jié)束行程。這時屏幕顯示以下信息:</p>&l

22、t;p>  同時,系統(tǒng)播放“您好!行使里程xxx.xx公里,應付xxx.xx元,請檢查您的隨身物品,歡迎再次乘坐,再見!”的提示音。</p><p><b>  ⑸.實時時鐘功能</b></p><p>  本系統(tǒng)采用兩種方法實現(xiàn)日歷時鐘:</p><p>  (1)用實時時鐘芯片-FC8563作為時鐘電路,產(chǎn)生年/月/日/時/分/秒等

23、信號,供系統(tǒng)調(diào)用。</p><p>  (2)用單片機中斷的方法產(chǎn)生年/月/日/時/分/秒等信號。</p><p>  (3)兩種方法由同學自行選擇。</p><p> ?、剩鞠到y(tǒng)設置4個按鍵,各個按鍵的功能如下:</p><p>  (1)“start/stop”鍵—開始進入行使/結(jié)束行使(到站)。</p><p>

24、;  (2)“SpeedUp”鍵—行使加速按鍵。按下次按鍵,可使出租車的速度由0Km上升到100Km。</p><p>  (3)“SpeedDown”鍵--行使減速按鍵。按下次按鍵,可使出租車的速度由100K下降到0Km。</p><p>  (4)“Reset”鍵--進入空車狀態(tài)。</p><p><b> ?、穗娐吩O計原理圖</b><

25、;/p><p>  第二章 硬件設計:</p><p> ?、?主程序/CPU模塊</p><p>  ⑴ 主程序/CPU電路圖及說明</p><p>  該模塊主要包括系統(tǒng)初始化、PWM計數(shù)脈沖的產(chǎn)生、里程的識別和費率的計算及各功能模塊的的組織和管理等。主程序模塊在系統(tǒng)中起著重要的作用。</p><p>  PIC16

26、F877主要性能:</p><p>  ·具有高性能RISC CPU。</p><p>  ·具有25條單字指令。</p><p>  ·除程序分支指令為兩個周期外,其余均為單周期指令。</p><p>  ·運行速度:DC-20MHZ時鐘輸入</p><p>  DC-200n

27、s指令周期</p><p>  ·8K*14個FLASH程序存儲器</p><p>  368*8個數(shù)據(jù)存儲器(RAM)字節(jié)</p><p>  256*8EEPROM數(shù)據(jù)存儲器字節(jié)</p><p>  ·引腳輸出和PIC16C73B/74B/76/77兼容</p><p>  ·中斷能力

28、(達到14個中斷源)</p><p>  ·8級深度的硬件堆棧</p><p>  ·直接,間接和相對尋址方式</p><p>  ·上電復位(POR)</p><p>  ·上電定時器(PWRT)和振蕩啟動定時器(OST)</p><p>  ·監(jiān)視定時器(WDT),

29、它帶有片內(nèi)可靠運行的RC振蕩器</p><p><b>  ·可編程的全碼保護</b></p><p><b>  ·低功耗睡眠方式</b></p><p><b>  ·可選擇的振蕩器</b></p><p>  ·低功耗、高速CMOS

30、 FLASH/EEPROM工藝</p><p><b>  ·全靜態(tài)設計</b></p><p>  ·要線串行編程(ICSP)</p><p>  ·單獨5V的內(nèi)部電路串行編程(ICSP)能力,處理機讀/寫訪問程序存儲器</p><p>  ·運行電壓范圍2.0V到5.5V<

31、;/p><p>  ·高吸入/拉出電流25mA</p><p>  ·商用,工業(yè)用溫度范圍</p><p><b>  ·低功耗:</b></p><p>  在5V,4MHz時典型值小于2mA</p><p>  在3V,32KHz時典型值小于20uA</p>

32、;<p>  典型的穩(wěn)態(tài)電流值小于1uA</p><p><b>  外圍特征:</b></p><p>  ·Timer0:帶有預分頻器的8位定時/計數(shù)器</p><p>  ·Timer1:帶有預分頻的16位定時器/計數(shù)器,在使用外部晶體振蕩時鐘時,在Sleep期間仍能工作。</p><

33、p>  ·Timer2:帶有8位分頻寄存器,預分頻器和后分頻器的8位定時器/計數(shù)器</p><p>  ·2個捕捉器,比較器,PWM模塊</p><p>  其中:捕捉器是16位,最大分辯率為12.5ns</p><p>  比較器是16位,最大分辯率方200ns</p><p>  PWM最大分辯率為是10位<

34、;/p><p>  ·10位多通道模/數(shù)轉(zhuǎn)換器</p><p>  ·帶有SPI(主模式)和I2C(主/從)模式的SSP</p><p>  ·帶有9位地址探測的通用同步異步接收/發(fā)送器(USART/SCI)</p><p>  ·帶有RD,WR和CS控制(只40/44引腳)8位字寬的并行從端口</p

35、><p>  ·帶有降壓復位的降壓檢測電路</p><p><b>  ⑵ 語音播放模塊</b></p><p> ?、?語音播放模塊電路圖及說明:</p><p>  語音播放模塊播放提示音,行駛里程、費用等。</p><p>  ISD1420系列單片錄放時間8至20秒,音質(zhì)好。芯片采用

36、CMOS技術,內(nèi)含震蕩器、話筒前置放大、自動增益控制、防混淆濾波器、平滑濾波器、揚聲器驅(qū)動及EEPROM陣列。最小的錄放系統(tǒng)僅需麥克風、喇叭、兩個按鈕、電源及少數(shù)電阻電容。在錄放操作結(jié)束后,芯片自動進入低功耗節(jié)電模式、功耗僅0.5uA。ISD1420系列有唯一的錄音控制和邊緣/電平觸發(fā)兩種放音控制。不分段時外圍線路最簡,也可按最小段長為單位任意組合分段,芯片提供若干操作模式,大大提高了控制的靈活性。芯片采用多電平直接模擬量存儲專利技術,

37、每個采樣直接存儲在片內(nèi)單個EEPROM單元中,因此能夠非常真實、自然地再現(xiàn)語音、音樂、音調(diào)各效果,避免了一般固體錄音電路因量化和壓縮造成的量化噪聲和“金屬聲”。采樣頻率從5.3,6.4到8.0KHz,對音質(zhì)僅有輕微影響。片內(nèi)信息可保存100年(無需后備電源),EEPROM單片可反復錄音十萬次。</p><p>  ⑶ 液晶顯示驅(qū)動模塊</p><p> ?、伲壕э@示驅(qū)動模塊電路圖及說明:

38、</p><p>  TG12864E 是一種圖形點陣液晶顯示器,它主要由行驅(qū)動器/列驅(qū)動器及128×64 全點陣液晶</p><p>  顯示器組成??赏瓿蓤D形顯示,也可以8×4 個(16×16 點陣)漢字。</p><p>  主要技術參數(shù)和性能:</p><p>  ·電源:VDD:+2.7~ +

39、5V; 模塊內(nèi)自帶-10V負壓,用于LCD的驅(qū)動電壓。</p><p>  · 顯示內(nèi)容:128(列)×64(行)點</p><p><b>  ·全屏幕點陣</b></p><p><b>  · 七種指令</b></p><p>  · 與CPU

40、接口采用8 位數(shù)據(jù)總線并行輸入輸出和8 條控制線</p><p><b>  · 占空比1/64</b></p><p>  · 工作溫度:-10℃~+60℃,儲存溫度:-20℃~+70℃,可選擇寬溫:-20℃~+70℃</p><p><b> ?、?外形尺寸圖:</b></p><

41、;p> ?、?模塊主要硬件構(gòu)成說明:</p><p> ?、? 模塊的外部接口:</p><p> ?、?TG12864EL 串口接線方式:</p><p><b>  ⑷脈沖發(fā)生器模塊</b></p><p> ?、?脈沖性生器模塊電路圖及說明:(如下圖)</p><p>  ② NE55

42、5定時器具有定時精度高、工作速度快、可靠性好、電源電壓范圍寬(3-18V)、輸出電流大(可高達200mA)等優(yōu)點,可組成各種波形的脈沖振蕩電路、定時延時電路、是一種電路結(jié)構(gòu)簡單、使用方便靈活、用途廣泛的多功能中規(guī)模集成電路。只需在外部配接適當?shù)淖枞菰?,便可組成施密特觸發(fā)器、單穩(wěn)態(tài)觸發(fā)器和多諧振蕩器等多種應用電路,在這個電路中是多諧振蕩器,它電路簡單、性能穩(wěn)定,波形標準。</p><p>  該模塊完成傳感器脈沖

43、計量,然后轉(zhuǎn)換為公里數(shù),并根據(jù)規(guī)則計算對應的費用。同時,監(jiān)測行駛速度,統(tǒng)計低速時間,計算低速等待費用,提供液晶顯示更新函數(shù),以便主函數(shù)可以控制更新用戶界面以及行駛里程、費用等信息的顯示。該模塊包括PWM管理程序、里程計量程序、時間管理程序、費用管理程序、用戶界面控制程序等部分。</p><p><b>  ⑸時鐘模塊</b></p><p> ?、?時鐘模塊電路圖及說

44、明:</p><p>  ②PCF8563 是低功耗的CMOS 實時時鐘/日歷芯片,它提供一個可編程時鐘輸出,一個</p><p>  中斷輸出和掉電檢測器,所有的地址和數(shù)據(jù)通過I2C 總線接口串行傳遞。最大總線速度為400Kbits/s,每次讀寫數(shù)據(jù)后,內(nèi)嵌的字地址寄存器會自動產(chǎn)生增量。</p><p><b> ?、?特性:</b><

45、/p><p>  * 低工作電流:典型值為0.25μA(VDD=3.0V,Tamb=25℃時)。</p><p><b>  * 世紀標志</b></p><p>  * 大工作電壓范圍:1.0~5.5</p><p>  * 低休眠電流;典型值為0.25μA(VDD=3.0V,Tamb=25℃)</p>&l

46、t;p>  * 400KHz 的I2C 總線接口(VDD=1.8~5.5V 時)。</p><p>  * 可編程時鐘輸出頻率為:32.768KHz,1024Hz,32Hz,1Hz。</p><p><b>  * 報警和定時器。</b></p><p><b>  * 掉電檢測器。</b></p>&

47、lt;p>  * 內(nèi)部集成的振蕩器電容。</p><p>  * 片內(nèi)電源復位功能。</p><p>  * I2C 總線從地址:讀,0A3H;寫,0A2H。</p><p><b>  * 開漏中斷引腳。</b></p><p><b> ?、芄苣_配置</b></p><

48、p><b> ?、莨δ苊枋?</b></p><p>  PCF8563 有16 個8位寄存器:一個可自動增量的地址寄存器,一個內(nèi)置32.768KHz 的</p><p>  振蕩器(帶有一個內(nèi)部集成的電容),一個分頻器(用于給實時時鐘RTC 提供源時鐘),一個可編程時鐘輸出,一個定時器,一個報警器,一個掉電檢測器和一個400KHz I2C</p>

49、<p><b>  總線接口。</b></p><p>  所有16 個寄存器設計成可尋址的8 位并行寄存器,但不是所有位都有用。前兩個寄存器(內(nèi)存地址00H,01H)用于控制寄存器和狀態(tài)寄存器,內(nèi)存地址02H~08H 用于時鐘計數(shù)器(秒~年計數(shù)器),地址09H~0CH 用于報警寄存器(定義報警條件),地址0DH 控制CLKOUT 管腳的輸出頻率,地址0EH 和0FH 分別用于定

50、時器控制寄存器和定時器寄存器。秒、分鐘、小時、日、月、年、分鐘報警、小時報警、日報警寄存器,編碼格式為BCD,星期和星期報警寄存器不以BCD 格式編碼。當一個RTC 寄存器被讀時,所有計數(shù)器的內(nèi)容被鎖存,因此,在傳送條件下, 可以禁止對時鐘/日歷芯片的錯讀。</p><p>  PCF8563 硬件時鐘描寫模塊:</p><p>  最大總線速度為400Kbits/s,每次讀寫數(shù)據(jù)后,內(nèi)嵌

51、的字地址寄存器會自動</p><p><b>  產(chǎn)生增量。</b></p><p>  *400KHz 的I2C 總線接口(VDD=1.8~5.5V 時)</p><p>  *可編程時鐘輸出頻率為:32.768KHz,1024Hz,32Hz,1Hz。</p><p><b>  *報警和定時器。</b

52、></p><p><b>  *開漏中斷引腳。</b></p><p>  *I2C 總線從地址:讀0A3H;寫0A2H。</p><p><b>  地址 寄存器名稱 </b></p><p>  00H 控制/狀態(tài)寄存器</p><p>  01H 控制/狀態(tài)寄存

53、器</p><p>  0DH CLKOUT 頻率寄存器</p><p>  0EH 定時器控制寄存器 </p><p>  0FH 定時器倒計數(shù)數(shù)值寄存器</p><p>  地址 寄存器名稱 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0</p><p>  02h 秒

54、 VL 00~59BCD 碼格式數(shù)</p><p>  03h 分鐘 - 00~59BCD 碼格式數(shù)</p><p>  04h 小時 - - 00~59BCD 碼格式數(shù)</p><p>  05h 日 - - 01~31BCD 碼格式數(shù)</p><p>  06h 星期

55、 - - - - - 0~6</p><p>  07h 月/世紀 C - - 01~12 BCD 碼格式數(shù)</p><p>  08h 年 00~99 BCD 碼格式數(shù)</p><p>  09h 分鐘報警 AE 00~59 BCD 碼格式數(shù)</p>

56、<p>  0Ah 小時報警 AE - 00~23 BCD 碼格式數(shù)</p><p>  0BH 日報警 AE - 01~31 BCD 碼格式數(shù)</p><p>  0CH 星期報警 AE - - - - 0~6 </p><p><b>  操作舉例</b></

57、p><p>  *進入EXT_CLK 測試模式;設置控制/狀態(tài)寄存器1的位7(TEST=1)。</p><p>  *設置控制/狀態(tài)寄存器1的位5(STOP=1)。</p><p>  *清除控制/狀態(tài)寄存器1的位5(STOP=0)。</p><p>  *設置時間寄存器(秒、分鐘、小時、日、星期、月/世紀和年)為期望值。</p>

58、<p>  *提供32 個時鐘脈沖給CLKOUT。</p><p>  *讀時間寄存器觀察第一次變化。</p><p>  *提供64 個時鐘脈沖給CLKOUT。</p><p>  *讀時間寄存器觀察第二次變化;需要讀時間寄存器的附加增量時,重復步驟7和8。</p><p><b> ?、拾存I掃描模塊:</b>

59、;</p><p> ?、?按鍵掃描模塊電路圖及說明:</p><p>  整個系統(tǒng)只有兩個按鍵,一個“啟動/停止”,一個“復位”;本模塊功能:掃描按鍵功能,返回掃描結(jié)果。</p><p>  第三章 系統(tǒng)程序設計</p><p>  本系統(tǒng)程序由C語言編寫,編譯軟件是MPLAB IDE 和一個外掛的PIC的C語言編譯軟件PICC 。 &

60、lt;/p><p>  1.系統(tǒng)主程序流程框圖(含程序):</p><p>  /**********************************************************</p><p><b>  //主程序開始</b></p><p>  //************************

61、**********************************</p><p>  void main()</p><p><b>  {</b></p><p>  initial();</p><p><b>  init();</b></p><p>  lcm_

62、init();</p><p>  InitI2C();</p><p>  count = 0; </p><p>  RunMilege=0;</p><p><b>  flag = 0;</b></p><p>  play_fg1 = 0;</p><p>  p

63、lay_fg2 = 0;</p><p>  //*********************************************************</p><p>  //轉(zhuǎn)換為圖形方式</p><p>  //*********************************************************</p>

64、<p>  write_inst(0x34); </p><p>  write_inst(0x36);</p><p>  clear_picture_fast();</p><p>  display_picture1();//顯示一幅個性化圖片</p><p>  delay(100);</p><

65、;p>  //*********************************************************</p><p>  //轉(zhuǎn)換為文本方式</p><p>  //*********************************************************</p><p>  write_inst(0x3

66、0);</p><p>  write_inst(0x0c);</p><p>  write_inst(0x01);</p><p>  write_inst(0x06);</p><p>  //*********************************************************</p>&

67、lt;p>  //顯示一幅個人信息</p><p>  //*********************************************************</p><p>  disp_log1();</p><p>  delay(200);</p><p>  write_inst(0x01);</p&

68、gt;<p>  //*********************************************************</p><p>  //主程序循環(huán)開始</p><p>  //*********************************************************</p><p><b>

69、;  while(1)</b></p><p><b>  {</b></p><p>  if(mode==0)//模式0: 顯示空車狀態(tài)</p><p><b>  {</b></p><p><b>  INTE = 0;</b></p>

70、<p>  count = 0;</p><p>  kongche();</p><p><b>  }</b></p><p>  else if(mode==1)//模式1: </p><p><b>  {</b></p><p>  if(!flag)

71、//標志位為"0"時</p><p><b>  {</b></p><p>  INTE = 0;//禁止中斷產(chǎn)生</p><p>  write_inst(0x01); </p><p>  yingke(); //顯示歡迎界面</p><p>  pl

72、ay(17,50);//播放“您好”</p><p>  play(18,5); //播放“歡迎”</p><p>  play(25,100);//播放“乘坐本公司出租汽車”</p><p>  delay(200);</p><p><b>  flag = 1;</b></p><p

73、>  write_inst(0x01);</p><p><b>  }</b></p><p>  else//標志位為"1"時</p><p><b>  {</b></p><p>  INTE = 1;//允許產(chǎn)生中斷</p><p&

74、gt;  price();//里程和費率計算</p><p>  zaike();//進入載客界面</p><p><b>  }</b></p><p><b>  }</b></p><p>  else if(mode==2)//模式2:</p><p>&l

75、t;b>  {</b></p><p>  INTE = 0;//禁止中斷產(chǎn)生</p><p>  if(!play_fg1)//標志位為"0"時</p><p><b>  {</b></p><p>  daozhan();//進入到站界面</p>&

76、lt;p>  play(21,60); //播放“車已到站” </p><p>  delay(50);</p><p>  playsound_km(RunMil);//播放"行使里程"</p><p>  delay(50);</p><p>  playsound_mn(Pricet);//

77、播放"應付金額" </p><p>  play_fg1 = 1;//置標志位為"1"</p><p>  write_inst(0x01);</p><p><b>  }</b></p><p>  jieshu();//進入結(jié)束界面</p><

78、;p>  if(!play_fg2)//標志位為"0"時 </p><p><b>  {</b></p><p>  play(24,100);//播放“請檢查您的隨身物品” </p><p>  play(18,5); //播放“歡迎” </p><p>  play(20,

79、5); //播放“再次” </p><p>  play(25,100);//播放“乘坐本公司出租汽車” </p><p>  play(19,5); //播放“再見” </p><p>  play_fg2 = 1;//置標志位為"1"</p><p><b>  }</b>&l

80、t;/p><p><b>  }</b></p><p>  scankey();//鍵盤掃描模塊</p><p><b>  }</b></p><p><b>  } </b></p><p>  2.里程和費率計算程序流程圖(含程序):</

81、p><p>  //*********************************************************</p><p>  //費率計算函數(shù)</p><p>  //*********************************************************</p><p>  void

82、 price()</p><p><b>  {</b></p><p>  if(RunMilege<=2300) </p><p>  //TotalPrice=700+100;</p><p>  TotalPrice=800;</p><p>  if((RunMilege>2

83、300)&&(RunMilege<=35000))</p><p>  //TotalPrice=700+(RunMilege-2300)*0.26+100;</p><p>  TotalPrice=800+(RunMilege-2300)*0.26;</p><p>  if(RunMilege>35000) </p>

84、<p>  //TotalPrice=700+(35000-2300)*0.26+(RunMilege-35000)*0.35+100;</p><p>  TotalPrice=1112+(RunMilege-35000)*0.35;</p><p>  Price=(ulong)TotalPrice;</p><p><b>  } <

85、/b></p><p>  3.鍵盤處理程序流程圖</p><p><b>  鍵盤掃描子程序模塊</b></p><p>  //*********************************************************</p><p>  void scankey()</p>

86、<p><b>  {</b></p><p><b>  if(k2())</b></p><p><b>  {</b></p><p><b>  bell();</b></p><p>  if(mode==0x00)</p&g

87、t;<p><b>  {</b></p><p>  mode = 0x01;</p><p>  write_inst(0x01);</p><p><b>  }</b></p><p>  else if(mode==0x01)</p><p><

88、b>  {</b></p><p>  flag = 0; </p><p>  mode = 0x02;</p><p>  write_inst(0x01);</p><p><b>  }</b></p><p><b>  }</b></p&

89、gt;<p><b>  if(k4())</b></p><p><b>  {</b></p><p><b>  bell();</b></p><p>  if(mode==0x02)</p><p><b>  {</b></

90、p><p><b>  flag = 0;</b></p><p>  play_fg1 = 0;</p><p>  play_fg2 = 0; </p><p>  mode = 0x00;</p><p>  write_inst(0x01);</p><p>  co

91、unt = 0;</p><p><b>  }</b></p><p><b>  } </b></p><p><b>  } </b></p><p>  *********************************************************&

92、lt;/p><p><b>  結(jié)束語</b></p><p>  通過這次畢業(yè)設計,我覺得自己學到了很多東西,特別是在即將畢業(yè)走向社會的時候,增加了自己以后在社會上工作的信心。畢業(yè)設計是對我們大學三年學習的總考驗.這次畢業(yè)設計,我有以下一些體會:</p><p>  大學大部分時間都是在學習理論基礎知識,并未真正地去應用和實踐。自從入學以來,了解

93、了自己本專業(yè)信息之后,我就開始了我的電子信息學習生涯,其中涉及到的知識,是我以前沒想過的,也不懂的,所以這次畢業(yè)設計,我很辛苦才完成。其中我接觸到了更多平時沒有接觸到的元器等,發(fā)現(xiàn)了自己很多不足之。我體會到了所學理論知識的重要性:知識掌握越多,設計得就更加嚴謹,更加順利。</p><p>  了解了進行一項相對比較大型的科研設計所必不可少的幾個階段。畢業(yè)設計能夠從理論設計和工程實踐相結(jié)合,個人作用和集體協(xié)作相結(jié)合

94、等全方面的培養(yǎng)學生的全面素質(zhì)。我經(jīng)過這次系統(tǒng)的畢業(yè)設計,熟悉了對一項課題進行研究,設計和試驗的詳細過程。這些在我們在將來的工作和學習當中都會有很大的幫助。</p><p>  加深了解了查閱資料和利用工具書的重要性.平時課堂上所學習的知識大多比較陳舊,作為電子信息工程的學生,由于專業(yè)涉及知識廣,不僅在懂單片機的知識,還要懂模擬電子、數(shù)字電子、Protel 99 SE等等方面的知識。一個人不可能什么都學過,什么都懂

95、,因此,當我在設計過程中需要用到一些不曾學過的東西時,就要去有針對性地查找資料,然后加以利用吸收,以提高自己的應用能力,而且還能增長自己見識,補充我的專業(yè)知識。</p><p>  畢業(yè)設計對以前所學的過的理論知識起到了回顧作用,并對其加以進一步的消化和鞏固。實踐能力得到了進一步提高,在制作過程中積累了一些經(jīng)驗。畢業(yè)設計培養(yǎng)了我們嚴肅認真和實事求是的學習態(tài)度,而且培養(yǎng)了吃苦耐勞的精神以及相對應的工程意識。同學之間

96、的友誼互助也充分的在畢業(yè)設計當中充分體現(xiàn)了出來。</p><p>  總之,在踏上大學旅途的最后一步中間雖然存在著許多困難,但我們都走過了,這過程中我學到了不少的新知識,對我個人將來的發(fā)展非常有幫助。所謂讀萬卷書不如走萬里路,實踐是檢驗真理的唯一標準,將來的路還很長,還需要我在實踐中不斷的摸索,跌倒了再爬起來,在困難和逆境中不斷成長。</p><p><b>  致謝</b

97、></p><p>  首先,在這里,我要感謝我的指導師姚xxx老師,他真的是一位很慈祥,很棒的老師,對學生也很好,他給了我很多的幫助,沒有他的指導,我的畢業(yè)設計不會這么順利完成。</p><p>  其次要感謝3號樓智能實驗室的陳老師給我們提供了仿真器,讓我們可以隨時用。</p><p>  我還要感謝畢業(yè)設計一起做設計同學。沒有姚老師和同學的協(xié)助,我這次設

98、計也不會這樣順利。謝謝!</p><p><b>  參考文獻</b></p><p> ?。?)《PIC單片機基礎教程》</p><p>  --丁躍軍等編著 北航大學出版社</p><p> ?。?)《PIC單片機原理》</p><p>  --李學海編著 北航大學出版社</p&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論