logo资料库

微机课程设计计算器.doc

第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
资料共19页,剩余部分请下载后查看
课 程 设 计 课程名称 微机课程设计 题目名称__ 计算器(1) 学生学院____ _ 自动化________ 专业班级____ 自动化(1)班_ __ 学 号 3106000836 学生姓名___ 谢晓新__ _ 指导教师______ 李传芳 _____ 2008 年 12 月 25 日 1
广东工业大学课程设计任务书 题目名称 学生学院 专业班级 姓 学 名 号 计算器(1) 自动化 自动化(1)班 谢晓新 3106000836 一、课程设计的目的 1、巩固和加深对《微机原理及应用》课程内容的认识和理解,提高应用水平 2、掌握汇编语言程序的编程方法 3、熟悉键盘控制和七段数码管的使用 二、课程设计的内容 1.把存储器单元中的 0AH,02H,0FH,09H 从四位七段 LED 数码管同时显示出来,要求做 成循环程序,并使用 XLAT 来译码。 2.编写程序,实现以下键盘功能,按任意键在显示器上显示对应键值,要求显示值能 够实现左移功能。 5 B A 3 7 C F 0 3.实现: a)定义键盘按键,5 个为数字键 3、4、5、6、7,7 个功能键:减号—,除号÷,等 号=; b)可进行三位 8 进制减法运算; c)可进行两位 10 进制除法运算。 三、课程设计应完成的工作 1.搜集、整理和研究资料,可参考教材后的实例。 2.按电路框图连接电路,编写程序完成各个程序设计要求,并完成调试。 3.完成课程设计的报告书一份。 2
四、课程设计进程安排 序号 设计各阶段内容 地点 起止日期 1 2 3 4 领取任务书 实 2-206 收集,整理资料 图书馆、宿舍 12.22 12.22 上机编写调试程序 实 2-206 12.23~12.24 撰写课程设计报告 宿舍 12.25 五、应收集的资料及主要参考文献 1.微型计算机原理及应用.许立梓等编.北京:机械工业出版社,2003 2.微型计算机原理及应用—习题解答、试验指导及课程设计. 许立梓等编.北京:机械 工业出版社,2008 发出任务书日期:2008 年 12 月 22 日 指导教师签名: 计划完成日期: 2008 年 12 月 25 日 基层教学单位责任人签章: 主管院长签章: 3
目录 一、源程序…………………………………………………………………………5 1.程序一………………………………………………………………………5 1.1 题目……………………………………………………………………5 1.2 源程序…………………………………………………………………5 2.程序二………………………………………………………………………6 2.1 题目……………………………………………………………………6 2.2 源程序…………………………………………………………………6 3.程序三………………………………………………………………………10 3.1 题目……………………………………………………………………10 3.2 源程序…………………………………………………………………10 二、心得与体会……………………………………………………………………19 三、参考文献………………………………………………………………………19 4
1.程序一 1.1 题目:把存储器单元中的 0AH,02H,0FH,09H 从四位七段 LED 数码管同时显示出来,要 求做成循环程序,并使用 XLAT 来译码。 1.2源程序: STACK ;设置四位查询位 SEGMENT STACK DW 64 DUP(?) ENDS SEGMENT DB 0AH,02H,0FH,09H DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;设置0~F的十六位数码管段码 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ENDS SEGMENT ASSUME CS:CODE,DS:DATA MOV AX,DATA MOV DS,AX MOV AL,80H OUT 63H,AL MOV DL,0FEH MOV SI,OFFSET TAB1 MOV CX,0004H MOV AL,DL OUT 60H,AL MOV AL,[SI] MOV BX,OFFSET TAB2 XLAT TAB2 OUT 61H,AL INC SI ROL DL,01H CALL TIME LOOP L2 JMP L1 PUSH AX PUSH CX MOV CX,0002H MOV AX,0300H DEC AX JNZ TIME2 LOOP TIME1 POP CX POP AX RET ENDS END START ;下个要显示的数码管位码 ;查表取出数码管的段码 ;查表的段码送A口显示 STACK DATA TAB1 TAB2 DATA CODE START: L1: L2: TIME: TIME1: TIME2: CODE ;8255A初始化 ;位码送给AL ;延时程序 5
2.程序一 2.1 题目:2.编写程序,实现以下键盘功能,按任意键在显示器上显示对应键值,要求显示 值能够实现左移功能。 5 B A 3 7 C F 0 2.2 源程序: STACK STACK DATA VAR1 VAR2 VAR3 TABL DATA CODE START: STT: NEXT: STACK SEGMENT DW 64 DUP (?) ENDS SEGMENT DB 07H,0BH,0DH,0EH DB 3FH,3FH,3FH,3FH,3FH DB 00H,00H,00H,00H,00H DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ENDS SEGMENT ASSUME CS:CODE,DS:DATA MOV AX,DATA MOV DS,AX MOV AL,88H OUT 63H,AL MOV AL,00H OUT 60H,AL IN AL,62H AND AL,60H CMP AL,60H JNZ KEYABC CALL DISP JMP STT ;8255A初始化 ;键盘测试 ;调用显示程序 ;------------------------------------------------------------------------------ KEYABC: CALL TIME IN AL,62H AND AL,60H CMP AL,60H JNZ KEY JMP STT ;延时,去抖动 ;键盘扫描识别 KEY: MOV AL,0FEH OUT 60H,AL IN AL,62H TEST AL,40H JNZ KEY_B CALL KEY5 JMP STTK 6
KEY_B: KEY_A: KEY_3: KEY_7: KEY_C: KEY_F: KEY_0: TEST AL,20H JNZ KEY_A CALL KEYB JMP STTK MOV AL,0FDH OUT 60H,AL IN AL,62H TEST AL,40H JNZ KEY_3 CALL KEYA JMP STTK TEST AL,20H JNZ KEY_7 CALL KEY3 JMP STTK MOV AL,0FBH OUT 60H,AL IN AL,62H TEST AL,40H JNZ KEY_C CALL KEY7 JMP STTK TEST AL,20H JNZ KEY_F CALL KEYC JMP STTK MOV AL,0F7H OUT 60H,AL IN AL,62H TEST AL,40H JNZ KEY_0 CALL KEYF JMP STTK TEST AL,20H JNZ KEY_01 CALL KEY0 JMP STTK KEY_01: ;------------------------------------------------------------------------------ KEY5: CALL LP1 MOV AL,05H MOV [DI+4],AL LEA BX,TABL XLAT TABL ;按键5处理子程序 ;低4位字节前移 ;查表取出要显示数字的数码管段码 7
MOV [SI+4],AL CALL DISP RET ;显示 ;返回 ;------------------------------------------------------------------------------ KEYB: ;按键B处理子程序 CALL LP1 MOV AL,0BH MOV [DI+4],AL LEA BX,TABL XLAT TABL MOV [SI+4],AL CALL DISP RET ;------------------------------------------------------------------------------ KEYA: ;按键A处理子程序 CALL LP1 MOV AL,0AH MOV [DI+4],AL LEA BX,TABL XLAT TABL MOV [SI+4],AL CALL DISP RET ;------------------------------------------------------------------------------ KEY3: ;按键3处理子程序 CALL LP1 MOV AL,03H MOV [DI+4],AL LEA BX,TABL XLAT TABL MOV [SI+4],AL CALL DISP RET ;------------------------------------------------------------------------------ KEY7: ;按键7处理子程序 CALL LP1 MOV AL,07H MOV [DI+4],AL LEA BX,TABL XLAT TABL MOV [SI+4],AL CALL DISP RET ;------------------------------------------------------------------------------ KEYC: ;按键C处理子程序 CALL LP1 MOV AL,0CH MOV [DI+4],AL LEA BX,TABL 8
分享到:
收藏