縮距法出租車計(jì)價(jià)器設(shè)計(jì)_第1頁
縮距法出租車計(jì)價(jià)器設(shè)計(jì)_第2頁
縮距法出租車計(jì)價(jià)器設(shè)計(jì)_第3頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、河南理工大學(xué)單片機(jī)應(yīng)用與仿真訓(xùn)練設(shè)計(jì)報(bào)告題目 縮距法出租車計(jì)價(jià)器設(shè)計(jì)姓 名: 學(xué) 號(hào):專業(yè)班級(jí)指導(dǎo)老師所在學(xué)院:年 月曰縮距法出租車計(jì)價(jià)器設(shè)計(jì)摘要隨著出租車行業(yè)的發(fā)展,對(duì)出租車計(jì)費(fèi)器的要求也越來越高。二十世紀(jì)后半期,隨著集成電路和計(jì)算機(jī)技術(shù)的飛速發(fā)展,單片機(jī)技術(shù)也得到了飛速發(fā)展,基于單片機(jī)的出租車計(jì)費(fèi)器不僅可以解決電子系統(tǒng)小型化、 低功耗、高可靠性等問題,而且其開發(fā)周期短、開發(fā)軟件投入少、芯片價(jià)格不斷降低,特別是對(duì)小批量、多品種的產(chǎn)品需求,單片機(jī)具有體積小、功能強(qiáng)可靠性高、價(jià)格低廉等一系列優(yōu)點(diǎn),不僅已成為工業(yè)測(cè)控領(lǐng)域普遍采用的智能化控制工具, 而且已滲入到人們工作和和生活的各個(gè)角落,有力地推動(dòng)

2、了各行業(yè)的技術(shù)改造和產(chǎn)品的更新?lián)Q代,應(yīng)用前景廣闊。(使用單片機(jī)的外圍電路比較簡(jiǎn)單) ,在時(shí)間計(jì)數(shù)和速度的計(jì)算上便于擴(kuò)展功能很,系統(tǒng)能夠?qū)崿F(xiàn)升級(jí)。很多數(shù)值可以預(yù)先寫到芯片中。本設(shè)計(jì)主要了解應(yīng)用單片機(jī)的定時(shí)器 / 計(jì)數(shù)器,以及中斷。這是一個(gè)比較小 的系統(tǒng), 故采用匯編語言來編輯。 匯編語言是一種編譯型程序設(shè)計(jì)語言, 它具有 編譯速度快,占用系統(tǒng)空間小,具有一定的助記可讀性等特點(diǎn)。 本系統(tǒng)假設(shè)起步價(jià) 5.0 元,超過三公里開始計(jì)費(fèi),每公里加 2 元。 關(guān)鍵詞:?jiǎn)纹瑱C(jī); 霍爾傳感器 ; 數(shù)碼管目錄1 概述 31.1 基本要求31.2 設(shè)計(jì)參數(shù)31.3 系統(tǒng)原理32 系統(tǒng)總體方案及硬件設(shè)計(jì) 42.1 設(shè)

3、計(jì)方案介紹42.2 單片機(jī)的概念42.3A44E 霍爾傳感器檢測(cè)單元52.4 計(jì)時(shí)與時(shí)間顯示模塊電路設(shè)計(jì)62.5 鍵盤調(diào)整單元72.6 鍵盤程序 83 軟件設(shè)計(jì) 93.1 模塊介紹 93.2 程序流程圖104 Proteus 軟件仿真 115 課程設(shè)計(jì)體會(huì) 11參考文獻(xiàn) 12附 1 :源程序代碼 12附 2 :系統(tǒng)原理圖 221 概述1.1 基本要求( 1)能顯示里程,單位為公里,最后一位為小數(shù)位。(2)能顯示金額數(shù),單位為元,最后一位為小數(shù)位。( 3)可設(shè)定單程價(jià)格和往返價(jià)格,單程價(jià)格為 2 元/ 公里,往返價(jià)格為 1.5 元/ 公里。(4)車速5公里/小時(shí)的時(shí)間累積為總等待時(shí)間,每 5 分

