




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、0 / 38 文檔可自由編輯打印單片機系統(tǒng)課程設計報告單片機系統(tǒng)課程設計報告完成日期:完成日期:2010 年年 12 月月 28 日日 系:電子信息工程系專 業(yè):通信工程班 級:071 班設計題目:出租車計價器學生姓名:謝明七 王勉指導教師:董玉華、許爽 文檔可自由編輯打印目目 錄錄一、一、設設計任務和性能指標計任務和性能指標.31.1 設計任務.31.2 性能指標.3二、設計方案二、設計方案.42.1 任務分析.42.2 系統(tǒng)設計.5三三 系統(tǒng)硬件設計系統(tǒng)硬件設計.73.1 電源電路.73.2 單片機的最小系統(tǒng).83.3 DS1302 時鐘電路時鐘電路.93.4 顯示電路的設計 .103.5
2、 按鍵控制的設計 .113.7 復位電路.13四、系統(tǒng)軟件設計四、系統(tǒng)軟件設計.144.1 主程序設計.144.2 子程序設計.154.2.1 DS1302 子程序.152 / 38 文檔可自由編輯打印4.2.1 DS1302 子程序流程圖.154.2.2 顯示子程序 .174.2.2 顯示子程序流程圖.194.3 修改時間子程序.20五、調試及性能分析五、調試及性能分析.215.1調試步驟.215.1.1 硬件調試.215.1.2 軟件調試:.215.2 性能分析.21六、心得體會六、心得體會.23七、參考文獻七、參考文獻.24八、附錄八、附錄.25附錄 1、程序清單 .25附錄 2 系統(tǒng)硬
3、件電路圖 .353 / 38 文檔可自由編輯打印一、設計任務和性能指標一、設計任務和性能指標1.11.1 設計任務設計任務出租車計價器是乘客與司機雙方的交易準則,它是出租車行業(yè)發(fā)展的重要標志,是出租車中最重要的工具。它關系著交易雙方的利益。具有良好性能的計價器無論是對廣大出租車司機朋友還是乘客來說都是很必要的。出租車計價器的主要功能是計價顯示、時鐘顯示、根據(jù)白天、黑夜、途中等待來調節(jié)營運參數(shù)、計量數(shù)據(jù)查詢等。要求用 Protel 畫出系統(tǒng)的電路原理圖(要求以最少組件,實現(xiàn)系統(tǒng)設計所要求的功能),印刷電路板(要求布局合理,線路清晰),繪出程序流程圖,并給出程序清單(要求思路清晰,盡量簡潔,主程序
4、和子程序分開,使程序有較強的可讀性)。1.21.2 性能指標性能指標1.不同情況具有不同收費標準:白天、晚上、途中等待(10min 開始收費) ;2.數(shù)據(jù)輸出:單價輸出、路程輸出、總金額輸出;3.按鍵:啟動計時開關、數(shù)據(jù)顯示切換、白天/晚上切換、復位;4.能手動進行修改單價,但單價設定需密碼進入。4 / 38 文檔可自由編輯打印二、設計方案二、設計方案2.12.1 任務分析任務分析出租車計價器基本功能部分是根據(jù)里程數(shù)來完成總金額的輸出。實現(xiàn)方法有兩種。方案一:采用數(shù)字電路控制。其原理方框圖如圖 2.1 所示。采用傳感器件,輸出脈沖信號,經(jīng)過放大整形作為移位寄存器的脈沖,實現(xiàn)計價,但是考慮到這種
5、電路過于簡單,性能不夠穩(wěn)定,而且不能調節(jié)單價,也不能根據(jù)天氣調節(jié)計費標準,電路不夠實用。移移位位寄寄存存器器電電路路里里程程傳傳感感器器金金額額顯顯示示單單價價顯顯示示電電源源電電路路及及保保護護電電路路圖 2.1 數(shù)字電路實現(xiàn)框圖方案二:采用單片機控制。利用單片機豐富的 IO 端口,及其控制的靈活性,實現(xiàn)基本的里程計價功能和價格調節(jié)、時鐘顯示功能。本方案有較大的活動空間,不但能實現(xiàn)所要求的功能而且能在很大的程度上擴展功能,而且還可以方便的對系統(tǒng)進行升級,所以我們采用后一種方案。5 / 38 文檔可自由編輯打印2.22.2 系統(tǒng)設計系統(tǒng)設計鍵盤電路掉電保護單片機顯示電路里程輸入圖 2.1 電路
6、系統(tǒng)構成框圖主控芯片使用 51 系列 AT89C52 單片機,采用高性能的靜態(tài) 80C51 設計,由先進工藝制造,并帶有非易失性 Flash 程序存儲器。它是一種高性能、低功耗的 8 位 COMS 微處理芯片,市場應用最多。時鐘芯片使用美國 DALLAS 公司推出的一種高性能、低功耗、帶 RAM 的實時時鐘芯片 DS1302。采用 DS1302 作為主要計時芯片、可以做到計時準確。更重要的是,DS1302 可以在很小的電流的后備電源(2.55.5V 電源,在 2.5V時耗電小于 300nA)下繼續(xù)計時,并可編程選擇多種充電電流對后備電源進行慢速充電,可以保證后備電源基本不耗電。采用串行數(shù)據(jù)傳輸
7、,與單片機硬件連接簡單,如果使用時鐘芯片 DS12887,將采用并行數(shù)據(jù)傳輸,占用更多的硬件資源。因此為節(jié)省單片機端口,時鐘芯片采用 DS1302。它們可以檢測磁場及其變化,可在各種與磁場有關的場合中使用?;魻柶骷曰魻栃獮槠涔ぷ骰A。霍爾器件具有許多優(yōu)點,它們的結構牢固,體積小,重量輕,壽命長,安裝方便,功耗小,頻率高(可達 1MHZ),耐振動,不怕灰塵、油污、水汽及鹽霧等的污染或腐蝕?;顑含F(xiàn)行器件的精度高、線性度好;霍爾開關器件無觸點、無磨損、輸出波形清晰、無抖動、無回跳、無知重復精度高(可達 Im 級)。采用了各種步長和保護措施的霍爾器件的工作溫度范圍寬,可達-55 攝氏度150 攝氏
8、度。數(shù)據(jù)顯示模塊采用的是 LED 數(shù)碼管顯示,LCD 雖然也能實現(xiàn)顯示功能,但在距屏幕 1 米之外就無法看清數(shù)據(jù),不能滿足要求,而且在白天其對比度也不能滿足要求,因此建議采用 LED 數(shù)碼管顯示。數(shù)碼管總共用了 12 個,其中第一行顯示小時和分鐘,第二行第一個顯示單價,后面 3 個顯示里程數(shù),最后一行顯示總價。 按鍵控制模塊使用了 3 個脈沖開關,其中一個開關負責換位,另一個負責6 / 38 文檔可自由編輯打印改數(shù),第三個按鍵負責切換至等待時間。7 / 38 文檔可自由編輯打印三三 系統(tǒng)硬件設計系統(tǒng)硬件設計3.13.1 電源電路電源電路因為出租車上的電壓時 12V,而芯片所需供電電壓是 5V,
9、所以選擇LM7805 的經(jīng)典電路電源電路完成 12V 轉 5V 的目的。電源電路圖如下圖 3.1 所示:圖 3.1 電源電路圖8 / 38 文檔可自由編輯打印3.23.2 單片機的最小系統(tǒng)單片機的最小系統(tǒng)單片機最小系統(tǒng)采用的是 STC89C54 芯片,STC89C54 是一種低功耗、高新能 CMOS 8 為微控制器,具有 8K 在系統(tǒng)可編程 Flash 存儲器。使用 Atmel 公司高密度非易失性存儲器技術制造,與工業(yè) 80C51 鏟平指令和引腳完全兼容。偏上 FLASH 允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有平橋的 8 為 CPU 何在系統(tǒng)可編程 Flash,使得 S
10、TC89C54 為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。STC89C54 具有以下標準功能:8K 字節(jié) Flash,256 字節(jié) RAM,32 位 I/O口線,看門狗定時器,2 個數(shù)據(jù)指針,三個 16 為定時器/計數(shù)器,一個 6 向量 2級終端結構,全雙工串行口,片內晶振及時鐘電路。另外,AT89S52 可降至0HZ 靜態(tài)邏輯操作,支持 2 中軟件可選擇節(jié)點模式。空閑模式下,CPU 停止工作,允許 RAM、定時器/計數(shù)器、串口、終端繼續(xù)工作。掉電保護方式下,RAM 內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。單片機最小系統(tǒng)電路圖如下圖 3.2 所示
11、:圖 3.2 單片機最小系統(tǒng)電路圖9 / 38 文檔可自由編輯打印3.33.3 DS1302DS1302 時鐘電路時鐘電路若采用單片機計時,一方面需要采用計數(shù)器,占用陰間資源,另一方面需要設置終端、查詢等,同樣耗費單片機的資源,并且使用單片機的時鐘誤差比較大,當長時間使用后會,會出現(xiàn)很大錯誤,而在系統(tǒng)中采用 DS1302 則能很好的解決這個問題。DS1302 時鐘電路圖如圖 3.3 所示: 圖 3.3 DS1302 時鐘電路圖10 / 38 文檔可自由編輯打印3.43.4 顯示電路的設計顯示電路的設計在顯示模塊需要對時間、單價、總價、路程、等待時間進行顯示,采用的是數(shù)碼管,數(shù)碼管總共用了 12
12、 個,其中第一行顯示小時和分鐘,第二行第一個顯示單價,后面 3 個顯示里程數(shù),最后一行顯示總價。顯示電路圖(一個數(shù)碼管)如下圖 3.4 所示:圖 3.4 顯示電路圖11 / 38 文檔可自由編輯打印3.53.5 按鍵控制的設計按鍵控制的設計按鍵的設置是為了能夠手動更改時間和單價,還有就是手動切換到等待時間的地方,按鍵采用的是脈沖按鍵。按鍵設置電路圖如圖 3.5 所示:圖 3.5 按鍵控制電路圖12 / 38 文檔可自由編輯打印3.6 掉電保護掉電存儲單元的作用是在電源斷開的時候,存儲當前設定的單價信息。掉電保護的芯片較多,如 AT24C02 是 ATMEL 公司的 2KB 字節(jié)的電可擦除存儲芯
13、片,采用兩線串行的總線和單片機通訊,電壓最低可以到 2.5V,額定電流為1mA,靜態(tài)電流 10Ua(5.5V),芯片內的資料可以在斷電的情況下保存 40 年以上,而且采用 8 腳的 DIP 封裝,使用方便。掉電保護電路圖如下圖 3.6 所示:圖 3.6 掉電保護電路圖13 / 38 文檔可自由編輯打印3.73.7 復位電路復位電路復位功能采用的是 MAX813L 芯片。MAX813L 是具有監(jiān)控電路的微處理芯片,它具有 4 個功能:1 具有獨立的看門狗計時器,如果看門狗輸入在 1.6 秒內無變化,就會產生看門狗輸出;2 掉電或電源電壓低于 1.25V 時,產生掉電輸出;3 上電時能自動產生 2
14、00ms 寬的復位脈沖;4 具有人工復位功能,當人工復位端輸入低電平時,產生復位信號輸出。復位電路如圖 3.7 所示:圖 3.7 復位電路圖14 / 38 文檔可自由編輯打印四、系統(tǒng)軟件設計四、系統(tǒng)軟件設計4.14.1 主程序設計主程序設計程序的難度主要就是在數(shù)碼管的顯示和外部脈沖的采集部分,分別采用74LS273 芯片對數(shù)碼管進行段選,使數(shù)碼管顯示對應的數(shù),另外使用 74LS154對數(shù)碼管進行位選,選擇哪個數(shù)碼管亮,采用的是動態(tài)顯示。還有外部脈沖的收集,需要對里程數(shù)進行顯示,所以必須要先進行脈沖的采集。程序流程圖如圖 4.1 所示:15 / 38 文檔可自由編輯打印圖 4.1 程序流程圖4.
15、24.2 子程序設計子程序設計4.2.14.2.1 DS1302DS1302 子程序子程序4.2.14.2.1 DS1302DS1302 子程序流程圖子程序流程圖顯示單價、總價、路程、時間等數(shù)據(jù),循環(huán)掃描進行顯示。(如果在一分鐘內沒有脈沖,開啟終端,顯示秒分子程序。DS1302 子程序流程圖如 4.2.1 所示:16 / 38 文檔可自由編輯打印開始寫入實參數(shù) addrCE=1 SCLK=0I=0取 ADDR 低位Addr 右移一位Sclk 上升沿是否是上升沿Y等待上升沿Ni+;i8 ?結束YN圖 4.2.1 DS1302 子程序流程圖17 / 38 文檔可自由編輯打印4.2.24.2.2 顯
16、示子程序顯示子程序void sett() /顯示等待時間及單價、總價、路程子程序TAB0=Read1302(0 x83)/10;TAB1=Read1302(0 x83)%10;TAB7=Read1302(0 x81)/10;TAB6=Read1302(0 x81)%10;TAB8=3;TAB2=Coo/100;TAB3=Coo/10%10;TAB4=Coo%10;if(TAB4=3&TAB2=0&TAB3=0)TAB11=8;elseTAB11=(8+(Coo-3)*TAB8)%10;TAB5=TAB2*TAB8/10;TAB9=Coo/100*TAB8+Coo%100*TAB
17、8/100;TAB10=(Coo/10*TAB8+Coo%10*TAB8/10)%10;void mmm() /顯示時間子程序 TAB0=Read1302(0 x85)/10; TAB1=Read1302(0 x85)%10; TAB7=Read1302(0 x83)/10; TAB6=Read1302(0 x83)%10;TAB8=3;TAB11=(8+(Coo-3)*TAB8)%10;TAB5=TAB2*TAB8/10;TAB9=Coo/100*TAB8+Coo%100*TAB8/100;TAB10=(Coo/10*TAB8+Coo%10*TAB8/10)%10;void mm() /非計
18、價時的顯示時間TAB0=Read1302(0 x85)/10;TAB1=Read1302(0 x85)%10;18 / 38 文檔可自由編輯打印TAB7=Read1302(0 x83)/10;TAB6=Read1302(0 x83)%10;TAB8=3;TAB2=Coo/100;TAB3=Coo/10%10;TAB4=Coo%10;if(TAB4 12 ?結束YN圖 4.2.2 顯示子程序流程圖20 / 38 文檔可自由編輯打印4.34.3 修改時間子程序修改時間子程序修改 TAB 數(shù)組里的前 5 位數(shù)據(jù),分別為小時、分鐘、單價.21 / 38 文檔可自由編輯打印五、調試及性能分析五、調試及性
19、能分析5.15.1調試步驟調試步驟5.1.15.1.1 硬件調試硬件調試錯誤 1:LM7805 封裝時 2 腳和 3 腳弄混解決辦法:1、將 LM78052 腳和 3 腳手工矯正 2、利用飛線重新手工焊接錯誤 2:進行原理圖設計時,電源網(wǎng)絡標號不一致(74LS14、74HC154 電源網(wǎng)絡標號與其他的不一致)解決辦法:利用飛線,將錯誤的網(wǎng)絡標號和正確的網(wǎng)絡標號進行手工焊接。錯誤 3:1K*9 排阻焊反解決辦法:手工拔出,重新焊接錯誤四:在焊接時,由于焊接時間過長,造成三極管燒壞解決辦法:手工拔出重新焊接錯誤 5:有些器件焊接次數(shù)過于頻繁,造成印刷板上焊盤和導線脫落解決辦法:利用飛線將對應的網(wǎng)絡
20、標號進行連接5.1.25.1.2 軟件調試:軟件調試:在軟件編程時,應充分利用原理圖,不然會在編程時導致硬件與軟件不能對應起來,使程序無法實現(xiàn)功能,還有在編程時子程序的名稱應與其功能對應,否則會使別人在讀程序的時候不能及時理解程序含義,而且在軟件調試時邏輯一定要清晰,不然在找錯時會浪費很多時間,5.25.2 性能分析性能分析通過軟件調試后,最終能實現(xiàn)實時時鐘顯示、里程數(shù)的顯示、單價的顯示、總價的顯示、時間的調整、等待時間的顯示。時間顯示模塊使用的是時鐘芯片 DS1302,它精確度高,功能強大,使用它能降低單片機的負荷,減小誤差。里程數(shù)收集模塊由于條件限制,所以我們使用一個外部脈沖信號作為里程數(shù)
21、的收集,用一個脈沖表示一公里,最大的里程數(shù)可達 256 公里。22 / 38 文檔可自由編輯打印電源模塊部分由于經(jīng)驗問題,沒有在 PCB 板上加上串口和 USB 口,使得電源不穩(wěn),只能用導線在外部加一個 5V 電壓,而且由于 7805 的封裝引腳分配有錯誤,導致在最初調試的時候芯片燒壞,所以最終放棄 7805 的電壓轉換,而直接使用+5V 電壓。顯示模塊使用 LED 數(shù)碼管,通過軟件調試,12 個數(shù)碼管能顯示時間、總路程、單價、總價及等待時間的自動切換。23 / 38 文檔可自由編輯打印六、心得體會六、心得體會由于初次進行硬件電路設計,出現(xiàn)了很多簡單又致命的錯誤(見硬件調試)。5 個錯誤在一塊
22、線路密集并且已經(jīng)焊好器件的電路板上無疑是大海撈針。像器件焊反之類的錯誤還比較好排除。而器件損壞和網(wǎng)絡標號不一致這樣的錯誤就很讓人頭疼。僅僅只是網(wǎng)絡標號不一致這個錯誤就讓我們整整測試了一天才發(fā)現(xiàn)。所以下次設計硬件電路的時候一定要找?guī)讉€人仔細檢查電路圖,不能再輕易犯這樣的錯誤。像印刷板上導線斷裂這樣的錯誤也比較難找。而這種錯誤往往是焊接時溫度過高或者是焊接過于頻繁造成的,所以以后焊接的時候一定不會再犯這樣的錯誤了。而且由于當初設計 USB 口和串行口,為軟件調試造成了很大的麻煩(每天不停地拔單片機)。再做學生實驗的時候不能太過于追求趨近于真實產品。過于追求真實會讓你的實驗過程變得極其困難。真的是后
23、悔不已。當初想利用以前做的單片機最小系統(tǒng)開發(fā)板上的串行口進行程序下載,但是到真正實行的時候在發(fā)現(xiàn)并不是那么回事。由于對單片機的要求達不到,雖然理論上天衣無縫,但實際上根本不可能實現(xiàn)。雖然出租車上提供的電源是 12V,即便在實驗板上設計了電源電路也應該再加上一個 USB 口提供 5V 電源。因為除了在實驗室其他地方是并不太容易找到 12V 電源。由于對 USB 口的省略,對軟件調試工作造成了很大的麻煩。24 / 38 文檔可自由編輯打印七、參考文獻七、參考文獻1 徐維祥、劉旭敏. 單片微型機原理及應用. 大連:大連理工大學出版社,1996戴勝華,蔣大明單片機原理與應用北京:清華大學出版社2005
24、李剛新概念單片機教程天津:天津大學出版社2004王宗和單片機實驗與綜合訓練北京高等教育出版社 200025 / 38 文檔可自由編輯打印八、附錄八、附錄附錄附錄 1 1、程序清單、程序清單#includereg51.h#include intrins.h#define uchar unsigned charuchar tmp;uchar det;uchar Coo;int m;int f;uchar code DispTab=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 xc0; /字形碼uchar TAB24;sb
25、it P00=P00;sbit P01=P01;sbit P02=P02;sbit P03=P03;sbit P04=P04;sbit P05=P05;sbit P10=P10;sbit P27=P27;sbit P14=P14;sbit SCLK =P13; /*DS1302 的 SCLK 腳脈沖*/sbit DIO=P12; /*DS1302 的 IO 腳數(shù)據(jù)*/sbit CE=P11; /*DS1302 的 RST 腳片選*/sbit P15=P15;26 / 38 文檔可自由編輯打印sbit P23=P23;sbit P21=P21;sbit P16=P16;sbit P35=P35;
26、sbit P22=P22;sbit P17=P17;sbit P20=P20;sbit P26=P26;sbit P24=P24;sbit ACC7=ACC7;sbit ACC0=ACC0;void time() interrupt 1 /等待計時中斷int i,j;TH0=0 x15;TL0=0 xa0;i+;if(i=100)i=0;j+;if(j=10)j=0;f=Coo;void mDelay(unsigned int Delay) /延時子程序 unsigned int I;for(;Delay0;Delay-) for(I=0;I0; i- ) /循環(huán) 8 次移位 temp = a
27、ddr; DIO = (bit)(temp&0 x01); /每次傳輸?shù)妥止?jié) addr = 1; SCLK = 0; /右移一位 SCLK = 1; /發(fā)送數(shù)據(jù) for ( i=8; i0; i- ) temp = dat; DIO = (bit)(temp&0 x01); dat = 1; SCLK = 0; SCLK = 1; CE = 0; unsigned char Read1302 ( unsigned char addr ) /數(shù)據(jù)讀取子程序 unsigned char i,temp,dat1,dat2; CE=0; SCLK=0; CE = 1; 28 / 38
28、文檔可自由編輯打印 /發(fā)送地址 for ( i=8; i0; i- ) /循環(huán) 8 次移位 temp = addr; DIO = (bit)(temp&0 x01); /每次傳輸?shù)妥止?jié) addr = 1; SCLK = 0; SCLK = 1; /右移一位 /讀取數(shù)據(jù) for ( i=8; i0; i- ) ACC7=DIO; ACC=1; SCLK = 1; SCLK = 0; CE=0; dat1=ACC; dat2=dat1/16; /數(shù)據(jù)進制轉換 dat1=dat1%16; /十六進制轉十進制 dat1=dat1+dat2*10; return (ACC);void Initi
29、al() /初始化 DS1302 Write1302 (0 x8E,0 x00); /禁止寫保護29 / 38 文檔可自由編輯打印 Write1302 (0 x80,0 x00); /秒位初始化 Write1302 (0 x82,0 x20); /分鐘初始化 Write1302 (0 x84,0 x10); Write1302 (0 x86,0 x23); Write1302 (0 x88,0 x05); Write1302 (0 x8c,0 x10); /小時初始化 Write1302 (0 x8E,0 x80); /允許寫保護void set() /修改時間 Write1302 (0 x8
30、E,0 x00); /禁止寫保護 Write1302 (0 x82,TAB7*16+TAB6); /分鐘初始化 Write1302 (0 x84,TAB0*16+TAB1); Write1302 (0 x8E,0 x80);void ss()/顯示子程序int i;uchar *p;p=TAB;for(i=0;i1;i+)det=*p;tmp=DispTabdet;P0=tmp;P20=0;P20=1;P14=0;P15=0;P16=0;P17=0;p+;det=*p;tmp=DispTabdet;P0=tmp;P20=0;P20=1;P14=1;P15=0;P16=0;P17=0;p+;de
31、t=*p;tmp=DispTabdet;P0=tmp;P20=0;P20=1;P14=0;P15=1;P16=0;P17=0;p+;30 / 38 文檔可自由編輯打印det=*p;tmp=DispTabdet;P0=tmp;P20=0;P20=1;P14=1;P15=1;P16=0;P17=0;p+;det=*p;tmp=DispTabdet;P0=tmp;P20=0;P20=1;P14=0;P15=0;P16=1;P17=0;p+;det=*p;tmp=DispTabdet;P0=tmp;P20=0;P20=1;P14=1;P15=0;P16=1;P17=0;p+;det=*p;tmp=Di
32、spTabdet;P0=tmp;P20=0;P20=1;P14=0;P15=1;P16=1;P17=0;p+;det=*p;tmp=DispTabdet;P0=tmp;P20=0;P20=1;P14=1;P15=1;P16=1;P17=0;p+;det=*p;tmp=DispTabdet;P0=tmp;P20=0;P20=1;P14=0;P15=0;P16=0;P17=1;p+;det=*p;tmp=DispTabdet;P0=tmp;P20=0;P20=1;P14=1;P15=0;P16=0;P17=1;p+;det=*p;tmp=DispTabdet;P0=tmp;P20=0;P20=1;
33、P14=0;P15=1;P16=0;P17=1;p+;det=*p;tmp=DispTabdet;P0=tmp;P20=0;P20=1;P14=1;P15=1;P16=0;P17=1;p+;det=*p;tmp=DispTabdet;31 / 38 文檔可自由編輯打印P0=tmp;P20=0;P20=1;P14=0;P15=0;P16=1;P17=1;p+;void sett() /顯示等待時間及單價、總價、路程子程序TAB0=Read1302(0 x83)/10;TAB1=Read1302(0 x83)%10;TAB7=Read1302(0 x81)/10;TAB6=Read1302(0 x
34、81)%10;TAB8=3;TAB2=Coo/100;TAB3=Coo/10%10;TAB4=Coo%10;if(TAB4=3&TAB2=0&TAB3=0)TAB11=8;elseTAB11=(8+(Coo-3)*TAB8)%10;TAB5=TAB2*TAB8/10;TAB9=Coo/100*TAB8+Coo%100*TAB8/100;TAB10=(Coo/10*TAB8+Coo%10*TAB8/10)%10;void mmm() /顯示時間子程序 TAB0=Read1302(0 x85)/10; TAB1=Read1302(0 x85)%10; TAB7=Read1302(0
35、 x83)/10; TAB6=Read1302(0 x83)%10;TAB8=3;void qie(int j) /修改時間、單價子程序uchar i;switch(j) case 4:ss();if(P22=0)for(i=0;i!=1;)i=P22;ss();TAB8+;if(TAB8=10)32 / 38 文檔可自由編輯打印TAB8=0;break;case 3:ss();if(P22=0)for(i=0;i!=1;)i=P22;ss();TAB6+;if(TAB6=10)TAB6=0;break;case 2:ss();if(P22=0)for(i=0;i!=1;)i=P22;ss()
36、;TAB7+;if(TAB7=6)TAB7=0;break;case 1:ss();if(P22=0)for(i=0;i!=1;)i=P22;ss();TAB1+;if(TAB0=2&TAB1=4)|TAB1=10)TAB1=0;break;case 0:ss();if(P22=0)for(i=0;i!=1;)i=P22;ss();TAB0+;if(TAB0=3)TAB0=0;break; default:break;33 / 38 文檔可自由編輯打印Void die() /修改單價位、時間位子程序int x;for(m=0;m5;)ss();qie(m);if(P21=0)for(x
37、=0;x1;)ss();x=P21;m+;set();void mm() /非計價時的顯示時間TAB0=Read1302(0 x85)/10;TAB1=Read1302(0 x85)%10;TAB7=Read1302(0 x83)/10;TAB6=Read1302(0 x83)%10;TAB8=3;TAB2=Coo/100;TAB3=Coo/10%10;TAB4=Coo%10;if(TAB4=3&TAB2=0&TAB3=0)TAB11=8;elseTAB11=(8+(Coo-3)*TAB8)%10;TAB5=TAB2*TAB8/10;TAB9=Coo/100*TAB8+Coo%
38、100*TAB8/100;TAB10=(Coo/10*TAB8+Coo%10*TAB8/10)%10;void count() /計價子程序int x;EA=1;if(f=Coo)sett();ss();elsemm();if(P35=0)for(x=0;x1;)ss();x=P35;Coo+;34 / 38 文檔可自由編輯打印void main()int i,j;TMOD=0 x01;TH0=0 x15;TL0=0 xa0;TR0=1;ET0=1;Initial();P27=0;for(;)if(P23=0)for(i=0;i1;)ss();i=P23;for(j=0;j1;)count()
39、;ss();if(P23=0)for(i=0;i1;)ss();i=P23;EA=0;j+;TAB2=TAB3=TAB11=TAB5=TAB9=TAB10=TAB4=0; else mmm();ss();if(P21=0)for(i=0;i1;)ss();i=P21;die();35 / 38 文檔可自由編輯打印附錄附錄 2 2 系統(tǒng)硬件電路圖系統(tǒng)硬件電路圖IN13OUT2GNDU6LM78L05ACH220R3GNDGND+5OUTA01A12A23GND4SDA5SCL6WP7VCC8U7AT24C02GND+5+5MR1VCC2GND3PFI4PFO5WDI6RST7WDO8U9MAX8
40、13GNDC710uF1K+5GND4K7R75K1R6P25P26P25P26傳傳傳傳傳傳傳傳傳傳傳傳傳傳傳傳X12X23VCC21GND4RST5I/O6SCLK7VCC18U10DS1302Y232.768khzGND+50.1nfC812345678910DS1CON10abcdefgdpV112345678910DS2CON10abcdefgdpV212345678910DS6CON10abcdefgdpV312345678910DS7CON10abcdefgdpV412345678910DS8CON10abcdefgdpV512345678910DS9CON10abcdefgdpV612345678910DS4CON10abcdefgdpV712345678910DS3CON10abcdefgdpV8E2C3B1Q1C8550E2C3B1Q2C8550E2C3B1Q3C8550E2C3B1Q6C8550E2C3B1Q7C8550E2C3B1Q10C8550Q12C85504K7R44K7R54K7R84K7R114K7R144K7R15R17V6V5V4V3V2V1F1D1E1C1B1A1E2C3B1Q4C85504K7R9V12L1E2C3B1Q11C8550V8H1E2C3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報書課題進度
- 前臺薪資合同范本模板
- 廈門 代建合同范本
- 公司頂層設計合同范本
- 傷殘賠償合同范本
- 品牌使用授權合同范本
- 保安與個人合同范本
- 廠房墻面翻新合同范例
- 樂器維修采購合同范例
- 合同范本合作期限
- Unit-3-Reading-and-thinking課文詳解課件-高中英語人教版必修第二冊
- 肝病科進修總結匯報
- 銀行承兌匯票業(yè)務講義
- 化妝品企業(yè)質量管理手冊
- 建筑工程施工日志模板
- 【高中語文】《社會歷史的決定性基礎》課件49張+統(tǒng)編版+選擇性必修中冊
- oecd 稅收協(xié)定范本
- 切爾諾貝利核電站事故工程倫理分析
- 汽車網(wǎng)絡安全運營中心(VSOC)白皮書-2023.09
- GB/T 31402-2023塑料和其他無孔材料表面抗菌活性的測定
- 大灰狼兒童睡前故事大全
評論
0/150
提交評論