出租車計費系統(tǒng)的EDA技術(shù)綜合應用實例與分析譚會生ppt課件_第1頁
出租車計費系統(tǒng)的EDA技術(shù)綜合應用實例與分析譚會生ppt課件_第2頁
出租車計費系統(tǒng)的EDA技術(shù)綜合應用實例與分析譚會生ppt課件_第3頁
出租車計費系統(tǒng)的EDA技術(shù)綜合應用實例與分析譚會生ppt課件_第4頁
出租車計費系統(tǒng)的EDA技術(shù)綜合應用實例與分析譚會生ppt課件_第5頁
已閱讀5頁,還剩125頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 第第14章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 14.1 系統(tǒng)設計要求系統(tǒng)設計要求 14.2 系統(tǒng)設計方案系統(tǒng)設計方案 14.3 主要源程序主要源程序 14.4 系統(tǒng)仿真系統(tǒng)仿真/硬件驗證硬件驗證 14.5 設計技巧分析設計技巧分析 14.6 系統(tǒng)擴展思路系統(tǒng)擴展思路 第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 14.1 系統(tǒng)設計要求系統(tǒng)設計要求 以CPLD/FPGA為主體,設計并制作一臺出租車計費系統(tǒng),系統(tǒng)的方框圖如圖14.1所示。第第1414章章 出租車計費系統(tǒng)的出租車計

2、費系統(tǒng)的設計與分析設計與分析 圖14.1 出租車計費系統(tǒng)方框圖 速度傳感器電路主板汽車電瓶916 V空車指示牌顯示器LED/LCD第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 1計費及顯示 (1) 里程,即汽車行駛里程,用四位數(shù)字顯示,顯示方式為“XXX.X”,單位為km,精確到0.1 km。 (2) 單價,即里程單價,用三位數(shù)字顯示,顯示方式為“X.XX”,單價為元/km,根據(jù)每天不同的時間段有兩種情況:當時間段為06:0023:00時單價為1.40元/km,其他時間段內(nèi)單價為1.80元/km。第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析

3、(3) 等候時間,用四位數(shù)字顯示分鐘和秒,顯示方式為“XX:XX”,等候的定義是:當汽車行駛速度小于或等于12 km/h時為“等候”。 (4) 等候單價,等候單價有兩種情況:在等候時間小于1小時的情況下,等候單價為1元每5分鐘;在等候時間大于1小時的情況下,等候單價為20元每小時。第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 (5) 費用的計算,出租車的起價為5.00元,當里程小于2 km時,按起價計算費用;當里程大于2 km時按下式計算費用: 費用=里程里程單價+等候時間等候單價 (6) 費用的顯示,用五位數(shù)字顯示,顯示方式為“XXX.XX”,單價為元。 第第141

4、4章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 2時鐘及顯示 當出租車在常運狀態(tài)下,應能顯示當前的時間。在汽車熄火的情況下,時鐘必須正常運行,但是可以不顯示時鐘。 3計費開始提示 當出租車載上乘客并起步后,將空車指示牌扳倒時,空車指示牌里的指示燈熄滅,并有語音或燈光提示信號。第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 14.2 系統(tǒng)設計方案系統(tǒng)設計方案 14.2.1 系統(tǒng)總體設計方案 本系統(tǒng)擬采用單片機和FPGA的結(jié)合進行系統(tǒng)的主體設計,系統(tǒng)原理框圖如圖14.2所示。第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 圖14.2 出

5、租車計費系統(tǒng)總體原理框圖 傳感器時鐘信號DISPLAYP3.0-P3.1P0P2.2-P2.0P2.3P2.7P2.4P2.5P2.6RETP1.0-P1.5MCUXDBZDDBZLCBZSTARTSDBZSELDATA復位FPGA83WCLKSCLK顯示切換確定修改啟動空車牌第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 14.2.2 測控FPGA的VHDL程序設計 根據(jù)系統(tǒng)的設計要求,我們可將整個測控FPGA系統(tǒng)CZJFXT分為七個模塊,它們分別是:分頻器模塊FPQ,等待判別模塊DDPB,里程計算模塊LCJS,里程計費模塊LCJF,等待計時模塊DDJS,等待計費模塊