4、鐘等待時(shí)間相當(dāng)于里 程數(shù)增加 1 公里。(5)起步公里數(shù)為 3 公里,價(jià)格為 5元,若實(shí)際距離大于 3 公里,按規(guī)則 3 計(jì) 算價(jià)格。( 6)按暫停鍵,計(jì)價(jià)器可暫停計(jì)價(jià),按查詢鍵,可顯示總等待時(shí)間。發(fā)揮部分:空車指示、語音提示、信息存儲(chǔ)等。1.2 設(shè)計(jì)參數(shù)由于要求沒有給出車輪的相關(guān)參數(shù), 所以這里進(jìn)行一些基本參數(shù)的查詢。 據(jù) 調(diào)查統(tǒng)計(jì),現(xiàn)行出租車輪胎直徑大致有四種,直徑分別為 520mm、540mm、560mm 和 580mm.本作品針對(duì) 560mm的出租車進(jìn)行設(shè)計(jì)。它的周長(zhǎng)為: 1.7584 m,57 圈行駛 100m。1.3 系統(tǒng)原理 出租車計(jì)價(jià)器是乘客與司機(jī)雙方的交易準(zhǔn)則,它是出租車行業(yè)

5、發(fā)展的重要 標(biāo)志。它關(guān)系著交易雙方的利益, 具有良好性能的計(jì)價(jià)器無論是對(duì)廣大出租車司 機(jī)朋友還是乘客來說都是很必要的。 因此,汽車計(jì)價(jià)器的研究也是十分有應(yīng)用價(jià) 值和現(xiàn)實(shí)意義的。出租車計(jì)價(jià)是根據(jù)車所行駛的路程以及乘客乘車的方式綜合決定的。 出租車 行駛總路程可以通過車輪的周長(zhǎng)乘車輪旋轉(zhuǎn)圈數(shù)得到。 即可計(jì)算得到車輪旋轉(zhuǎn)幾 周出租車能行駛一公里的路程。 使用霍爾傳感器方便地計(jì)量車輪旋轉(zhuǎn)的圈數(shù)。 輸 出的脈沖信號(hào)被接入到 AT89S52單片機(jī)系統(tǒng)中, 通過計(jì)算接收到的脈沖個(gè)數(shù), 計(jì) 算出當(dāng)前所行駛的路程, 并且可以計(jì)算實(shí)時(shí)的速度, 在速度低于 5 公里每小時(shí)是 進(jìn)入等待計(jì)費(fèi)。于此同時(shí),根據(jù)不同的收費(fèi)標(biāo)

6、準(zhǔn),通過選擇相應(yīng)的起步價(jià)、單價(jià) 等收費(fèi)標(biāo)準(zhǔn)進(jìn)行計(jì)算。通過鍵盤能夠?qū)崿F(xiàn)往返設(shè)置,啟動(dòng)、暫停、停止計(jì)價(jià)器以 及切換顯示當(dāng)前的行駛里程和需支付的車費(fèi)。本設(shè)計(jì)硬件電路分為五個(gè)單元: 單片機(jī)最小系統(tǒng)單元, 指示燈電路單元, 按 鍵電路單元, 路程時(shí)間與金額顯示單元, 轉(zhuǎn)速信號(hào)接收單元。 軟件系統(tǒng)分為五個(gè) 大的模塊為:總初始化模塊,按鍵掃描模塊,中斷與定時(shí)模塊,數(shù)據(jù)計(jì)算模塊, 數(shù)碼管顯示模塊。 其中,鍵盤掃描和數(shù)碼管顯示采用查詢方式, 轉(zhuǎn)速信號(hào)接收與 等待記時(shí)采用中斷方式。這些軟硬件系統(tǒng)構(gòu)成了最終的設(shè)計(jì)。2 系統(tǒng)總體方案及硬件設(shè)計(jì)2.1 設(shè)計(jì)方案介紹計(jì)數(shù)器系統(tǒng)主要由五部分組成: A44E霍爾傳感器、 ST

