電子秒表課程設計_第1頁
電子秒表課程設計_第2頁
電子秒表課程設計_第3頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、計算機硬件技術課程設計斤勻TyI磴力1951學院:自動化工程學院班級:姓名:學號:設計題目:9、電子秒表設計2015年1月一、設計題目:電子秒表設計設計一個可任意啟動/停止的電子秒表,要求用6位LED數碼顯示,計時 單位為 1/100 秒。利用功能鍵進行啟 /停控制。其功能為:上電后計時器清 0, 當第一次(或奇數次)按下啟 /停鍵時開始計數。第 2次(或偶數次)按下該 鍵時停止計時,再一次按啟 /停鍵時清零后重新開始計時。可用開關控制,也 可用按鍵控制。二、設計目的 通過本項課程設計,對微機原理課程中涉及的芯片結構、控制原理、硬件編程等方面有一定的感性認識和實踐操作能力, 更好的理解微機原理

2、課程中講 述的基本原理和概念。進行微機原理課程設計前,應學習并掌握了 8086/8088 匯編語言編程方 法,掌握了 8255、8253 存儲器等芯片的基本結構和工作原理,掌握了芯片編 程控制的方法。三、設計方案以及論證1、整體設計思想使用 8253工作在方式 0計數,對 1/100S 計數,并講計數值寫入 bl 中并 與 100 比較若不相等,則將計數值裝換為 10 進制后送 8255控制端顯示,如相 等則1S計數程序加1之后并與59比較若不相等則將計數值裝換為10進制后 送8255控制端顯示,如相等則1min計數程序加1之后并與59比較若不相等 則將計數值裝換為 10進制后送 8255控制

3、端顯示, 如相等則計數程序加 1 之后 產生溢出,跳轉清零程序將計數清零,同時數碼管清零。2、使用各芯片的作用及工作原理1)定時器 /計數器 8253用系統8253定時器提供的55ms定時單位,設計秒表定時程序。有關系統定時方法:PC機系統中的8253定時器0工作于方式3,外部提 供一個時鐘作為 CLK信號, 頻率:f=1.1931816MHz。定時器 0輸出方波的頻率 :fout=1.1931816/65536=18.2Hz 。輸出方波的周期Tout=1/18.2=54.945ms °8253A每隔55ms引起一次中斷,作為定時信號。可用55945ms作基本計時單位。用BIOS調用

4、INT 1AH可以取得該定時單位。例:1秒=18.2 (計時單位)8253的引腳圖及硬件連接圖如下圖示:D7DCD5D4D302D1DOCLU)OUTO&AT012 3 4-5 6 7 8 910Qu52Qu242322212D10怕17彷彷1413Vcc 麗藥A1AOCLK20U126A7E2CLW0UT10ATE1AD; 75P oiVP O22ORDO;i.Kn?lGAT印02OJTQD3"JCLK1D5GATE1DE0UT1D7CLK2RDM=2WRounC5U1l出J If丄l-lhiaF 一硬件連接圖8253引腳圖當A1A0分別為00 01 10 11時分別選中三

5、個通道和控制字寄存器在 8088系統中,8088的A1A0分別與8253的A1A0相連在8086系統中,通常將 8253 的8位數據線與8086的低8位相連,即使用偶地址,所以 8086的A2A1分別與8253的A1A0相連。計數器(0 2)即三個計數器/定時器通道。每個通道包 括:8位控制字寄存器、16位計數初值寄存器、減一計數器和輸出鎖存器。作 定時器用:其CLK端上的輸入脈沖應是標準的、精確的;作計數器用:對其CLK端上的脈沖計數,脈沖寬度可以不等。采用減一計數器,為0時,從OUT端上輸出一個脈沖定時時間二時鐘脈沖周期X預置的計數初值。控制功能表CSRDWF*A1A0功能0100 0寫計

6、數器00100 1寫計數器10101 0寫計數器20101 1寫控制字寄存器0010 0讀計數器00010 1讀計數器10011 0讀計數器20011 1無操作1XXX X禁止使用011X X無操作每個通道:CLK計數脈沖或標準脈沖輸入端GATE允許端,當GATE二時允許計 數UT計數值為0時輸出一個脈沖由于8253的讀/寫操作對系統時鐘沒有特殊的要求,因此它幾乎可以應用 與由任何一種微處理器組成的系統中,可作為可編程的方波頻率發生器、分頻 器、實時時鐘、事件計數器和單脈沖發生器等。電子秒表課程設計8253 是一片具有三個獨立的16位計數器通道的可編程定時器/計數器芯片。每個通道都可以編程設定

7、3種工作方式之一種;8253由以下幾個部分組成:(1)數據總線緩沖器(8位、三態、雙向);取向救據總蛭DQ4gKDWRAlAOKEElr*B忖勺門t捽制A汕1. -I.-. 帆仰B' r "L'J 部杵AU<8P )CU r4-.-cn10PA*PA010FCFC4k L07 PC3-PC0PB7-PB03I酣)1O 403953S437536635734S3S932108255 31U301229132S14215261625241S姑1P202221= -1 o D s -J- 1 o 6 5 4 Q 1 7- 3 o 1 PAPCPC'PC'

