1、 1 课课 程程 设设 计计 课程名称 微机原理课程设计与实践微机原理课程设计与实践 题目名称 微型计算机应用系统的设计 2012 年 3 月 15 日 2 实验的任务书实验的任务书 计算器(1) (一)(一) 目的目的 (1) 巩固和加深对 微机原理及应用 课程内容的认识和理解, 提高应用水平。 (2) 掌握汇编语言程序的编程方法。 (3) 熟悉键盘控制和七段数码管的使用。 (二)(二) 设计要求设计要求及设计程序及设计程序 课程设计内容上机编程 一在显示器上显示任意四位十六进制数 5 9 F C 将表格里的数在七段 LED 上同时显示出来,要求做成循环程序,并使用 XLAT 来译码。 1.
2、11.1 第第一个程序的流程图一个程序的流程图 1.1.2 2 源程序源程序 STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS DATA SEGMENT TAB1 DB 05H,09H,0FH,0CH ;设置四位查询位 3 TAB2 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;设置0F的十六位数码管段 码 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV
3、 AL,80H ;8255A初始化 OUT 63H,AL L1: MOV DL,0F7H MOV SI,OFFSET TAB1 MOV CX,0004H L2: MOV AL,DL ;位码送给AL OUT 61H,AL MOV AL,SI MOV BX,OFFSET TAB2 ;查表取出数码管的段码 XLAT TAB2 OUT 60H,AL ;查表的段码送A口显示 INC SI ROL DL,01H ;下个要显示的数码管位码 CALL TIME LOOP L2 JMP L1 TIME: PUSH AX ;延时程序 PUSH CX MOV CX,0002H TIME1: MOV AX,0300H
4、 TIME2: DEC AX JNZ TIME2 LOOP TIME1 POP CX POP AX RET CODE ENDS END START 二、二、2.12.1 将 8 个键按实验室要求定义键值,按任意键在显示器上显示对应键值, 要求显示值能左移。 7 1 B E A F 6 9 2.2 2.2 流程图流程图 4 2.3 源程序: STACK SEGMENT STACK DW 64 DUP (?) STACK ENDS DATA SEGMENT VAR1 DB 0BFH,0DFH,0EFH,0F7H VAR2 DB 3FH,3FH,3FH,3FH,3FH VAR3 DB 00H,00H,00H,00H,00H TABL DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H