7、C89C51單片機(jī)、獨(dú)立 鍵盤、 EEPROM AT24C02和A顯示數(shù)碼管。霍爾傳感器安裝在車輪上, 主要檢測(cè)汽車行進(jìn)的公里數(shù), 并產(chǎn)生一系列相應(yīng) 的脈沖輸出, 脈沖送到單片機(jī)進(jìn)行處理, 單片機(jī)根據(jù)程序設(shè)定通過計(jì)算脈沖數(shù)換 算出行駛公里數(shù),再根據(jù)從 EEPROM中讀取的價(jià)格等相關(guān)數(shù)據(jù)進(jìn)行金額的計(jì)算, 計(jì)算好的金額、 里程和單價(jià)都實(shí)時(shí)地顯示在數(shù)碼管上。 獨(dú)立鍵盤可以調(diào)節(jié)價(jià)格等 相關(guān)數(shù)據(jù), 按下相應(yīng)的按鈕, 產(chǎn)生信號(hào)交由單片機(jī)處理并實(shí)時(shí)顯示出來, 調(diào)節(jié)好 的數(shù)據(jù)存儲(chǔ)到 EEPROM中,掉電后可以使調(diào)好的數(shù)據(jù)不丟失,下次得電后直接從 EEPROM讀到單片機(jī),系統(tǒng)結(jié)構(gòu)圖如圖 12.2 單片機(jī)的概念單

8、片機(jī)( microcontroller ,又稱微控制器)是在一塊硅片上集成了各種部T1件的微型計(jì)算機(jī)。這些部件包括中央處理器 CPU、數(shù)據(jù)存儲(chǔ)器 RAM、程序存儲(chǔ)器 ROM、定時(shí)器 /計(jì)數(shù)器和多種 I/O 接口電路。圖 2 是 80C51單片機(jī)的基本結(jié)構(gòu)圖T0INT0INT1中斷控制器128BRAM定時(shí)/計(jì)數(shù)器C/T0, C/T1CPUOSC串行口圖 2 89C51 結(jié)構(gòu)方框圖2.3 A44E 霍爾傳感器檢測(cè)單元A44E 屬于開關(guān)型的霍爾器件,其工作電壓范圍比較寬( 4.5 18V),其輸 出的信號(hào)符合 TTL 電平標(biāo)準(zhǔn),可以直接接到單片機(jī)的 IO 端口上,而且其最高檢 測(cè)頻率可達(dá)到 1MHZ

9、。A44E 集成霍耳開關(guān)由穩(wěn)壓器 A、霍耳電勢(shì)發(fā)生器 (即硅霍耳片 )B、差分放大 器 C、施密特觸發(fā)器 D和 OC門輸出 E 五個(gè)基本部分組成。在輸入端輸入電壓 Vcc,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍爾電勢(shì)發(fā)生器的兩端,根據(jù) 霍爾效應(yīng)原理, 當(dāng)霍爾片處在磁場(chǎng)中時(shí), 在垂直于磁場(chǎng)的方向通以電流, 則與這 二者相垂直的方向上將會(huì)產(chǎn)生霍爾電勢(shì)差 VH輸出,該 VH信號(hào)經(jīng)放大器放大后送 至施密特觸發(fā)器整形,使其成為方波輸送到 OC門輸出。當(dāng)施加的磁場(chǎng)達(dá)到工作 點(diǎn)(即 Bop)時(shí),觸發(fā)器輸出高電壓(相對(duì)于地電位),使三極管導(dǎo)通,此時(shí)OC門輸出端輸出低電壓,三極管截止,使 OC門輸出高電壓,這種狀態(tài)為關(guān)。這樣 兩

