電子報警器課程設(shè)計_第1頁
電子報警器課程設(shè)計_第2頁
電子報警器課程設(shè)計_第3頁
電子報警器課程設(shè)計_第4頁
電子報警器課程設(shè)計_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 計算機科學(xué)與技術(shù) 專業(yè)課程設(shè)計任務(wù)書學(xué)生姓名*專業(yè)班級*學(xué)號*題 目電子報警器課題性質(zhì)工程設(shè)計課題來源自擬課題指導(dǎo)教師同組姓名主要內(nèi)容設(shè)想制作一個防盜器件。具體要求:按動鍵盤某任一數(shù)字鍵使得內(nèi)揚聲器發(fā)出警報聲,使得8個led指示燈忽明忽暗,并通過液晶顯示器顯示相關(guān)警報信息。程序運行后,觸動鍵盤上的數(shù)字鍵,8個led不停光閃,光閃周期為2秒,同時在液晶顯示器上顯示相應(yīng)的警報信息;程序按ctrlc推出后聲不響光不閃。任務(wù)要求根據(jù)設(shè)計任務(wù)和要求,在設(shè)計前必須對微機原理與接口技術(shù)中的8255和8253芯片熟悉了解和掌握。設(shè)計中主要要完成的是發(fā)聲報警和發(fā)光報警這兩個部分功能,故在程序設(shè)計中只要設(shè)計觸動

2、鍵盤中的數(shù)字鍵即8個led不停光閃,同時內(nèi)揚聲器發(fā)出警報聲,且在屏幕上顯示警報信息。在設(shè)計發(fā)聲報警時利用了8253可編程定時記數(shù)器。在設(shè)計發(fā)光報警時利用了8255芯片。在程序設(shè)計中利用int 10h實現(xiàn)在屏幕上顯示相關(guān)的警報信息。參考文獻1微機原理及應(yīng)用,楊素行,清華大學(xué)出版社,1994年。2微型計算機原理及應(yīng)用,鄭學(xué)周斌編著,清華大學(xué)出版社,1994年6月。3微機原理與接口技術(shù)實驗指導(dǎo)與習題集,周明德主編,人民郵電出版社,2002。4微機原理與接口技術(shù),李芷主編,電子工業(yè)出版社,2002。5.微機原理與應(yīng)用考點分析及效果測試,叢書編委會編,哈爾濱工程大學(xué)出版社,2003。審查意見指導(dǎo)教師簽字

3、:教研室主任簽字: 年 月 日 一、設(shè)計內(nèi)容與要求設(shè)想制作一個防盜器件。具體要求:按動鍵盤某任一數(shù)字鍵使得內(nèi)揚聲器發(fā)出警報聲,使得8個led指示燈忽明忽暗,并通過液晶顯示器顯示相關(guān)警報信息。程序運行后,觸動鍵盤上的數(shù)字鍵,8個led不停光閃,光閃周期為2秒,同時在液晶顯示器上顯示相應(yīng)的警報信息;程序按ctrlc推出后聲不響光不閃。根據(jù)設(shè)計任務(wù)和要求,在設(shè)計前必須對微機原理與接口技術(shù)中的8255和8253芯片熟悉了解和掌握。設(shè)計中主要要完成的是發(fā)聲報警和發(fā)光報警這兩個部分功能,故在程序設(shè)計中只要設(shè)計觸動鍵盤重的數(shù)字鍵即8個led不停光閃,同時內(nèi)揚聲器發(fā)出警報聲,且在屏幕上顯示警報信息。在設(shè)計發(fā)聲

4、報警時利用了8253可編程定時定時記數(shù)器。在設(shè)計發(fā)光報警時利用了8255芯片。在程序設(shè)計中利用int 10h實現(xiàn)在屏幕上顯示相關(guān)的警報信息。二、設(shè)計思想在設(shè)計發(fā)聲報警時利用了8253可編程定時定時記數(shù)器。在設(shè)計發(fā)光報警時利用了8255芯片,在一個時間間隔里小燈循環(huán)閃動代表正在報警。 三教學(xué)實驗系統(tǒng)連線 5vgate2clk2 8253 out2 系 gate2 spk spk unit統(tǒng) opclk總 1.1625mhz線四、所用芯片工作原理8255是可編程io口擴展芯片。對8255輸入不同的指令可改變io口的工作方式。8255與單片機系統(tǒng)連接方式簡單,工作方式由程序設(shè)定,圖2為8255的引腳