8、;PC'PC'PC'FC器詣PA4PA5PA6PB4PB3(2)讀/寫控制邏輯;CS片選信號,低電平有效;RD:讀信號,低電平有效;WR:與信號,低電平有效;A1A0:端口選擇信號(3)三個通道(0 2),由A0, A1控制選擇;(4)一個控制寄存器;內部結構及引腳圖2)用可編程并行接口芯片8255的PA口以及PB口實現數碼管輸出,PC口實現 按鍵實現數據顯示輸出8255可編程外圍接口芯片是In tel公司生產的通用并行I/O接口芯片,它具有A、B、C三個并行接口,并行接口是以數據的字節為單位與I/O設 備或被控制對象之間傳遞信息。CPU和接口之間 的數據傳送總是并行的

9、,即 可以同時傳遞8位、16位、32位等。用+5V單電源供電,能在以下三種方式 下工作:方式0-基本輸入/出方式、方式1-選通輸入/出方式、方式2-雙向 選通工作方式。8255工作方式控制字和C口按位置位/復位控制字格式如圖所示:nJD?D2IH1辦人Aai 口応i匚 4 HH.JrVa醫出i圳人(»i 丁儒力式控制宇n 1 o 1 o 1 o 1 D&DltDDll-.n- rL IL IL I 3. 鎖存器27374LS273 是8位數據/地址鎖存器,他是一種帶清除功能的8D觸發器,下 面介紹一下他的管腳圖功能表等資料。(1) .1腳是復位CLR低電平有效,當1腳是低電平

10、時,輸出腳2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部輸出 0,即全部復位;(2) .當1腳為高電平時,11(CLK)腳是鎖存控制端,并且是上升沿觸發鎖存,當11腳有一個上升沿,立即鎖存輸入腳3、4、7、& 13、14、17、18的電平狀態,并且立即呈現在在輸出腳 2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)上.CONNECTION DIAGRAM DIP (TOPVfEW)虹 55%05 Q5 E E Q 斗可而師 而 而而nr岡n?¥ | P | 3|