10、次電壓變換,使霍爾開關(guān)完成了一次開關(guān)動(dòng)作。 A44E 霍爾傳感器原理如圖 3 所示。圖 3 A44E 霍爾傳感器原理里程計(jì)算是通過安裝在車輪上的霍爾傳感器檢測(cè)到的脈沖信號(hào),送到單片機(jī)產(chǎn)生中斷,單片機(jī)再根據(jù)程序設(shè)定,計(jì)算出里程。其原理如圖 4 所示。圖 4 霍爾傳感器的脈沖信號(hào)2.4 計(jì)時(shí)與時(shí)間顯示模塊電路設(shè)計(jì)時(shí)間顯示采用 24小時(shí)計(jì)時(shí)方式,時(shí)、分、秒用 8位LED數(shù)碼管動(dòng)態(tài)掃描法 顯示。該電路采用 AT89C52單片機(jī)控制, 通過 4 個(gè)開關(guān)按鍵來調(diào)節(jié)時(shí)間, 其中按 鍵開關(guān) SP1、SP2、SP3分別接單片機(jī)的 P0.0 、P0.1 、P0.2 口,分別調(diào)節(jié)時(shí)鐘的 秒、分、時(shí);單刀雙擲開關(guān) K

11、1(實(shí)際硬件電路用短路冒代替)控制時(shí)、分、秒 的加減調(diào)節(jié), 當(dāng)發(fā)光二極管亮?xí)r, 按下按鍵開關(guān)進(jìn)行加 1 調(diào)節(jié);當(dāng)發(fā)光二極管滅 時(shí),按下按鍵開關(guān)進(jìn)行減 1 調(diào)節(jié)。在本電路中,各位 LED數(shù)碼管的段選端并接在一起,通過 220 歐姆電阻和8 位數(shù)據(jù)鎖存器 74LS573(下面的模塊圖中省略,詳見后總原理圖)接到單片機(jī) AT89C52的 P1口。其中,8 位數(shù)據(jù)鎖存器 74LS573主要是驅(qū)動(dòng) LED數(shù)碼管的段選 端,使 LED數(shù)碼管的顯示更亮; 220 歐姆電阻在電路中起到限流的作用, 防止 LED 數(shù)碼管燒壞。各位 LED數(shù)碼管的位選端通過 ULN2803(下面的模塊圖中省略,詳 見后總原理圖)

12、和 74LS138接到單片機(jī)的 P2.0 、P2.1、P2.2 口。其中,電路通 過 74LS138將 P2.0、P2.1、P2.2 口的輸出狀態(tài)譯成 8 種 BCD碼,這 8 種 BCD碼 分別對(duì)應(yīng)選擇 LED數(shù)碼管的各位, 起到位選作用; 并在 74LS138后面接上達(dá)林頓 管 ULN2803,增加 LED數(shù)碼管位選驅(qū)動(dòng)能力。下面分別介紹各個(gè)元器件的功能和 在模塊電路中的作用。2.5 鍵盤調(diào)整單元 當(dāng)單價(jià)等信息需要進(jìn)行修改時(shí), 就要用到鍵盤進(jìn)行修改。 由于調(diào)節(jié)信息不多, 故采用 4 個(gè)獨(dú)立鍵盤即可,分別實(shí)現(xiàn)清零、切換、增大、減小和功能等作用。電 路原理如圖 5 所示。S1:接 P1.0 口

13、,對(duì)上一次的計(jì)費(fèi)進(jìn)行清零,為下次載客準(zhǔn)備S2:接 P1.1 口,實(shí)現(xiàn)白天和夜晚單價(jià)的切換;當(dāng)功能鍵 S4按下時(shí), S2可 對(duì)數(shù)據(jù)進(jìn)行增大。S3:接 P1.2 口,當(dāng)功能鍵 S4按下時(shí), S3可對(duì)數(shù)據(jù)進(jìn)行減小。S4:接 P1.3 口,按 1 次,進(jìn)入調(diào)整白天單價(jià);按 2 次,進(jìn)入調(diào)整夜晚單價(jià); 按 3 次,進(jìn)入調(diào)整等待單價(jià);按 4 次,進(jìn)入調(diào)整起步價(jià);按 5 次,返回。2.6 鍵盤程序鍵盤采用查詢的方式, 放在主程序中, 當(dāng)沒有按鍵按下的時(shí)候, 單片機(jī)循環(huán) 主程序,一旦右按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。流程圖 如圖 6。key3=0?key3num 為真key3num=1 ?k

