基于8086的秒表設(shè)計(jì)與實(shí)現(xiàn)課程設(shè)計(jì)_第1頁(yè)
基于8086的秒表設(shè)計(jì)與實(shí)現(xiàn)課程設(shè)計(jì)_第2頁(yè)
基于8086的秒表設(shè)計(jì)與實(shí)現(xiàn)課程設(shè)計(jì)_第3頁(yè)
基于8086的秒表設(shè)計(jì)與實(shí)現(xiàn)課程設(shè)計(jì)_第4頁(yè)
基于8086的秒表設(shè)計(jì)與實(shí)現(xiàn)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、鄭州科技學(xué)院微型計(jì)算機(jī)原理課程設(shè)計(jì)題 目 基于8086的秒表設(shè)計(jì)與實(shí)現(xiàn)學(xué)生姓名 程昭昭 專業(yè)班級(jí) 計(jì)科一班 學(xué) 號(hào) 201115003 院 (系) 信息工程學(xué)院 指導(dǎo)教師 王清珍 完成時(shí)間 2013 年12月18日 目 錄1 99秒表設(shè)計(jì)背景及目的要求21.1設(shè)計(jì)目的31.2硬件選擇42設(shè)計(jì)方案及基本原理42.1 led顯示原理42.2 系統(tǒng)設(shè)計(jì)42.3硬件工作原理53 設(shè)計(jì)流程64調(diào)試結(jié)果 95 結(jié)果分析96 結(jié)論與體會(huì)107參考文獻(xiàn)11附錄1:電路圖11附錄2:源程序121 99秒秒表設(shè)計(jì)背景及目的要求 1.1 設(shè)計(jì)目的 隨著芯片應(yīng)用的日益廣泛,在校學(xué)生加強(qiáng)對(duì)單片機(jī)的認(rèn)識(shí)和動(dòng)手能力,已經(jīng)是

2、非常重要的一項(xiàng)鍛煉。課程設(shè)計(jì)就是為加強(qiáng)實(shí)踐機(jī)會(huì)、培養(yǎng)學(xué)生動(dòng)手能力的一個(gè)重要環(huán)節(jié),將理論知識(shí)與實(shí)際聯(lián)系起來(lái)的一個(gè)關(guān)鍵機(jī)會(huì)。本課程設(shè)計(jì)的基本要求是:1. 掌握l(shuí)ed數(shù)碼管原理及使用方法2. 初步掌握8086芯片匯編語(yǔ)言一般編程技巧。1.2硬件選擇裝有windows系統(tǒng)和nsp ide仿真環(huán)境的pc機(jī)一臺(tái),nsp 十六位單片機(jī)實(shí)驗(yàn)箱一個(gè)。本設(shè)計(jì)用到的實(shí)驗(yàn)箱硬件模塊為:spce061a核心及周邊電路模塊(包含32個(gè)i/o口),led數(shù)碼管。做此實(shí)驗(yàn)用51板也可以,因?yàn)?1板也提供了相應(yīng)的led模組,因?yàn)閷?shí)驗(yàn)室里面給我們提供了61板,所以我決定選用spce061a單片機(jī)實(shí)驗(yàn)箱。 本裝置將實(shí)現(xiàn)0-99的計(jì)

3、數(shù),每一秒鐘,計(jì)數(shù)器將加1,在數(shù)碼管上顯示當(dāng)前計(jì)數(shù)值,并可用鍵盤按制計(jì)數(shù)的起始,以及歸零。具體要求如下:1. 開機(jī)時(shí)數(shù)碼管顯示00。2. 每一秒鐘,計(jì)數(shù)器自動(dòng)加1。3. 按鍵控制計(jì)數(shù),分別控制開始計(jì)時(shí)、停止計(jì)時(shí)和歸零,功能分配如下:表1-1按鍵功能分配按鍵功能描述key1開始計(jì)時(shí)key2停止計(jì)時(shí)key3歸零2 設(shè)計(jì)方案及基本原理2.1 led顯示原理 靜態(tài)顯示就是顯示驅(qū)動(dòng)電路具有輸出鎖存功能,單片機(jī)將所要顯示的數(shù)據(jù)送出后就不再管,直到下一次顯示數(shù)據(jù)需要更新時(shí)再傳送一次新數(shù)據(jù),顯示數(shù)據(jù)穩(wěn)定,占用很少的cpu時(shí)間。 動(dòng)態(tài)顯示需要cpu時(shí)刻對(duì)顯示器件進(jìn)行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的cpu時(shí)間多

