课程设计--电子跑表

上传人:第*** 文档编号:34243398 上传时间:2018-02-22 格式:DOC 页数:6 大小:58.50KB
返回 下载 相关 举报
课程设计--电子跑表_第1页
第1页 / 共6页
课程设计--电子跑表_第2页
第2页 / 共6页
课程设计--电子跑表_第3页
第3页 / 共6页
课程设计--电子跑表_第4页
第4页 / 共6页
课程设计--电子跑表_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《课程设计--电子跑表》由会员分享,可在线阅读,更多相关《课程设计--电子跑表(6页珍藏版)》请在金锄头文库上搜索。

1、电子跑表的设计与实现一、 设计内容:设计与实现用微机控制的电子跑表的功能。二、设计要求:1、 利用开发箱中的 8255 以及 8254 芯片完成功能。用 8254 实现计时。2、 显示格式:分 秒 1/10 秒3、 定义 PC 机上的键盘或实验箱上的小键盘控制计时开始、停止和清零。二、实验器材:PC 机一台,实验箱一个三、实验结果1 显示格式:分、秒、1/10 秒,用四个 LED 显示。中间两个显示秒。2 定义实验箱上几个开关控制计时开始、停止和清零。三 、实验流程图:启动 按停止键YESYN 开始 判断按键其它键不起作用开始计时停止计时清零复位是否复位结束开始计时四、实验接线图8254 接线

2、图xd7总 xd6xd5线 xd4xd3接 xd2xd1口 xd0xa0 xa1XIOWXIORIOY2 8255 接线图D7 GATE0D6 D5D4D3D2 CLKD1D0A0A1WRRD OUTOCSCSD7 PA0D6 PA1D5 PA2D4 PA3D3 PA4D2 PA5D1 PA6D0 PA7WRRDCSA1A0ABCDEFGDPX1X2X3X4四、 实验代码 MY8255_A EQU 0E460HMY8255_B EQU 0E461HMY8255_C EQU 0E462HMY8255_MODE EQU 0E463HMY8254CT0 EQU 0E440HMY8254MD EQU

3、0E443HSTACK1 SEGMENT STACKDW 64 DUP(?)STACK1 ENDSDATA SEGMENT ;数据段定义TABLE1 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHBUFFER DB 6 DUP(0)count DW 0000HSE DB 00HSEC DB 00HMIN1 DB 00HSEC1 DB 00HMIN22 DB 00HMIN21 DB 00HSEC21 DB 00HSEC22 DB 00HSECOND DB 60HMINUTE DB 60HDATA ENDSCODE SEGMENTASSUME CS:CODE,

4、DS:DATA,SS:STACK1START: MOV AX,DATAMOV DS,AXMOV BX,OFFSET TABLE1MOV DI,OFFSET BUFFERMOV SI,OFFSET SECONDINIT8255: MOV AL,82H ;向 8255 写入控制字,PA,PC 口作输出,PB 口作输入MOV DX,MY8255_MODEOUT DX,ALINIT8254: MOV AL,34H ;8254 采用通道 0,方式 2MOV DX,MY8254MD ;向 8254 写入控制字OUT DX,ALMOV AX,003CH ;写入计数初值MOV DX,MY8254CT0OUT

5、DX,ALMOV AL,AHOUT DX,ALA3: MOV CX,0004HA4: call display1 ;该死循环用于循环监测 PB 口的输入,以便进行相应的跳转MOV DX,MY8255_BIN Al,DXCMP AL,01H ;START 启动JZ A6CMP AL,02H ;RET 复位JZ KEY15CMP AL,03H ;STOP 停止JZ A5JMP A4A5: MOV AL,SECONDMOV DX,MY8255_AOUT DX,Aljmp a4A6: CALL DISPLAY1 CMP AX,0FFHJZ A4LOOP A4;MOV AL,SECOND ;秒加 1MO

6、V AX,countADD AX,0001H MOV count,AX JNZ ND_HOUDAAND_HOU: CALL DISPLAY1JMP A3KEY15: CALL CLEARMOV SECOND,00Hmov minute,00hMOV COUNT,0000HMOV MINUTE,00H JMP a4EXIT1: RETDISPLAY1 PROC ;显示子程序PUSH DSPUSH AXPUSH BXPUSH DXMOV AX,DATAMOV DS,AXMOV AX,countMOV BL,10DIV BLMOV SEC,AHMOV SE,ALMOV AL,SEMOV AH,0MO

7、V BL,60DIV BLMOV MIN1,ALMOV SEC1,AH MOV AL,MIN1MOV AH,0MOV BL,10DIV BLMOV MIN21,ALMOV MIN22,AHMOV AL,SEC1MOV AH,0MOV BL,10DIV BLMOV SEC21,ALMOV SEC22,AHYY: MOV DX,MY8255_C ;选中一个数码管MOV AL,0FEHOUT DX,ALMOV AL,MIN22MOV BX,OFFSET TABLE1XLAT MOV DX,MY8255_A ;输出该数码管对应的显示码 OUT DX,ALCALL DELLYMOV DX,MY8255_

8、C ;选中一个数码管MOV AL,0FDHOUT DX,ALMOV AL,SEC21MOV BX,OFFSET TABLE1XLAT MOV DX,MY8255_A ;输出该数码管对应的显示码 OUT DX,ALCALL DELLYMOV DX,MY8255_C ;选中一个数码管MOV AL,0FBHOUT DX,ALMOV AL,SEC22MOV BX,OFFSET TABLE1XLAT MOV DX,MY8255_A ;输出该数码管对应的显示码 OUT DX,ALCALL DELLYMOV DX,MY8255_C ;选中一个数码管MOV AL,0F7HOUT DX,ALMOV AL,SEC

9、MOV BX,OFFSET TABLE1XLAT MOV DX,MY8255_A ;输出该数码管对应的显示码 OUT DX,ALPOP OP BXPOP AXPOP DS CALL DELLYRETDISPLAY1 ENDPDELLY PROC ;延时子程序PUSH AXPUSH CXMOV CX , 002FHBB: MOV AX , 0FFFFHAA: DEC AXJNZ AALOOP BB POP CXPOP AXRETDELLY ENDPCLEAR: PUSH AX ;清零复位MOV AL,3FHMOV BUFFER,ALMOV BUFFER+1,ALMOV BUFFER+2,ALMOV BUFFER+3,ALMOV BUFFER+4,ALMOV BUFFER+5,ALPOP AXRETCODE ENDSEND START六、实验结果:正常运行后,数码管显示全零,按动实验板上的启动键开始计时,四只数码管从高到低位分别显示分、秒、1/10 秒。此时按停止键会暂停计时。按复位后会清零复位。否则会一直计时。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号