14、ey1=0?key3num=2?YN存儲(chǔ)白天單價(jià)白天單價(jià) +1key2=0?NY白天單價(jià) -1key1=0?Y夜晚單價(jià) +1key3num=3?Y存儲(chǔ)夜晚單價(jià)顯示key3=0?key3num+key2=0?YN夜晚單價(jià) -1key1=0?等待單價(jià) +1key2=0?YN等待單價(jià) -1Nkey3nu m=4?Ykey3num=5?存儲(chǔ)等待單價(jià)Y存儲(chǔ)起步價(jià)起步價(jià) +1key1=0?YNkey2=0?YN起步價(jià) +1key3num=03 軟件設(shè)計(jì)3.1 模塊介紹 該計(jì)費(fèi)器系統(tǒng)的軟件設(shè)計(jì)分為一下幾個(gè)模塊: (1)主程序模塊在主程序模塊中,需要完成對(duì)個(gè)接口芯片的初始化、出租車起步價(jià)和單價(jià)、 中斷向量的設(shè)

15、計(jì)以及開中斷、 循環(huán)等待等工作。 另外,在主程序模塊中還需要設(shè) 置啟動(dòng)/ 清除標(biāo)志寄存器、里程寄存器和價(jià)格寄存器,并對(duì)它們進(jìn)行初始化。然 后,主程序?qū)⒏鶕?jù)各標(biāo)志寄存器的內(nèi)容,分別完成啟動(dòng)、清除、計(jì)程和計(jì)價(jià)等不 同的操作。流程圖如 3-4 所示。當(dāng)按下輕觸開關(guān)時(shí),開始對(duì)系統(tǒng)初始化,價(jià)格和時(shí)間都顯示 0、0,再次按 下開關(guān),時(shí)間單元開始計(jì)時(shí),并計(jì)算時(shí)間是否超過 2 分鐘,超過 2 分鐘,則從第 3 分鐘開始計(jì)費(fèi)。價(jià)格單元從起步價(jià) 5.0 元開始計(jì)費(fèi),每多一分鐘,價(jià)格單元多 加 2 元。(2)顯示子程序模塊由于顯示是由顯示時(shí)間子程序 DIS1和顯示價(jià)格子程序 DIS 組成的,時(shí)間由 小時(shí)、分、秒三個(gè)

16、單元組成,共六個(gè)數(shù)碼管。價(jià)格由元和角兩個(gè)單元組成,最大 可以顯示 999.9 元。3.2 程序流程圖4 Proteus 軟件仿真圖 7 整體硬件電路圖5 課程設(shè)計(jì)體會(huì)經(jīng)過這些天有關(guān)于出租車計(jì)價(jià)器的課程設(shè)計(jì), 使我對(duì)單片機(jī)的應(yīng)用有了更深 的了解。在課程設(shè)計(jì)的過程中,還是碰到了許多的問題。比如,對(duì)于數(shù)碼管動(dòng)態(tài) 掃描顯示和鍵盤的延時(shí)防抖的綜合編程不能較好地解決; 對(duì)于代碼的前后順序及 調(diào)用掌握得還不夠好; 對(duì)于一些相關(guān)的應(yīng)用軟件沒能熟練掌握。 通過這幾天晚上 的苦想和反復(fù)調(diào)試,以及參考網(wǎng)上的程序,最終還是把問題解決了。通過這次課程設(shè)計(jì),我最大的收獲就是自己的動(dòng)手能力和獨(dú)立解決問題的能 力得到了很大的