6、DDJF,輸出數(shù)據(jù)選擇模塊SCXZ。其內(nèi)部組成原理圖如圖14.3所示。第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 分頻器模塊FPQ:將外部時鐘信號SCLK(設計時假設為200 Hz)經(jīng)過適當分頻后,產(chǎn)生1 Hz的系統(tǒng)工作用基準時鐘信號CLK1HZ,供系統(tǒng)中的有關模塊計時用。 等待判別模塊DDPB:根據(jù)速度傳感器脈沖信號WCLK和分頻器產(chǎn)生的基準時鐘信號CLK1HZ,計算單位時間里WCLK的脈沖個數(shù)(每km產(chǎn)生1000個脈沖信號,即每米產(chǎn)生1個脈沖信號),亦即出租車行駛速度,從而判別出租車是否處于等待狀態(tài),發(fā)出等待標志信號DDBZ。 第第1414章章 出租車計費系統(tǒng)的

7、出租車計費系統(tǒng)的設計與分析設計與分析 里程計算模塊LCJS:根據(jù)速度傳感器脈沖信號WCLK和等待標志DDBZ,對出租車行駛的里程數(shù)XSLC進行計算,同時發(fā)出里程標志信號LCBZ和里程計費標志信號JFBZ。 里程計費模塊LCJF:在計費標志信號JFBZ、等待標志信號DDBZ、里程標志信號LCBZ和時段標志信號XDBZ等信號的控制下,計算行駛里程超過2 km以上里程的費用LCFY。 第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 等待計時模塊DDJS:在等待標志信號DDBZ和基準時鐘信號CLK1HZ的控制下,進行等待時間DDSJ的計算,其中DDSJ的低8位表示等待時間的秒數(shù)

8、,DDSJ的高8位表示等待時間的分鐘數(shù),同時根據(jù)等待時間的長短發(fā)出一個熄燈標志信號XDBZ。 等待計費模塊DDJF:在等待標志信號DDBZ和熄燈標志信號XDBZ控制下,進行等待費用DDFY的計費操作。 輸出數(shù)據(jù)選擇模塊SCXZ :根據(jù)單片機發(fā)出的數(shù)據(jù)傳輸選擇控制信號SEL,選擇有關計算處理結(jié)果傳輸給單片機。SEL與被傳送數(shù)據(jù)的具體關系如表14.1所示。第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 表14.1 SEL與被傳送數(shù)據(jù)的關系列表 第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 14.2.3 單片機控制程序設計 單片機模塊包括單片機AT8

9、9C51及其控制的顯示和鍵盤系統(tǒng),控制口如圖14.3(略 )所示。 AT89C51對FPGA的數(shù)據(jù)進行運算,計算出用車總費用并送顯示系統(tǒng)顯示,同時它接收鍵盤信息并處理顯示切換。系統(tǒng)采用6+1顯示,6個數(shù)碼管作常規(guī)顯示,一個數(shù)碼管作狀態(tài)顯示。按鍵共有5個,分別是功能切換鍵、確定鍵、修改鍵、啟動模擬鍵和空車牌壓下模擬鍵。涉及的主要流程圖如圖14.414.8所示。第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 圖14.4 主程序流程圖開始清內(nèi)存SP#60HP2#00H定時器0,工作方式1定時50 ms啟動定時器工作,開中斷調(diào)用鍵處理第第1414章章 出租車計費系統(tǒng)的出租車計費

10、系統(tǒng)的設計與分析設計與分析 圖14.5 鍵處理流程圖鍵處理開始置標志位 RUNBZNNYYYYYNNNNNNYYYNNYNYN汽車啟動沒有?ZKBZ1送載客標志給FPGAY調(diào)用當前時間修改子程序調(diào)用里程單價顯示子程序Y調(diào)用里程顯示子程序調(diào)用費用顯示子程序有鍵按下嗎?是功能鍵 SB0?RUNBZ=1?有鍵按下嗎?是SB0嗎?有鍵按下嗎?是SB0嗎?有鍵按下嗎?是SB0嗎?有鍵按下嗎?有鍵按下嗎?第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 圖14.6 經(jīng)典顯示子程序流程圖 NYYNNY顯示子程序開始R0#LED8R1#08HA(R1)NA(R1)AYNR0#FYDY8A