4、。這兩種顯示方式各有利弊;靜態(tài)顯示雖然數(shù)據(jù)穩(wěn)定,占用很少的cpu時(shí)間,但每個(gè)顯示單元都需要單獨(dú)的顯示驅(qū)動(dòng)電路,使用的硬件較多;動(dòng)態(tài)顯示雖然有閃爍感,占用的cpu時(shí)間多,但使用的硬件少,能節(jié)省線路板空間。 基本的半導(dǎo)體數(shù)碼管是由七個(gè)條狀發(fā)光二極管芯片排列而成的,可實(shí)現(xiàn)09的顯示。led數(shù)碼管是由發(fā)光二級(jí)管顯示字段組成的顯示器,有8段和“米”字段之分,這種顯示器有共陽(yáng)級(jí)和共陰極兩種。所謂共陽(yáng)方式是指筆畫顯示器各段發(fā)光管的陽(yáng)極(即p區(qū))是公共的,而陰極互相隔離。所謂共陰方式是筆畫顯示器各段發(fā)光管的陰極(即n區(qū))是公共的,而陽(yáng)極是互相隔離的。2.2 系統(tǒng)設(shè)計(jì) 根據(jù)設(shè)計(jì)題目的要求分析,并考慮到題目的可擴(kuò)

5、展性,可將系統(tǒng)分成兩大部分: 1. 時(shí)間的產(chǎn)生和顯示。 2. 按鍵控制計(jì)數(shù)起始、歸零。 根據(jù)系統(tǒng)的功能現(xiàn)選擇61板作為單片機(jī)控制處理部分,利用一2位led作為顯示部分,而按鍵采用61板上自帶的三個(gè)按鍵,如圖2-1所示。 iob spce061a精簡(jiǎn)開發(fā)版 key1 key2 key3 秒 圖2-1 系統(tǒng)框圖2.3硬件工作原理 兩位數(shù)的顯示采用的是一個(gè)2位共陽(yáng)極led 數(shù)碼管(lg5621ah),連接方法是spce061a的iob0-iob6接led焊接板的a-g,小數(shù)顯示部分可以省略不要;iob8-iob9分別接led的位選com1、com2,電路原理圖如圖2-4。led與spce061a的引

6、腳連接如表2-1。采用凌陽(yáng)大學(xué)計(jì)劃的led鍵盤模組和61板搭配可以很容易的完成這個(gè)課程設(shè)計(jì)的題目。它的連結(jié)圖如圖所示,iob的低八位控制數(shù)碼管顯示段位,高八位控制點(diǎn)亮哪一個(gè)數(shù)碼管。 表2-1 led引腳連接表spce061aled模塊spce061aled模塊iob8aiob0com1iob9biob1com2iob10ciob11diob12eiob13fiob14g。 圖2-2 led鍵盤模組和61板連接圖3 設(shè)計(jì)流程 根據(jù)設(shè)計(jì)要求的功能,程序主要分為三部分,即: (1)計(jì)時(shí)顯示部分; (2)秒計(jì)時(shí)部分; (3)按鍵控制部分。 (4)程序主流程主要完成鍵盤掃描、計(jì)時(shí)處理、鍵值分支控制的任務(wù)