17、提高, 也充分體會(huì)到了自己設(shè)計(jì)東西的樂趣、 學(xué)會(huì)查閱資料和對(duì) 別人的東西融會(huì)變通的重要性, 也明白了很多知識(shí)光靠趴在書本上學(xué)是學(xué)不到其 中的精髓的, 必須親自去試著實(shí)踐, 親自去經(jīng)歷才能對(duì)它們真正的掌握, 凡事都 要自己去動(dòng)下手, 去實(shí)踐一下, 遇到困難,永遠(yuǎn)不要沮喪氣餒。 在動(dòng)手的過程中, 不僅能增強(qiáng)實(shí)踐能力, 而且在理論上可以有更深的認(rèn)識(shí); 這次設(shè)計(jì)給了我極大的鼓舞和信心,相信在以后的學(xué)習(xí)中可以通過不斷的摸索和實(shí)踐來提高其他方面的 知識(shí)。通過本次課程設(shè)計(jì),又使我學(xué)到了許多書本上無法學(xué)到的知識(shí), 也使也深該體會(huì)到單片機(jī)技術(shù)應(yīng)用領(lǐng)域的廣泛, 不僅使我對(duì)學(xué)過的單片機(jī)知識(shí)有了很多的 鞏固,同時(shí)也對(duì)

18、單片機(jī)這一門課程產(chǎn)生了更大的興趣。在本次課程設(shè)計(jì)過程中,我學(xué)會(huì)了在網(wǎng)絡(luò)上查找有關(guān)本設(shè)計(jì)的各硬件的資 源,其中包括: AT89S51單片機(jī)及其引腳說明、 555 引腳圖及其引腳功能等,為 本次課程設(shè)計(jì)提供了一定的資料。也為以后的進(jìn)一步學(xué)習(xí)打下了堅(jiān)實(shí)的基礎(chǔ)。 參考文獻(xiàn)1 張友德 趙志英 涂時(shí)亮 編 單片微型機(jī)原理、應(yīng)用與實(shí)驗(yàn) 上海:復(fù)旦 大學(xué)出版社 2005.12 全書2 徐光翔 單片機(jī)原理接口及應(yīng)用 南京大學(xué)出版社3 張淑清等 . 單片微型計(jì)算機(jī)接口技術(shù)及其應(yīng)用 北京:國防工業(yè)出版社, 4 王 曉君等 . MCS-51及兼容單片機(jī)原理與選型北京:電子工業(yè)出版社 5 張?chǎng)?、華臻、陳書謙單片機(jī)原理及

19、應(yīng)用 M 電子工業(yè)出版社, 2005 P1101366 丁元杰、吳大偉單片微機(jī)實(shí)題集與實(shí)驗(yàn)指導(dǎo)書 M 機(jī)械工業(yè)出版社,2004P1241257 AT89C52概述 EB/OL:附 1:源程序代碼#include<reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int#define delayNOP(); _nop_();_nop_();_nop_();_nop_();_nop_();uchar code table=0xC0,0xF9,0xA4,0xB0,0x99,

20、0x92,0x82,0xF8,0x80,0x90;sbit exter=P33;sbit key0=P10;sbit key1=P11;sbit key2=P12;sbit key3=P13;sbit p30=P30; /sbit p31=P31;sbit p32=P32;sbit p34=P34;sbit p35=P35;sbit p36=P36;sbit p37=P37;sbit SDA=P22;sbit SCL=P23;uint inter,aa,bb,temp,temp1;uint zongjine,licheng,dengdai;uint key3num,qiehuantemp,de

21、laytemp; uchar danjia1,danjia2,danjia3,danjia,qibu;void delay(uint x)int i,j;for(i=x;i>0;i-) for(j=340;j>0;j-);void start()SDA = 1;SCL = 1;delayNOP();SDA = 0;delayNOP();SCL = 0;void stop()SDA = 0;delayNOP();SCL = 1;delayNOP();SDA = 1;void respons()uchar i;SCL=1;delayNOP();while(SDA=1)&&

22、;(i<250) i+;SCL=0;delayNOP();uchar read_byte()uchar i,j;for(i=0;i<8;i+)SCL=1; j<<=1;j|=SDA;SCL=0;return(j);void write_byte(uchar date)uchar i,temp; temp=date; for(i=0;i<8;i+) temp=temp<<1; SCL=0; delayNOP(); SDA=CY; delayNOP(); SCL=1; delayNOP();SCL=0; delayNOP();SDA=1; delayNOP

