出租車計價器課程設計報告計劃書_第1頁
出租車計價器課程設計報告計劃書_第2頁
出租車計價器課程設計報告計劃書_第3頁
免費預覽已結束,剩余18頁可下載查看

下載本文檔

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

文檔簡介

1、昆明理工大學信息項目與自動化學院學生實驗報告 20182018學年 第2學期)課程名稱:可編程邏輯器件設計開課實驗室:信自樓 2018 年4月11年級、專業、 班計科101學號2姓名張澤華成績實驗項目名稱出租車計價器設計指導教師江虹教 師 評 語C.不了解口B.基本了解口A. 了解口該同學是否了解實驗原理:C.差口 B.中等口A.強 口該同學地實驗能力:C.未達到口B.基本達到口A.達到口 該同學地實驗是否達到要求:C.不規范口 B.基本規范口A.規范口實驗報告是否規范:C.沒有 口 B. 一般口A.詳細口實驗過程是否詳細記錄:教師簽名: 年月日一、引言汽車計價器是乘客與司機雙方地交易準則 ,

2、 它是出租車行業發展地重要標志 是出租車中最重要地工具 . 它關系著交易雙方地利益 . 具有良好性能地計價器無 論是對廣大出租車司機朋友還是乘客來說都是很必要地.因此, 汽車計價器地研究也是十分有一個應用價值地 .我國在 70 年代開始出現出租車 ,但那時地計費系統大都是國外進口不但不夠準確,價格還十分昂貴 .隨著改革開放日益深入 ,出租車行業地發展勢頭已十分突出,國內各機械廠家紛紛推出國產計價器 .出租車計價器地功能從剛開始地只顯示路程需要司機自己定價 ,計算后四舍五入) ,到能夠自主計費 ,以及現在地能夠打一發票和語音提示、按時間自主變動單價等 功能 .隨著城市旅游業地發展 ,出租車行業已

3、成為城市地窗口 ,象征著一個城市地文明程度 .隨著出租車行業地發展 ,出租車已經是城市交通地重要組成部分,從加強行業管理以及減少司機與乘客地糾紛出發 ,具有良好性能地計價器對出租車司機和乘客來說都是很必要地.我們設計采用 8086 為主控器 ,以 A44E 霍爾傳感器測距 ,實現對出租車地多功能地計價設計 ,輸 出采用 8 段數碼顯示管 .二、總體設計方案利用 8253 作為定時 / 計數器 ,控制電機轉速并測量電機地轉數;8255 作為輸入輸出接口 ,控制數碼管顯示啟動后經過地里程數 小數點后取 2 位有效值) .硬件連接說明: 直流電機控制器地基礎上 , 增加了一個電機測速電路構成 .82

4、55地B 口作為數碼管地筆劃碼驅動; C 口地低4位作為段碼控制,顯示實際里程,同時,也 用于輸出鍵盤地列掃描碼; PC6 PC7輸入行掃描碼,用于識別按鍵,程序中僅使用了 PC6行 上地四個按鍵 , 其定義如下:XI:啟動/停止鍵;X2:加速鍵,與X3、X4鍵組合使用;X3:“ +”鍵;X4:“ - ”鍵.A 口僅使用了 PAO輸出PWM脈沖信號,通過驅動芯片驅動電機,其輸出電壓地高低與 PWM 脈沖地占空比成正比 .電機地轉數 , 通過霍爾元件變換為脈沖個數 , 送入 8253 地通道 2, 計數后 , 將轉數轉換為里程 數,最小單位為0.01公里,送CPU己錄,結果由數碼管顯示出來 一)

5、、軟硬件流程圖U1-222-18 -33017319RESEIADO.15READYA16.19INTA/QS 1INTRALE/QSOHOLD/GT1BHEHLDA/GIO.DT/R/S1TESTDEN/S2NMIRDMN/MXWR/IOCKCLKM/IO/SO26t-32一9C-2825 34U2U7:AadOad1ad331ad4 30ad529ad6ad728DO D1D2D3D4D5D6D7PAO PA1PA2PA3PA4PA5PA6PA7140393837IROIR1DO./CSIR2WRIR3RDIR4AOIR5SP/ENIR6IR7INTCASO.2INTA1617262275

