微机原理与接口设计课程设计闹钟设计西安科技大学_第1页
微机原理与接口设计课程设计闹钟设计西安科技大学_第2页
微机原理与接口设计课程设计闹钟设计西安科技大学_第3页
微机原理与接口设计课程设计闹钟设计西安科技大学_第4页
微机原理与接口设计课程设计闹钟设计西安科技大学_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

微机原理与接口技术实验报告学院:计算机科学与技术学院班级:计算机科学与技术0903班姓名:一、课程题目:闹钟设计二、设计任务:利用唐都实验箱,完成以下功能:〔1〕设计一个钟表。在数码管上显示时间。〔2〕定时时间到,屏幕显示“getup!〞字符串。〔3〕显示同时,流水灯闪烁,蜂鸣器响1秒钟。三、设计方案:1.主程序在内存里存两个数,分别除10,用于数码管显示。2.8253定时器的设计用通道2做计数,clk接cpclk,1.193MHZ,工作在方式2,每次技术完毕进入IRQ7子程序。1s的最大计数初值为:1s/(1/1193000)s=1193000D由于AL最多8位,最大记到65536,小于1s的最大计数初值,所以给初值为11930D,在IRQ7子程序中给出计数次数100D,小于100时,中断返回,继续计数。当等于100时响应中断。3.8255输入输出B口输出,用于输出数码管的数;A口输出,低四位用于数码管片选,最高位用于蜂鸣器响,其他三位用于流水灯;C口输入,用于接收开关的数,通过除以60分别与内存中的分和秒比拟4.8259中断IRQ0给内存中的数UU置1,从而控制在IRQ7中接收数据并比拟,蜂鸣器响,流水灯亮。如果比拟相等给AA置1,从而给UU,AA置0。IRQ7用于定义8253的计时个数,修改时间,1s内存中的秒加1,直到60,分加1。5.接收数据用8253的C口接收数据,接收的是秒,除以60,余数是秒,商是分,分别和内存中的分和秒比拟,都相等时,屏幕上显示getup,给DI和AA置1,控制蜂鸣器和流水灯。6.蜂鸣器,流水灯在IRQ7中的UU等于1时,也就是按下了开关,响应了IRQ0中断之后,每次中断都扫描开关,看是否到达给定的时间,到了的话给DI和AA置1,DI控制蜂鸣器和哪个流水灯亮,AA=1时给UU和AA复位为0,以便下一次中断使用。IRQ7中每次都call流水灯,只有当DI大于等于1时,DI才加1,第一次DI=0时跳出流水灯程序;在主程序的display中,由于A口低四位同时片选,为了让蜂鸣器响1s钟并且给流水灯加延时,所以要对A口进行与控制,不对其控制时A口高四位输出全为1。当DI等于2时蜂鸣器响,同时流水灯第一个灯亮,给AL与上10111111B,当DI等于3时,已经是下一秒钟了,蜂鸣器不响下一个流水灯亮,AL与上01011111B,同理DI等于4时AL与上01101111B,否那么,就是其他数,蜂鸣器不响,流水灯全灭,当下一次中断时,再给DI置1。四、硬线连接图:用protues画出了根本的连线五、程序流程图:主程序IRQ0IRQ7接收数据流水灯六、源程序:STACK SEGMENT STACK DW64 DUP(?)STACK ENDSDATA SEGMENT TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH GET DB 'GETUP!',0AH,0DH,00H QQ DW 0000H WW DW 0000H BM DB 00H BF DB 00H UU DB 00H AA DB 00HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX PUSH DS;8259 MOV AX,0000H MOV DS,AX MOV AX,OFFSETIRQ7;;;;;IRQ7的中断初始化 ADD AX,2000H MOV SI,003CH MOV [SI],AX MOV AX,0000H MOV SI,003EH MOV [SI],AX MOV AX,OFFSETIRQ0;;;;;IRQ0的中断初始化 ADD AX,2000H MOV SI,0020H MOV [SI],AX MOV AX,0000H MOV SI,0022H MOV [SI],AX CLI POP DS MOV AL,00H OUT 21H,AL MOV AL,89H;8255 OUT 63H,AL MOV CX,0000H;JISHU MOV DI,0000H MOV AL,10110100B;8253DINGSHI OUT 43H,AL MOV AX,11930D OUT 42H,AL MOV AL,AH OUT 42H,ALMAIN: CALL DISPLAY CALL CLEAR JMP MAINDISPLAY:STI;;;;数码管显示 PUSH AX PUSH BX MOV SI,3000H MOV AX,QQ MOV BL,10D DIV BL MOV [SI],AH MOV [SI+1],AL MOV AX,WW MOV BL,10D DIV BL MOV [SI+2],AH MOV [SI+3],AL MOV DL,0F7H MOV AL,DLAGAIN: CMP DI,0002H;;;;;控制流水灯与掉其他位 JNZ TT1 PUSH AX AND AL,10111111B OR AL,00110000B OUT 60H,AL POP AX JMP TIAOTT1: CMP DI,0003H JNZ TT2 PUSH AX AND AL,01011111B OR AL,01010000B OUT 60H,AL POP AX JMP TIAOTT2: CMP DI,0004H JNZ TTT PUSH AX AND AL,01101111B OR AL,01100000B OUT 60H,AL POP AX JMP TIAOTTT: PUSH AX AND AL,7FH OR AL,01110000B OUT 60H,AL POP AXTIAO: MOV AL,[SI] MOV BX,OFFSET TABLE AND AX,00FFH ADD BX,AX MOV AL,[BX] OUT 61H,AL CALL CLEAR MOV AL,DL TEST AL,01H JZ JIESHU INC SI ROR AL,1 MOV DL,AL JMP AGAINJIESHU: POP BX POP AX RET;;数码管全灭CLEAR: MOV AL,00H OUT 61H,AL RETIRQ7: INC CX;;8253定时个数 CMP CX,100D JZ XIANSHI MOV AL,20H OUT 20H,AL IRET;;数码管显示数据 XIANSHI: PUSH AX PUSH BX MOV AX,QQ INC AX MOV QQ,AX CMP AX,003CH JNZ CHULAI MOV AX,0 MOV QQ,AX MOV BX,WW INC BX MOV WW,BX CMP BX,003CH JNZ CHULAI MOV BX,0 MOV WW,BXCHULAI: MOV CX,0000H;JISHU MOV AL,20H OUT 20H,AL CMP UU,01H JNZ UUU CALL JIESUUU: POP BX CMP AA,01H JNZ HH MOV UU,00H MOV AA,00HHH: CALL LSD POP AX IRET;;从开关接受时间JIES: PUSH AX PUSH BX IN AL,62H;JIESHOUSHIJIAN AND AX,00FFH MOV BL,60D DIV BL MOV BM,AH MOV BF,AL ;;比拟秒 MOV AL,BM AND AX,00FFH CMP AX,QQ JNZ PP ;;比拟分 MOV AL,BF AND AX,00FFH CMP AX,WW JNZ PP ;;A口高位输出为1,蜂鸣器响 ;;;MOV AL,0F0H ;;OR AL,00110000B ;;OUT 60 CALL GETUP MOV DI,0001H MOV AA,01HPP: ;;;;CALL LSD POP BX POP AX RET;;流水灯LSD:

温馨提示

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

评论

0/150

提交评论