计时器程序.pdf_第1页
计时器程序.pdf_第2页
计时器程序.pdf_第3页
计时器程序.pdf_第4页
计时器程序.pdf_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微機處理原理與應用微機處理原理與應用 計分計時器計分計時器 指導教授 林達德指導教授 林達德 Ace 一隊一隊 B90611004 林暐翔林暐翔 B90611020 陳宇璿陳宇璿 B90611023 藍皓瑋藍皓瑋 B90611030 沈彥志沈彥志 一 動機 由於我們小組 4 人對籃球都很有興趣 但平常打球時常會忘記比分 所以我 們就決定自製一個易於攜帶的面板在籃球比賽中使用 其包含顯示兩隊分數 比 賽剩餘時間等基本功能 令外還將使用一個蜂鳴器在時間終了時鳴叫 二 器材 共陽 4 字七段顯示器 用於計時 右圖為其每個 pin 所對應的功能 共陽的意思即為每個 com 點 共 點 都是接到電壓 而其它點則是 接地 若現在是 com1 A 兩點有訊 號 則七段顯示器的 A 部份便會 亮起來 共陰 2 字七段顯示器 用於計分 左圖為每個 pin 對應的功能 共 陰的意思即為在每個 com 點都是接地 而其他點則接到電壓 圖中左邊的顯示 器為 1 右邊為 2 左圖為壓電式蜂鳴器 原本是我們想要使用的 器材 但後來發現它不能直接使用電壓來使其 鳴叫 故我們換成下圖的電磁式蜂鳴器 雖然 如此 我們最後還是發現我們無法利用 8255 的 輸出 port 來控制它 所以最後蜂鳴器的使用只 好宣告放棄 左圖即為電磁式蜂鳴器 可直接由輸出 port 的 Vcc 來供應電源 此外我們原本是想購買 8051 來使用 但為此我們就必須再購買相關配備且 自行焊線 太過費時所以不採用 最後我們決定使用實習所用的 MTS 86C 當做 介面 因為其有兩個 8255 可做計分計時的輸出輸入 port 另外還有鍵盤可控制 訊號的輸入 計分計時分別使用了 2 個 port 我們在麵包板上將七段顯示器的各 pin 接好 再接至 8255 便大功告成 計時方面可以由鍵盤輸入所須要的時間 輸入後按 A 開始 B 是暫停 C 為 暫停後開始 D 為 reset 之後便可開始倒數計時到 0 為止 而計分方面第 1 組 分數是由 1 和 2 來控制加分和減分 第二組則由 3 和 4 來控制 5 則是 reset 三 程式 計時器程式 APORT EQU 0FFF9H CWR EQU 0FFFFH CPORT3 EQU 0FFFDH DATA79 EQU 0FFE8H CNTR79 EQU 0FFEAH FND EQU 3FF0H BPORT EQU 0FFFBH CODE SEGMENT ASSUME CS CODE DS CODE ORG 0 START MOV SP 2000H MOV AX CS MOV DS AX MOV AL 80H MOV DX CWR OUT DX AL MOV AL 08H MOV DX APORT OUT DX AL MAIN MOV DX CNTR79 MOV AL 0 OUT DX AL MOV AL 39H OUT DX AL LOOP MAIN MOV DX CNTR79 LOOP1 IN AL DX TEST AL 7 JZ LOOP1 MOV DI OFFSET FONT MOV DX DATA79 IN AL DX CBW ADD DI AX ADD DI 0001H MOV DX APORT MOV AL 01H OUT DX AL MOV DX CPORT3 MOV AL DI OUT DX AL LOOP MAIN1 MOV DX CNTR79 LOOP2 IN AL DX TEST AL 7 JZ LOOP2 MOV SI OFFSET FONT MOV DX DATA79 IN AL DX CBW CMP AX 000AH JE J1 MOV SP AX CMP SP 0000H JNE ZERO MOV SP 000AH DEC DI ZERO ADD SI AX ADD SI 0001H MOV DX APORT MOV AL 02H OUT DX AL MOV DX CPORT3 MOV AL SI OUT DX AL JMP LOOP MAIN1 J1 MOV SI OFFSET FONT J3 MOV BP 0006H J4 MOV BX 000AH J5 MOV CX 002AH LED1 MOV AL 01H MOV DX APORT OUT DX AL MOV AL DI MOV DX CPORT3 OUT DX AL MOV AX 0200H L1 DEC AX JNZ L1 MOV AL 00H MOV DX APORT OUT DX AL MOV AL 0FFH MOV DX CPORT3 OUT DX AL LED2 MOV AL 02H MOV DX APORT OUT DX AL ADD SI SP MOV AL SI SUB SI SP MOV DX CPORT3 OUT DX AL MOV AX 0200H L2 DEC AX JNZ L2 MOV AL 00H MOV DX APORT OUT DX AL MOV AL 0FFH MOV DX CPORT3 OUT DX AL LED3 MOV AL 04H MOV DX APORT OUT DX AL ADD SI BP MOV AL SI SUB SI BP MOV DX CPORT3 OUT DX AL MOV AX 0200H L3 DEC AX JNZ L3 MOV AL 00H MOV DX APORT OUT DX AL MOV AL 0FFH MOV DX CPORT3 OUT DX AL LED4 MOV AL 08H MOV DX APORT OUT DX AL ADD SI BX MOV AL SI SUB SI BX MOV DX CPORT3 OUT DX AL MOV AX 0200H L4 DEC AX JNZ L4 MOV AL 00H MOV DX APORT OUT DX AL MOV AL 0FFH MOV DX CPORT3 OUT DX AL LOOP MAI MOV DX CNTR79 LOO IN AL DX TEST AL 7 MOV DX DATA79 IN AL DX CBW CMP AX 000BH JE STOP TSTART DEC CX JNZ LED1 DEC BX JNZ J5 DEC BP JNZ J4 DEC SP JNZ J3 DEC DI MOV AL DI CMP AL 0FFH JNE J2 JMP ZOO J2 MOV SP 000AH JMP J3 STOP MOV AL 01H MOV DX APORT OUT DX AL MOV AL DI MOV DX CPORT3 OUT DX AL MOV AX 0200H L5 DEC AX JNZ L5 MOV AL 00H MOV DX APORT OUT DX AL MOV AL 0FFH MOV DX CPORT3 OUT DX AL MOV AL 02H MOV DX APORT OUT DX AL ADD SI SP MOV AL SI SUB SI SP MOV DX CPORT3 OUT DX AL MOV AX 0200H L6 DEC AX JNZ L6 MOV AL 00H MOV DX APORT OUT DX AL MOV AL 0FFH MOV DX CPORT3 OUT DX AL MOV AL 04H MOV DX APORT OUT DX AL ADD SI BP MOV AL SI SUB SI BP MOV DX CPORT3 OUT DX AL MOV AX 0200H L7 DEC AX JNZ L7 MOV AL 00H MOV DX APORT OUT DX AL MOV AL 0FFH MOV DX CPORT3 OUT DX AL MOV AL 08H MOV DX APORT OUT DX AL ADD SI BX MOV AL SI SUB SI BX MOV DX CPORT3 OUT DX AL MOV AX 0200H L8 DEC AX JNZ L8 MOV AL 00H MOV DX APORT OUT DX AL MOV AL 0FFH MOV DX CPORT3 OUT DX AL LOOP MA MOV DX CNTR79 LO IN AL DX TEST AL 7 MOV DX DATA79 IN AL DX CBW CMP AX 000CH JE TSTART CMP AX 000DH JE START JMP STOP ZOO MOV DX APORT MOV AX 0FH OUT DX AX MOV SI OFFSET FONT MOV AL 0A0H MOV DX CPORT3 OUT DX AL MOV AL 0FFH MOV DX BPORT OUT DX AL MOV DX CNTR79 IN AL DX TEST AL 7 MOV DX DATA79 IN AL DX CBW CMP AX 000DH JE START JMP ZOO Dgfedcba FONT DB 11111111B 0 DB 10100000B 0 DB 10111011B 1 DB 01100010B 2 DB 00101010B 3 DB 00111001B 4 DB 00101100B 5 DB 00100100B 6 DB 10111010B 7 DB 00100000B 8 DB 00111000B 9 CODE ENDS END START 計分器程式 PORTIN EQU 0FFE8H INPUT APORT2 EQU 0FFF8H OUTPUT LEG BPORT2 EQU 0FFFAH OUTPUT COM CNT3 EQU 0FFFEH CONTROL 8255 CNTKEY EQU 0FFEAH CONTROL KEYPAD TPORT EQU 03FD2H LED TEST COM POINT 第一組 個 0F7H 十 07FH COM POINT 第二組 個 0FEH 十 0EFH CODE SEGMENT ASSUME CS CODE DS CODE ORG 0 START MOV SP 2000H MOV AL 80H MOV DX CNT3 OUT DX AL MOV DX CNTKEY MOV AL 00H OUT DX AL MOV AL 39H OUT DX AL MOV AH 0AH MOV AL 0AH MOV SI OFFSET FONT MOV DI OFFSET FONT MOV BP OFFSET FONT MOV DX OFFSET FONT RSET MOV BL SI MOV BH DI PUSH SI MOV SI BP MOV CL SI MOV SI DX MOV CH SI POP SI J1 PUSH AX PUSH DX MOV AL BL MOV DX APORT2 LEG OUT DX AL MOV AL 0F7H COM N1 個 MOV DX BPORT2 OUT DX AL PUSH CX MOV CX 0220H LOOP POP CX MOV AL 00H MOV DX APORT2 OUT DX AL MOV AL 0FFH MOV DX BPORT2 OUT DX AL MOV AL BH MOV DX APORT2 LEG OUT DX AL MOV AL 07FH COM N1 十 MOV DX BPORT2 OUT DX AL PUSH CX MOV CX 0220H LOOP POP CX MOV AL 00H MOV DX APORT2 OUT DX AL MOV AL 0FFH MOV DX BPORT2 OUT DX AL MOV AL CL MOV DX APORT2 LEG OUT DX AL MOV AL 0FEH COM N2 個 MOV DX BPORT2 OUT DX AL PUSH CX MOV CX 0220H LOOP POP CX MOV AL 00H MOV DX APORT2 OUT DX AL MOV AL 0FFH MOV DX BPORT2 OUT DX AL MOV AL CH MOV DX APORT2 LEG OUT DX AL MOV AL 0EFH COM N2 十 MOV DX BPORT2 OUT DX AL PUSH CX MOV CX 0220H LOOP POP CX MOV AL 00H MOV DX APORT2 OUT DX AL MOV AL 0FFH MOV DX BPORT2 OUT DX AL MOV DX CNTKEY IN AL DX TEST AL 07H 送訊號進來 POP DX POP AX JZ J1 PUSH AX PUSH DX MOV DX PORTIN IN AL DX CMP AL 01H JE ADD1 CMP AL 02H JE DEC1 CMP AL 03H JE ADD3 CMP AL 04H JE DEC3 CMP AL 05H JE START POP DX POP AX JMP J1 ADD1 POP DX POP AX INC SI MOV BL SI DEC AH CMP AH 00H JE ADD2 JMP J1 ADD2 MOV SI OFFSET FONT INC DI MOV BH DI MOV AH 0AH JMP J1 DEC1 POP DX POP AX DEC SI CMP AH 0AH JE DEC2 INC AH MOV BL SI JMP J1 DEC2 ADD SI 0AH MOV BL SI MOV AH 01H DEC DI MOV BH DI JMP J1 ADD3 POP DX POP AX PUSH SI INC BP MOV SI BP MOV CL SI POP SI DEC AL CMP AL 00H JE ADD4 JMP J1 ADD4 MOV BP OFFSET FONT INC DX PUSH SI MOV SI DX MOV CH SI POP SI MOV AL 0AH JMP J1 DEC3 POP DX POP AX DEC BP CMP AL 0AH JE DEC4 INC AL PUSH SI MOV SI BP MOV CL SI POP SI JMP J1 DEC4 ADD BP 0AH PUSH SI MOV SI BP MOV CL SI POP SI MOV AL 01H DEC DX PUSH SI MOV SI DX MOV CH SI POP SI JMP J1 Dgfedcba FONT DB 00111111B 0 DB 00100001B 1 DB 01011011B 2 DB 01110011B 3 DB 01100101B 4 DB 01110110B 5 DB 01111110B 6 DB 00100011B 7 DB 01111111B 8 DB 01110111B 9 DB 00111111B 0 CODE ENDS END START 四 圖示 計時器 計分器 五 結論 我們原本的構想是直接買模組來設計 但在實地去光華商場走一趟之後發覺 模組的價錢實在過高 於是我們改用 MTS 86C 來當作介面的使用 但為此我們 卻遇到了許多的困難 光是把 MTS 86C 搞懂就花了不少時間 而隨機所付的說 明書還有一些錯誤 實在可惡 而在測試顯示器接腳的時候還滿容易的 了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论