6、36AYOBY1CY2Y3Y4E1丫5E2丫6E3Y715紅14c-1312;11109-9CSRDWRAOA1 RESETPBO PB1PB2PB3PB4PB5PB6PB7PCOPC1PC2PC3PC4PC5PC6PC7181920222325141613-18255A21CSCLKOGATEOOUTOCLK1GATE1OUT1CLK2GATE2OUT291114-31816COM 1B1C2B2C3B3C4B4C5B5C6B6C7B7C8B8C開始主程序流程修改& F號中斷矢量,指向IRO、IR7中斷處理程序寫入8259地OCW1開放IRO、IR7中斷初始化8253,CHO采取方式2,CH

7、2采取方式3,都采用先寫低8位后寫高8位,二進制 計數寫入8253通道O和2初值為6O9和5O關電機,PAO=O將壓縮碼BCD碼地里程數SOEED轉換成非壓縮BCD碼,存顯示緩沖區調用顯示子程序打開鍵盤端口N有鍵按下嗎?Y延時,去抖動N是加速鍵嗎?YNNN加速嗎?啟動嗎?加速嗎?YYY占空比-10設為停止占空比+1里程=0啟占空比+10循環中斷處理程序流程圖IR7N是啟動狀態嗎?咼字節+0+進位,十進制調數PWM定時時間一仁0?開中斷,允許IRO調速中斷保存現場,AX入棧保存現場,AX入棧恢復現場,中斷結束取出當前壓縮BCD碼地里程數行掃描法識別按鍵,AH存掃描碼高電平時間一1=0 ?保存結果

8、到里程數SPEED中IRO中斷處理流程圖占空比-1里程數地低字節+1,十進制調數重裝高電平時間,PA0=0AH地最高位置1,D7=1工1r是啟/停鍵是“+”鍵是“一”鍵中斷返回重裝PWM定時時間,PA0=1恢復現場,中斷結束斷返回顯示子程序流程圖保存現場,寄存器入棧BX指向顯示碼表,SI指向緩沖區)、源程序設計與Y顯示第2位數嗎1-取出一個字節顯示數據,轉換為顯示碼中斷程序里程計數中斷程序每當霍爾傳感器輸出一個低沖計滿1000次時泄入里程計數位顯斷碼顯務程序中也相應地變化 中途等待中斷程序 在中途等待中斷程序中,每關變量,每5分鐘將緩存變量中地值 分鐘沒有輸出信 鐘記一次價格.顯示程序顯示程序

9、利用定時器每1ms產生一次中斷,相應變量置位,點亮一個數碼管,顯 示一位數據,利用主函數內地循環,實現動態掃描顯示,同時根據數碼管余輝和人 眼暫留現象,即可實現顯示鍵盤程序鍵盤采用查詢地方式,放在主程序中,當沒有按鍵按下地時候,循環主程序,一旦 右按鍵按下,便轉向相應地子程序處理,處理結束再返回.顯示小數點,顯示碼OR 80H,當里程計數器對里程脈 程變量加一.主函數中總金額次中斷,將當前里程值送入某個緩存 ,當汽車停止,霍爾傳感器5 ,當前里程值和緩存變量內地值相同,則進入等待計時,每5分搟當前里程值比較返回2.1 8086最小系統模塊存儲譯碼存儲芯片+41、8086CPU構成地系統框圖如圖

10、:地 址 鎖 存+j2.2 芯片 8255A1、8255A地作用本實驗利用8255A將模擬量轉換后地數字量傳送到CPU.此外,8255采用查詢工作方式控制ADC0809工作.8086通過8255向七段LED顯示器發送控制信號.2、8255A地功能分析8255A是可編程并行接口,可以根據外界條件1/0設備需要地信號線和它能提 供地狀態線)來使其構成多種接口電路.8255A內部有3個數據端口,即A 口、B 口、C 口 .A 口有三種工作方式:即方式0、方式1和方式2,而E 口只能工作在方式0或方式1下,而C 口通常作為聯絡信號使用本實驗將控制字設為 80H,初 始化8255,使得B 口、C 口為輸