7、,流程圖如圖所示: 開始初始化數(shù)據(jù)、以及中斷、鍵盤等掃描鍵盤,針對(duì)鍵值分支 key1 開始計(jì)時(shí) key2 停止計(jì)時(shí) key3 清零計(jì)時(shí)數(shù)據(jù)處理,格式 化顯示 清看門狗 圖3-1 主程序流程圖 顯示部分是在irq4的1khz中斷中控制顯示的,采用動(dòng)態(tài)掃描的方式,1khz的時(shí)基中斷每1ms進(jìn)一次中斷,在中斷中對(duì)2ms計(jì)數(shù)器i進(jìn)行累加,當(dāng)i從0累加到2時(shí),則剛好為2ms,此時(shí)更新一個(gè)位的led顯示,并對(duì)i進(jìn)行清零;當(dāng)下一次累計(jì)到2ms時(shí),則會(huì)再更新顯示下一位led數(shù)碼管,當(dāng)更新到最后一位時(shí),返回重第一位開始更新;依此循環(huán)更新顯示,而更新顯示的數(shù)據(jù)保存在緩沖區(qū)當(dāng)中,用戶需要更新顯示的數(shù)據(jù)時(shí),只需要改變

8、對(duì)應(yīng)的緩沖區(qū)中的數(shù)據(jù)即可。具體流程圖如下。 irq5 是否是2hz中斷計(jì)時(shí)器自加一 清中斷標(biāo)志計(jì)時(shí)器=200 計(jì)時(shí)器清零 結(jié)束 irq4 1khz 2ms計(jì)數(shù)器 i+ i=2 更新顯示一位 led 結(jié)束 秒計(jì)時(shí)采用irq5的2hz時(shí)基中斷進(jìn)行計(jì)時(shí),流程圖如圖3-3所示。鍵盤輸入利用61板自帶的三個(gè)按鍵,輸入的端口為ioa0ioa2。 圖3-2 irq4 1khz時(shí)基中斷流程 圖3-3irq5 2hz時(shí)基中斷流程圖 4調(diào)試結(jié)果 4-15.1 調(diào)試結(jié)果 本裝置將實(shí)現(xiàn)0-99的計(jì)數(shù),每一秒鐘,計(jì)數(shù)器將加1,在數(shù)碼管上顯示當(dāng)前計(jì)數(shù)值,并可用鍵盤按制計(jì)數(shù)的起始,以及歸零。具體要求如下:1. 開機(jī)時(shí)數(shù)碼管

9、顯示00。2. 每一秒鐘,計(jì)數(shù)器自動(dòng)加1。3. 按鍵控制計(jì)數(shù),分別控制開始計(jì)時(shí)、停止計(jì)時(shí)和歸零,功能分配如下: 按key1開始計(jì)時(shí)數(shù)碼管顯示從00開始計(jì)時(shí)到99結(jié)束再?gòu)?0開始循環(huán); 按key2 停止計(jì)時(shí)數(shù)碼管顯示當(dāng)前數(shù)值; 按key3歸零;按key4復(fù)位.5.2結(jié)果分析 本設(shè)計(jì)應(yīng)該熟悉凌陽(yáng)十六位單片機(jī)系統(tǒng)板61板的基本構(gòu)成, 掌握 led數(shù)碼管原理及使用方法,掌握61板的使用方法,初步掌握 spce061a單片機(jī)匯編語(yǔ)言一般編程技巧,初步掌握61板系統(tǒng)調(diào)試的一般步驟及方法。設(shè)計(jì)結(jié)構(gòu)現(xiàn)實(shí):開機(jī)時(shí)數(shù)碼管顯示為00,每一秒鐘計(jì)數(shù)器自動(dòng)加一,按key1鍵開始計(jì)時(shí),按key2鍵停止計(jì)時(shí)并現(xiàn)實(shí)當(dāng)前數(shù)值,