11、(R1)查表添加小數(shù)點查表顯示數(shù)據(jù)送串行口R1R11返回NYYANYYN28H.00?28H.60?(R1)#05H?(R1)#02H?(R1)#03H?R10?28H.00?28H.60?第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 圖14.7 里程顯示子程序流程圖 賦 數(shù) 碼 管 顯 示 參 數(shù)N里 程 顯 示 子 程 序 開 始P2.1128H.01R0#4FHR3#02H讀 P0口 數(shù) 據(jù) 放 4D 4FHR3R3 1(R3) 0?P2#0F8H22 20H4D 4FHLCALL HEXBCD2SETB 28H.6返 回Y第第1414章章 出租車計費系統(tǒng)的出租

12、車計費系統(tǒng)的設計與分析設計與分析 圖14.8 乘車費用顯示子程序流程圖 賦數(shù)碼管顯示參數(shù)N乘車費用顯示子程序開始P2#0F8H28H.01R0#4FHR3#02H讀P0口數(shù)據(jù)放4D4FHR3R31P2#0F8H5F,5EH存放(500)DLCALL ADDMB2220H4D4FHLCALL HEXBCD2SETB 28H.6返回(R3)0?Y第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 14.3 主主 要要 源源 程程 序序 14.3.1 主要VHDL源程序 1分頻器模塊FPQ的VHDL源程序 -FPQ.VHD LIBRARY IEEE; USE IEEE.STD_L

13、OGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY FPQ IS第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 PORT(SCLK: IN STD_LOGIC; -SCLK=200 Hz CLK1HZ: OUT STD_LOGIC); -CLK1HZ=1 HzEND ENTITY FPQ; ARCHITECTURE ART OF FPQ IS SIGNAL CNT100: INTEGER RANGE 0 TO 99; SIGNAL CLK1: STD_L

14、OGIC; BEGIN PROCESS(SCLK)第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 BEGIN IF SCLKEVENT AND SCLK=1 THEN IF CNT100=99 THEN CNT100=0; CLK1=NOT CLK1; ELSE CNT100=CNT100+1; END IF; ELSE 第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 CLK1=CLK1; END IF; CLK1HZ=CLK1; END PROCESS;END ARCHITECTURE ART;第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的

15、設計與分析設計與分析 2等待判別模塊DDPB的VHDL源程序-DDPB.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DDPB IS PORT(START,WCLK:IN STD_LOGIC; CLK1HZ:IN STD_LOGIC; DDBZ:OUT STD_LOGIC); 第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 END ENTITY DDPB;ARCHITECTURE ART OF

16、DDPB IS SIGNAL T60S:STD_LOGIC; SIGNAL WCLKCOU:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN -產(chǎn)生60 s周期性跳變信號進程 PROCESS(START, CLK1HZ) IS VARIABLE CNT60: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF START=1 THEN第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 CNT60:=00000000; T60S=0; ELSIF CLK1HZEVENT AND CLK1HZ=1 THEN IF CNT60=00

17、111100 THEN -CNT60=60 T60S=1; CNT60:=00000000; ELSE CNT60: =CNT60+1; T60S=0; END IF; END IF; END PROCESS ; -每分鐘行駛距離計算進程第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 PROCESS(START, WCLK, T60S) IS BEGIN IF START=1 THEN WCLKCOU=00000000; ELSIF WCLKEVENT AND WCLK=1 THEN IF T60S=1 THEN WCLKCOU=00000000; ELSE WCLKC

18、OU=WCLKCOU+1; -距離計算,單位為m第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 END IF; END IF; END PROCESS ; -等待標志判別進程 PROCESS(WCLKCOU,T60S) IS BEGIN IF T60SEVENT AND T60S=1 THEN IF WCLKCOU=11001000 THEN -WCLKCOU=200 DDBZ=1; -等待 ELSE第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 DDBZ=0; -行駛 END IF; END IF; END PROCESS ; END ARCH

19、ITECTURE ART;第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 3里程計算模塊LCJS的VHDL源程序-LCJS.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITYLCJS IS PORT(START, DDBZ, WCLK: IN STD_LOGIC; XSLC: OUT STD_LOGIC_VECTOR(15 DOWNTO 0);第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分

20、析設計與分析 LCBZ,JFBZ:OUT STD_LOGIC);END ENTITY LCJS;ARCHITECTURE ART OF LCJS IS SIGNAL BMS:STD_LOGIC_VECTOR(15 DOWNTO 0); SIGNAL BMS1: INTEGER RANGE 0 TO 99999; SIGNAL JFBZ1: STD_LOGIC; BEGIN -里程計算及標志產(chǎn)生進程 PROCESS(START,WCLK)第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 VARIABLE MS: STD_LOGIC_VECTOR(7 DOWNTO 0); B

