微機(jī)原理課程設(shè)計(jì)
微機(jī)原理課程設(shè)計(jì),微機(jī),原理,課程設(shè)計(jì)
2008級(jí)學(xué)生微機(jī)原理課程設(shè)計(jì) 微機(jī)原理課程設(shè)計(jì)報(bào)告書課題名稱 簡易數(shù)碼鎖設(shè)計(jì)姓 名楊耀國學(xué) 號(hào) 08院、系、部物理與電信工程系專 業(yè)通信工程指導(dǎo)教師譚躍2010年 06 月 28日 一、 設(shè)計(jì)任務(wù)及要求: 指導(dǎo)教師簽名: 年 月 日 二、指導(dǎo)教師評(píng)語:指導(dǎo)教師簽名: 年 月 日 三、成績驗(yàn)收蓋章 年 月 日 簡易數(shù)碼鎖設(shè)計(jì)0812401*08 楊耀國一、設(shè)計(jì)目的 隨著電子技術(shù)的發(fā)展,單片機(jī)因其具有體積小、集程度高、可靠性好、性價(jià)比高等突出優(yōu)點(diǎn)已在工業(yè)控制、智能儀表、數(shù)控?fù)砦础?shù)據(jù)采集處理、通訊及各種智能家電和玩具等方面得到了廣泛應(yīng)用。二、設(shè)計(jì)要求基本功能:設(shè)置初始密碼,隨機(jī)輸入密碼并按確認(rèn)鍵檢驗(yàn),若密碼正確則綠燈亮;若密碼錯(cuò)誤則紅燈亮,峰鳴器峰鳴一瞬間。擴(kuò)展功能:在運(yùn)行過程中隨時(shí)修改密碼,并按相關(guān)鍵確認(rèn),之后再重新隨機(jī)輸入密碼,若密碼正確則綠燈亮,若密碼錯(cuò)誤則紅燈亮,峰鳴器峰鳴一瞬間。三、電路及連線設(shè)計(jì)圖2.1.1 數(shù)碼鎖硬件框圖圖2.1.2 密碼輸入端圖2.1.3 結(jié)果顯示圖2.1.4 四、使用說明本課程設(shè)計(jì)是基于8255單片機(jī)的簡單應(yīng)用,具有設(shè)置初始密碼,隨機(jī)輸入密碼并按確認(rèn)鍵檢驗(yàn),若密碼正確則綠燈亮,若錯(cuò)誤則紅燈亮,并伴隨有短暫的峰鳴聲。在運(yùn)行過程中隨時(shí)修改密碼,并按相關(guān)鍵確認(rèn),之后重新隨機(jī)輸入密碼,并按確認(rèn)鍵檢驗(yàn),若密碼正確則綠燈亮,若錯(cuò)誤則紅燈亮,并伴隨有短暫的峰鳴聲。五、流程圖設(shè)計(jì)比較是是否否是否是任意輸入密碼KK1是否被按下?K6.K7是否都為高電平?KK2是否被按下?輸入新密碼輸入的密碼綠燈亮正確的密碼(初始為000000)兩者是否相同紅燈亮峰鳴否六、程序設(shè)計(jì)如下:porta equ 60hportb equ 61hportc equ 62hctrl equ 63hdata segmentbuff db 64 dup(?)data endscode segment assume ds:data,cs:codestart:mov ax,data mov ds,ax mov dx,ctrl mov al,10011001b out dx,al ;對(duì)8255初始化,A口為輸入,B口為輸出,C口高入低入 mov dx,portb mov al,00h ;使開始時(shí)所有的燈亮 out dx,ala7: mov dx,portc in al,dx ;設(shè)置原始密碼為000000 mov buff,al jmp a3a10: mov dx,portb ;使所有的燈亮 mov al,00h out dx,al mov dx,portc in al,dx test al,11000000b jz a10 ;如果KK2被按下,則修改密碼change:mov dx,porta in al,dx mov buff,al jmp a3 a1: mov dx,portb ;使蜂鳴熄滅 mov al,0ch out dx,ala3: mov dx,portc in al,dx test al,00110000b jz a3a2: mov dx,portc in al,dx test al,11000000b jnz a10 mov dx,porta in al,dx mov bl,buff xor al,bl jz right jnz error ;讀取A口狀態(tài),若與密碼相同則跳至wright,否則跳至error.right:mov dx,portb mov al,0f0h out dx,al jmp a3error:mov dx,portb mov al,0fh out dx,al call delay jmp a1 delay proc near mov cx,0005h;延時(shí)子程序 a5:mov ax,0560h a6:dec ax jnz a6 loop a5 ret endpcode ends end start七、設(shè)計(jì)總結(jié):在本次課程設(shè)計(jì)中,設(shè)計(jì)的結(jié)果基本符合設(shè)計(jì)的要求,唯一一點(diǎn)缺陷就是設(shè)計(jì)的數(shù)碼鎖在密碼輸入錯(cuò)誤的情況下卻仍能修改密碼,這是不符合常理的。雖然最終的結(jié)果不是非常的理想,但還是在這次的設(shè)計(jì)的過程當(dāng)中學(xué)到了很多,對(duì)很多相關(guān)的知識(shí)有了更深一層的理解,對(duì)匯編程序語言也有了更深一步的了解。雖然在調(diào)試過程中也遇到了很多問題,但通過查找相應(yīng)資料,找老師,問同學(xué),很多問題多得以解決。這個(gè)過程中自我獨(dú)立思考能力得到了很好的鍛煉。在對(duì)匯編程序進(jìn)行編譯連接時(shí),經(jīng)常會(huì)出現(xiàn)錯(cuò)誤和警告,對(duì)程序反復(fù)的修改和認(rèn)證,最終得到正確而且可行的程序。在對(duì)程序的反復(fù)的修改過程中,我了解到匯編語言是一個(gè)比較嚴(yán)謹(jǐn)而且較復(fù)雜的一門語言,要學(xué)好匯編語言必須得認(rèn)真學(xué)好每一條語法指令,了解各種寄存器的用法,這樣設(shè)計(jì)出來的程序才不容易出錯(cuò)誤。八、參考文獻(xiàn):1 李燕, 宋芳.多路搶答器設(shè)計(jì)J 湘潭師范學(xué)院學(xué)報(bào)(自然科學(xué)版) , 20042 舒貞權(quán),任偉利微機(jī)計(jì)算機(jī)原理M西安:西安交通大學(xué)出版社,19973 顧元?jiǎng)?韓燕匯編語言與微機(jī)原理教程M北京:電子工業(yè)出版社,20004 周佩玲,傅忠謙微機(jī)原理與接口技術(shù)M北京:電子工業(yè)出版社,20045 唐瑞庭匯編語言與接口技術(shù)M北京:中國水利水電出版社,20037
收藏