23、();void write_data(uchar addr, uchar date) start(); write_byte(0xa0); respons(); write_byte(addr); respons(); write_byte(date); respons();stop();uchar read_data(uchar addr)uchar date; start(); write_byte(0xa0); respons(); write_byte(addr); respons();start(); write_byte(0xa1); respons(); date=read_by

24、te();stop(); return date;void display(uint zongjine0,uint licheng0,uint danjia0)uint jbai,jshi,jge,lshi,lge,dshi,dge;uint numwei,numshu; jbai=zongjine0/100; jshi=zongjine0%100/10; jge=zongjine0%100%10; lshi=licheng0/10; lge=licheng0%10;dshi=danjia0/10; dge=danjia0%10;if(aa) aa=0; numshu+;if(numshu=7

25、) numshu=0;P3=0xff; switch(numwei) case 0:p30=0;P0=tablejbai;break; case 1:p31=0;P0=tablejshi&0x7f;break; case 2:p32=0;P0=tablejge;break; case 3:p34=0;P0=tablelshi;break; case 4:p35=0;P0=tablelge;break; case 5:p36=0;P0=tabledshi&0x7f;break; case 6:p37=0;P0=tabledge;break; numwei+;if(numwei=7

26、)numwei=0;void keyscan() if(key3=0)delay(5); if(key3=0) key3num=1; while(!key3);delay(5); while(!key3);while(key3num) if(key3num=1) if(key1=0) delay(5); if(key1=0) danjia1+; if(danjia1=100) danjia1=0; while(!key1); delay(5); while(!key1); if(key2=0) delay(5); if(key2=0) danjia1-; if(danjia1=-1) danj

27、ia1=99; while(!key2); delay(5); while(!key2);display(1,0,danjia1);if(key3num=2)write_data(1,danjia1); if(key1=0)delay(5);if(key1=0 danjia2=0;danjia2+; if(danjia2=100)while(!key1);delay(5);while(!key1); if(key2=0)delay(5);if(key2= danjia2=99;danjia2-; if(danjia2=-1)while(!key2);delay(5);while(!key2);

28、display(2,0,danjia2);if(key3num=3)write_data(2,danjia2); if(key1=0)danjia3=0;danjia3=99;if(key1=0)danjia3+; if(danjia3=100)while(!key1);delay(5);while(!key1);if(key2=0)delay(5);if(key2=0)danjia3-;if(danjia3=-1)while(!key2);delay(5); while(!key2);display(3,0,danjia3);if(key3num=4)write_data(3,danjia3

29、);if(key1=0)delay(5);if(key1=0)qibu+;qibu=0;if(qibu=100)while(!key1);delay(5); while(!key1);if(key2=0)delay(5);if(key2=0)qibu-;if(qibu=-1)qibu=99;while(!key2);delay(5);while(!key2);display(4,0,qibu);if(key3num=5) /write_data(4,qibu);key3num=0;if(key3=0)delay(5);if(key3=0)key3num+;while(!key3);delay(

30、5);while(!key3);void init()SDA=1;SCL=1;zongjine=0;licheng=0;dengdai=0;danjia1=read_data(1);danjia2=read_data(2);danjia3=read_data(3);qibu=read_data(4);aa=0;bb=0; inter=0;EA=1; EX1=1; IT1=1;TMOD=0x01;TH0=(65536-1000)/256;TL0=(65536-1000)%256;ET0=1;TR0=1;P3=0x08;P0=table0;?void jisuan()if(licheng>3)zongjine=qibu+(licheng-3)*danjia+dengdai*danjia3; elsezongjine=qibu+dengdai*danjia3;void qiehuan()if(key1=0)delay(5);if(key1=0)qiehuantemp=!qiehuantemp; while(!key1);delay(5);while(!key1);if(qiehuantemp=0) danjia=danjia2;if(qiehuantemp=1) danjia=danjia1;void

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論