微机原理与接口技术课程设计报告电子钟.doc





《微机原理与接口技术课程设计报告电子钟.doc》由会员分享,可在线阅读,更多相关《微机原理与接口技术课程设计报告电子钟.doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微机原理与接口技术课程设计报告 电子钟实验学院: 计算机学院指导教师:马学文一 实验任务及要求 任务:1、掌握综合使用基本输入输出设备、通用接口芯片、专用接口芯片的方法;2、掌握实时处理程序的编制和调试方法。要求设计一个定时显示装置,用实验仪左侧的六个LED数码管显示时间,时间显示格式为24小时制。分秒值为59分55秒时开始报时,每秒钟蜂鸣器鸣叫一声,到整点报时停止。0123456789GS 用小键盘控制时钟的启停和时钟的设置,键的定义参见上图键值具体定义如下:G键(启停键) 程序启动后,按下该键时钟启动; 再次按下该键,暂停计时,显示当前时间。S键(设置键) 按下S键后,为时钟设置时、分、秒
2、初始值。二 硬件连线 键盘的控制、LED显示模块:采用74系列模块控制键盘的行信号Q_0、Q_1、Q_2、Q_3分别与开放的输入信号Q0、Q1、Q2、Q3相连,键盘的列信号P_0、P_1、P_2和开放的输出信号P0、P1、P2相连。74芯片的片选信号CS1接地址译码信号340H, CS2接地址译码信号360H。时间的精确定时:用8254定时器0产生25ms的中断信号;8254的片选CS连地址输出端320H,A0,A1分别连地址总线A2,A3,GATE0连+5V,CLK0连74LS393分频输出的47K输出端,OUT0连接到8259的IRQ0整点报时控制:由8255模块控制;PC0直接与蜂鸣器相
3、连,CS_4连接到实验仪中部的地址输出端CS_4中断处理模块:由8259控制8259的片选CS-1连地址输出300H, INT1连总线输入INTR,8259模块的INT-A连总线的INTA,8259的SP/1连+5V, 8259的IRQ0连接到8254的 OUT0。三、程序流程图 主程序 初始化各阶段寄存器及相关变量 初始化8254、8259、8255芯片 设置中断向量、开放8259中断屏蔽 开放处理器中断 扫描键盘 G键 S键 其他键Stop值取反Stop置0FF调用键盘扫描程序设置当前时分秒值Stop置为0 中断服务程序保护现场NY判断时间是否不小于59分55秒 报时N扫描键盘YG键?调用
4、启停子程序YS键?调用设置时间子程序COUNT加1YCOUNT=40?修改时间,调用ADDONE子程序COUNT清0显示时间,调用显示时间子程序N结束中断(发EOI命令)恢复现场中断返回四、实验源代码.486p DATA SEGMENT AT 0 USE16ORG 1000HHOUR DW ?MIN DW ?SEC DW ?SLL DB ?COUNT DB ?DATA ENDSCODE SEGMENT USE16 ASSUME CS:CODE,DS:DATAORG 1500H BEG:JMPSTARTTAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,
5、77H,7CH,00H ;0F的共阴极七段译码表 00H表示不显示任何东西KEYCOD DB 0EEH,0DEH,0BEH,0EDH,0DDH,0BDH,0EBH,0DBH,0BBH,0E7H,0D7H,0B7H ;行列编码值KEYVAL DB 0,1,2,3,4,5,6,7,8,9,0AH,0BH ;所有键的键面值PORT1EQU340H ;数码管段选端口 PORT2EQU360H ;数码管位选端口,键盘矩阵的行列端口START: MOVEAX,60000000HMOV CR0,EAX MOV AX,DATAMOV DS,AXMOV HOUR,0203H ;小时分钟以及秒的初始化MOV MI
6、N,0509HMOV SEC,0502H LEA BX,TABMOV SLL,0 ;开始暂停标志位置0MOV COUNT ,0 ;中断次数计数初始值为0;8255初始化 ,用于产生报时的脉冲 MOV EAX,80808080H;控制字 MOV DX,20CH ;后面的是4个8255的控制端口20C-20F (这个地址由实验台决定) OUT DX,EAX ;初始化8255,A、B、C口均为方式0输出 MOV DX,20BH MOV AL,0FFH OUT DX,AL ;8254初始化,用于产生周期为25ms的中断MOV AL,00110110B ;计数器0,先低后高,方式三,二进制MOV DX,
7、32cH ;写往控制口OUT DX,ALMOV DX,320H ;计数器0写初值:47KHz*25msMOV AX,1175OUT DX,ALMOV AL,AHOUT DX,AL ;8259初始化 CLI :关中断MOV DX,300H ;ICW1MOV AL,00010011BOUT DX,AL MOV DX,308H ;ICW2MOV AL,08H ;IR0中断类型号为08H OUT DX,AL MOV AL,00000001B ;ICW4 OUT DX,AL MOV AL,0FEH ;IR0开屏蔽 OUT DX,AL XOR AX,AX ;装载中断向量 MOV ES,AXMOV DI,0
8、8H*4 MOV AX,OFFSET INTSR MOV ES:DI,AX MOV AX,SEG INTSR MOV ES:DI+2,AX STI ;开中断 JMP $ INTSR PROC ;中断服务程序 CMP MIN,0509H ;比较当前时间是否在59分55秒00分00秒之间 JL NEXT1 CMP SEC,0505H JL NEXT1 MOV DX,20BH MOV AL,00H ;蜂鸣器低有效,报时 OUT DX,AL JMP NEXT2NEXT1: CMP MIN,0 JNE NEXT3 CMP SEC,0 JNE NEXT3 MOV DX,20BH MOV AL,00H ;蜂
9、鸣器低有效,报时 OUT DX,AL JMP NEXT2NEXT3: MOV DX,20BH MOV AL,0FFH OUT DX,ALNEXT2: CMP COUNT,20 ;用8255产生0.5ms的蜂鸣 JLE NEXT4 MOV DX,20BH MOV AL,0FFH OUT DX,ALNEXT4:CMP SLL,0 JZ LOB CALL TSTARTLOB: CALL KEYCHECK ;检测有无键按下 CMP AL,0AH ;启停键按下,调用启停程序 JNZ NEXT5 CALL TSTART JMP NEXT6NEXT5: CMP AL,0BH ;设置键按下,调用设置时间程序
10、JNZ NEXT6 CALL SETTIMENEXT6: INC COUNT ;当COUNT直为40时,加一秒,之后置0 CMP COUNT,40 ;25ms*40=1s JB NEXT7 CALL ADDONE MOV COUNT,0NEXT7: CALL SHOW ;显示时间 MOV AL,20H ;发EOI命令,结束中断 MOV DX,300H OUT DX,AL IRETINTSR ENDPTSTART PROC ;控制时间暂停和开始。 CMP SLL,0 JNZ R1 DEC SLLR1: CALL KEYCHECK CMP AL,0AH JZ R2 CALL SHOW JMP R1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 课程设计 报告 电子钟

限制150内