11、丨斗11 5| G |T 丨| E| g | 亦MR Q> GoD, Q, Q2Qz D3 生 GNDLOADEMG Note 期PIN NAMESHIGHLOWCPClock (Active HIGH Going Edge In putO.&U.L0.25 <J.Ld0-dtDab InpubQ.SUL.0.25 U,LMaster missel (Actwe LOWI Input0.5 Ul.075 U.LGa-Q?Register Outputs10U 丄.5 LI.NOTTS:a)1 TTL Unit Load IULJ =40 屈 MIGmXnA LOW.TRUT

12、H TABLE¥RCPoKQxLHHX_rXHLL HLh = HIGH Logic Level L-LCM Logic LevtsX = Immaterial74IS273管腳功能:1D8D為數據輸入端,1QH 8Q為數據輸出端,正脈沖觸發,低電平清除,ICpQ aId 1 -M _ -IQ3 -IkZjjJ - |QS -106 -常用作8位地址鎖存器4、譯碼器74IS15474IS154 為416線制譯碼器其引腳圖如下圖所示|iQB I廠t 存I Uj l 勻IO 1 Ni i 曰IQ 1-4 I Q 1 s5、7段數碼管數碼管要正常顯示,就要來驅動數碼管的各個段碼,從而顯示出

13、我們要 的數字,因此根據數碼管的驅動方式的不同,可以分為靜態式和動態式兩類。 靜態顯示驅動靜態驅動也稱直流驅動。靜態驅動是指每個數碼管的每一個段碼都由一個單片機的I/O端口進行驅動,或者使用如 BCD碼二-十進制譯碼器譯碼進行 驅動。靜態驅動的優點是編程簡單,顯示亮度高,缺點是占用 I/O端口多,如 驅動5個數碼管靜態顯示則需要5X 8=40根I/O端口來驅動,實際應用時必須 增加譯碼驅動器進行驅動,增加了硬件電路的復雜性。動態顯示驅動數碼管動態顯示接口是單片機中應用最為廣泛的一種顯示方式之一,動態驅動是將所有數碼管的8個顯示筆劃"A,B,C,D,E,F,G,DP"的同名端

14、連在一起,另外為每個數碼管的公共極 COM!加位選通控制電路,位選通由各自獨立 的I/O線控制。6、硬件原理圖-bibtijome192n .jo!K嚴2JOiX【833卜.JO2'19Ajcid.jgJ3UJJS1 raU!rnu Ca% ev1ujj GA*nZ2W3c畫蟹二盂盂g鑒ss照FfXrtCJL iiRmH«Wl-ajicm Hr_ fle*OT pnfcTT0 iw-Z' 0IH-u £jon R2FUJAP- J0*3if- OtilTaCOI口"EK£k68SaEF四、程序流程圖五、程序代碼 a1 equ 0000h

15、b1 equ 0002hc1 equ 0004hctr1 equ 0006h;8255各端口地址a2 equ 0200h;8253計數器 0 端口地址ctr2 equ 0206h;8253控制端口地址a3 equ 0100hdata segmentkeynum db 0EEH,0DEH,0BEH,7EH,0EDH,0DDH,0BDH,7DH,0EBH,0DBH,0BBH,7BH,0E7H,0D7H,0B7H,77Htab db 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71Hbuf db 0,0,0,0buf1 db

16、 0,0,0,0,0,0,0,0buf2 db 0,0; 前為第一開關次數buf3 db 80 dup(?)data ends code segment 'code'assume ds:data,cs:codestart: mov ax,datamov ds,ax ;設中斷入口地址設置mov ax,0mov es,axmov di,08mov ax,offset intr_keycldstoswmov ax,seg intr_key stoswmov es,ax;8255 寫入控制字mov al,10001001b ;A 口 B 口輸出顯示, C 口高四位低四位輸入mov dx

17、,ctr1out dx,aln3: call jishujmp n3n2: lea si,buf2mov bh,00hmov bl,1hsilea di,buf3add di,bxadd bl,8mov 1hsi,bllea si,buf1cldmov cx,8rep movsbn4: call disjmp n4n5: lea si,buf2mov bh,00hmov bl,1hsicmp bl,0jz n1lea di,buf1sub bl,8mov 1hsi,bllea si,buf3add si,bxcldmov cx,8rep movsbn6: call disjmp n6n1: c

18、all qinlinjmp n1;jmp startjishu proc near ; 計數子程序 lea si,bufmov bl,sicmp bl,100jnz s6s1: mov bl,0mov si,blmov ah,1hsicmp ah,59jz s2inc ahmov 1hsi,ahjmp s6s2: mov ah,0mov 1hsi,ahmov ah,2hsiinc ahmov 2hsi,ahjmp s6s6:call chumov cx,3s5:call disloop s5call delay1sinc byte ptrsiretjishu endpchu proc ;ruk

19、ou al ; 數處理子程序push sipush bxmov bl,4lea di,buf1lea si,bufnext:lodsbmov ah,00mov cl,10div clxchg ah,alstosbmov al,ahstosbdec bljnz nextpop bxpop siretchu endpdis proc near ; 顯示 buf1 中的值push bxpush cxlea bx,tablea di,buf1mov cx,8mov ah,7Fhloop1: mov al,di xlat ; mov dx,a1 out dx,al mov dx,b1 mov al,ah

20、 out dx,al mov bh,1 call delay call qp lea bx,tab ror ah,1 inc di loop loop1 pop cx pop bx ret dis endp delay1s proc near ;8253 push dx push ax mov dx,ctr2 ;8253 mov al,00110000b out dx,al ;8253換碼延時子程序控制計數器 0 控制字 方式 0 out 端作為中斷請求信號mov dx,a2mov al,01hout dx,almov al,00hout dx,almov dx,a3M1: in al,dxt

21、est al,01hjz M1pop axpop dxretdelay1s endpqp proc near ; 清頻子程序mov al,0ffhmov dx,b1out dx,alretqp endpdelay PROC NEAR ; 內部延時子程序PUSH bxPUSH CXwait0: MOVCX,06hwait1: LOOP wait1DECbhJNZwait0POPCXPOPbxRETdelay ENDPintr_key proc near ;中斷服務子程序call keytest al,2hjz n1test al,4hjz n5 lea di,buf2mov bh,diinc b

22、hmov di,bhtest bh,1hjnz n2jmp n3iretintr_key endpqinlin proc ; 鍵盤清零子程序mov ax,0lea di,bufmov cx,14cldrep stosbcall disqinlin endpkey proc ; 讀取鍵盤程序mov dx,c1in al,dxretkey endpcode endsend start程序編譯圖:dial -an*nt:髭010Oileic- ate i -« s dL>-5«d丁.瀏:bu¥*S -db SO duip C I dat 4 i?nd uod寸 崎

23、號 asfun<e ds- dla st Art -W希1 L -3 匚!£ : ccd e m i>dat4CTIT14U1 n石旨V14Wnownov qncfevd >M i 0. -3M d; :0<8 *minF骨i nt r-k#v cidft 0滬陣鼻乂se-gIE3Ql!ilEI±J opi ntr Jke-'yfflV <KISOV $£ 雯星V1Q蓄flV4411丄.iDomooib qx «ct rl dxJi i sn LIH IAM 斥|亦| BK |fi& M | EK ps"|Hn 呼 |on |wDT13IDE710Fff&SJr-jle 血piD弋|"白J07- 3 GIG-Z77777777777

溫馨提示

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

評論

0/150

提交評論