10、按key3鍵歸零。6 結(jié)論與體會(huì)兩周的單片機(jī)課程設(shè)計(jì)結(jié)束了,最初的目的是想學(xué)到一些對(duì)將來(lái)就業(yè)很有實(shí)質(zhì)性幫助的東西。結(jié)果還算可以接受,雖然說(shuō)與預(yù)期的有不少出入,但鍛煉自己這個(gè)主要目標(biāo)算是達(dá)成了。通過(guò)這次課程設(shè)計(jì),我對(duì)如何完成一項(xiàng)實(shí)際的計(jì)劃有了進(jìn)一步的認(rèn)識(shí),對(duì)如何加強(qiáng)自己的合作能力有了更進(jìn)一步的思考。通過(guò)這次課程設(shè)計(jì),我想下學(xué)期的畢業(yè)設(shè)計(jì)會(huì)少點(diǎn)困難,以后在工作中也能夠有更多的經(jīng)驗(yàn)好借鑒。在這段日子里,我實(shí)踐、思考、反思、總結(jié),所得收獲都已經(jīng)成為大學(xué)生涯中的寶貴財(cái)富?;蛟S大學(xué)生活中的片斷隨著歲月的流逝難免被遺忘,但是這段課程設(shè)計(jì)的日子相信仍會(huì)是記憶深刻,它作為我們走向社會(huì)的第一步,承載了即將面對(duì)現(xiàn)實(shí)

11、和挑戰(zhàn)的心情,必將難忘。在此,感謝趙老師的細(xì)心輔導(dǎo),有了這次的實(shí)踐經(jīng)驗(yàn),為畢業(yè)設(shè)計(jì)奠定基礎(chǔ)。7參考文獻(xiàn)1 楊季文.匯編語(yǔ)言程序設(shè)計(jì)教程清華大學(xué)出版社,2008,3.2 康華光.數(shù)字電子技術(shù)基礎(chǔ),北京:高等教育出版社,2008,1.3 張榮祥.微型計(jì)算機(jī)原理,北京:中國(guó)電力出版社.4 黃正瑾.綜合電子設(shè)計(jì)與實(shí)踐m. 東南大學(xué)出版社,2002,3. 5 馬力.8086匯編語(yǔ)言程序設(shè)計(jì),機(jī)械工業(yè)出版社,2006,9.6 顧永杰.電工電子技術(shù)實(shí)訓(xùn)教程.上海:上海交通大學(xué)出版社,1999.7 楊志堅(jiān). intel8086/8088系列微型計(jì)算機(jī)原理及接口技術(shù)m.,北京:中國(guó)電力出版社,2007年4月第三

12、次印刷.附錄1:電路圖 7-1附錄2:源程序ctrl_port equ 0106ha_port equ 0100hb_port equ 0102hc_port equ 0104hcount equ 0206hcount0 equ 0200hcount1 equ 0202hintr equ 0304hintr1 equ 0306hdcount equ 6data segment ledtab db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h buf db 0,0,0,0,0,0 buff db 20 dup(?)

13、 dat1 db 0 dat2 db 0 dat3 db 1 dat4 db 0data endscodesegment assume cs:code,ds:datastart: cli push ds mov si,2*4 mov ax,0 mov ds,ax mov si,offset intb mov 2si, seg intb pop ds mov al,00010011b mov dx,intr out dx,al mov al,00000010b mov dx,intr1 out dx,al mov al,00000001b mov dx,intr1 out dx,al sti m

14、ov ax,data mov ds,ax mov al,00110111b ;8253初始化 mov dx,count out dx,al mov dx,count0 mov ax,500h out dx,al mov al,ah out dx,al mov al,01110111b mov dx,count out dx,al mov dx,count1 mov ax,50h out dx,al mov al,ah out dx,al mov al,10000001b ;8255初始化, mov dx,ctrl_port out dx,al back: mov dx,c_port in al

15、,dx test al,00000010b jz b2 ;判斷是否清0 again: mov dx,c_port in al,dx test al,00000001b jz b1 ;判斷是暫停還是繼續(xù)? mov cx,6 jia6: inc si loop jia6 mov al,00000000b mov dx,c_port out dx,al mov al,dat1 ;dta1中是秒 cmp al,100 jz a1 mov bl,10 div bl mov buf,ah ;秒的個(gè)位 mov buf+1,al ;秒的十位 call display_dec inc dat1 jmp back

