硬件课程设计--计算器--矿大

上传人:第*** 文档编号:57523221 上传时间:2018-10-22 格式:DOC 页数:10 大小:7.25MB
返回 下载 相关 举报
硬件课程设计--计算器--矿大_第1页
第1页 / 共10页
硬件课程设计--计算器--矿大_第2页
第2页 / 共10页
硬件课程设计--计算器--矿大_第3页
第3页 / 共10页
硬件课程设计--计算器--矿大_第4页
第4页 / 共10页
硬件课程设计--计算器--矿大_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《硬件课程设计--计算器--矿大》由会员分享,可在线阅读,更多相关《硬件课程设计--计算器--矿大(10页珍藏版)》请在金锄头文库上搜索。

1、硬件课程设计实践报告硬件课程设计实践报告题 目: 电子计算器电子计算器 班 级: 信安信安 14-214-2 班班 学 号: 0810368408103684 姓 名: li student 指导教师: sun teacher 中国矿业大学计算机学院中国矿业大学计算机学院2012 年 12 月目录目录1 1 设计模块说明设计模块说明 2.2.子程序子程序 3.3.分析与测试分析与测试 3.1 设计分析3.2 需求分析3.3 任务与要求4.4.运行结果运行结果 5.5.结论与体会结论与体会 6.6.参考文献参考文献 1 1 设计模块说明设计模块说明8279 具有 8 个先进先出的键输入缓冲器,并

2、提供 16 个字节的显示数据 缓冲器。CPU 将段数据写入显示缓冲器,8279 自动对显示器扫描,将其内部显 示缓冲器中的数据在显示器上显示出来。 利用芯片 8279 控制键盘和 LED,对每一次的键盘输入检查其对应 的字符并作出相应操作,其结果体现在LED。比如:用户输入连续数 字时,按用户输入的顺序依次显示在LED 上;当用户输入加法操作时, LED 不变化;当用户再输入第二个数时,再次依次体现在LED 上;按 “等于号 ”时其运算结果显示在LED 上。其操作过程与体验与现在普 遍使用的计算器相同。 我们发现,原理上 8279 可以同时控制 8 个 LED 和 8 列键盘,但本试验箱 只有

3、 6 个 LED 和 6 列键盘,这是通过少用两根线来实现的。74LS138 的 2 号、3 号输出线悬空,其余六根线接到了 LED 和键盘,在写程序时必须要有特殊的处 理。虽然我们没有接 2、3 号 LED,但是 8279 并不知道这件事,还是会向相应的 RAM 里送数据,在写程序时,应该人为跳过这两位。同样的,对应的 2、3 列的 键盘也要特殊处理。 该计算器只针对两位整数设计,并且不能显示算式,对于除法运 算,能取整除商和不整除取整,不显示小数。硬件箱的连线:将 8279 芯片的地址连到 210H。2.2.子程序子程序JISUAN: MOV SI,OFFSET DATA1MOV DI,O

4、FFSET DATA2SUB BYTE PTRSI,30HSUB BYTE PTRDI,30HSUB BYTE PTRSI+1,30HSUB BYTE PTRDI+1,30HMOV DL,10MOV AL,BYTE PTRSI+1MUL DLADD AL,SIMOV BL,ALMOV AL,DI+1MUL DLADD AL,DI XCHG AL,BL ;AL 被减数,BL 减数POP CX ;弹出运算符CMP CL,+JZ JIACMP CL,-JZ JIANCMP CL,*JZ CHENGJMP CHUCHU: AADCMP BL,0JNZ T20MOV SI,OFFSET DATA1MOV

5、 BYTE PTRSI+4,E ;除数为零MOV BX,5CALL DISPL JMP KAISHIT20:DIV BLMOV AH,0 ;余数置 0 JMP XIANSHI JIA: ADD AL,BL JMP XIANSHI JIAN: CMP AL,BLJNB N1XCHG AL,BLMOV BYTE PTRSI+4,-N1:SUB AL,BL JMP XIANSHICHENG: MUL BL JMP XIANSHI XIANSHI: MOV CX,1000MOV DX,0DIV CXADD AX,30HMOV SI+3,ALMOV AX,DXMOV CL,100DIV CLADD AL

6、,30HMOV SI+2,ALMOV AL,AHMOV AH,0MOV CL,10 DIV CLADD AL,30HADD AH,30HMOV SI+1,ALMOV SI,AH MOV BX,5 ;显示结果CALL DISPLMOV RESULT, AL JMP M1LEE: DB 37H,34H,31H,30HDB 00H,00H,00H,00H DB 38H,35H,32H,00HDB 00H,00H,00H,00H DB 00H,00H,00H,00HDB 00H,00H,00H,00HDB 00H,00H,00H,00HDB 00H,00H,00H,00H DB 39H,36H,33H

7、,=DB 00H,00H,00H,00HDB +,-,*,/ DB 00H,00H,00H,00H DB 00H,00H,00H,00HDB 00H,00H,00H,00HDB 00H,00H,00H,00HDB 00H,00H,00H,00H TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH CODE ENDS END START3.3.分析与测试分析与测试 3.1 设计分析8279 共有 8 条命令字,其格式与功能如下: (1) 键盘/显示方式设置命令: 命令字格式与功能说明如下: D7D6D5D4D3D2D1D0 000DDKKK D7、D