11、出.在三種工作方式中,本設計只使用了方式0,即方式0是基本地輸入/輸出方式, 在這種方式下,三個端口都可以由程序規定為輸入 /出方式,但是不能既作為輸入 又作為輸出,也沒有提供固定地聯絡信號.C 口分為兩個4位-高4位和低4位,可 以分別設置為輸入或輸出方式3、8255A地技術參數8255A地引腳信號302928noPAOutrM蛇PA2113rMVlLdDSJ PtTiPAS03BTRDWKADKtREET耐csPOOPCIPC2K3F匸電 resFOBPC7氏c=引JW265#引駁TT-40J036尹IS202122.2324zs14151713IZLlIDCS:片選信號,低電平有效;A0

12、 A1 :地址信號.JP52:PC口;JP53:PB口;JP56:PA口.圖831呂255引腳1)與外設相連地PA7PA0: A 口數據信號線;PB7PB0: B 口數據信號線;PC7PC0: C 口數據信號線;2)與CPU相連地RESET:復位信號.當此信號來時,所有寄存器都被清除同時三個數據端口被 自動置為輸入端口 .D7D0 :它們是8255A地數據線和系統總線相連.CS:片選信號.在系統中,一般根據全部接口芯片來分配若于低位地址 46D1匸SnXXX寫兀位編碼寫入內容編碼000001u韋入aU1U1寫入1a 11I 00I ni| in111圖2 8255A地置位/控制字表2.3 芯片

13、 82531、8253地功能分析Intel8253是NMOS工藝制成地可編程計數器/定時器,有幾種芯片型號,外形引 腳及功能都是兼容地,只是工作地最高計數速率有所差異,例如 82538253內部有三個計數器,分別成為計數器0、計數器1和計數器2,他們地機 構完全相同.每個計數器地輸入和輸出都決定于設置在控制寄存器中地控制字,互相之間工作完全獨立每個計數器通過三個引腳和外部聯系,一個為時鐘輸入端 CLK, 一個為門控信號輸入端 GATE,另一個為輸出端 OUT.每個計數器內部有一 個8位地控制寄存器,還有一個16位地計數初值寄存器CR、一個計數執行部件 CE和一個輸出鎖存器OL.執行部件實際上是

14、一個16位地減法計數器,它地起始值就是初值寄存器地值 而初始值寄存器地值是通過程序設置地.輸出鎖存器地值是通過程序設置地.輸出 鎖存器OL用來鎖存計數執行部件CE地內容,從而使CPU可以對此進行讀操作. 順便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器來用1、 8253地作用2、8253地引腳信號三三三二二DODlnzmIMnsDeDr_BDnMAlra皿御 控制線電源3528_y 門 O 5 41- 1- !OVTOGATEDCS片選信號,低電平有效;2 3 9 0-1 4-22 2 12 2 2 13 8 6 71 111CLE GATE2 UT2A0 A1 :地址信號

15、;E253的引線2.4可編程控制芯片8259A8259A地原理一片8959A有8條中斷請求線IR0IR7,8259A被操作系統初始化后,就可以接 收中斷信號了 .8259A從IR請求線上接受中斷信號,每個請求線有一個觸發器來 保存請求信號,從而形成中斷請求寄存器vIRR) 同時如果中斷請求信號線上不 是被屏蔽地,8259A向CPU發出INT信號,請求中斷.這時如果CPU是處于允許中 斷狀況,CPU就會發送INTA信號給8259A進入中斷響應周期如果有多個請求信 號同時到達,8259A地優先權電路會對各個請求進行優先權選擇,將最高先權地請 求在中斷響應周期送到中斷服務寄存器 ISR)中將它置位,

16、同時復位IRR中地相 應位.接著CPU再次發送一個INTA脈沖給8259A,啟動另外一個中斷相應周 期.8259A在這個相應周期向數據總線地 D0-D7上輸入一個中斷向量.CPU根據 該向量地值*4后就可以從中斷入口地址表IDT )中取出中斷服務程序地入口 地址而轉入中斷服務程序.而8259A如果工作在自動結束中斷AEOI )模式時會 自動使其ISR中地相應位復位,否則需要發出EOI命令使ISR復位.在老式地PC-XT/AT中,一般使用一片8259A進行中斷信號請求在現代地多 數PC中,一般都會采用兩片8259A作為級連.其中一片是Master一片是Slave,因 為Master上地一個中斷請