5、圖。 8255內(nèi)部有4個寄存器:分別為寄存器a、b、c和控制寄存器。a、b、c寄存器的數(shù)據(jù)就是引腳pa7pa0、pb7pb0、pc7pc0上輸入或輸出的數(shù)據(jù)。而控制寄存器的數(shù)據(jù)則表明pa、pb、pc的工作方式。通過cs、a0、a1、rd和wr對4個寄存器進行操作。 1)cs為低電平時選通8255;2)a1、a0為地址選通;3)rd和wr為讀、寫信號:rd為低、wr為高時為讀方式,rd為高、wr為低時為寫方式。4)d0d7為數(shù)據(jù)口。 向控制寄存器寫入不同的數(shù)據(jù)可以使8255工作在三種不同的方式下。這里只介紹應(yīng)用最多的方式0。方式0下8255的pa、pb及pc口上半部分(pc7pc4)和下半部分(

6、pc3pc0)中任何一個端口都可以設(shè)定為輸入或輸出,pc口還可以進行位操作。控制寄存器各位的含義如圖3所示。slpc24中8255工作在方式0。pa、pb為輸入口、pc為輸出口,對控制寄存器寫入的數(shù)據(jù)為10010010b,即92h。8255引腳功能 reset:復(fù)位輸入線,當該輸入端外于高電平時,所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有i/o口均被置成輸入方式。 cs:片選信號線,當這個輸入引腳為低電平時,表示芯片被選中,允許8255與cpu進行通訊。 rd:讀信號線,當這個輸入引腳為低電平時,允許8255通過數(shù)據(jù)總線向cpu發(fā)送數(shù)據(jù)或狀態(tài)信息,即cpu從8255讀取信息或數(shù)據(jù)。 wr:

7、寫入信號,當這個輸入引腳為低電平時,允許cpu將數(shù)據(jù)或控制字寫8255。 d0d7:三態(tài)雙向數(shù)據(jù)總線,8255與cpu數(shù)據(jù)傳送的通道,當cpu 執(zhí)行輸入輸出指令時,通過它實現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。 pa0pa7:端口a輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個8位的數(shù)據(jù)輸入鎖存器。 pb0pb7:端口b輸入輸出線,一個8位的i/o鎖存器, 一個8位的輸入輸出緩沖器。 pc0pc7:端口c輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個8位的數(shù)據(jù)輸入緩沖器。端口c可以通過工作方式設(shè)定而分成2個4位的端口, 每個4位的端口包含一個4位的鎖存器,分別

8、與端口a和端口b配合使用,可作為控制信號輸出或狀態(tài)信號輸入端口。8253: 8253具有3個獨立的16位計數(shù)器,6種不同的工作方式。1方式0計數(shù)到終點輸出變?yōu)楦唠娖?當將某計數(shù)器設(shè)置成方式0后,其輸出out變低電平,裝入初值后,仍保持低電平。門控為高電平開始計數(shù)。每來一個計數(shù)脈沖clk,計數(shù)器的值減1,當計數(shù)到達終點即計數(shù)器的值變成0時,out變?yōu)楦唠娖?。在計?shù)期間可用門控信號暫停計數(shù)(即門控為低電平時,計數(shù)暫停)。2.方式1可編程單穩(wěn) 所謂單穩(wěn),是指這樣的電路,它有兩種狀態(tài),但只能穩(wěn)定在一種狀態(tài)。在一定的外界作用下,它能從這一種狀態(tài)進入到另一種狀態(tài),但經(jīng)過一定時間后,又自動恢復(fù)到原來的狀態(tài)。

9、 這個時間參數(shù)一般是由外加電阻、電容的值決定的。8253的方式1就是模擬單穩(wěn)電路,其處于非穩(wěn)定狀態(tài)的時間可通過程序進行設(shè)置。 3.方式2分頻脈沖發(fā)生器(分頻器) 方式2用來對輸入脈沖(即計數(shù)脈沖clk)n分頻(n為預(yù)置的初值),在輸出信號周期中低電平的時間為一個clk周期。 設(shè)置此方式后,out變高電平,裝入初值后便自動開始計數(shù),減到1時out變低電平。經(jīng)過一個clk周期,out恢復(fù)高電平,且計數(shù)器又自動裝入初值,重新開始計數(shù)。如此循環(huán)下去。如圖623所示是工作在方式2的示意圖。在上述過程中g(shù)ate應(yīng)一直保持高電平。 若gate變低電平將禁止計數(shù),并使輸出為高電平。在gate再次變高電平時,計

10、數(shù)器將重新裝入預(yù)置的初值,并開始計數(shù)。4方式3方波發(fā)生器 方式3類似于方式2,輸出是周期性的。不同的是方式3輸出方波。如果預(yù)置的初值n為偶數(shù),則輸出周期中高電平和低電平的寬度相等;如果n為奇數(shù),則輸出周期中高電平比低電平多一個clk周期的時間,當n相當大時,也可認為是方波。當然,一般采用方式3時,置初值為偶數(shù)。設(shè)置成方式3后,out變高電平,裝入初值后便自動開始計數(shù)。如初值為偶數(shù),每個clk使計數(shù)器減2,計到終點改變電平。如初值為奇數(shù),則輸出為高電平時第一個clk使計數(shù)器減1,隨后每個clk使計數(shù)器減2;輸出為低電平時第一個clk使計數(shù)器減3,隨后每個clk使計數(shù)器減2。每當計數(shù)到終點都會改變