21、EGIN IF START=1 THEN MS:=00000000; BMS=0000000000000000;LCBZ=0; ELSIF WCLKEVENT AND WCLK=1 THEN IF DDBZ=0 THEN IF MS=01100011 THEN MS:=00000000;第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 BMS=20 THEN LCBZ=1; -大于2 km標志 END IF; ELSE MS:=MS+1; -米數(shù)計算 END IF; END IF; END IF; END PROCESS;第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的

22、設計與分析設計與分析 -里程計算結(jié)果輸出 XSLC=BMS; -里程計算結(jié)果轉(zhuǎn)換 BMS1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1=0; END CASE; END PROCESS; -計費標志去毛刺進程 PROCESS(WCLK,JFBZ1) IS BEGIN第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 IF WCLKEVENT AND WCLK=1 THEN JFBZ=JFBZ1; EN

23、D IF; END PROCESS;END ARCHITECTURE ART;第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 4里程計費模塊LCJF的VHDL源程序-LCJF.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY LCJF IS GENERIC(SD1:INTEGER:=140; -04:0023:00單價 SD2:INTEGER:=180); -其他時段單價第第1414章章 出租車計費

24、系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 PORT(LCBZ,JFBZ,START,DDBZ,SDBZ:IN STD_LOGIC; LCFY:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END ENTITY LCJF;ARCHITECTURE ART OF LCJF IS SIGNAL LCFY1: STD_LOGIC_VECTOR(15 DOWNTO 0); BEGIN PROCESS(START, LCBZ, SDBZ, JFBZ) BEGIN IF START=1 THEN第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 LCFY1=000

25、0000000000000; ELSIF JFBZEVENT AND JFBZ=1 THEN IF DDBZ=0 THEN -行駛狀態(tài) IF LCBZ=0 THEN -2 km以內(nèi) LCFY1=0000000000000000; ELSIF LCBZ=1 THEN -2 km以上 IF SDBZ=0 THEN LCFY1=LCFY1+SD1; ELSIF SDBZ=1 THEN LCFY1=LCFY1+SD2; END IF;第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 END IF; END IF; END IF; END PROCESS; LCFY=LCFY1;E

26、ND ARCHITECTURE ART;第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 5等待計時模塊DDJS的VHDL源程序-DDJS.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DDJS IS PORT(START, DDBZ: IN STD_LOGIC; CLK1HZ: IN STD_LOGIC; DDSJ: OUT STD_LOGIC_VECTOR(15 DOWNTO 0);第第141

27、4章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 XDBZ: OUT STD_LOGIC);END ENTITY DDJS;ARCHITECTURE ART OF DDJS IS SIGNAL MS,MG,FS, FG: STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL XIDENG: STD_LOGIC; BEGIN PROCESS(START, DDBZ, CLK1HZ) IS BEGIN IF START=1 THEN第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 MS=0000;MG=0000; FS=0000;FG=0000

28、; ELSIF CLK1HZEVENT AND CLK1HZ=1 THEN IF DDBZ=1 THEN IF MG=9 THEN MG=0000; IF MS=5 THEN MS=0000; IF FG=9 THEN FG=0000; IF FS=5 THEN XIDENG=1;FS=0000; ELSE第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 FS=FS+1; -分數(shù)十位計算 END IF; ELSE FG=FG+1; -分數(shù)個位計算 END IF; ELSE MS=MS+1; -秒數(shù)十位計算 END IF; ELSE MG=MG+1; -秒數(shù)個位計算第第14

29、14章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 END IF; END IF; END IF; END PROCESS; XDBZ=XIDENG; DDSJ(15 DOWNTO 12)=FS; DDSJ(11 DOWNTO 8)=FG; DDSJ(7 DOWNTO 4)=MS; DDSJ(3 DOWNTO 0)=MG;END ARCHITECTURE ART;第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 6等待計費模塊DDJF的VHDL源程序-DDJF.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IE

30、EE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DDJF IS -每分鐘等待費用定義,單位為分 GENERIC(WDJ1: INTEGER:=20; WDJ2: INTEGER:=33);第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 PORT(START, XDBZ, DDBZ, CLK1HZ: IN STD_LOGIC; DDFY:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END ENTITY DDJF;ARCHITECTURE ART OF DDJF IS SIG

31、NAL DDFY1: STD_LOGIC_VECTOR(15 DOWNTO 0); SIGNAL CNT60: STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL T60S: STD_LOGIC; BEGIN -產(chǎn)生60 s周期性跳變信號進程第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 PROCESS(CLK1HZ) IS BEGIN IF CLK1HZEVENT AND CLK1HZ=1 THEN IF CNT60=00111100 THEN -CNT60=60 T60S=1;CNT60=00000000; ELSE CNT60=CNT60+1

32、;T60S=0; END IF; END IF; END PROCESS ; -等待費用計算進程第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 PROCESS(T60S,XDBZ,DDBZ) IS BEGIN IF START=1 THEN DDFY1=0000000000000000; ELSIF T60SEVENT AND T60S=1 THEN IF DDBZ=1 THEN IF XDBZ=0 THEN -等待時間小于1小時 DDFY1=DDFY1+WDJ1; ELSIF XDBZ=1 THEN -等待時間大于1小時 DDFY1=DDFY1+WDJ2;第第1414

33、章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 END IF; END IF; END IF; END PROCESS; -等待費用計算結(jié)果輸出 DDFY=DDFY1;END ARCHITECTURE ART;第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 7輸出數(shù)據(jù)選擇模塊SCXZ的VHDL源程序-SCXZ.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SCXZ IS PORT( SEL: IN STD_LOGIC_VECTOR(2 DO

34、WNTO 0); XSLC: IN STD_LOGIC_VECTOR(15 DOWNTO 0);第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 LCFY: IN STD_LOGIC_VECTOR(15 DOWNTO 0); DDSJ: IN STD_LOGIC_VECTOR(15 DOWNTO 0); DDFY: IN STD_LOGIC_VECTOR(15 DOWNTO 0); DATA: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY SCXZ;ARCHITECTURE ART OF SCXZ IS BEGIN第第1414章章

35、 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 DATA= DDSJ(7 DOWNTO 0) WHEN SEL=000ELSE DDSJ(15 DOWNTO 8) WHEN SEL=001ELSE LCFY(7 DOWNTO 0) WHEN SEL=010ELSE LCFY(15 DOWNTO 8) WHEN SEL=011ELSE DDFY(7 DOWNTO 0) WHEN SEL=100ELSE DDFY(15 DOWNTO 8) WHEN SEL=101ELSE XSLC(7 DOWNTO 0) WHEN SEL=110ELSE XSLC(15 DOWNTO 8) WHEN SE

36、L=111ELSE 00000000;END ARCHITECTURE ART;第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 8系統(tǒng)總體組裝的VHDL源程序 系統(tǒng)總體組裝的VHDL源程序請讀者根據(jù)圖14.3的測控FPGA系統(tǒng)CZJFXT內(nèi)部組成原理圖自行完成。第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 14.3.2 單片機匯編語言源程序; CZJFXT.ASMLED8 EQU 7FHLED7 EQU 7EH ; 時間顯緩LED6 EQU 7DHLED5 EQU 7CHLED4 EQU 7BHLED3 EQU 7AHLED2 EQU 79HL

37、ED1 EQU 78H第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 FUNKEY EQU P1.0 ; 功能SELKEY EQU P1.1 ; 選擇FIXKEY EQU P1.2 ; 修改 RUN EQU P1.4 ; 運行信號(傳感器)RUNBZ EQU 28H.4 ZK EQU P1.5 ; 載客信號-單片機(傳感器)ZKBZ EQU 28H.2 ; 載客標志SZKBZ EQU P2.7 ; 送FPGA的載客標志第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 INT_R1 EQU 46HINT_R0 EQU 47HINT_R2 EQU 48

38、HKEYNUM EQU 49H ADA EQU P2.0ADB EQU P2.1ADC EQU P2.2SDBZ EQU P3.3 ; 時段標志第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 LCBZ EQU P2.4 ; 里程標志DDBZ EQU P2.5 ; 等待標志DDBZC EQU 28H.5XDBZ EQU P2.6 ; 等待超過1小時標志 FYDY8 EQU 3FH ; 費用顯緩第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 FYDY7 EQU 3EHFYDY6 EQU 3DHFYDY5 EQU 3CHFYDY4 EQU 3BHFYD

39、Y3 EQU 3AHFYDY2 EQU 39HFYDY1 EQU 38H ; 主程序第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 START: JMPMAIN ; 轉(zhuǎn)移到主程序 ORG 000BH ; 中斷服務入口地址LJMP PIT0 ORG 30HMAIN:第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 CLEAR: MOV R0, #00H MOV R1, #128 MOV A, #00HL1: MOV R0, A INC R0 DJNZ R1, L1 MOV P2, #00H MOV SP, #60H ; 開辟堆棧區(qū)第第1414章章 出

40、租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 MOV TMOD, #01H ; 定時器0,定時工作方式1,16位MOV TL0, #0B0H ; 初值為4C00H,50 msMOV TH0, #03CH SETB TR0 ; 啟動定時器工作SETBIE.7 ; 中斷總允許SETBIE.1 ; 允許定時中斷MOV30H, #14H ; 中斷循環(huán)次數(shù)初值為20次第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 ML2: LCALLKKEYIMLL3: CJNE A, #04H, ML4 SETB RUNBZ SJMP ML2; 調(diào)用鍵盤掃描程序ML4: CJNE A,

41、#00H, MLL1 CLR28H.0第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 CLR28H.6 LCALLSJJZ LCALLKKEYI CJNE A, #00H, MLL3 LCALLLCDJDISP LCALLKKEYI CJNE A, #00H, MLL3 CLR 28H.0 LJMP ML6 LCALLKKEYI第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 MLLL1: CJNE A, #00H, MLL3 LJMP ML5 MLL1: JNBRUNBZ, ML2 CJNE A, #05H, ML2 SETB ZKBZ SETB

42、 SZKBZ NOP CLR SZKBZ ; LCALLQJDISP; 起價顯示第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 ML5: LCALL FYDISP; 費用顯示 LCALL KKEYII JNB28H.3, ML3 ; 有鍵按下轉(zhuǎn)ML3 LJMP ML5 ; 沒鍵按下繼續(xù)刷新費用顯示ML3: LJMP MLL3第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 ML6: LCALL LCDISP LCALL KKEYII JNB28H.3, MLLL1 LJMPML6 DDDISP: ; 等待時間顯示子程序 MOVFYDY8, #0FH

43、 MOV FYDY7, #12H MOV FYDY6, #12H第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 MOV A,R6 CJNE A, #03H, SL0 MOV R0, 40H LCALLDAAD1 MOV A, R2 ; 是否到了60 s? XRL A, #24H JNZ SJL4 ; 不到,轉(zhuǎn)RET1返回 LCALLCLR0 ; 到了60 s,則秒顯示緩沖單元清0 LJMP SJL4第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 SL0: CJNE A, #02H, SL1 MOV R0, 40H LCALL DAAD1 MOV

44、A, R2 ; 是否到了60 s? XRLA, #60H JNZ SJL4 ; 不到,轉(zhuǎn)RET1返回 LCALL CLR0 ; 到了60 s,則秒顯示緩沖單元清0 LJMP SJL4第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 SL1: CJNE A, #01H, SJL4 MOV R0, 40H LCALL DAAD1 MOV A, R2 ; 是否到了60 s? XRLA, #60H JNZ SJL4 ; 不到,轉(zhuǎn)RET1返回 LCALL CLR0 ; 到了60 s,則秒顯示緩沖單元清0 LJMP SJL4第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析

45、設計與分析 SJL4: LCALLKKEYI CJNE A, #01H, SJL1 DEC40H DEC 40H DJNZ R6, SJL3 NEXT3:RET ;ENDIF IF 1=2第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 QJDISP: ; 起價顯示參數(shù)子程序 SETB28H.0 MOVFYDY8, #0FH MOV FYDY7, #12H MOV FYDY6, #12H JB 28H.1, NEXT9 MOV FYDY5, #00H MOV FYDY4, #00H MOV FYDY3, #05H MOV FYDY2, #00H MOV FYDY1, #0

46、0H第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 NEXT9: RET ENDIF LCDJDISP: ; 里程單價顯示子程序 SETB28H.0 MOVFYDY8, #0DH MOVFYDY7, #12H MOV FYDY6, #12H MOV FYDY5, #12H MOV FYDY4, #12H JNB SDBZ, DJL1 MOV FYDY3, #01H第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 MOV FYDY2, #04H MOV FYDY1, #00H LJMP DJL2DJL1: MOV FYDY3, #01H MOV FY

47、DY2, #08H MOV FYDY1, #00HDJL2: RET 第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 LCDISP: ;ANLP2, #0FAH SETB P2.1 MOV R0, #4FH ; 讀入數(shù)據(jù) MOV R3, #02H ; 讀3次P0口LCDL0: MOV A, P0 MOV R0, A DECR0 MOV A,P2第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 INCA ; 指向CPLD下一個數(shù)據(jù)ADRC ADRB ADRA= MOVP2, A DJNZR3, LCDL0 ANL P2, #0F8H MOV 58H,

48、 4EH ; 另存 MOV 59H, 4FH MOV 22H, 4DH MOV 21H, 4EH MOV 20H, 4FH第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 LCALL HEXBCD2 SETB 28H.6 MOV FYDY8, #13H MOV FYDY7, #12H MOV FYDY6, #12H MOV FYDY5, #12H RET FYDISP:ANL P2, #0F8H MOV R0, #4FH ; 讀入數(shù)據(jù) MOV R3, #02H ; 讀3次P0口第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 FYL1: MOV A,

49、 P0 MOV R0, A DEC R0 MOV A, P2 INC A ; 指向CPLD下一個數(shù)據(jù)ADRC ADRB ADRA= MOV P2, A DJNZ R3, FYL1 ANL P2, #0F8H MOV 58H, 4EH ; 另存 MOV 59H, 4FH第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 MOV 5FH, #0F4H MOV 5EH, #01h LCALL ADDMB MOV 22H, 4DH MOV 21H, 4EH MOV 20H, 4FH MOV 4FH, #00H MOV 4EH, #00H MOV 4DH, #00H LCALL HE

50、XBCD2 SETB 28H.0 MOV FYDY8, #0FH MOV FYDY7, #12H MOV FYDY6, #12H RET第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 ; BCD轉(zhuǎn)換及送顯緩HEXBCD2: NOP ; 3BYTE HEX TO 4BYTE BCD HEX(2220H)-BCD(2623H)MUBTD: MOVR0, #23H MOV R7, #04H CLR ALOPP1: MOV R0, A INC R0 DJNZ R7, LOPP1 MOV R7, #18H ; 32BITLOOP4: MOV R1, #20H MOV R6, #0

51、3H CLR C第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 LOPP2: MOVA, R1 RLCA MOV R1, A INC R1 DJNZ R6, LOPP2 MOV R5, #04H MOV R0, #23HLOOP3: MOV A, R0 ADDC A, R0 DAA MOV R0, A INC R0第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 DJNZ R5, LOOP3 DJNZ R7, LOOP4SBCD: MOV R0, #23H ; MOV R1, #38H MOV R3, #04HHEX1: MOV A, R0 ANL

52、 A, #0FH MOV R1, A INC R1 MOV A, R0 ANL A, #0F0H SWAP A第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 MOV R1, A INC R1 INC R0 DJNZ R3, HEX1NEXT2: RET ; 時鐘中斷處理子程序PIT0: PUSH PSW ; 時鐘中斷服務開始,保護斷點 PUSH ACC SETB PSW.3 ; 選用1組通用寄存器第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 ; MOV A, TL0 ; 計數(shù)器重新加載,并修正時鐘 ; ADD A, #2 MOV TL0, #0

53、B6H MOV TH0, #03CHMOV A, 30H ; 循環(huán)次數(shù)處理DEC A ; 循環(huán)次數(shù)減1MOV 30H, A ; 保存于A中JNZ RET0 ; 不滿20次轉(zhuǎn)RET1返回MOV 30H, #14H ; 滿20次,則重賦循環(huán)次數(shù)初值第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 MOV R0, #LED2 ; 秒的十位緩沖單元 LCALL DAAD1 ; 秒加1 MOV A, R2 ; 是否到了60 s? XRL A, #60H JNZ RET0 ; 不到,轉(zhuǎn)RET1返回 LCALL CLR0 ; 到了60 s,則秒顯示緩沖單元清0 MOV R0, #LED

54、4 ; 分的十位顯示緩沖單元地址 LCALL DAAD1 ; 分加1 MOV A, R2 ; 是否到了60分?第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 XRL A, #60H JNZ RET0 ; 不到,轉(zhuǎn)RET0返回 LCALLCLR0 ; 到了60分,則分顯示緩沖單元清0 MOV R0, #LED6 ; 時的十位顯示緩沖單元地址 LCALL DAAD1 ; 時加1 MOV A, R2 ; 是否到了24時? XRL A, #24H JNZ RET0 ; 不到,轉(zhuǎn)RET0返回 LCALL CLR0 ; 到了24時,則時顯示緩沖單元清0第第1414章章 出租車計費系

55、統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 RET0: LCALL SDBJNEXT5: MOV LED7, #12H MOV LED8, #0AH LCALL DISP POP ACC ; 恢復斷點 POP PSW RETI ; 中斷返回第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 DAAD1: MOV A, R0 ; 加1子程序,十位數(shù)送A DEC R0 ; 指向個位顯示緩沖單元地址 SWAP A ; 十位數(shù)占高四位 ORL A, R0 ; 個位數(shù)占低四位 ADD A, #01H ; 加1 DA A ; 十進制調(diào)整 MOV R2, A ; 全值暫存R2中 ANL A

56、, #0FH ; 取出個位數(shù)第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 MOV R0, A ; 個位值送顯示緩沖單元 MOV A, R2 INC R0 ANL A, #0F0H ; 取出十位數(shù) SWAP A ; 使十位數(shù)占低四位 MOV R0, A ; 十位數(shù)送顯示緩沖單元 RET ; 返回第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 CLR0: CLR A ; 清緩沖單元地址子程序 MOV R0, A ; 十位數(shù)緩沖單元清0 DEC R0 MOV R0, A ; 個位數(shù)緩沖單元清0 RETSDBJ: MOV A, LED6 ; 時段比較子

57、程序第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 CJNE A, #00H, SDL1 MOV A, LED5 CLRC SUBB A, #06H JNC SDL2 LJMP SDL0SDL1: CLR C SUBB A, #02H JC SDL2 MOV A, LED5 CLR C SUBB A, #03H JNC SDL0第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 SDL2: SETB SDBZ LJMP NEXT7SDL0: CLR SDBZNEXT7: RET DDCL: MOV R0, #LED8 MOV R1, #5FH MOV

58、 R3, #08HDDL0: MOV A, R0 MOV R1, A DEC R0 DEC R1 DJNZ R3, DDL0 RET第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 ; 顯示程序DISP: MOV R0, #LED8 MOV R1, #08H JNB 28H.0, DDLL0 MOV R0, #FYDY8 LJMP DL7DDLL0:JNB 28H.6, DL0DDL1: MOV R0, #FYDY8 MOV R1, #08H LJMP DDL2第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 DL7: MOV A, R1 LJMP

59、DL1DDL2: MOV A, R1 LJMP DLL1DL0: MOV A, R1 CJNE A, #05H, DL1 LJMP DL3DL1: CJNE A, #03H, DL2 LJMP DL3DLL1: CJNE A, #02H, DL2 LJMP DL3第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 DL2: MOV A, R0 MOV DPTR, #TAB1 MOVCA, A+DPTR MOV SBUF, A LJMP DL4DL3: MOV A, R0 MOV DPTR, #TAB1 MOVC A, A+DPTR ORL A, #01H MOV SBUF,

60、 A第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 DL4: JNB TI, DL4 CLR TI DEC R0 DJNZ R1, DL8 LJMP NEXT4 DL8: JB 28H.0, DL7 JB 28H.6, DDL2 LJMP DL0NEXT4: RET ; a,b,c,d,e,f,g,h第第1414章章 出租車計費系統(tǒng)的出租車計費系統(tǒng)的設計與分析設計與分析 TAB1: DB 0FCH,60H,0DAH ; 0 1 2 DB 0F2H,66H,0B6H ; 3 4 5 DB 0BEH,0E0H,0FEH ; 6 7 8 DB 0F6H,0EEH,3EH ;

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論