17、求線需要連接到 Slave地INT腳,所以實際可以使用地 外部中斷個數是158*2 T)個.8259A結構1、數據總線緩沖器-D7D0數據總線緩沖器為三態、雙向、8位寄存器 擻據線D7D0與CPU系統總線 連接,構成CPU與8259A之間信息傳送地通道.2、讀/寫控制邏輯-WR/WD讀/寫控制邏輯用來接收CPU系統總線地讀/寫控制信號和端口地址選擇信號, 用于控制8259A內部寄存器地讀/寫操作.3、級聯緩沖/比較器8259A既可以工作于單片方式,也可以工作于多片級聯方式,級聯方式硬件連 接如圖6.10所示.級聯緩沖/比較器提供多片8259A地管理和選擇功能,其中一片 為主片,其余為從片.4、

18、中斷控制邏輯中斷控制邏輯按照編程設定地工作方式管理中斷,負責向片內各部件發送控制 信號,向CPU發送中斷請求信號INT和接收CPU回送地中斷響應信號INTA,控 制 8259A 進入中斷管理狀態 .5、中斷請求寄存器 interrupt request register,IRR)IRR是一個8位寄存器,用于記錄外部中斷請求.其中D7DO分別與外部中斷 請求信號IR7IR0相對應,當IRivi = 07)有請求 電平或邊沿觸發)時,IRR 中地相應位Di置1,在中斷響應信號INTA有效時,DI被清除.6、中斷服務寄存器 vinterrupt service register,ISR)ISR 是一

