微机课程设计报告(上机部份).docVIP

  • 0
  • 0
  • 约1.33万字
  • 约 19页
  • 2017-09-28 发布于重庆
  • 举报
微机课程设计报告(上机部份)

课 程 设 计 报 告 课程名称 微机原理及应用 题目名称 计算器(1) 学生学院 自动化学院 专业班级 07级电气 ( 1 )班 学 号 3107001010 学生姓名 何耀洪 指导教师 李传芳 2010年03月13日 设计1 编程在四位七段LED同时显示2F8C。 要求:程序以循环格式书写,并使用XLAT指令进行译码。 程序: DATAS SEGMENT VAR1 DB 0FEH,0FDH,0FBH,0F7H ;此处输入数据段代码 VAR2 DB 02H,0FH,08H,0CH TABLE1 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H DATAS ENDS STACKS SEGMENT DW 64 DUP(?) ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX MOV AL,88H ;此处输入代码段代码 OUT 63H,AL A2: MOV BX,OFFSET TABLE1 MOV SI,OFFSET VAR1 MOV DI,OFFSET VAR2 MOV CX,0004H A1: MOV AL,[SI] OUT 60H,AL MOV AL,[DI] XLAT OUT 61H,AL CALL TIME INC DI INC SI LOOP A1 JMP A2 TIME: PUSH AX PUSH CX MOV CX,0010H TIME1: MOV AX,0030H TIME2: DCE AX JNZ TIME2 LOOP TIME1 POP CX POP AX RET CODES ENDS END START 设计二 编程实现以下键盘功能: F 9 8 C 6 B A 7 并能左移显示。 程序: DATAS SEGMENT VAR1 DB 4 DUP(?) ;此处输入数据段代码 VAR2 DB 0FEH,0FDH,0FBH,0F7H TABLE1 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H DATAS ENDS STACKS SEGMENT DB 64 DUP(?);此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX ;此处输入代码段代码 MOV AL,88H ;8255 初始化 OUT 63H,AL STT: MOV AL,00H OUT 60H,AL IN AL,62H AND AL,30H CMP AL,30H JNZ KEYABC CALL DISP JMP STT ;---------------------------------- KEYABC: CALL TIME ;延时,去抖动 IN AL,62H AND AL,30H CMP AL,30H JNZ KEY_F JMP STT ;---------------------------------- KEY_F: MOV AL,0FEH ;键盘扫描识别 OUT 60H,AL ;PA0接口扫描 IN AL,62H TEST AL,20H ;测试PC5 JNZ KEY_6 MOV DL,0FH CALL FIND JMP STTK KEY_6: TEST AL,10H ;测试PC4 JNZ KEY_9 MOV DL,06H CALL

文档评论(0)

1亿VIP精品文档

相关文档