16、 a1: mov dat1,0 ;滿60秒,對(duì)dat1清0 mov al,0 mov ah,0 mov buf,ah mov buf+1,al call display_dec ;先顯示00,再進(jìn)位 inc dat2 mov al,dat2 ;dat2中是分 cmp al,60 jz a2 mov bl,10 div bl mov buf+2,ah ;分的個(gè)位 mov buf+3,al ;分的十位 call display_dec mov cx,60 loop again a2: mov dat2,0 ;滿60分對(duì)dat2清0 mov al,0 mov ah,0 mov buf+2,ah mo

17、v buf+3,al call display_dec ;先顯示00:00再進(jìn)位 mov al,dat3 ;dat3中是時(shí) cmp al,24 jz a3 mov bl,10 div bl mov buf+4,ah ;時(shí)的個(gè)位 mov buf+5,al ;時(shí)的十位 call display_dec mov cx,60 dec cx jz back a3: inc dat3 jmp back b1: call display_dec mov al,01110000b ;對(duì)8253送gate1控制信號(hào) mov dx,c_port out dx,al call cunchu call delay j

18、mp back b2: mov dx,c_port in al,dx test al,00000100b jnz li call xianshicj call display_dec mov cx,1 jz next2 mov si,6 dec cx next2: call delay jmp back li: mov buf,0 ;清0 mov buf+1,0 mov buf+2,0 mov buf+3,0 mov buf+4,0 mov buf+5,0 mov dat2,0 mov dat3,1 call display_dec ; mov bx,1000 ;jz back mov al,

19、10110000b ;對(duì)8253送gate0控制信號(hào) mov dx,c_port out dx,al call delay ;dec bx jmp backdisplay_dec proc da: mov di,2dispagain1: mov bl,buf mov bh,0 lea si,ledtab ;以十進(jìn)制顯示 mov al,bxsi ;取個(gè)位段碼 not al ;共陽(yáng) mov dx,a_port out dx,al ;用數(shù)碼管顯示個(gè)位 mov al,11100000b ;位選,1點(diǎn)亮 mov ah,0 mov dx,b_port out dx,al call delay mov al

20、,0h ;清屏 mov dx,b_port out dx,al call delay1 call delay1 lea si,ledtab mov bl,buf+1 mov bh,0 mov al,bxsi ;取十位段碼 not al mov dx,a_port out dx,al ;用數(shù)碼管顯示十位 mov al,11010000b mov dx,b_port out dx,al call delay mov al,0h mov dx,b_port out dx,al call delay1 lea si,ledtab mov bl,buf+2 mov bh,0 mov al,bxsi ;取

21、分個(gè)位段碼 not al mov dx,a_port out dx,al ;用數(shù)碼管顯示分個(gè)位 mov al,11001000b mov dx,b_port out dx,al call delay mov al,0h mov dx,b_port out dx,al call delay1 call delay1 lea si,ledtab mov bl,buf+3 mov bh,0 mov al,bxsi ;取分十位段碼 not al mov dx,a_port out dx,al ;用數(shù)碼管顯示分十位 mov al,11000100b mov dx,b_port out dx,al cal

22、l delay mov al,0h mov dx,b_port out dx,al call delay1 lea si,ledtab mov bl,buf+4 mov bh,0 mov al,bxsi ;取時(shí)個(gè)位段碼 not al mov dx,a_port out dx,al ;用數(shù)碼管顯示時(shí)個(gè)位 mov al,11000010b mov dx,b_port out dx,al call delay mov al,0h mov dx,b_port out dx,al call delay1 call delay1 lea si,ledtab mov bl,buf+5 mov bh,0 mov al,bxsi ;取時(shí)十位段碼 not al mov dx,a_port out dx,al ;用數(shù)碼管顯示時(shí)十位 mov al,11000001b mov dx,b_port out dx,al call delay mov al,0h mov dx,b_po

溫馨提示

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

評(píng)論

0/150

提交評(píng)論