欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      微機(jī)原理課程設(shè)計(jì)(電子時(shí)鐘)5篇

      時(shí)間:2019-05-13 22:54:32下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《微機(jī)原理課程設(shè)計(jì)(電子時(shí)鐘)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《微機(jī)原理課程設(shè)計(jì)(電子時(shí)鐘)》。

      第一篇:微機(jī)原理課程設(shè)計(jì)(電子時(shí)鐘)

      電子時(shí)鐘課程設(shè)計(jì)

      一:設(shè)計(jì)背景

      電子數(shù)字鐘的應(yīng)用十分廣泛,通過計(jì)時(shí)精度很高的石英晶振(也可采用衛(wèi)星傳遞的時(shí)鐘標(biāo)準(zhǔn)信號(hào)),采用相應(yīng)進(jìn)制的計(jì)數(shù)器,轉(zhuǎn)化為二進(jìn)制數(shù),經(jīng)過譯碼和顯示電路準(zhǔn)確地將時(shí)間“時(shí)”“分”“秒”用數(shù)字的方式顯示出來。與傳統(tǒng)的機(jī)械鐘相比,它具有走時(shí)準(zhǔn)確,顯示直觀,無機(jī)械傳動(dòng),無需人的經(jīng)常調(diào)整等優(yōu)點(diǎn)。它廣泛用于電子表、車站、碼頭、廣場(chǎng)等公共場(chǎng)所的大型遠(yuǎn)距離時(shí)間顯示電子鐘。

      二:數(shù)字鐘電路設(shè)計(jì)思路

      1.選用8253計(jì)數(shù)器2進(jìn)行1s的定時(shí),其輸出OUT1與8259的IRQ0相連,當(dāng)定時(shí)到1s時(shí)產(chǎn)生一個(gè)中斷服務(wù)程序進(jìn)行時(shí)、分、秒的計(jì)數(shù),并送入相應(yīng)的存儲(chǔ)單元;8255的A口接七段數(shù)碼管的位選信號(hào),B口接數(shù)碼管的段選信號(hào)。時(shí)、分、秒的數(shù)值通過對(duì)8255的編程可送到七段數(shù)碼管上顯示。2.此程序主要由四部分組成:

      第一部分為最主要的部分定義顯示界面;

      第二部分為利用延時(shí)程序,并將調(diào)用的二進(jìn)制表示的時(shí)間數(shù)轉(zhuǎn)換成ASCII碼,并將時(shí)間數(shù)存入內(nèi)存區(qū);

      第三部分將存在系統(tǒng)內(nèi)存區(qū)的時(shí)間數(shù)用七段數(shù)碼管顯示出來; 第四部分利用循環(huán)程序分別對(duì)秒個(gè)位、秒十位、分個(gè)位、分十位與相應(yīng)的規(guī)定值進(jìn)行比較,結(jié)合延時(shí)程序來實(shí)現(xiàn)電子鐘數(shù)字的跳變,從而形成走時(shí)準(zhǔn)確的電子鐘。

      該程序?qū)崿F(xiàn)了準(zhǔn)確顯示秒和分,讀數(shù)準(zhǔn)確,走時(shí)精準(zhǔn)。此電子鐘能準(zhǔn)確的從0時(shí)0分0秒走時(shí)到23時(shí)59分59秒,然后能自動(dòng)回復(fù)到0時(shí)0分0秒循環(huán)走時(shí)。

      3.基本工作原理:系統(tǒng)設(shè)計(jì)的電子時(shí)鐘主要由顯示模塊、時(shí)鐘控制模塊和時(shí)鐘運(yùn)算模塊三大部分組成。以8086微處理器作CPU,用8253做定時(shí)器產(chǎn)生時(shí)鐘頻率提供一個(gè)頻率為10kHz的時(shí)鐘信號(hào),要求每隔10ms完成一次掃描鍵盤的工作。在寫入控制字與計(jì)數(shù)初值后,每到10ms定時(shí)器就啟動(dòng)工作,即當(dāng)計(jì)數(shù)器減到1時(shí),輸出端OUT0輸出一個(gè)CLK周期的低電平,向CPU申請(qǐng)中斷,當(dāng)達(dá)到100次時(shí),則輸出端OUT1輸出1s,向CPU申請(qǐng)中斷,由8255控制一個(gè)數(shù)碼管顯示,當(dāng)計(jì)數(shù)到60s時(shí),則輸出端OUT2向CPU申請(qǐng)中斷,由另一數(shù)碼管顯示1min,同理由數(shù)碼管顯示1h.CPU處理,使數(shù)碼管的顯示發(fā)生變化。

      電子時(shí)鐘的顯示格式HH:MM:SS由左到右分別為時(shí)、分、秒,并依次對(duì)秒、分、小時(shí)寄存器的內(nèi)容加一,六個(gè)數(shù)碼管動(dòng)態(tài)顯示時(shí)、分、秒的當(dāng)前值。最大記時(shí)23:59:59超過這個(gè)時(shí)間時(shí)分秒位都清零從00:00:00重新開始。8253芯片介紹

      8253是NMOS工藝制成的可編程計(jì)數(shù)器/定時(shí)器,有幾種芯片型號(hào),外形引腳及功能都是兼容的,只是工作的最高計(jì)數(shù)速率有所差異,例如8253(2.6MHz),8253-5(5MHz)8253內(nèi)部有三個(gè)計(jì)數(shù)器,分別成為計(jì)數(shù)器0、計(jì)數(shù)器1和計(jì)數(shù)器2,他們的機(jī)構(gòu)完全相同。每個(gè)計(jì)數(shù)器的輸入和輸出都決定于設(shè)置在控制寄存器中的控制 字,互相之間工作完全獨(dú)立。每個(gè)計(jì)數(shù)器通過三個(gè)引腳和外部聯(lián)系,一個(gè)為時(shí)鐘輸入端CLK,一個(gè)為門控信號(hào)輸入端GATE,另一個(gè)為輸出端OUT。每個(gè)計(jì)數(shù) 器內(nèi)部有一個(gè)8位的控制寄存器,還有一個(gè)16位的計(jì)數(shù)初值寄存器CR、一個(gè)計(jì)數(shù)執(zhí)行部件CE和一個(gè)輸出鎖存器OL。

      8255芯片介紹 8255特性:

      ①一個(gè)并行輸入/輸出的LSI芯片,多功能的I/O器件,可作為CPU總線與外圍的接口.②具有24個(gè)可編程設(shè)置的I/O口,即使3組8位的I/O口為PA口,PB口和PC口.它們又可分為兩組12位的I/O口,A組包括A口及C口(高4位,PC4~PC7),B組包括B口及C口(低4位,PC0~PC3).A組可設(shè)置為基本的I/O口,閃控(STROBE)的I/O閃控式,雙向I /O3種模式;B組只能設(shè)置為基本I/O或閃控式I/O兩種模

      8255芯片

      8253芯片

      式,而這些操作模式完全由控制寄存器的控制字決定.8255引腳功能:

      RESET:復(fù)位輸入線 , CS:芯片選擇信號(hào)線 , RD:讀信號(hào)線 , WR:寫入信號(hào) , D0~D7:三態(tài)雙向數(shù)據(jù)總線 ,PA0~PA7:端口A輸入輸出線 ,PB0~PB7:端口B輸入輸出線, PC0~PC7:端口C輸入輸出線, A0,A1:地址選擇線 三:程序流程圖

      三、電

      四:程序代碼

      D8279 equ 200H C8279 equ 202H C8253 equ 20bH D82530 equ 208H D82531 equ 209H C82590 equ 210H

      C82591 equ 211H data segment HOUR

      db 00 MINUTE

      db 00 SECOND

      db 008 STAT

      db 00 LED

      db 31H,06H,5bH,4fH,66H,6dH,7dH,27H,7fH,6fH,00H,00H DISBUF db 8 dup(0)data ends stack segment stack

      dw 100 dup(?)stack ends code segment

      assume cs:code,ds:data START:

      MOV AX,DATA

      MOV DS,AX

      CLI

      MOV AL,13H

      MOV DX,C82590

      OUT DX,AL

      MOV AL,8

      MOV DX,C82591

      OUT DX,AL

      MOV AL,1

      OUT DX,AL

      MOV AX,0

      MOV ES,AX

      LEA AX,INT0

      MOV AX,CS

      MOV ES:[4*8+2],AX

      MOV DX,C8253

      MOV AL,36H

      OUT DX,AL

      MOV DX,D82530

      MOV AX,10000

      OUT DX,AL

      MOV AL,AH

      OUT DX,AL

      MOV DX,C8253

      MOV AL,36H

      OUT DX,AL

      MOV DX,D82531

      MOV AX,100

      OUT DX,AL

      MOV AL,AH

      OUT DX,AL

      MOV DX,C8279

      MOV AL,00H

      OUT DX,AL

      MOV AL,34H

      OUT DX,AL

      MOV AL,0D2H

      OUT DX,AL

      MOV STAT,0

      MOV DX,C82591

      MOV AL,0FEH

      OUT DX,AL

      WAIT1:

      MOV DX,C8279

      IN AL,DX

      MOV AH,AL

      AND AL,80H

      JNE WAIT1

      MOV AL,AH

      AND AL,0FH

      CMP AL,00H

      JE WAIT1

      MOV AL,40H

      OUT DX,AL CHK: MOV DX,D8279

      IN AL,DX

      CMP AL,33H

      JNE BBB

      MOV DX,C82591

      MOV AL,0FFH

      OUT DX,AL

      MOV AL,STAT

      INC AL

      MOV STAT,AL

      CMP AL,1

      JNZ AA1

      MOV SI,OFFSET DISPBUF

      MOV CX,4

      MOV AL,00 BB0: MOV [SI],AL

      INC SI

      LOOP BB0

      CALL DISP

      JMP CHK AA1: CMP AL,2

      JNZ AA2

      MOV SI,OFFSET DISPBUF

      MOV AL,00

      MOV [SI],AL

      INC SI

      MOV [SI],AL

      ADD SI,2

      MOV [SI],AL

      INC SI

      MOV [SI],AL

      CALL DISP

      JMP CHK AA2: CMP AL,3

      JNZ AA3

      MOV SI,OFFSET DISPBUF+2

      MOV CX,4

      MOV AL,00 BB1: MOV [SI],AL

      INC SI

      LOOP BB1

      CALL DISP

      JMP CHK AA3: MOV STAT,00

      MOV AL,0FEH

      MOV DX,C82591

      OUT DX,AL

      CALL FULLSFM

      CALL DISP

      JMP CHK BBB: CMP AL,3BH

      JE BBB0

      JMP CCC BB0: MOV AL,STAT

      CMP AL,1

      JNZ BBB1

      MOV AL,HOUR

      ADD AL,1

      DAA

      MOV HOUR,AL

      CALL FULLSH1

      CALL DISP

      JMP BBB BBB1: MOV AL,STAT

      CMP AL,2

      JNZ BBB3

      MOV AL,MINUTE

      ADD AL,1

      DAA

      MOV MINUTE,AL

      CALL FULLFEN

      CALL DISP

      JMP BBB BBB3:

      MOV AL,STAT

      CMP AL,3

      JZ

      BBB4

      JMP

      DDD BBB4:

      MOV AL,SECOND

      ADD AL,1

      DAA

      MOV SECOND,AL

      CALL FULLMIAO

      CALL DISP

      JMP BBB

      CCC:

      CMP AL,3AH

      JE CC0

      JMP DDD CC0:

      MOV AL,STAT

      CMP AL,1

      JNZ CCC1

      MOV AL,HOUR

      SUB AL,1

      DAS

      MOV AL,HOUR

      SUB AL,1

      ADD AL,1

      DAA

      MOV SECOND,AL

      CMP AL,60H

      JNZ FANHUI

      MOV SECOND,0

      MOV AL,MINUTE

      ADD AL,1

      DAA

      MOV MINUTE,AL

      CMP AL,60H

      JNZ FANHUI

      MOV MINUTE,0

      MOV AL,HOUR

      ADD AL,1

      DAA

      MOV HOUR,AL

      CMP AL,24H

      JNZ FANHUI

      MOV HOUR,0

      CALL FULLSFM

      CALL DISP

      POP SI

      POP DI

      POP BX

      POP AX

      IRET FULL

      SFM PROC NEAR

      LEA DI,DISBUF

      LEA BX,LED

      LEA SI,SECOND

      MOV CX,3 AA4:

      MOV AL,[SI]

      AND AL,0FH

      XLAT

      MOV [DI],AL

      INC DI

      MOV AL,[SI]

      PUSH CX

      MOV CL,4

      SHR AL,CL

      AND AL,0FH

      XLAT

      MOV [DI],AL

      INC DI

      POP CX

      INC SI

      LOOP AA4

      RET FULL

      SFM ENDP FULL

      SHI PROC NEAR

      LEA SI,DISBUF

      MOV AL,0

      MOV CX,4 CCC0:

      MOV [SI],AL

      INC SI

      LOOP CCC0

      LEA BX,LED

      MOV AL,HOUR

      AND AL,0FH

      XLAT

      MOV [SI],AL

      XLAT

      MOV [SI],AL

      MOV AL,HOUR

      MOV CL,4

      SHR

      AL,CL

      AND AL,0FH

      XLAT

      INC

      SI

      MOV

      [SI],AL

      RET FULL

      SHI ENDP FULL

      FEN PROC NEAR

      LEA SI,DISBUF

      MOV AL,0

      MOV [SI],AL

      INC SI

      MOV [SI],AL

      INC SI

      LEA BX,LED

      MOV

      AL,MINUTE

      AND AL,0FH

      XLAT

      MOV

      [SI],AL

      MOV AL,MINUTE

      MOV

      CL,4

      SHR AL,CL

      AND AL,0FH

      XLAT

      INC SI

      MOV

      [SI],AL

      RET FULL

      FEN ENDP FULL

      MIAO PROC NEAR

      LEA SI,DISBUF

      LEA BX,LED

      MOV AL,SECOND

      AND AL,0FH

      XLAT

      MOV [SI],AL

      MOV AL,SECOND

      MOV CL,4

      SHR AL,CL

      AND AL,0FH

      XLAT

      INC SI

      MOV [SI],AL

      MOV AL,0

      INC SI

      MOV [SI],AL

      INC SI

      MOV [SI],AL

      INC SI

      MOV [SI],AL

      INC SI

      MOV [SI],AL

      RET FULL MIAO ENDP DISP

      PROC NEAR

      MOV CX,8

      MOV DX,D8279

      LEA SI,DISBUF DISI

      MOV AL,[SI]

      OUT DX,AL

      INC SI

      LOOP DISI

      RET CODE ENDS

      END START

      第二篇:微機(jī)原理課程設(shè)計(jì)電子鬧鐘

      電子鐘設(shè)計(jì)

      1任務(wù)要求

      1.1顯示位置:屏幕中央.1.2日期顯示格式“時(shí):分:秒.1.312/24時(shí)制可調(diào).1.4在顯示屏上顯示提示語(yǔ)“CURRENT TIME IS:”和當(dāng)前時(shí)間.2工作原理

      1時(shí)鐘起始時(shí)間的設(shè)置

      先調(diào)用DOS操作系統(tǒng)模塊9,在顯示屏上顯示提示語(yǔ)“TIME SYSTEM IS:”,輸入時(shí)制12或24后,顯示“CURRENT TIME IS:”,再調(diào)用DOS操作系統(tǒng)模塊10,提示要輸入時(shí)鐘的起始時(shí)間,輸入時(shí)間的格式是“時(shí):分:秒”。輸入的時(shí)間以字符串形式存放在已定義的存儲(chǔ)器緩存區(qū)內(nèi),繼而調(diào)用TRAN1轉(zhuǎn)換子程序和MUL10乘10子程序,將存放在存儲(chǔ)器緩存區(qū)內(nèi)的ASCII字符轉(zhuǎn)換為壓縮BCD碼,并將時(shí)、分、秒的值放在寄存器CH、DH、DL中。

      2延時(shí)程序

      調(diào)用延時(shí)TIME延時(shí)中斷服務(wù)程序,累加到存放秒值的寄存器DL中,并進(jìn)行十進(jìn)制調(diào)整。在累加的過程中,不斷地對(duì)時(shí)、分、秒值進(jìn)行比較,秒不能等于60,分不能等于60,時(shí)不能等于24。秒等于限制值時(shí),則使秒值為0分值加1;分等于限制值時(shí),則使分值為0時(shí)值加1;時(shí)等于限制值時(shí),則使時(shí)值為0;時(shí)、分、秒值都不超過限制值時(shí),就轉(zhuǎn)顯示屏輸出。

      3時(shí)間顯示

      調(diào)用DOS操作系統(tǒng)模塊9,可用來顯示存儲(chǔ)器內(nèi)字符串。由于顯示的字符必須為ASCII碼,因?yàn)橐{(diào)用TRAN2轉(zhuǎn)換子程序?qū)⒓拇嫫鰿H、DH、DL內(nèi)壓縮BCD碼字符串轉(zhuǎn)換成ASCII字符串,字符串最后以字符“$”結(jié)束,并按時(shí)、分、秒的順序送存儲(chǔ)器緩沖區(qū)內(nèi)。調(diào)用DOS操作系統(tǒng)模塊9,(DS:DX)應(yīng)指向字符串首址。程序一旦進(jìn)入運(yùn)行,就將不間斷地在顯示屏顯示時(shí)間,要想程序停止運(yùn)行,可同時(shí)在鍵盤按下CTRL和BREAK二鍵。

      4程序堆圖 5程序清單

      DATA SEGMENT BUFFER DB 10;設(shè)置輸入字符串用緩沖區(qū) DB ? DB 10 DUP(?)TS DB 'TIME SYSTEM IS:$' CT DB 'CURRENT TIME IS:$' PM DB 'PM $' AM DB 'AM $' KEEPIP DW 0 KEEPCS DW 0 SR DB ? HOUR DB ? DAT ENDS STA SEGMENT PARA STACK 'STACK' STAPN DB 100 DUP(?)TOP EQU LENGTH STAPN STA ENDS COD SEGMENT START PROC FAR ASSUME CS:COD,DS:DAT,SS:STA MOV AX,DATA MOV DS,AX MOV AX,STA MOV SS,AX MOV AX,TOP MOV SP,AX MOV AH,35H;設(shè)置1CH中斷

      MOV AL,1CH

      INT 21H

      ;段地址放入ES,偏移地址放入BX

      MOV KEEPIP,BX

      ;保偏移地址存

      MOV KEEPCS,ES

      ;保存段地址

      PUSH DS

      MOV DX,OFFSET TIME

      MOV AX,SEG TIME

      MOV DS,AX

      MOV AL,1CH

      MOV AH,25H

      ;設(shè)置中斷功能調(diào)用

      INT 21H

      POP DS

      MOV DX,OFFSET TS

      ;DOS功能模塊,顯示字符串

      MOV AH,9

      INT 21H

      MOV AH,1

      ;DOS功能模塊,從鍵盤輸入字符

      INT 21H

      MOV AH,1

      INT 21H

      MOV SR,AL

      MOV DL,0AH

      ;”換行“

      MOV AH,2

      INT 21H

      MOV DL,0DH

      ;”回車“

      MOV AH,2

      INT 21H

      MOV DX,OFFSET CT

      ;DOS功能模塊,顯示字符串,提示從鍵盤輸入

      MOV AH,9

      INT 21H

      MOV DX,OFFSET BUFFER

      MOV AH,10

      ;DOS功能模塊,從鍵盤輸入字符串到緩沖區(qū)

      INT 21H

      MOV BX,OFFSET BUFFER+2

      CALL TRAN1

      ;將輸入的ASCII碼轉(zhuǎn)換為BCD碼

      INC BX

      INC BX

      CALL TRAN1

      INC BX

      INC BX

      CALL TRAN1

      MOV BX,OFFSET BUFFER+2

      MOV AL,[BX]

      CALL MUL10

      ;將BCD碼轉(zhuǎn)換為壓縮的BCD碼

      MOV CH,AL

      INC BX

      INC BX

      MOV AL,[BX]

      CALL MUL10

      MOV DH,AL

      INC BX

      INC BX

      MOV AL,[BX]

      CALL MUL10

      MOV DL,AL AGAIN: PUSH CX

      MOV CX,18

      STI

      ;開中斷 W:

      CMP CX,0

      JNE W

      CLI

      POP CX

      MOV AL,DL

      ADD AL,1

      ;”秒“加1

      DAA

      MOV DL,AL

      CMP AL,60H

      ;”秒“與60比較

      JNE DISPY

      ;小于60S,轉(zhuǎn)顯示程序

      MOV DL,0

      ;等于60S, ”秒“值為0,”分“+1

      MOV AL,DH

      ADD AL,1

      DAA

      MOV DH,AL

      CMP AL,60H

      ;”分“于60比較

      JNE DISPY

      MOV DH,0

      MOV AL,CH

      ADD AL,1

      DAA

      MOV CH,AL

      MOV AL, SR

      CMP AL,32H

      JNE NEXT

      JMP DISPY NEXT: MOV AL,CH

      MOV HOUR,CH

      CMP AL,24H

      JNE DISPY

      MOV CH,0

      DISPY: CALL IOCLR

      CALL IOSET1

      CALL STAR

      CALL IOSET2

      CALL STAR

      CALL IOSET

      MOV BX,OFFSET BUFFER

      MOV AL,SR

      CMP AL,32H

      JNE NEXT2

      CALL AD12

      MOV AL,HOUR

      JMP NEXT1 NEXT2: MOV AL,CH

      ;”時(shí)“值轉(zhuǎn)換成ASCII碼

      NEXT1: CALL TRAN2

      ;將壓縮BCD碼轉(zhuǎn)換成ASCII碼

      INC BX

      MOV AL,':'

      MOV [BX],AL

      INC BX

      MOV AL,DH

      ;”分“值轉(zhuǎn)換成ASCII碼

      CALL TRAN2

      INC BX

      MOV AL,':'

      MOV [BX],AL

      INC BX

      MOV AL,DL

      ;”秒“值轉(zhuǎn)換成ASCII碼

      CALL TRAN2

      INC BX

      MOV AL,'$'

      ;顯示字符串結(jié)束碼

      MOV [BX],AL

      PUSH BX

      PUSH CX

      PUSH DX

      MOV DX,OFFSET BUFFER

      MOV AH,9

      ;DOS功能模塊,顯示字符串

      INT 21H

      POP DX

      POP CX

      POP BX

      JMP AGAIN

      CLI

      PUSH DS

      MOV DX,KEEPIP

      MOV AX,KEEPCS

      MOV DS,AX

      MOV AH,25H

      MOV AL,1CH

      INT 21H

      POP DS

      STI

      RET START ENDP MUL10 PROC

      ;將BCD碼轉(zhuǎn)換為壓縮的BCD碼

      ADD AL,AL

      DAA

      MOV CL,AL

      ADD AL,AL

      DAA

      ADD AL,AL

      DAA

      ADD AL,CL

      DAA

      MOV CL,AL

      INC BX

      MOV AL,[BX]

      ADD AL,CL

      RET MUL10 ENDP TRAN1 PROC

      MOV AL,[BX]

      AND AL,0FH

      MOV [BX],AL

      INC BX

      MOV AL,[BX]

      AND AL,0FH

      MOV [BX],AL

      RET TRAN1 ENDP TRAN2 PROC

      MOV CL,AL

      SHR AL,1

      SHR AL,1

      SHR AL,1

      SHR AL,1

      OR AL,30H

      MOV [BX],AL

      INC BX

      MOV AL,CL

      AND AL,0FH

      OR AL,30H

      MOV [BX],AL

      RET TRAN2 ENDP IOCLR PROC

      PUSH CX

      PUSH DX

      PUSH BX

      PUSH AX

      MOV AX,0600H

      MOV BH,02

      SUB CX,CX

      MOV DX,184FH

      INT 10H

      ;ASCII碼轉(zhuǎn)換成BCD碼

      ;將壓縮BCD碼轉(zhuǎn)換成ASCII碼;調(diào)用BIOS,清除全屏幕

      POP AX

      POP BX

      POP DX

      POP CX

      RET IOCLR ENDP TIME

      PROC

      DEC CX

      IRET TIME

      ENDP

      PUSH DX PUSH BX PUSH AX MOV AH,02 SUB BH,BH MOV DX, 0C23H INT 10H POP AX POP BX POP DX RET IOSET ENDP IOSET1 PROC PUSH AX PUSH BX PUSH DX MOV DX,0A1AH MOV BH,00 MOV AH,02 INT 10H POP DX POP BX POP AX RET IOSET1 ENDP IOSET2 PROC PUSH AX PUSH BX PUSH DX MOV DX,0E1AH MOV BH,00 MOV AH,02 INT 10H

      調(diào)用BIOS,設(shè)置屏幕光標(biāo)在中央

      ;POP DX POP BX POP AX RET IOSET2 ENDP STAR PROC PUSH AX PUSH BX PUSH CX PUSH DX MOV AL,3DH MOV BH,0 MOV BL,0CH CMP HOUR,24H JNZ X MOV HOUR,0H X: MOV CX,WORD PTR HOUR INT 10H POP DX POP CX POP BX POP AX RET STAR ENDP AD12 PROC PUSH DX MOV HOUR,CH MOV AL,SR CMP AL,32H JNE ZH MOV AL,HOUR CMP AL,24H JNE NEXT3 MOV CH,0 MOV HOUR,CH JMP S12 NEXT3: CMP AL,12H JBE S12 MOV DX,OFFSET PM MOV AH,9 INT 21H MOV AL,HOUR MOV DH,12H SUB AL,DH DAS MOV HOUR,AL JMP ZH S12: CMP AL,12H JNE Z MOV DX,OFFSET PM MOV AH,9 INT 21H JMP ZH Z: MOV DX,OFFSET AM MOV AH,9 INT 21H ZH: POP DX RET AD12 ENDP COD ENDS END STAR

      6設(shè)計(jì)時(shí)遇到的問題及解決方法

      在課程設(shè)計(jì)中遇到的最大的困難是如何利用軟、硬件配合的方式產(chǎn)生中斷,對(duì)中斷向量表的裝載還比較模糊,對(duì)中斷的初始化、具體設(shè)置、中斷返回還不是很清楚,程序設(shè)計(jì)一度陷入停滯狀態(tài),不知如何是好.于是我又重新翻閱了我們的學(xué)習(xí)課本,也就是電子工業(yè)出版社的《微機(jī)原理與接口技術(shù)(基于16位機(jī))》,重點(diǎn)研究了第9章《中斷》,通過對(duì)這一章的學(xué)習(xí),我終于對(duì)中斷有了詳細(xì)的認(rèn)識(shí),在設(shè)計(jì)程序時(shí)也容易了很多。

      設(shè)中斷服務(wù)程序入口地址為TIME,則相應(yīng)的程序如下:

      ??

      KEEPIP DW 0

      ;設(shè)置內(nèi)存緩沖區(qū),用于暫存 KEEPCS DW 0

      ;DOS的中斷矢量

      ??

      ;在主程序的初始化部分,先取出DOS的中斷矢量并加以保存,然后裝入需要的中斷矢量

      MOV AH,35H

      ;取出DOS的中斷矢量,并送ES:BX

      MOV AL,1CH

      INT 21H

      MOV KEEPIP,BX

      ;保存DOS的中斷矢量

      MOV KEEPCS,ES

      PUSH DS;保護(hù)DS

      MOV DX,OFFSET TIME

      ;將中斷矢量取代

      MOV AX,SEG TIME

      ;DOS的中斷矢量

      MOV DS,AX

      MOV AL,1CH

      MOV AH,25H

      ;設(shè)置中斷功能調(diào)用

      INT 21H

      POP DS

      ;恢復(fù)DS ??

      AGAIN: PUSH CX

      MOV CX,18

      STI

      ;開中斷 W:

      CMP CX,0

      JNE W

      CLI ??

      TIME

      PROC

      DEC CX

      IRET TIME

      ENDP ??

      ;在程序結(jié)尾處,用以下程序恢復(fù)DOS的中斷矢量 CLI

      PUSH DS

      MOV DX,KEEPIP

      MOV AX,KEEPCS

      MOV DS,AX

      MOV AH,25H

      MOV AL,1CH

      INT 21H

      POP DS

      STI 7新增功能及實(shí)現(xiàn)方法

      7.112時(shí)制時(shí)顯示AM或PM

      ??

      AD12 PROC PUSH DX MOV HOUR,CH MOV AL,SR CMP AL,32H JNE ZH MOV AL,HOUR CMP AL,24H JNE NEXT3 MOV CH,0 MOV HOUR,CH JMP S12 NEXT3: CMP AL,12H JBE S12 MOV DX,OFFSET PM MOV AH,9 INT 21H MOV AL,HOUR MOV DH,12H SUB AL,DH DAS MOV HOUR,AL JMP ZH S12: CMP AL,12H JNE Z MOV DX,OFFSET PM MOV AH,9 INT 21H JMP ZH Z: MOV DX,OFFSET AM MOV AH,9 INT 21H ZH: POP DX RET AD12 ENDP ??

      7.2綠色顯示時(shí)間

      ??

      IOSET PROC PUSH DX PUSH BX PUSH AX MOV AH,02 SUB BH,BH MOV DX,0C23H INT 10H POP AX POP BX POP DX RET IOSET ENDP ??

      7.3在數(shù)字上下方各顯示一行個(gè)數(shù)同小時(shí)數(shù)的”=“ ??

      IOSET1 PROC PUSH AX PUSH BX PUSH DX MOV DX,0A1AH MOV BH,00 MOV AH,02 INT 10H POP DX POP BX POP AX RET IOSET1 ENDP IOSET2 PROC PUSH AX PUSH BX PUSH DX MOV DX,0E1AH MOV BH,00 MOV AH,02 INT 10H POP DX POP BX POP AX RET IOSET2 ENDP STAR PROC PUSH AX PUSH BX PUSH CX PUSH DX MOV AL,3DH MOV BH,0 MOV BL,0CH CMP HOUR,24H JNZ X MOV HOUR,0H X: MOV CX,WORD PTR HOUR INT 10H POP DX POP CX POP BX POP AX RET STAR ENDP ?? 8心得體會(huì)

      這是我第一次用匯編語(yǔ)言來設(shè)計(jì)一個(gè)小程序,歷時(shí)一周終于完成,其間有不少感觸。首先就是借鑒.魯迅先生曾說過要”拿來“,對(duì),在這次課程設(shè)計(jì)中,就要”拿來"不少子程序,比如將ASCII碼轉(zhuǎn)換成BCD碼,將BCD碼轉(zhuǎn)換成壓縮BCD碼,將壓縮BCD碼轉(zhuǎn)換成ASCII碼等,這些子程序的設(shè)計(jì)是固定的,因此可以直接從指導(dǎo)資料中調(diào)用,至于設(shè)置光標(biāo)的子程序,只需要修改幾個(gè)參數(shù)就可以,這大大方便了我的設(shè)計(jì),為我節(jié)省了很多的時(shí)間。還有就是指導(dǎo)老師提供的資料很重要.這次課程設(shè)計(jì)的大部分程序,都可以在李老師提供的資料中找到,這對(duì)我的程序設(shè)計(jì)很有幫助,從這些資料中,我可以看出這個(gè)時(shí)鐘程序的基本流程,修改一些程序就可以實(shí)現(xiàn)這個(gè)時(shí)鐘的基本功能,添加一些程序就可以實(shí)現(xiàn)這個(gè)時(shí)鐘的附加功能,可以說,如果沒有李老師提供的源程序,我將面臨很大的困難。文章引用自:

      第三篇:微機(jī)原理課程設(shè)計(jì)(電子密碼鎖)

      一、設(shè)計(jì)目的

      通過課程設(shè)計(jì)掌握控制系統(tǒng)設(shè)計(jì)的一般步驟,掌握系統(tǒng)總體控制方案的設(shè)計(jì)方法、8086微型計(jì)算機(jī)的應(yīng)用方法、控制算法的設(shè)計(jì)及硬件設(shè)計(jì)方法。復(fù)習(xí)并學(xué)習(xí)用軟件編程控制硬件。了解和掌握8086微機(jī)應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì)過程、方法及實(shí)現(xiàn),為以后設(shè)計(jì)實(shí)現(xiàn)8086微機(jī)應(yīng)用系統(tǒng)打下良好的基礎(chǔ)。

      二、設(shè)計(jì)任務(wù)與要求

      (1)密碼鎖在輸入密碼正確時(shí)控制電控鎖開啟,同時(shí)顯示00字樣;當(dāng)輸入密碼錯(cuò)誤時(shí),發(fā)出錯(cuò)誤警告,并顯示FF字樣;當(dāng)3次誤碼輸入時(shí),產(chǎn)生報(bào)警;具有密碼修改的功能。

      (2)選用8086和適當(dāng)?shù)拇鎯?chǔ)器及接口芯片完成相應(yīng)的功能,用LED顯示器顯示電子鎖的當(dāng)前狀態(tài);畫出詳細(xì)的硬件連接圖;給出程序設(shè)計(jì)思路、畫出軟件流程圖;給出所有程序清單并加上必要注釋;完成設(shè)計(jì)說明書(包括封面、目錄、設(shè)計(jì)任務(wù)書、硬件設(shè)計(jì)思路、硬件原理圖、軟件設(shè)計(jì)思路、程序流程框圖、程序清單、所用器件型號(hào)、總結(jié)體會(huì)、參考文獻(xiàn)等)。

      三、整體功能描述

      本設(shè)計(jì)為多功能密碼鎖,使用存儲(chǔ)器保存密碼防止斷電后密碼丟失。工作時(shí)按下按鍵蜂鳴器會(huì)發(fā)出聲音提示按鍵有效并在數(shù)碼管有“--”閃爍字樣,若相隔1分鐘無按鍵按下,則清零。在輸入密碼正確的條件下輸出開鎖電平,控制電控鎖開啟,同時(shí)顯示OPEN字樣。開鎖后可按下“復(fù)位/修改密碼鍵”實(shí)現(xiàn)修改密碼功能的轉(zhuǎn)入,之后先輸入密碼再輸入同樣的密碼確認(rèn)才可成功修改,修改成功后蜂鳴器會(huì)發(fā)出三聲,數(shù)碼管“00”閃爍三次提示修改密碼成功。當(dāng)輸入密碼錯(cuò)誤時(shí),發(fā)出錯(cuò)誤警告聲音,同時(shí)顯示CLOSE字樣,當(dāng)輸入密碼錯(cuò)誤次數(shù)累積夠3次后,蜂鳴器會(huì)產(chǎn)生90秒的報(bào)警聲響進(jìn)行報(bào)警。

      四、總體設(shè)計(jì)方案

      根據(jù)本次設(shè)計(jì)的設(shè)計(jì)目的及設(shè)計(jì)要求,可有下列兩種方案: 4.1 方案一

      在本次設(shè)計(jì)中,因?yàn)槊艽a鎖的基本功能使可以判斷密碼是否正確,以及完成對(duì)密碼的修改,所以需要用到輸入設(shè)備以及CPU的接口電路以及相關(guān)存儲(chǔ)設(shè)備;因?yàn)橛袌?bào)警提示功能,所以要用到相關(guān)的輸出設(shè)備以及接口電路。因?yàn)橐瓿蛇壿嬤\(yùn)算功能,所以必須要有CPU,CPU就選用我們最常用也最熟悉的8086,考慮到8255的端口兼具輸入輸出功能,靈活方便,所以選用一片8255作為輸入輸出設(shè)備與8086間的借口;采用0到9數(shù)字按鍵以及相關(guān)功能選擇的輸入;輸出設(shè)備方面,采用兩位數(shù)碼管實(shí)現(xiàn)題目的狀態(tài)提示要求,用一個(gè)蜂鳴器作為相關(guān)的警報(bào),提示的聲音輸出。另外,為簡(jiǎn)化編程,采用8259中斷控制器來觸發(fā)中斷實(shí)現(xiàn)密碼鎖工作模式的轉(zhuǎn)換,其中的密碼輸入及判斷功能與密碼修改功能分別用兩個(gè)外部中斷來觸發(fā)中斷服務(wù)程序來實(shí)現(xiàn)。本設(shè)計(jì)的密碼位數(shù)為6位。4.2 方案二

      第1頁(yè)

      用匯編語(yǔ)言編寫程序?qū)崿F(xiàn)應(yīng)用程序的功能,從而實(shí)現(xiàn)簡(jiǎn)易計(jì)算器匯編程序的設(shè)計(jì)與實(shí)現(xiàn)。4.2.1使用設(shè)備

      含有Windows匯編編譯環(huán)境的MASM軟件及Office 2003軟件的計(jì)算機(jī)一臺(tái)。4.2.2匯編程序編寫

      匯編程序編寫,根據(jù)設(shè)計(jì)要求編寫實(shí)現(xiàn)該功能的源程序代碼。4.2.3使用方法

      在masm環(huán)境下運(yùn)行本程序,按提示輸入正確密碼,則在屏幕上顯示00字樣,否則顯示FF字樣。

      五、硬件設(shè)計(jì)

      本設(shè)計(jì)使用了8086、8259A、8255、8253、2764、74LS138、74LS148、地址鎖存器、數(shù)碼管以及74系列邏輯門、蜂鳴器、開關(guān)等芯片與元器件,實(shí)現(xiàn)了鍵盤輸入、中斷控制、計(jì)時(shí)、按鍵響應(yīng)、開鎖及報(bào)警等功能模塊,其硬件連接框圖如圖1所示。

      圖1 硬件連接框圖

      5.1 鍵盤

      本設(shè)計(jì)8255A的A口與兩片級(jí)聯(lián)的74LS148組合接用于輸入鍵盤,實(shí)現(xiàn)對(duì)輸入鍵號(hào)的讀入。工作時(shí),8086通過程序掃描鍵盤,當(dāng)無鍵盤按下時(shí),74LS148工作于無輸入狀態(tài),GS口輸出高電平,接到PA4作為識(shí)別有無按鍵按下信號(hào),PA口輸入為10H;當(dāng)有按鍵輸入時(shí),74LS148輸入口接到低電平,輸入有效,經(jīng)編碼后鍵號(hào)轉(zhuǎn)換為相應(yīng)二進(jìn)制編碼送到PA口,成為能為CPU識(shí)別的代表鍵值的有效信號(hào)。讀入的按鍵信號(hào)經(jīng)8086判斷后,根據(jù)不同的功能,輸出不同的按鍵響

      第2頁(yè)

      應(yīng),并轉(zhuǎn)移到相對(duì)應(yīng)的功能服務(wù)程序。

      本設(shè)計(jì)總共用到11位按鍵,包括10位數(shù)碼輸入按鍵及一位“復(fù)位/修改密碼”按鍵,電路設(shè)計(jì)總共可用按鍵有16位,供升級(jí)功能使用。鍵盤電路如下圖2所示:

      5.2 中斷控制

      用一片8259A芯片作為中斷控制接口電路。其中IR0與IR1中斷開放,單片工作于非緩沖方式,電平觸發(fā),優(yōu)先級(jí)是普通全嵌套方式??赏ㄟ^編程開中斷,通過編程或者8253計(jì)時(shí)器關(guān)中斷。電路連接如圖3所示:

      圖2 鍵盤連接圖

      5.3 計(jì)時(shí)

      采用8253計(jì)時(shí)器控制中斷的關(guān)斷,實(shí)現(xiàn)單次輸入密碼超時(shí)則退出輸入密碼中斷子程序、報(bào)警器響鈴時(shí)間控制等功能。電路如圖3所示。

      第3頁(yè)

      圖3 中斷控制器連接圖

      5.4 輸入輸出接口

      輸入輸出接口采用可編程的8255A,8255A是Intel系列的并行接口芯片,常作為微機(jī)系統(tǒng)與外部設(shè)備接口。在連接電路時(shí)8255 的PC0、PC1接到數(shù)碼管片選,電路連接如圖3所示。同時(shí)用8255A的B口控制數(shù)碼管的顯示,C口片PC0、PC1選數(shù)碼管,PC2用來驅(qū)動(dòng)SPEAK發(fā)出報(bào)警電路如圖4所示。

      圖4 按鍵響應(yīng)、報(bào)警、開鎖功能電路

      第4頁(yè)

      5.5.儲(chǔ)存器及片選電路

      存儲(chǔ)器及片選電路采用一片2764存儲(chǔ)器和一片74LS138,連接電路如圖5所示:

      圖5 片選及存儲(chǔ)器電路

      5.6 整機(jī)電路圖:見附錄一

      六、軟件設(shè)計(jì)

      6.1 程序流程圖

      第5頁(yè)

      開始程序初始化8255.8259初始化從RAM存儲(chǔ)器中讀出密碼 定義DI.SI指針開中斷data2與data3數(shù)據(jù)串比較相等?N錯(cuò)誤計(jì)數(shù)器加1開鎖,并顯示00掃描鍵盤,有修改密碼鍵?Y定義SI,DI指針開中斷,實(shí)現(xiàn)密碼輸入轉(zhuǎn)存到data2有修改密碼鍵輸入?開中斷,重新輸入密碼比較是否為首次輸入密碼?N轉(zhuǎn)存密碼到RAM 鈴聲確認(rèn)修改密碼成功掃描鍵盤是否有修改密碼鍵輸入Y保持開鎖狀態(tài)結(jié)束錯(cuò)誤累積超過6次?YN報(bào)警響鈴,輸出顯示FF保持關(guān)鎖N結(jié)束Y

      圖6 程序流程圖

      6.2 程序清單:見附錄二

      七、設(shè)計(jì)總結(jié)與體會(huì)

      通過本次課程設(shè)計(jì),我對(duì) 8255,8253,8259等芯片的各引腳的功能、名稱、第6頁(yè)

      工作方式、內(nèi)部結(jié)構(gòu)有了更深層次的掌握,對(duì)這三種芯片的編程從陌生轉(zhuǎn)向熟練。通過這次的微機(jī)課程設(shè)計(jì),對(duì)書本所學(xué)的知識(shí)有了進(jìn)一步的鞏固,并且對(duì)三種芯片各自的功能、工作方式有了明確性的區(qū)分。在設(shè)計(jì)過程中遇到問題時(shí),遇到含糊不清或者看不懂的地方及時(shí)翻閱相關(guān)課本知識(shí)。有時(shí)看課本也沒有結(jié)果時(shí)就和組員互相探討。在設(shè)計(jì)過程中,才發(fā)現(xiàn)自己遺漏許多課本的相關(guān)知識(shí),對(duì)各芯片的功能及其工作方式掌握的不夠清楚。這說明在實(shí)踐中才能真正的掌握從課本中所學(xué)的知識(shí)。這次的課程設(shè)計(jì)讓我為一年后的畢業(yè)設(shè)計(jì)打下了基礎(chǔ)。

      八、參考資料

      九、附錄

      附錄一:電路基本連接圖

      第7頁(yè)

      附錄二:程序清單

      (一)DATA SEGMENT;以下代碼寫入RAM

      第8頁(yè)

      CODEIN DB 6 DUP(?);輸入的密碼保存的地址 CODECH DB 6 DUP(?);修改后的密碼的保存地址 CODEOR DB 0,0,0,0,0,0;初始密碼

      ORG 01000H;下面的代碼寫入ROM DTABLE DB 80H,02H,10H,3FH,79H,71H,60H,5BH DATA ENDS

      STACKS SEGMENT STA DB 20 DUP(?)STACKS ENDS

      CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKS START: MOV SI,OFFSET CODEIN MOV DI,OFFSET CODEOR MOV BP,OFFSET DTABLE

      MOV AL,09H;(鍵盤輸入中斷)設(shè)定密碼輸入的中斷向量(即IR0的中斷向量)MOV AH,25H INT 21H PUSH BX PUSH DS MOV DX,SEG INPUT MOV DS,DX MOV DX,OFFSET INPUT INT 21H

      MOV AL,09H;(鍵盤輸入中斷)設(shè)定密碼修改的中斷向量(即IR1的中斷向量)MOV AH,25H INT 21H PUSH BX PUSH DS MOV DX,SEG CHANGE MOV DS,DX MOV DX,OFFSET CHANGE INT 21H

      MOV AL,1BH;初始化8259 OUT 10H,AL;單片工作,高電平有效 MOV AL,08H OUT 11H,AL MOV AL,03H OUT 11H,AL

      第9頁(yè)

      MOV AL,0FCH OUT 11H,AL;開放IR0,IR1 MOV AL,20H OUT 10H,AL MOV AL,68H OUT 10H,AL

      MOV AL,82H;初始化8255 A口方式0輸出,B口方式0輸入,C口輸出 OUT 06H,AL AA: STI MOV AL,00H OUT 04H,AL;

      INPUT:;CLI MOV DL,00H IN1: CMP DL,06H;JNZ IN2;

      MOV CX,03FFH;R1: MOV DH,3FH MOV AL,02H OUT 00H,AL;R2: DEC DH CMP DH,00H JNZ R2 LOOP R1

      JMP IN4;IN2:;MOV AL,[BP+4] OUT 04H,AL;MOV BX,0H MOV CX,03H;IN3: MOV BP,OFFSET DTABLE MOV AL,[BP] OUT 04H,AL;輸出低電平使數(shù)碼管熄滅 密碼輸入程序 判斷是否連續(xù)6次輸入錯(cuò)誤密碼 若不是這繼續(xù)輸入 使蜂鳴器長(zhǎng)鳴報(bào)警(通過延時(shí)實(shí)現(xiàn))輸出高電平使蜂鳴器發(fā)聲 報(bào)警完畢,跳至中斷返回 輸入密碼 數(shù)碼管顯示‘--’提示輸入密碼 設(shè)置循環(huán)次數(shù) 數(shù)碼管提示輸入位數(shù)

      第10頁(yè)

      CALL CCSCAN;調(diào)用鍵盤掃描程序 CMP AL,0BH;判斷是否按下返回鍵 JZ IN4 MOV [BX+SI],AL;保存輸入密碼 INC BX INC BP LOOP IN3

      MOV BP,OFFSET DTABLE;判斷密碼是否正確 CLD MOV CX,03 MOV SI,OFFSET CODEIN MOV DI,OFFSET CODEOR REPZ CMPSB;JNZ WRO;MOV AL,[BP+3] OUT 04H,AL;MOV AL,04H OUT 00H,AL;XOR DL,AL JMP IN4

      WRO:;INC DL MOV AL,[BP+5];OUT 04H,AL MOV CX,03H;W1: MOV AL,02H;OUT 00H,AL

      W2:;MOV BL,3FH DEC BL CMP BL,00H JNZ W2 XOR AL,AL;OUT 00H,AL

      W3:;MOV BL,3FH DEC BL CMP BL,00H JNZ W3

      判斷密碼是否正確 若錯(cuò)誤就報(bào)警 若正確數(shù)碼管就顯示‘00‘且給LED高電平使其點(diǎn)亮 出錯(cuò)報(bào)警部分 數(shù)碼管顯示’FF‘提示錯(cuò)誤設(shè)定蜂鳴器響的次數(shù) 使蜂鳴器發(fā)聲 延時(shí) 輸出低電平關(guān)蜂鳴器 延時(shí) 第11頁(yè)

      LOOP W1 JMP IN1;中斷返回 IN4: STI IRET

      CHANGE:;密碼修改程序 CLI MOV DL,00H INP1: CMP DL,06H JNZ INP2 MOV CX,03FFH RR1: MOV DH,3FH MOV AL,02H OUT 00H,AL RR2: DEC DH

      CMP DH,00H JNZ RR2 LOOP RR1 JMP C4 INP2: MOV AL,[BP+4] OUT 04H,AL MOV BX,0000H MOV CX,03H INP3: MOV BP,OFFSET DTABLE MOV AL,[BP] OUT 04H,AL CALL CCSCAN CMP AL,0BH JZ IN4 MOV [BX+SI],AL INC BX INC BP LOOP INP3 MOV BP,OFFSET DTABLE CLD MOV CX,03

      第12頁(yè)

      MOV SI,OFFSET CODEIN MOV DI,OFFSET CODEOR REPZ CMPSB JNZ WRRO MOV AL,[BP+3] OUT 04H,AL XOR DL,DL JMP CHANGE WRRO: INC DL MOV AL,[BP+5] OUT 04H,AL MOV CX,03H WW1: MOV AL,02H OUT 00H,AL WW2: MOV BL,3FH DEC BL CMP BL,00H JNZ WW2 XOR AL,AL OUT 00H,AL WW3: MOV BL,3FH DEC BL CMP BL,00H JNZ WW3 LOOP WW1 JMP INP1;

      CHAN:;MOV SI,OFFSET CODEIN MOV DI,OFFSET CODECH

      MOV AL,[BP+6];OUT 04H,AL MOV CX,03FFH Y1: LOOP Y1

      MOV BP,OFFSET DTABLE MOV BX,0H MOV CX,03H

      當(dāng)密碼輸入正確時(shí),轉(zhuǎn)入密碼修改部分修改密碼部分 數(shù)碼管提示第一次輸入 第13頁(yè)

      C1: MOV AL,[BP] OUT 04H,AL CALL CCSCAN CMP AL,0BH JZ C4 MOV [BX+SI],AL;存放在輸入密碼緩沖區(qū) INC BX INC BP LOOP C1

      MOV BP,OFFSET DTABLE MOV AL,[BP+7] OUT 04H,AL;MOV CX,03FFH Y2: LOOP Y2 MOV BP,OFFSET DTABLE MOV BX,0H MOV CX,03H C2: MOV AL,[BP] OUT 04H,AL CALL CCSCAN CMP AL,0BH JZ C4 MOV [BX+DI],AL;INC BX INC BP LOOP C2

      MOV BP,OFFSET DTABLE REPZ CMPSB JNZ CHAN;MOV DI,OFFSET CODEOR MOV CX,03H CLD REP MOVSB;MOV AL,02H;OUT 00H,AL MOV CX,03FFH C3: LOOP C3 XOR AL,AL OUT 00H,AL;數(shù)碼管提示第二次輸入 存放在修改密碼緩沖區(qū) 判斷兩次輸入的密碼是否一致若是相等那就保存密碼 且蜂鳴器響一下提示修改成功中斷返回

      第14頁(yè)

      C4: STI IRET

      CCSCAN PROC NEAR;鍵盤掃描子程序 MOV AL,00H OUT 00H,AL IN AL,02H NOT AL AND AL,0FH CMP AL,00H;JNZ K1 JMP CCSCAN K1: MOV CX,0EFFH;LOOP K1

      IN AL,02H CMP AL,00H JZ CCSCAN MOV AH,60H;K2: MOV AL,AH OUT 00H,AL IN AL,02H NOT AL AND AL,0FH CMP AL,00H;JNZ K3 OR AH,01H ROR AH,1;AND AH,0FH JMP K2 K3: ADD AL,AH RET CCSCAN ENDP CODE ENDS END START

      程序清單

      (二)利用DOS調(diào)用顯示DATA SEGMENT TABLE DB '888'

      判斷是否有鍵按下延時(shí) 掃描第一列 判斷是否有鍵按下掃描下一列 第15頁(yè)

      STRING1 DB 'Please enter a passward:',0DH,0AH,'$' STRING2 DB 'Wrong!',0DH,0AH,'$' STRING3 DB 'OPEN!','$' STRING4 DB 'CLOSE!','$' BUFFER DB 40,?,40 DUP(0)TAB_LEN EQU 26 DATA ENDS;STACK SEGMENT DB 100 DUP(0)STACK ENDS;CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK

      START:MOV AX,DATA MOV DS,AX MOV ES,AX LEA DX,STRING1 MOV AH,09H INT 21H LEA DX,BUFFER

      MOV AH,0AH INT 21H MOV SI,DX INC SI MOV BL,[SI] MOV BH,0 INC SI LEA DI,TABLE MOV CX,TAB_LEN CMP CX,BX JNC GOON LEA DX,STRING2 JMP EXIT GOON: CLD MOV AL,[SI] SCAN:REPNZ SCASB JZ MATCH ERROR: LEA DX,STRING4 JMP EXIT MATCH: INC CX CMP CX,BX

      第16頁(yè)

      JC ERROR PUSH CX PUSH SI PUSH DI MOV CX,BX DEC DI REPZ CMPSB POP DI POP SI POP CX JZ FOUND JCXZ ERROR JMP SCAN FOUND: DEC DI LEA DX,STRING3 EXIT:MOV AH,09H INT 21H MOV AH,4CH INT 21H CODE ENDS END START

      第17頁(yè)

      第四篇:微機(jī)原理課程設(shè)計(jì)

      電子信息科學(xué)與技術(shù)《微機(jī)原理》課程設(shè)計(jì)

      一、本次課程設(shè)計(jì)的目的和意義

      學(xué)習(xí)和掌握計(jì)算機(jī)中常用接口電路的應(yīng)用和設(shè)計(jì)技術(shù),充分認(rèn)識(shí)理論知識(shí)對(duì)應(yīng)用技術(shù)的指導(dǎo)性作用,進(jìn)一步加強(qiáng)理論知識(shí)與應(yīng)用相結(jié)合的實(shí)踐和鍛煉。通過這次設(shè)計(jì)實(shí)踐能夠進(jìn)一步加深對(duì)專業(yè)知識(shí)和理論知識(shí)學(xué)習(xí)的認(rèn)識(shí)和理解,使自己的設(shè)計(jì)水平和對(duì)所學(xué)的知識(shí)的應(yīng)用能力以及分析問題解決問題的能力得到全面提高。

      二、設(shè)計(jì)時(shí)間、基本要求

      (一)、設(shè)計(jì)時(shí)間:二周(二)、基本要求:

      a.每題2人;b.設(shè)計(jì)出完整的接口電路;c.編寫出全部程序;d.在實(shí)驗(yàn)系統(tǒng)上調(diào)試通過。

      三、設(shè)計(jì)選題與要求

      選題一:多路模擬數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

      要求:設(shè)計(jì)一個(gè)2路以上的模擬數(shù)據(jù)采集系統(tǒng)。

      1、用按鍵選擇那一路;

      2、用LED顯示轉(zhuǎn)換結(jié)果(十進(jìn)制數(shù));

      3、將每一路采集的100個(gè)數(shù)據(jù)存放到各自的存儲(chǔ)區(qū)中。

      選題二:溫度測(cè)控系統(tǒng)的設(shè)計(jì)

      要求:利用ADC0809設(shè)計(jì)一個(gè)溫度測(cè)控系統(tǒng),在LED數(shù)碼顯示器上顯示溫度值,并對(duì)溫度進(jìn)行測(cè)試和控制,當(dāng)檢測(cè)溫度到達(dá)溫度上限60℃時(shí)開風(fēng)扇(即開啟電動(dòng)機(jī),或以一個(gè)燈的亮滅表示),低于下限30℃時(shí)關(guān)閉風(fēng)扇,LED上的顯示內(nèi)容為:XX ℃(采用十進(jìn)制顯示)。

      選題三:函數(shù)發(fā)生器的設(shè)計(jì)(一)要求:利用DAC0832設(shè)計(jì)一個(gè)函數(shù)發(fā)生器,并利用按鍵選擇輸出波形,能分別產(chǎn)生三角波、階梯波(每階梯1V)、正向鋸齒波、負(fù)向鋸齒波和方波。并利用按鍵(自行定義)進(jìn)行輸出波形選擇,同時(shí)將當(dāng)前輸出波形代號(hào)顯示在LED上(左邊位):0為方波、1為正向鋸齒波、2為負(fù)向鋸齒波、3 為三角波、4為階梯波。

      選題四:函數(shù)發(fā)生器的設(shè)計(jì)(二)要求:設(shè)計(jì)一個(gè)三角波發(fā)生器,可利用鍵盤改變其輸出波形的幅值。例如,可利用1-5這5個(gè)數(shù)字鍵改變其輸出波形的幅值,當(dāng)按下1-5數(shù)字鍵時(shí)使D/A輸出幅值從1V增加到5V。

      選題五:電子音樂播放器

      要求:設(shè)計(jì)要求:利用8253作為音階頻率發(fā)生器,應(yīng)先對(duì)“2008年奧運(yùn)會(huì)主題歌”進(jìn)行編碼后存入音符表,并建立好音階表(只建立一個(gè)8度即可),音符長(zhǎng)度不能少于60個(gè),連續(xù)播放3遍后停止。

      選題六:鍵盤電子樂器

      要求:利用并行接口8155作為鍵盤接口,設(shè)計(jì)一個(gè)具有2個(gè)八度音階的鍵盤樂器,音階鍵不少于16個(gè),采用掃描方式管理鍵盤,音域范圍自行定義。

      選題七:電子時(shí)鐘設(shè)計(jì)

      要求:利用8253定時(shí)器設(shè)計(jì)一個(gè)具有時(shí)、分、秒顯示的電子時(shí)鐘,并定義一個(gè)啟動(dòng)鍵,當(dāng)按下該

      鍵時(shí)時(shí)鐘從當(dāng)前設(shè)定值(可在顯示緩沖區(qū)中予置)開始走時(shí)。

      選題八:壓力測(cè)控系統(tǒng)的設(shè)計(jì)(一)要求:對(duì)壓力傳感器的信號(hào)進(jìn)行檢測(cè)并在LED數(shù)碼顯示器上顯示壓力值,當(dāng)壓力低于30pa時(shí),黃燈閃爍,閃爍周期為1秒。當(dāng)壓力高于150pa時(shí),紅燈閃爍。LED的顯示內(nèi)容為P=XXX。X為測(cè)試值。

      選題九:可變輸出頻率方波發(fā)生器設(shè)計(jì)

      要求:設(shè)計(jì)一個(gè)輸出方波頻率可利用按鍵改變的方波信號(hào)發(fā)生器(可以使用D/A也可以直接使用8253產(chǎn)生方波),利用鍵盤選擇方波發(fā)生器的輸出頻率并驅(qū)動(dòng)喇叭。輸出頻率=鍵號(hào)*100HZ

      選題十:直流電機(jī)速度控制器設(shè)計(jì)

      要求:利用D/A轉(zhuǎn)換器和按鍵設(shè)計(jì)一個(gè)直流電動(dòng)機(jī)轉(zhuǎn)速控制器。按鍵定義如下:0 停止,1-1/10轉(zhuǎn)速,2-2/10轉(zhuǎn)速?? 9 最高速(D/A輸出滿量程),鍵號(hào)每加1,D/A輸出增加0.5V

      選題十一:可任意啟動(dòng)/停止的電子秒表設(shè)計(jì)

      要求:6位LED數(shù)碼顯示,計(jì)時(shí)單位為1/100秒。利用功能鍵進(jìn)行啟/??刂?。其功能為:上電后計(jì)時(shí)器清0,當(dāng)?shù)谝淮危ɑ蚱鏀?shù)次)按下啟/停鍵時(shí)開始計(jì)數(shù)。第2次(或偶數(shù)次)按下該鍵時(shí)停止計(jì)時(shí),再一次按啟/停鍵時(shí)清零后重新開始計(jì)時(shí)??

      選題十二:溫度測(cè)試系統(tǒng)設(shè)計(jì)

      要求:利用溫度傳感器和ADC0809設(shè)計(jì)一個(gè)溫度測(cè)試系統(tǒng),將測(cè)試結(jié)果(十進(jìn)制)在LED上顯示出來,并定義一個(gè)保持按鍵,當(dāng)按下該鍵時(shí),將當(dāng)前測(cè)試值保持不變(按鍵不動(dòng)作時(shí)為正常測(cè)量顯示)。溫度顯示格式為:XXX ℃。(可以每隔0.3秒測(cè)量一次)

      選題十三:壓力測(cè)試系統(tǒng)設(shè)計(jì)(二)要求:利用壓力傳感器和ADC0809設(shè)計(jì)一個(gè)壓力測(cè)試系統(tǒng),并將測(cè)試結(jié)果(十進(jìn)制)在LED上顯示出來,并定義一個(gè)測(cè)試最大值按鍵,當(dāng)按下該鍵時(shí),可進(jìn)行最大值測(cè)量(按鍵不動(dòng)作時(shí)為正常測(cè)量顯示),即:只有當(dāng)當(dāng)前測(cè)量值大于上次測(cè)量值時(shí)才刷新顯示,顯示格式為:P=XXX。可以每隔0.3秒測(cè)量一次。

      選題十四:簡(jiǎn)易計(jì)算器系統(tǒng)設(shè)計(jì)

      要求:設(shè)計(jì)一個(gè)可以進(jìn)行2位數(shù)四則運(yùn)算的計(jì)算器。

      1、用按鍵輸入數(shù)和運(yùn)算符號(hào);

      2、用LED顯示運(yùn)算過程和結(jié)果(十進(jìn)制數(shù));

      3、可以表示出當(dāng)前的運(yùn)算類型;

      4、具有清零和復(fù)位功能;

      5、具有連續(xù)運(yùn)算功能。

      選題十五:交通燈控制系統(tǒng)

      要求:按照時(shí)間控制原則,利用并行接口和定時(shí)器,設(shè)計(jì)一套十字路口的交通燈管理系統(tǒng),通行時(shí)間(或禁止時(shí)間)30秒,準(zhǔn)備時(shí)間3秒,在準(zhǔn)備時(shí)間里黃燈閃爍3次,閃爍頻率為0.5秒,周而復(fù)始??衫?255、8253等接口電路。

      選題十六:計(jì)件系統(tǒng)設(shè)計(jì)

      要求:利用8253計(jì)數(shù),對(duì)外界脈沖技術(shù),并將計(jì)數(shù)值在數(shù)碼管上顯示,可通過鍵盤控制重新計(jì)數(shù)。

      四、設(shè)計(jì)任務(wù)及要求

      1、接口設(shè)計(jì):根據(jù)所選題目和所用的接口電路芯片設(shè)計(jì)出完整的接口電路,并在實(shí)驗(yàn)系統(tǒng)上完成電路的連接和調(diào)試通過。

      2、程序設(shè)計(jì):要求畫出程序框圖,設(shè)計(jì)出全部程序并給出程序設(shè)計(jì)說明和程序注釋。

      3、課程設(shè)計(jì)報(bào)告:(1)設(shè)計(jì)題目;

      (2)系統(tǒng)的主要功能、作用以及主要技術(shù)性能指標(biāo);

      (3)總體設(shè)計(jì)方案、工作和組成原理(框圖)或設(shè)計(jì)說明、采用的技術(shù)路線等;

      (4)系統(tǒng)設(shè)計(jì):接口電路設(shè)計(jì),程序設(shè)計(jì)(程序框圖和程序清單及注釋)其他有關(guān)的理論分析和計(jì)算;

      (5)設(shè)計(jì)總結(jié):對(duì)整個(gè)設(shè)計(jì)工作過程進(jìn)行歸納和綜合,對(duì)設(shè)計(jì)中所存在的問題和不足進(jìn)行分析和總結(jié),提出解決的方法、措施、建議和對(duì)這次設(shè)計(jì)實(shí)踐的認(rèn)識(shí)、收獲和提高。

      第五篇:微機(jī)原理課程設(shè)計(jì)

      匯編程序設(shè)計(jì)題

      題目一 密碼設(shè)置模擬

      該程序可以進(jìn)行密碼的設(shè)置(第一次)和修改(已設(shè)置密碼)。要求輸入的密碼不顯示。題目二 計(jì)算器

      編輯程序可以實(shí)現(xiàn)鍵盤輸入數(shù)據(jù)與運(yùn)算符,進(jìn)行“加減乘除”運(yùn)算。(提示:先輸入數(shù)據(jù)與運(yùn)算符,保存,再按照運(yùn)算符選擇對(duì)應(yīng)的子程序;輸入的數(shù)據(jù)是用字符表示的,需要轉(zhuǎn)換;要有良好的界面(提示信息))

      題目三工作周期判斷程序

      輸入年、月、日,能夠判斷當(dāng)日的星期數(shù),并進(jìn)行輸出。(以校歷為依照,可設(shè)某日為起點(diǎn),根據(jù)相差的天數(shù)與7的關(guān)系進(jìn)行判斷)。

      題目四 PC揚(yáng)聲器發(fā)聲

      利用8253驅(qū)動(dòng)PC機(jī)內(nèi)揚(yáng)聲器發(fā)聲,PC結(jié)構(gòu)參考相關(guān)文獻(xiàn)資料。題目五 樂曲播放

      利用PC機(jī)內(nèi)8253實(shí)現(xiàn)樂曲播放。題目六 按鍵選擇樂曲播放

      利用按鍵選擇播放不同樂曲。(★)(自制交互界面實(shí)現(xiàn)按鍵選擇★★)題目七 實(shí)現(xiàn)閃爍文字效果 編程提示:

      提示信息于屏幕中央顯示出來,用光標(biāo)定位子程序?qū)⒐鈽?biāo)定位于80*25顯示方式的第8行第10列,然后輸出一條提示信息,接著調(diào)用屏幕上卷子程序上卷一行,接著再定位光標(biāo),然后顯示下一條提示信息,直到所有信息顯示完畢,對(duì)于閃爍的信息,同樣是定位光標(biāo),然后用BIOS功能調(diào)用13H來顯示閃爍信息,當(dāng)BL的高位為1時(shí),字符閃爍。mov ah,00h mov al,03h ;設(shè)置顯示方式為80*25,16色文本 int 10h 題目八

      數(shù)字秒表

      設(shè)計(jì)可以顯示1~60秒的無存儲(chǔ)功能的秒表,最小單位為毫秒。題目九

      倒計(jì)時(shí)牌

      設(shè)計(jì)日期倒計(jì)時(shí)牌界面,可輸入設(shè)定日期,顯示當(dāng)前日期的統(tǒng)計(jì)天數(shù),如奧運(yùn)計(jì)時(shí)牌。題目十

      數(shù)字時(shí)鐘

      編程實(shí)現(xiàn)時(shí)鐘功能,按秒刷新,要求定位在屏幕右上角。

      硬件設(shè)計(jì)題

      總體要求:根據(jù)題意自行設(shè)計(jì)電路,編寫相關(guān)匯編程序。題目一

      交通燈控制系統(tǒng)

      1.利用8253定時(shí),8259中斷及8255設(shè)計(jì)電路,實(shí)現(xiàn)十字路口交通燈模擬控制。2.實(shí)現(xiàn)能自動(dòng)控制和手動(dòng)應(yīng)急控制。

      3.實(shí)現(xiàn)能隨時(shí)可以調(diào)整自動(dòng)模式的綠燈和紅燈時(shí)間。題目二 實(shí)現(xiàn)特定功能的鍵盤及LED顯示

      了解鍵盤及LED顯示接口原理,設(shè)計(jì)實(shí)驗(yàn)電路圖完成以下功能: 1.按1鍵顯示年; 2.按2鍵顯示月日; 3.按3鍵顯示GOOD ;

      4.按4鍵數(shù)碼管由左到右字符“0”循環(huán)顯示。5.自行設(shè)計(jì)特效顯示功能。題目三

      LED七段數(shù)碼管數(shù)字鐘

      設(shè)計(jì)并完成LED七段數(shù)碼管數(shù)字鐘電路,數(shù)字鐘顯示格式為:HH:MM:SS。要求:具有通過鍵盤能夠調(diào)整時(shí)、分、秒的功能。題目四

      閃爍燈

      利用8253和LED燈相結(jié)合實(shí)現(xiàn)閃爍燈效果。題目五

      電子鐘

      利用8253定時(shí)器設(shè)計(jì)一個(gè)電子鐘,并定義一個(gè)啟動(dòng)鍵。當(dāng)按下該鍵時(shí)電子時(shí)鐘從當(dāng)前設(shè)定值開始走時(shí)。

      附錄:實(shí)驗(yàn)箱功能模塊電路圖

      下載微機(jī)原理課程設(shè)計(jì)(電子時(shí)鐘)5篇word格式文檔
      下載微機(jī)原理課程設(shè)計(jì)(電子時(shí)鐘)5篇.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        2008微機(jī)原理課程設(shè)計(jì)

        《微機(jī)原理及接口》課程設(shè)計(jì)任務(wù)書 適用專業(yè):05電子信息工程 通信工程 一、 本次課程設(shè)計(jì)的目的和意義 學(xué)習(xí)和掌握計(jì)算機(jī)中常用接口電路的應(yīng)用和設(shè)計(jì)技術(shù),充分認(rèn)識(shí)理論知識(shí)對(duì)......

        微機(jī)原理課程設(shè)計(jì)

        接口技術(shù)課程設(shè)計(jì) 一、 設(shè)計(jì)內(nèi)容 設(shè)計(jì)一個(gè)投票統(tǒng)計(jì)器,完成投票、計(jì)票統(tǒng)計(jì)和票數(shù)顯示等功能。 二、設(shè)計(jì)原理及方案 在8086最小工作模式下,連接一塊8255A芯片。在 8255A的C端口......

        微機(jī)原理課程設(shè)計(jì)

        《微機(jī)原理》課程設(shè)計(jì)報(bào)告 時(shí)間 學(xué) 院 專業(yè)班級(jí) 姓 名 學(xué) 號(hào) 合 作 者 指導(dǎo)教師 成 績(jī) 2013 年 11 月摘要 本文針對(duì)可燃?xì)怏w檢測(cè)模塊MQ—K1,綜合運(yùn)用《微機(jī)原理》所學(xué)知識(shí)......

        微機(jī)原理課程設(shè)計(jì)

        合肥工業(yè)大學(xué) 計(jì)算機(jī)與信息學(xué)院 課程設(shè)計(jì) 課程:微機(jī)原理與接口技術(shù)設(shè)計(jì) 專業(yè)班級(jí):計(jì)算機(jī)科學(xué)與技術(shù)班 學(xué)號(hào):2 姓名: 一、設(shè)計(jì)題目及要求: 利用 8259A中斷,實(shí)現(xiàn)對(duì)8253多種計(jì)數(shù)......

        微機(jī)原理課程設(shè)計(jì)

        一、設(shè)計(jì)題目 單片機(jī)綜合試驗(yàn)儀——計(jì)數(shù)/中斷模塊 二、功能及性能指標(biāo) 顯示計(jì)數(shù),記到15就重新開始計(jì)數(shù) 三、設(shè)計(jì)目的 1 了解單片機(jī)綜合實(shí)驗(yàn)儀基本構(gòu)成和分模塊設(shè)計(jì)方法。掌......

        2012微機(jī)原理課程設(shè)計(jì)指導(dǎo)書

        微機(jī)原理課程設(shè)計(jì) 指 導(dǎo) 書 南通大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系 二零一二年五月 目 錄 1 課程設(shè)計(jì)的目的和任務(wù) ....................................... 1......

        微機(jī)原理課程設(shè)計(jì)題目

        1. 匯編繪圖1 屏幕上出現(xiàn)隨機(jī)(隨機(jī)顏色,隨機(jī)邊長(zhǎng),隨機(jī)線寬)的正方形 2. 匯編繪圖2 屏幕上出現(xiàn)隨機(jī)(隨機(jī)顏色,隨機(jī)邊長(zhǎng),隨機(jī)線寬)的三角形 3. 匯編繪圖3 屏幕上出現(xiàn)隨機(jī)(隨機(jī)顏色,隨機(jī)......

        微機(jī)原理課程設(shè)計(jì)題目

        微機(jī)原理課程設(shè)計(jì)題目與要求 微機(jī)原理課程設(shè)計(jì)說明: 1. 要求使用 A4 紙打印,必須有封面和目錄。封面內(nèi)容有課設(shè)題目、班級(jí)、 學(xué)號(hào)、 姓名、指導(dǎo)教師、日期等內(nèi)容。設(shè)計(jì)題目可......