8、6、D5 为 000,为方式设置命令特征位。 D4、D3 为显示方式设定位,共有以下四种显示方式,见下表:表 6-5 8279 显示方式 D4D3显示方式008 字符显示,左边输入 0116 字符显示,左边输入 108 字符显示,右边输入 1116 字符显示,右边输入 D2、D1、D0 为键盘/显示工作方式设定位,共有以下 7 种工作方式见下表:表 6-6 8279 键盘/显示工作方式 D2D1D0工作方式000编码扫描键盘,双键锁定输 出001译码扫描键盘,双键锁定输 出010编码扫描键盘,N 键依次读 出011译码扫描键盘,N 键依次读 出 100编码扫描传感器矩阵 101译码扫描传感器矩

9、阵 110选通输入,编码显示扫描 111选通输入,译码显示扫描3.2 需求分析 计算器基本功能为 : 具有加、减、乘、整除的基本计算功能; 完成两位数内的运算 能够显示按下的数字及计算结果; 应用模块化程序设计的思想,计算及排错功能的实现由计算程序模 块实现,显示按下的数字和结果由键盘录入程序模块和显示程序模 块实现,各个模块由主程序联系在一起。3.3 任务与要求按下的键所对应的字符还为数据则把第一次显示 的数字在数码管上左移 一个管子, 然后把第二次扫描的数据放入右边第一个管子 中,继续扫描直到确 定出按下的键为“+“则保存前面所扫描的数据到缓冲区, 然后接着扫描键盘直到 确定出加数,最后当

10、扫描出所按下的键为“=“时,则保 存数据到缓冲区,根据程序 计算出其相加结果.并通过程序及原理图显示出来. 通过这个程序还可实现连加 功能.整个源程序还可以实现加,减,乘,除四个基 本运算,具体的减,乘,除运算 程序在源程序中有详细显示.当检测出所闭和的 为这些按键时, 通过程序将执 行相似过程最后通过数码管显示出结果. 数码管可以分为共阳极与共阴极两种,共阳极就是把所有 LED 的阳极连接 到共同接点,而每个 LED 的阴极分别为 a、b、c、d、e、f、g 及 dp(小数点) ; 共阴极则是把所有 LED 的阴极连接到共同接点,而每个 LED 的阳极分别为 a、b、c、d、e、f、g 及

11、dp(小数点) 。8 个 LED 分别与上面那个图中的 adp 各段相对应,通过控制各个 LED 的亮灭来显示数字。实现 8279 和单片机接口的内容归纳为芯片接口控制逻辑,主要包括: 1 数据缓冲器; 2 I/O 控制电路; 3 中断请求产生电路; 4 键盘接口控制逻辑。 5 按功能分为以下几个部分: 6 扫描电路; 7 扫描回送电路; 8 去抖动及键码生成电路; 9 键盘存储区 FIFO RAM; 10 芯片接口控制逻辑显示函数流程图流程图用到的控制字控制字 0D1H: 清除命令,将显示 RAM 全部清 0 控制字 40H: 读写 FIFO/传感器 RAM 命令4.4.运行结果运行结果该计

12、算器只针对两位整数设计,并且不能显示算式 ,对于除法运 算,能取整除商和不整除取整,不显示小数73 * 21 = 153396 / 3 = 325.5.结论与体会结论与体会转眼间这学期的硬件课程设计学习即将要结束了。我们做的是用 8279 芯片 设计电子计算器,实现简单的加减乘除。这次实验的硬件连线很简单,只有一 条线,将 8279 芯片的地址连到 210H 就好了。所以老师在程序设计上要求我们 增加一下难度,要实现连加连乘。本来开始已经把简单的加减乘除程序做的差 不多了,这一下我们又陷入了难题。因为数据输入以后不能实现数据的存储, 有时候还会数字显示不出来,而且有的机箱也有问题,所以刚开始感

13、觉有些困 难。期间还出现很多的错误,比如程序中所计算的结果有误。这是因为当没有 键按下时,程序反复进入上一次进入的子程序,造成计算结果错误及显示错误。 因此,要在程序中设定一个标志符号,保证只有在有键按下的情况下才进入相 应的子程序。 我们就去问老师,让老师给我们指出错误,问其他跟我们做一个课题的同 学,看他们是怎么解决这个问题的。然后我们还去图书馆查找了一些相关的书 籍,在这期间我们收获良多。终于,在“8279 实现秒表计时功能”的内容中, 找到了我们所想要的模块。因为这个实验和我们所做的实验都存在一个相同之 处:通过按键控制,并通过 LED 灯显示。读键盘没问题,键盘控制功能也没问 题,显示结果出现了问题。偶然想到了 8279 芯片中控制 LED 灯的显示与控制地 址有关。 通过此次硬件课程设计,了解了 8279 芯片的基本使用及功能,并初步掌握了单片机语言程序的编写。在程序编写过程中,学会了程序逐步改进的方法,对照硬件的仿真软件,逐步改善程序的功能。此外,在此次设计过程中,深刻体会到应该加强专业知识的学习,不管是在硬件还是在软件方面。同时,要加强动手实践的能力,将课本所学知识运用到实践中去,这样才能真正掌握所学的知识。6.6.参考文献参考文献1 周荷琴 吾秀清主编微机原理与接口技术 合肥:中国科学技术出版社 20072 李恩林 陈

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

最新文档


当前位置:首页 > 行业资料 > 教育/培训

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