19、個 8 位寄存器 ,用于記錄 CPU 當前正在服務地中斷標志 .當外部中斷 IRivi = 07)地請求得到CPU響應進入服務時,由CPU發來地第一個中斷響應 脈沖INTA將ISR中地相應位DiT_HIDB 50 。高電平持續時間 (基本周期 *T_HINOW_TDB TNOW_HIDB 50T8253EQU 609。 定 時器 8253 地初 值 =1.19M*0.512MS( 基本 周期=609RUNDB 0 。啟停標志SPEEDDW 0 。里程數STEPDW 50 。10M 地 8253 脈沖個數 (即每來 50 個脈沖 ,則前進 10MTABDB 3FH,06H,5BH,4FH,66H

20、,6DH,7DH,07H,7FH,6FH。 09 地顯示碼DISPDB 4 DUP (0,52H。存儲轉速DATA ENDSSTACK SEGMENT STACKDW 64 DUP(?。定義堆棧段STACK ENDSCODE SEGMENT。代碼段定義ASSUME CS:CODE,DS:DATA 。段指定START: MOVAX,DATAMOV DS,AXPUSH DS。當前用戶 DS 段入棧保存,讀出總里程數 。計價器 (利用調速控制器控制電機地旋轉DATA SEGMENT。修改 DS=0000H, 指向中斷矢量表所在段 。取出中斷處理子程序地入口偏移地址( 以0 為基準 ADDAX,200

21、0H。修正 ,實際地址 =裝入地址地偏移量 +相對于 0 起始地偏移量MOVSI,0020H。IRO中斷矢量號為 08H,處于矢量表地 20H23HMOVMOVADDMOVSI,AXAX,0000HMOV SI,0022HMOV SI,AXAX,OFFSET IRQ7AX,2000H。將偏移地址裝入矢量表。將段地址 (0000H 裝入矢量表MOVSI,0003CHMOVSI,AXMOVAX,0000HMOVSI,003EHMOVSI,AXPOPDSMOVAL,13HOUT20H,ALMOVAL,08HOUT21H,ALMOVAL,01HOUT21H,ALMOVAL,7EHOUT21H,AL和

22、IR0 中斷MOV AL,34HOUT43H,AL二進制計數MOVAX,T8253OUT40H,ALMOVAL,AHOUT40H,ALMOV AL,0B6HOUT43H,AL3,二進制計數MOVAX,STEPOUT42H,ALMOVAL,AHOUT42H,ALMOVAL,88H為 10001000BOUT63H,AL方式0輸出,C 口低4位輸出MOVAL,00HOUT60H,ALSTIA1:MOV SI,OFFSET DISPMOVBL,2MOVAX,SPEEDA11:AND AL,0FHMOVSI+3,ALANDAH,0FHMOVSI+1,AHDECSI。將偏移地址裝入 IRQ7 地中斷矢量

23、。計數初值為基本周期。寫入 CH0。關電機。開中斷。將段地址 (0000H 裝入矢量表 。恢復用戶數據段 DS。寫入 ICW1。寫入 ICW2。寫入 ICW4。D7,D0位復位為0。寫入 OCW1(IMR 。開放 8259A 地 IR7。設定 8253 通道 0 地工作方式 ,00110100B。 CH0 采用先寫低 8 位,后寫高 8 位,方式 2,。設定 8253 通道 2 地工作方式 ,10110110B。 CH2 采用先寫低 8 位,后寫高 8 位=0,方式。寫入 CH2。寫入 8255A 地方式控制字 , 設定工作方式。即A 口方式0輸出,C 口高4位輸入,B 口MOVAX,SPEE

24、DMOVCL,4RORAX,CLDECBLJNZA11換為非壓縮碼 ,存入緩沖區MOVSI,OFFSET DISPCALLDISPLAYMOVAL,00HOUT62H,ALINAL,62HANDAL,40HJZA2盤JMPEXITA2:MOVAH,00HMOVCX,04MOVDL,77HA21:INCAHROLDL,1MOVAL,DLOUT62H,ALINAL,62HTESTAL,40HJNZA22CALLDALEYCALLDALEYINAL,62HANDAL,40HJNZA22CMPAH,2JNZRELEA加速鍵無效 ORAH,80HJMPA22RELEA:CALLDISPLAYMOVAL,

25、DLOUT62H,ALINAL,62HANDAL,40HJZRELEAJMPA23速,=3+,=4- 鍵A22:LOOP A21。將速度地壓縮 BCD 碼轉。打開開關掃描。讀 C 口。有鍵按下 ,轉讀鍵。記錄按鍵掃描碼 。循環掃描 4 次 。打開第一行地開關掃描 。掃描碼 +1。打開一行地開關掃描。讀 C 口。取 PC6(Y1。無鍵按下 , 轉。去抖動。讀 C 口。取 PC6(Y1。是抖動 , 轉。不是加速鍵 ,轉 (單獨按下。是加速鍵 ,則 D7 位=1。等待鍵釋放。 AH 存掃描碼 ,=1(X1 鍵按下 啟停 ,=2 加JMPEXITA23:MOVAL,AHANDAL,0FHCMPAL,0

26、1HJNZA3。不是按下啟停鍵則轉MOVAL,RUNTESTAL,01HJNZA24。原為啟動 ,則轉停止MOVRUN,01。置位啟動標志MOVNOW_T,T。重裝定時周期MOVAL,T_HIMOVNOW_HI,AL。重裝高電平定時時間MOVSPEED,00。重新計價 100%JMPEXITA6:MOVAL,AHANDAL,0FHCMPAL,04JNZEXIT。不是 - 鍵,轉MOVBH,01TESTAH,80HJZA7。沒按加速鍵 ,轉MOVBH,10。按加速鍵 ,-10,正常 -1A7:MOVBL,T_HISUBBL,BHJNC A8MOV BL,00A8: MOV T_HI,BLEXIT: JMP A1。8259A地IR0中斷處理子程序(8253地IRQ0: PUSH AXSTIMOV AL,RUNAND AL,ALJZIREXITMOVAL,NOW_TSUBAL,1JNZIRSP1MOVNOW_T,TMOVAL,T_HIMOVNOW_HI,ALJMPIREXITIRSP1:MOVNOW_T,AL。MOVAL,NOW_HITESTAL,A

溫馨提示

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

評論

0/150

提交評論