基于單片機(jī)的多功能出租車計價器的設(shè)計.pdf_第1頁
基于單片機(jī)的多功能出租車計價器的設(shè)計.pdf_第2頁
基于單片機(jī)的多功能出租車計價器的設(shè)計.pdf_第3頁
基于單片機(jī)的多功能出租車計價器的設(shè)計.pdf_第4頁
基于單片機(jī)的多功能出租車計價器的設(shè)計.pdf_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

基于單片機(jī)的多功能出租車計價器的設(shè)計.pdf.pdf 免費下載

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

文檔簡介

基于單片機(jī)的多功能出租車計價器的設(shè)計 肖衛(wèi)初,陳偉宏,楊 明 (湖南城市學(xué)院 湖南 益陽 413000) 摘 要:介紹一種以單片機(jī)AT89S52為核心的多功能出租車計價器的設(shè)計,闡述軟硬件設(shè)計過程中關(guān)鍵技術(shù)的處理。 仿真結(jié)果表明該計價器具有集計程、 計時、 計費、 存儲、 查看、 統(tǒng)計等多種計量功能,并且具有超速提醒、 防止司機(jī)作弊、 語音、 打印和顯示等多種功能。與已有的系統(tǒng)相比,該系統(tǒng)具有超速提醒等更強(qiáng)的功能。 關(guān)鍵詞:出租車計價器;多功能;AT89C52 ;軟硬件設(shè)計 中圖分類號:TP368. 1 文獻(xiàn)標(biāo)識碼:B 文章編號:10042373X(2008)162180206 Design of Multi2function Taximeter Based on Single Chip Microcomputer XIAO Weichu ,CHEN Weihong ,YANG Ming (Hunan City University ,Yiyang ,413000 ,China) Abstract : The designs of a new type of taximeter based on single chip microcomputer AT89S52 are presented. How to solve key problems in the process of designing software and hardware system is also discussed. The simulation results have proved that the system is satisfied with the practical requirements of distance ,time and fare counting ,storing ,examining ,accu2 mulating data ,reminding of the excessive speed ,guarding against driver cheating ,and the print ,speech and display function. Compared with the existing system ,this system has stronger function ,such as reminding of the excessive speed and so on. Keywords:taximeter ;multi2function;AT89C52 ;software/ hardware design 收稿日期:2008202217 基金項目:湖南省教育廳科研基金資助項目06C219 1 引 言 出租車計價器是出租車營運收費的專用智能化儀 表,隨著電子技術(shù)的發(fā)展,出租車計價器技術(shù)也在不斷 進(jìn)步和提高。國內(nèi)出租車計價器已經(jīng)經(jīng)歷了4個階段 的發(fā)展。從傳統(tǒng)的全部由機(jī)械元器件組成的機(jī)械式,到 半電子式即用電子線路代替部分機(jī)械元器件的出租車 計價器;再從集成電路式到目前的單片機(jī)系統(tǒng)設(shè)計的出 租車計價器。出租車計價器計費是否準(zhǔn)確、 出租車司機(jī) 是否超速才是乘客最關(guān)心的問題,而計價器營運數(shù)據(jù)的 管理是否方便才是出租車司機(jī)最關(guān)注的。因此怎樣設(shè) 計出一種既能有效防止司機(jī)作弊和超速又能方便司機(jī) 的計價器尤為重要。 因此,本文以單片機(jī)AT89S52為核心設(shè)計一款多 功能出租車計價器,該計價器能實現(xiàn)里程計價與顯示、 數(shù)據(jù)存儲與查詢、 時鐘顯示、 超速提醒、 語音播報和票據(jù) 打印等功能。它比市場上的一些計價器使用更方便,功 能更全,還具有有效防止司機(jī)作弊和系統(tǒng)穩(wěn)定性好的優(yōu) 點。其中的超速提醒功能可以提醒司機(jī)和乘客,以告誡 司機(jī)不要超速行駛,以避免交通事故的發(fā)生。 2 系統(tǒng)硬件結(jié)構(gòu)及功能特性 2. 1 整體方案 整體方案設(shè)計方框圖如圖1所示,整個系統(tǒng)由單片 機(jī)A T89S52控 制 電 路、A44E霍 爾 傳 感 器 電 路、 AT24C02存儲電路、DS1302時鐘電路、ISD2560語音 播報電路、 票據(jù)打印電路、 按鍵調(diào)整電路、MAX7219驅(qū) 動顯示電路及電源電路組成。 圖1 整體方案設(shè)計方框圖 單片機(jī)采集并判斷空車燈信號及路程檢測傳感器 信號,當(dāng)出租車啟動時,單片機(jī)檢測到霍爾傳感器的脈 沖信號并進(jìn)行里程計算。當(dāng)無乘客時,單片機(jī)調(diào)用實時 時間芯片DS1302程序和MAX7219串口顯示驅(qū)動程 081 元器件與應(yīng)用肖衛(wèi)初等:基于單片機(jī)的多功能出租車計價器的設(shè)計 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. 序,用4只LED進(jìn)行時鐘顯示;當(dāng)空車燈掰下乘客上車 時:ISD2560語音播報電路進(jìn)行語音播報 1 ( 歡迎乘客 乘坐本出租車 ) , 通過DS1302獲取時間信息分辨白 天/晚上,然后調(diào)用A T24C02程序獲取白天/晚上的單 價及起始價,便開始計價并顯示時間、 里程和金額等信 息;當(dāng)空車燈打上乘客下車時:進(jìn)行播報 2( 謝謝再次乘 坐本出租車,請交金額? ) , 并打印好票據(jù),單片機(jī)將 營運數(shù)據(jù)信息存儲到24C02中,等待出租車再次啟動 后單次金額與里程等信息清零復(fù)位,就此完成一次 計價。 2. 2 硬件電路設(shè)計 其硬件電路整體圖如圖2所示。 圖2 硬件電路整體圖 由電源部分、 霍爾傳感器路程測量部分、 數(shù)據(jù)顯示部 分、 時鐘部分、 語音播報部分、 票據(jù)打印部分和數(shù)據(jù)存儲 部分等組成,各部分端口分別與單片機(jī)AT89S52的輸出 口相連,通過單片機(jī)的控制來實現(xiàn)計價器的功能實現(xiàn)。 2. 2. 1 電源部分 由于計價器的工作環(huán)境比較差,它要求有抗振動、 抗高低溫、 抗潮濕、 抗電磁干擾等能力,特別是電源方面 的干擾,如出租車啟動時,發(fā)動機(jī)打火、 電瓶充電等造成 輸入計價器的+ 12 V電源不穩(wěn)定。因此采用+ 12 V 電瓶電源經(jīng)過濾波和電源穩(wěn)壓管理芯片7805后得到 + 5 V的穩(wěn)定電壓輸出,保證整個系統(tǒng)能夠正常工作。 如圖3所示。 2. 2. 2 路程測量部分 出租車中需要一個能準(zhǔn)確獲得車輪轉(zhuǎn)動即路程計 量信號的裝置,以得到標(biāo)準(zhǔn)的脈沖信號送入單片機(jī)的定 時/計數(shù)器T1即P3. 5引腳,利用單片機(jī)的T1的計數(shù) 功能完成100次的計數(shù)后產(chǎn)生一中斷來完成路程的測 量。(設(shè)車輪周長為1 m ,則霍爾傳感器每產(chǎn)生100個 脈沖便表示車已行程0. 1 km ,根據(jù)實際情況在程序中 進(jìn)行設(shè)置)。汽車聯(lián)軸器按圓周間隔嵌入磁鋼,用霍爾 傳感器集成芯片A44E檢測并輸出脈沖,其工作原理如 圖4所示,霍爾傳感器集成芯片A44E有信號轉(zhuǎn)換、 電 壓放大、 整形輸出等功能,為增加其抗干擾的能力,經(jīng)過 74LS14對信號整形后再通過光偶送入P3. 5引腳。如 圖5所示。而在此電路中為了防止司機(jī)作弊,可采用加 密傳感器的方法,先對霍爾傳感器采集到的計數(shù)脈沖加 密,使計費脈沖以密文方式傳輸,最后解密為明文脈沖, 傳送到計價器計費。在密碼傳感器中,加密器向解碼器 發(fā)送的是密碼,只有加密器和解密器固有密碼相同時, 解碼器才向計價器發(fā)送計數(shù)脈沖,計價器才計費,因此, 181 現(xiàn)代電子技術(shù)2008年第16期總第279期 ?新型元器件? 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. 密碼傳感器提高了計價器計費可靠性,不法出租車司機(jī) 也無法使車費增加,同時司機(jī)也不能私自更換計價器傳 感器,實現(xiàn)了計價器由國家計量部門統(tǒng)一安裝、 維修和 年檢的統(tǒng)一管理。 圖3 電源電路 圖4 A44E傳感器工作原理圖 圖5 A44E霍爾傳感器接口電路 2. 2. 3 數(shù)據(jù)顯示部分 由于設(shè)計要求有單價 (2 位)、 中途等待時間 (2 位)、 路程 (4 位)、 金額 (4 位)顯示、 時鐘 (4 位)輸出,如果采 用LCD液晶顯示,在距離屏幕1 m之外就無法看清數(shù) 據(jù),而且在白天其對比度也不能夠滿足要求,因此采用 16位的高亮度L ED數(shù)碼管顯示。當(dāng)為空車時,為了節(jié) 電,只顯示時間,為供司機(jī)查看時間提供方便,當(dāng)司機(jī)要 查詢以往的營運數(shù)據(jù)時,按查詢鍵可提供顯示;在乘客 時顯示營運的單價、 等待時間、 路程、 金額及時鐘。 顯示驅(qū)動器MAX7219具有串行輸入/并行輸出功 能,最多可顯示8個L ED數(shù)碼管,同時有可以對亮度、 譯碼方式、 顯示位數(shù)、 工作模式進(jìn)行編程,非常滿足遠(yuǎn)距 離數(shù)據(jù)顯示;MAX7219采用串行尋址方式,進(jìn)入DIN 端的16位串行數(shù)據(jù)在每個CL K的上升沿被移入到內(nèi) 部的16位移位寄存器中,在LOAD端的上升沿被鎖存 到控制寄存器和數(shù)據(jù)寄存器中,接收到的第一位為最高 位D15 ,在該電路中采用89S52的P1. 5為數(shù)據(jù)口, P1. 6為LOAD端,P1. 7為時鐘口。 由于要顯示16個LED ,所以采用2片MAX7219 級連進(jìn)行驅(qū)動顯示,把上一片的數(shù)據(jù)輸出口和下一片的 數(shù)據(jù)輸入口連接使用。而主電路板上TA89S52輸出的 DIN ,LOAD ,CL K信號在傳輸?shù)斤@示板的過程中可能 會由于干擾而產(chǎn)生變形,所以在顯示板電路板上對這 3個信號進(jìn)行整形然后再通過光偶,以防止數(shù)據(jù)的錯誤 顯示或不顯示的現(xiàn)象發(fā)生。如圖6所示。 圖6 MAX7219接口電路 2. 2. 4 時鐘部分 計價器在出租車空車行駛時需要顯示實時時鐘,因 為它的時鐘是作為白天/晚上單價自動轉(zhuǎn)換的一個基 準(zhǔn),而且計價器的時鐘顯示能為司機(jī)和乘客提供方便, 所以選擇一個好的時鐘芯片對計價器很重要。DS1302 是美國DALLAS公司推出的一種高性能、 低功耗的實 時時鐘芯片,采用SPI三線接口與CPU進(jìn)行同步通信; 時鐘可提供秒、 分、 時、 日、 星期、 月和年;通過設(shè)置 281 元器件與應(yīng)用肖衛(wèi)初等:基于單片機(jī)的多功能出租車計價器的設(shè)計 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. DS1302的控制/狀態(tài)寄存器選擇日歷,時鐘方式經(jīng)過初 始校準(zhǔn)后即可工作使用;工作電壓寬達(dá)2. 55. 5 V ,采 用雙電源供電(主電源和備用電源 ) , 并設(shè)置備用電源充 電方式,提供了對后背電源進(jìn)行涓細(xì)電流充電的能力, 在沒有主電源的情況下啟用備用電源能保存時間信息 及數(shù)據(jù)。如圖7所示。 圖7 時鐘芯片接口電路 2. 2. 5 語音播報部分 考慮到計價器的微型化、 智能化,語音芯片采用集 成度較高ISD2560芯片,其最大特點是采用E2PROM 進(jìn)行模擬信息直接存取而不必經(jīng)過A/ D和D/ A轉(zhuǎn)換。 它內(nèi)部帶有話筒放大器、 自動增益控制時鐘、 揚聲器驅(qū) 動電路等,采用+ 5 V電源供電。 語音模塊與單片機(jī)的接口如圖8所示,設(shè)計過程 中,先將固定語音部分(上、 下車用語、)信息存儲到 ISD2560內(nèi)部的不同起點地址中。營運過程中根據(jù)上、 下車的不同營運狀態(tài)來實現(xiàn)不同語音功能播放。在語 音芯片工作時,系統(tǒng)首先主程序調(diào)用放音處理程序,根 據(jù)發(fā)音地址尋找ISD2560中的發(fā)音單元,然后將信號 送到揚聲器發(fā)出聲音。 圖8 語音播報模塊 2. 2. 6 票據(jù)打印部分 當(dāng)出租車到達(dá)指定地點,司機(jī)翻起空車牌,便產(chǎn)生 一個信號通知單片機(jī)AT89S52 ,單片機(jī)啟動打印服務(wù), 將行車的中途等待時間、 營運里程、 單價、 金額、 日期及 上下車時間等數(shù)據(jù)打印成出租車專用發(fā)票,微型打印機(jī) 接口電路如圖9所示。該電路采用接口插板方式與單 片機(jī)相連,這一特點使得計價器的票據(jù)打印在功能上與 主系統(tǒng)一體化,而在檢查、 維修時又可單獨進(jìn)行。本設(shè) 計中所用微打是EPSON公司生產(chǎn)的TPp216微型打 印機(jī),微打與單片機(jī)通過并行接口相連,當(dāng)所需要打印 的數(shù)據(jù)出現(xiàn)在打印機(jī)I/ O0I/ O7上時,STB只要從高 電平轉(zhuǎn)到低電平,再從低電平轉(zhuǎn)到高電平,就可把數(shù)據(jù) 送入打印機(jī)。這時打印機(jī)將BUSY線置為忙(高電 平 ) , 禁止新數(shù)據(jù)輸入;當(dāng)打印機(jī)取走數(shù)據(jù)并處理完畢 后,BUSY線被置為閑(低電平 ) , 同時送出回答脈沖 ACK通知系統(tǒng),可以再次輸入數(shù)據(jù)。 圖9 微型打印機(jī)接口電路 2. 2. 7 數(shù)據(jù)存儲部分 數(shù)據(jù)存儲部分的作用是在電源斷開時,存儲當(dāng)前設(shè) 定的單價信息。AT24C02是ATMEL公司的2 kB的 電可擦除存儲芯片,采用2線串行的總線和單片機(jī)通 訊,電壓最低可以到2. 5 V ,額定電流為1 mA ,靜態(tài)電 流10Ua(5. 5 V) ,芯片內(nèi)的資料可以在斷電的情況下保 存40年以上,而且采用8腳的DIP封裝,使用方便。 如圖10所示。 圖10 數(shù)據(jù)存儲電路 圖10中的時鐘信號線SCL與數(shù)據(jù)線SDA需外接 5. 1 k的上拉電阻,其作用是減少A T24C02的靜態(tài)功 耗,24C02采用I2C總線與AT89S52相連,AT89S52 的P1. 3作為它的串行時鐘線,P1. 4作為它的串行數(shù)據(jù) 381 現(xiàn)代電子技術(shù)2008年第16期總第279期 ?新型元器件? 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. 線。當(dāng)通過通過按鍵設(shè)定一次數(shù)據(jù)完畢后(如:晝夜單 價、 等候時間、 起租里程、 起租金額等 ) , 系統(tǒng)就自動調(diào)用 存儲程序,將數(shù)據(jù)信息保存在芯片內(nèi);當(dāng)系統(tǒng)重新上電 時,自動調(diào)用讀存儲器程序,將存儲器內(nèi)的數(shù)據(jù)信息,讀 到緩存單元中,供主程序使用。由于保存在24C02中 的數(shù)據(jù)是不能隨意進(jìn)行改動的,因此它具有防作弊功 能。此外出租車營運過程中的一些營運數(shù)據(jù),如:單次 出租的營運額和營運里程、 一段時間內(nèi)的營運總額和總 路程等,也存儲在24C02中,以便出租車公司及司機(jī)查 詢,使出租車司機(jī)更方便的管理營運數(shù)據(jù),出租車行業(yè) 得到更有效的管理。 2. 2. 8 超速提醒與按鍵設(shè)置部分 有些出租車司機(jī)為了獲取更多的時間來多送一個 乘客,他們在送客過程中以高速行駛來榨取時間,而引 起一些交通事故,為了制止這些事故發(fā)生,在系統(tǒng)程序 中通過軟件檢測行駛速度,當(dāng)速度高于設(shè)置的最高速度 時即超速時以紅色L ED顯示,乘客觀察后可以提醒司 機(jī)不要超速行駛,以避免交通事故發(fā)生。 如圖11所示,按鍵部分有營運數(shù)據(jù)查詢鍵和數(shù)據(jù) 設(shè)置鍵,營運數(shù)據(jù)查詢按鍵置于計價器的外面,司機(jī)通 過該查詢鍵可以查看1個月的總營運額與總營運里程, 和單次的營運額與營運里程。 圖11 超速提醒與按鍵設(shè)置電路 短按查看總營運數(shù)據(jù),再次短按則循環(huán)依次往上翻 閱過去單次的營運數(shù)據(jù),長按3 s則跳出數(shù)據(jù)查詢。數(shù) 據(jù)設(shè)置鍵則秘密安放于計價器內(nèi)部,且必須對計價器多 處進(jìn)行鉛封,以防止司機(jī)通過該按鍵對營運的重要數(shù)據(jù) 進(jìn)行設(shè)置而作弊,該按鍵由出租車公司的專業(yè)人員來調(diào) 整數(shù)據(jù),由功能設(shè)置/確認(rèn)鍵、UP、DOWN鍵組成,其中 功能設(shè)置/確認(rèn)鍵對系統(tǒng)時間、 起步價、 白天/晚上單價、 等待時間等數(shù)據(jù)調(diào)整進(jìn)行設(shè)置,然后通過UP與 DOWN來對數(shù)據(jù)值進(jìn)行加與減。然后再通過功能設(shè) 置/確認(rèn)鍵來對所設(shè)數(shù)據(jù)的確認(rèn)。 3 系統(tǒng)軟件設(shè)計 軟件設(shè)計部分可分為:主程序控制程序、 外部中 斷0空車燈信號中斷程序、 外部中斷1里程計算程序、 T0等待時間計數(shù)中斷程序、MAX7219串口靜態(tài)16位 L ED顯示程序、DS1302時鐘程序、ISD2560語音播報 程序、24C02數(shù)據(jù)存儲程序、 打印程序和鍵盤服務(wù)程序 等;在整個軟件中一些變量使用全局變量形式,以供主 程序的調(diào)用并進(jìn)行顯示。 3. 1 主程序設(shè)計 在主程序模塊中,需要完成對各芯片的初始化 (MAX7219 ,AT24C02 ,ISD2560語音芯片及微型打印 機(jī)的初始化)、 各中斷的初始化(外部中斷0、 外部中 斷1、T0的初始化 ) , 另外,在主程序模塊中還需要設(shè)置 啟動/清除標(biāo)志寄存器、 里程寄存器和價格寄存器,并對 它們進(jìn)行初始化。然后,主程序?qū)⒏鶕?jù)各標(biāo)志寄存器的 內(nèi)容,分別完成啟動、 清除、 計程和計價等不同的操作。 主程序流程圖如圖12所示。當(dāng)空車信號燈打下時,表 示有乘客上車,就就進(jìn)行語音播報1 ,并啟動計價,將根 據(jù)里程寄存器中的內(nèi)容計算和判斷出行駛里程是否已 超過起價公里數(shù)。若已超過,則根據(jù)里程值、 每公 里的單價和起價來計算出當(dāng)前的累計價格,并將 結(jié)果存于價格寄存器中,然后將當(dāng)前時間和累計 價格送MAX7219驅(qū)動的LED顯示電路顯示出 來。當(dāng)中途塞車(等待或低速行駛)時,在一定時 間內(nèi)沒有檢測到傳感器的脈沖信號就啟動T0計 時器進(jìn)行計時,當(dāng)超過規(guī)定的等待時間后,計價器 就根據(jù)等待價格進(jìn)行當(dāng)前金額的累加與顯示,并 在計價器上顯示等待時間;當(dāng)?shù)竭_(dá)目的地的時候, 司機(jī)把空車燈打上,就停止計價,顯示當(dāng)前所應(yīng)該 付的金額和對應(yīng)的單價,并進(jìn)行語音播報2 ,及票 據(jù)打印。等乘客下車后,啟動出租車,計價器檢測 到傳感器的脈沖信號,系統(tǒng)自動對顯示清零,并重 新進(jìn)行初始化過程,完成1次計價。 3. 2 幾個關(guān)鍵子程序 3. 2. 1 外部中斷1里程計數(shù)程序 霍爾傳感器輸出的脈沖信號輸入到單片機(jī)的 外部中斷1接口,車輪每轉(zhuǎn)一圈就產(chǎn)生一個脈沖信號, 單片機(jī)就進(jìn)行一次中斷,在中斷程序中完成兩項任務(wù): (1)啟動定時器0 ,表示出租車啟動; (2)單次里程與總里程的累加計算并將結(jié)果存入 寄存器中(設(shè)車輪轉(zhuǎn)1圈為1 m ,則每中斷1次,里程就 增加 1 m) 。 481 元器件與應(yīng)用肖衛(wèi)初等:基于單片機(jī)的多功能出租車計價器的設(shè)計 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. 3. 2. 2 T0中途等待計時程序 當(dāng)外部中斷1進(jìn)行中斷時就啟動改T0開始計時, 每當(dāng)計時到達(dá)1 min ,等待時間累加器值就自加,而超 過規(guī)定的等待時間后,就對當(dāng)前金額加上額外的中途等 待的價錢,以后每0. 1 min都自動加上中途等待的單 價。當(dāng)中途等待結(jié)束的時候,也就自動切換到正常的 計價。 圖12 主程序流程圖 3. 2. 3 鍵盤服務(wù)程序 鍵盤采用查詢的方式,其放在主程序中,當(dāng)沒有按 鍵按下的時候,單片機(jī)循環(huán)主程序,一旦有按鍵按下,便 轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。鍵盤服務(wù)包 括司機(jī)查詢與出租車管理人員對數(shù)據(jù)的調(diào)整。 4 系統(tǒng)仿真 在Proteus的ISIS 6軟件環(huán)境下畫出電路原理圖, 如圖13所示。接下來就是將設(shè)計的程序在Keil C51 Vision2開發(fā)集成環(huán)境上編譯成機(jī)器語言,進(jìn)入Pro2 teus的ISIS ,鼠標(biāo)左鍵點擊菜單 “Debug”,選中 “use romote debuger monitor”,便可實現(xiàn)KeilC與Proteus 連接調(diào)試。首先在Proteus中雙擊單片機(jī)AT89S52 ,將 KeilC下編程生成的. HEX文件導(dǎo)入到AT89S52中, 可在Proteus中單擊全速仿真運行按鈕,進(jìn)行現(xiàn)象的查 看,能清楚地觀察到芯片上每一個引腳的電平變化,紅 色代表高電平,藍(lán)色代表低電平;并在LED顯示器上顯 示相應(yīng)的數(shù)據(jù),如圖13所示。如果現(xiàn)象不正確,則在 KeilC中單步調(diào)試程序,并在Proteus觀察現(xiàn)象,那一步 不正確則對該段的程序進(jìn)行修改,調(diào)試直到仿真完全成 功為止。 該仿真中霍爾傳感器采集的路程脈沖信號用系統(tǒng) 提供的脈沖信號源代替,其他器件均可找到,電路設(shè)計 及程序調(diào)試完畢,表明系統(tǒng)硬件和程序通過了模擬,為 檢驗設(shè)計的電路和程序,將調(diào)試好的程序下載到制作的 實物電路板的單片機(jī)中,制作電路印刷板,得到的實物 運行結(jié)果與Proteus的仿真結(jié)果完全一致。 圖13 系統(tǒng)仿真調(diào)試現(xiàn)象圖 5 結(jié) 語 本文設(shè)計了以單片機(jī)A T89S52為核心,以語音芯 片ISD2560、 時鐘芯片DS1302、MAX7219等芯片為外 設(shè)的新型出租車計價器。給出硬件電路圖及主程序流 程圖,闡述了軟硬件設(shè)計過程中關(guān)鍵技術(shù)的處理。該系 統(tǒng)完全滿足集計程、 計時、 計費、 存儲、 查看、 統(tǒng)計等多種 計量功能為一體的出租車計價器的實用要求。本文在 出租車計價器的設(shè)計中,優(yōu)化了的設(shè)計的程序,實現(xiàn) Keil C51與Proteus連接調(diào)試,這對于單片機(jī)應(yīng)用系 統(tǒng)、 電子電路的開發(fā)和教學(xué)等都有較大的實用價值。與 已有的系統(tǒng)相比,該系統(tǒng)具有超速提醒等更強(qiáng)的功能。 參 考 文 獻(xiàn) 1何立民.單片機(jī)應(yīng)用技術(shù)選編M.北京:北京航空航天大 學(xué)出版社,1999. 2求實科技.單片機(jī)典型模塊設(shè)計實例導(dǎo)航M.北京:人民 郵電出版社,2004. 3陳小忠.單片機(jī)接口技術(shù)實用子程序 M.北京:人民郵電 出版社,2005. 4趙晶主.電路設(shè)計與制版Protel99高級應(yīng)用 M.北京:人 民郵電出版社,2000. 5全國大學(xué)生電子設(shè)計競賽組委會.全國大學(xué)生電子設(shè)計競 賽獲獎作品精選M.北京:北京理工大學(xué)出版社,2000. 6楊恢先,黃輝先.單片機(jī)原理及應(yīng)用M.長沙:國防科技大 學(xué)出版社,2003. (下轉(zhuǎn)第188頁) 581 現(xiàn)代電子技術(shù)2008年第16期總第279期 ?新型元器件? 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. 化、 實現(xiàn)A/ D轉(zhuǎn)換。采集數(shù)據(jù)程序流程圖如圖5所示。 3 C/ OS2 的移植 C/ OS2 是一種專門為微控制器設(shè)計的搶占式實 時多任務(wù)操作系統(tǒng)3,它以源代碼的形式給出。其內(nèi)核 主要提供進(jìn)程管理、 時間管理、 內(nèi)存管理等服務(wù)。系統(tǒng) 最多支持56個任務(wù),每個任務(wù)均有一個獨有的優(yōu)先級。 由于其內(nèi)核為搶先式,所以總是處于運行態(tài)最高優(yōu)先級 的任務(wù)占用CPU。系統(tǒng)提供了豐富的API函數(shù),實現(xiàn) 進(jìn)程之間的通信以及進(jìn)程狀態(tài)的轉(zhuǎn)化。 圖4 溫度濕度測控系統(tǒng) 主程序流程圖 圖5 數(shù)據(jù)采集 程序流程圖 多任務(wù)系統(tǒng)在運行時每個任務(wù)好像獨立占用CPU 一樣,因此系統(tǒng)必須為每個任務(wù)開辟一塊內(nèi)存空間作為 該任務(wù)的任務(wù)堆棧。該堆棧的作用是保存任務(wù)被切換 前時CPU各寄存器的值以及系統(tǒng)堆棧的數(shù)據(jù)。在進(jìn) 行任務(wù)切換時需要完成的工作,主要步驟如下: (1)將當(dāng)前任務(wù)CPU所有的寄存器壓棧; (2)將CPU系統(tǒng)堆棧的數(shù)據(jù)全部拷貝到當(dāng)前任務(wù) 的任務(wù)堆棧中; (3)得到下一個處于運行態(tài)優(yōu)先級最高的任務(wù)的 任務(wù)堆棧的指針; (4)恢復(fù)下一個任務(wù)的CPU寄存器的值; (5)恢復(fù)下一個任務(wù)的系統(tǒng)堆棧中的數(shù)據(jù); (6)通過中斷返回指令或函數(shù)返回指令,間接修改 PC寄存器的值來進(jìn)行任務(wù)切換。 在為COS2編寫任務(wù)切換代碼時需要注意: COS2 在每次發(fā)生中斷后都會產(chǎn)生任務(wù)調(diào)度,但在中 斷結(jié)束后進(jìn)行的任務(wù)切換,不能調(diào)用普通任務(wù)切換函 數(shù),這是因為在中斷過程中往往伴隨將CPU的狀態(tài)寄 存器壓棧操作。在中斷后,芯片將PC和SR寄存器的 值壓入堆棧,因此,在中斷結(jié)束后進(jìn)行的任務(wù)

溫馨提示

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

評論

0/150

提交評論