11、電平,初值又被重新裝入,并開始計數(shù)。如此循環(huán)下去。5方式4軟件觸發(fā)選通 設(shè)置成方式4后,out變高電平,寫入計數(shù)值后自動開始計數(shù)(所以稱之為軟件觸發(fā)),計數(shù)到終點輸出一個clk周期的低電平脈沖。gate變低可暫停計數(shù),用gate的上升沿可重新賦初值,并開始計數(shù)。 6方式5硬件觸發(fā)選通 設(shè)置成該方式后,out變高電平,寫入計數(shù)值后需等待gate上升沿的到來才開始計數(shù)(所以稱之為硬件觸發(fā))。計數(shù)到終點也輸出一個clk周期的低電平脈沖。計數(shù)過程中不受gate電平的影響。此后,用gate的上升沿可重新賦初值,并開始計數(shù)。 計數(shù)寄存器用來寄存計數(shù)初值,計數(shù)工作單元為16位減1計數(shù)器,它的初值便是計數(shù)寄存

12、器內(nèi)容,計數(shù)單元對clk脈沖計數(shù),每出現(xiàn)一個clk脈沖,計數(shù)器減1,當減為零時,通過out輸出指示信號表明計數(shù)單元已為零。當作為定時器工作時,每當計數(shù)單元為零時,計數(shù)寄存器內(nèi)容會自動重新裝入 計數(shù)單元,而且clk輸入是均勻的脈沖序列,于是out輸出頻率是降低了的(相對于clk信號頻率)脈沖序列。 當作為計數(shù)器工作時,表明只關(guān)心在clk端出現(xiàn)(代表事件)的脈沖個數(shù),當clk端出現(xiàn)了規(guī)定個數(shù)的脈沖時,out輸出一個脈沖信號。五實驗連線圖電子報警器所用相關(guān)硬件:1.8253定時計數(shù)器。2.并行接口電路芯片8255。3.揚聲器。硬件連接:(1)定時/計數(shù)器8253a芯片模塊的gate2接5v,提供高電

13、平。(2)定時/計數(shù)器8253a芯片模塊的out2 接揚聲器。(3)定時/計數(shù)器8253a芯片模塊的clk2接入八分之一8mhz的分頻頻率。(4)并行接口電路芯片8255的pa0pa7分別接入led的 d0d7。 5vgate2clk2 8253 out2 系 gate2 spk spk unit統(tǒng) opclk總 1.1625mhz線8253接線圖d0d1d2d3d4d5d6d7sw-led unit pa0 pa1 pa2 pa3 pa4 pa5 pa68255 pa7 8255線路圖六、程序流程圖主程序從鍵盤讀入字符判斷是否在08之間? n 初始化8253 y初始化8255顯示信息關(guān)燈關(guān)聲

14、音返回七、程序源代碼;read from portc;output to porta porta=08h portb=09hportc=0ahportd=0bh code segmentmain proc far assume cs:code begin: mov bl,0 mov ah,0ffh mov dx,portd mov al,81h ;初始化8255 out dx,al lp: mov dx,portc in al,dx and al,0fh cmp al,00h je next cmp al,01hjb lpcmp al,08hja lpmov al,0b6h ;初始化8253o

15、ut 43h,almov ax,0out 42h,almov al,ahout 42h,almov al,bl ;燈閃爍not alout 08h,alcall delayshl bl,1test bl,ahjnz lpmov bl,1jmp lpback: retfnext: mov al,ahout 08h,aljmp lpdelay proc near push cx mov cx,0delay1: or cx,cxor cx,cxloop delay1pop cxretndelay endpmain endpcode endsend begin設(shè)計心得 通過這次的課程設(shè)計,我回憶了好多

16、以前已經(jīng)忘懷的微機原理知識,也重新學(xué)習了相當多的匯編語言知識,真可以用溫故而之心來形容,使我對以前所學(xué)過的知識印象更加深刻,也更加熟練的掌握了8253,8255的功能特性,相關(guān)知識原理等。 實驗中也遇到了相當多的問題,還好在同組同學(xué)的共同努力下,以及在老師的細心,耐心的指導(dǎo)下,才一步一步的解決了問題。真的好好感謝老師的幫助。起初程序并不像我們想象的那樣的顯示出來,紅燈沒有閃爍,只是齊刷刷的亮了,我們一開始摸不著頭緒,后來在程序中找到了原因。因為我們只是讓8255芯片實現(xiàn)了小燈的亮,沒有用程序去解決各個燈延時閃亮的問題。后來我們加入了新的內(nèi)容便成功了。當擺動四個開關(guān)到低電平的時候就停止閃爍,當改變了初始的狀態(tài)時就開始報警,也就是閃爍。而在報警聲音的那部分我們讓另外的一個燈亮著,代表發(fā)聲了。 這次的課程設(shè)計是基于上個學(xué)期對微機原理課程學(xué)習的基礎(chǔ)上的一個提高,通過對8255,8253芯片的編程更好的理解了其內(nèi)在的原理。也是對書面知識的一種鞏固與更新。在這次的設(shè)計中,我們用了一個星期的時間去做相關(guān)知識的搜索,關(guān)于報警器的原理有了整體的認識之

溫馨提示

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

最新文檔

評論

0/150

提交評論