1、微型计算机应用系统的课程设计报告 课 程 设 计课程名称 微机原理课程设计与实践 题目名称 微型计算机应用系统的设计 2012年 3 月 15日实验的任务书计算器(1)(一) 目的(1) 巩固和加深对微机原理及应用课程内容的认识和理解,提高应用水平。(2) 掌握汇编语言程序的编程方法。(3) 熟悉键盘控制和七段数码管的使用。(二) 设计要求及设计程序课程设计内容上机编程一在显示器上显示任意四位十六进制数59FC将表格里的数在七段LED上同时显示出来,要求做成循环程序,并使用XLAT来译码。1.1第一个程序的流程图 1.2源程序 STACK SEGMENT STACK DW 64 DUP(?)S
2、TACK ENDSDATA SEGMENTTAB1 DB 05H,09H,0FH,0CH ;设置四位查询位TAB2 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;设置0F的十六位数码管段码 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV AL,80H ;8255A初始化 OUT 63H,ALL1: MOV DL,0F7H MOV SI,OFFSET TAB1 MOV CX,0004HL2: MOV
3、 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 L1TIME: PUSH AX ;延时程序 PUSH CX MOV CX,0002HTIME1: MOV AX,0300HTIME2: DEC AX JNZ TIME2 LOOP TIME1 POP CX POP AX RETCODE ENDS END START二、2.1将8个键按实验室要求
4、定义键值,按任意键在显示器上显示对应键值,要求显示值能左移。71BEAF692.2 流程图2.3源程序:STACK SEGMENT STACK DW 64 DUP (?)STACK ENDSDATA SEGMENTVAR1 DB 0BFH,0DFH,0EFH,0F7HVAR2 DB 3FH,3FH,3FH,3FH,3FHVAR3 DB 00H,00H,00H,00H,00HTABL DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDATA ENDSCODE SEGMENT ASSUME CS:CODE,D
5、S:DATASTART: MOV AX,DATA MOV DS,AX MOV AL,89H OUT 63H,AL ;8255A初始化STT: MOV AL,00H ;键盘测试 OUT 61H,ALNEXT: IN AL,62H AND AL,82H CMP AL,82H JNZ KEYABC CALL DISP ;调用显示程序 JMP STT;-KEYABC: CALL TIME ;延时,去抖动 IN AL,62H AND AL,82H CMP AL,82H JNZ KEY_7 JMP STTKEY_7: MOV AL,0F7H ;键盘扫描识别 OUT 61H,AL IN AL,62H TES
6、T AL,02H JNZ KEY_A CALL KEY7 JMP STTKKEY_A: TEST AL,80H JNZ KEY_1 CALL KEYA JMP STTKKEY_1: MOV AL,0EFH OUT 61H,AL IN AL,62H TEST AL,02H JNZ KEY_F CALL KEY1 JMP STTKKEY_F: TEST AL,80H JNZ KEY_B CALL KEYF JMP STTKKEY_B: MOV AL,0DFH OUT 61H,AL IN AL,62H TEST AL,02H JNZ KEY_6 CALL KEYB JMP STTKKEY_6: TE
7、ST AL,80H JNZ KEY_E CALL KEY6 JMP STTKKEY_E: MOV AL,0BFH OUT 61H,AL IN AL,62H TEST AL,02H JNZ KEY_9 CALL KEYE JMP STTKKEY_9: TEST AL,80H JNZ KEY_01 CALL KEY9KEY_01: JMP STTK;- ;按键7处理子程序KEY7: CALL LP1 ;低4位字节前移 MOV AL,07H MOV DI+4,AL LEA BX,TABL ;查表取出要显示数字的数码管段码 XLAT TABL MOV SI+4,AL CALL DISP ;显示 RET
8、 ;返回;-KEYA: CALL LP1 ;按键A处理子程序 MOV AL,0AH MOV DI+4,AL LEA BX,TABL XLAT TABL MOV SI+4,AL CALL DISP RET;-KEY1: CALL LP1 ;按键1处理子程序 MOV AL,01H MOV DI+4,AL LEA BX,TABL XLAT TABL MOV SI+4,AL CALL DISP RET;-KEYF: CALL LP1 ;按键F处理子程序 MOV AL,0FH MOV DI+4,AL LEA BX,TABL XLAT TABL MOV SI+4,AL CALL DISP RET;-KEY
9、B: CALL LP1 ;按键B处理子程序 MOV AL,0BH MOV DI+4,AL LEA BX,TABL XLAT TABL MOV SI+4,AL CALL DISP RET;-KEY6: CALL LP1 ;按键6处理子程序 MOV AL,06H MOV DI+4,AL LEA BX,TABL XLAT TABL MOV SI+4,AL CALL DISP RET;-KEYE: CALL LP1 ;按键E处理子程序 MOV AL,0EH MOV DI+4,AL LEA BX,TABL XLAT TABL MOV SI+4,AL CALL DISP RET;-KEY9: CALL L
10、P1 ;按键9处理子程序 MOV AL,09H MOV DI+4,AL LEA BX,TABL XLAT TABL MOV SI+4,AL CALL DISP RET ;-LP1: MOV CX,0004H ;数据移位保存子程序(前移四位) MOV SI,OFFSET VAR2 MOV DI,OFFSET VAR3LP2: MOV AL,SI+3 MOV SI+4,AL MOV AL,DI+3 MOV DI+4,AL DEC SI DEC DI LOOP LP2 RET;-DISP: MOV SI,OFFSET VAR1 ;显示子程序 MOV DI,OFFSET VAR2 MOV CX,000
11、4HDIR: MOV AL,SI OUT 61H,AL MOV AL,DI OUT 60H,AL CALL TIME INC SI INC DI LOOP DIR RET;-TIME: PUSH AX ;延时程序 PUSH CX MOV CX,0002HTIME1: MOV AX,0300HTIME2: DEC AX JNZ TIME2 LOOP TIME1 POP CX POP AX RET;-STTK: CALL DISP ;放键测试程序 MOV AL,00H OUT 61H,AL IN AL,62H AND AL,82H CMP AL,82H JNZ STTK JMP STTCODE ENDS END START 三计算器程序3.1要求:1在显示器上显示任意四位十六进制数2.将8个键按实验室要求定义键值,按任意键在显示器上显示对应键值,要求显示值能够左移。3实现:1.定义键盘按键:5个为数字键2、4、5、6、7,3个功能键:加号+,乘号,等号=;2.可进行三位8进制加法运算;3.可进行两位10进制乘法运算。3.2各部分工作原理说明
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1