微机原理实验简易计算器.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
【实验题目】简易计算器设计 【实验目的】 本实验旨在通过设计一个简易计算器,综合检验学生在微机接口技术及应用方面的能力。这包括了系统的构思与设计、电路设计与搭建以及软件的调试。实验旨在培养学生的实际操作技能,使他们能够运用微机技术解决实际问题。 【基本要求】 1) 使用实验箱上的4x4键盘和6位数码管,实现两个16位非负整数(0~65535)之间的加法、减法和乘法运算。计算结果应限制在-65535~65535之间,超出范围则在数码管最低位显示"E"。 【扩展要求】 1) 在保持输入16位宽度不变的情况下,扩展计算结果的范围以充分利用6位数码管,当计算结果超过-65535~999999时,显示"E"。 2) 增加除法功能,并能显示小数。 【程序设计】 程序中定义了多个数据段和代码段,用于存储输入、输出、状态标志和运算过程中的中间变量。其中,DSEG段包含了缓冲区BUFF、LED_7用于数码管显示的字符码、POSITION用于定位数码管显示的字符、UNIT10用于转换十进制到二进制的系数、NEWNUM记录新输入的数字、COUNT记录已输入位数、FLAG标志是否有按键按下、NEGTI标志是否为负数、NUM和NUM1分别存储两个操作数、TAG标识运算类型、POINT标记是否在除法结果中添加小数点、RESULT存储计算结果。 CSEG段包含主程序START,初始化8255并设置显示缓冲区。然后通过SHOW子程序显示缓冲区内容在LED数码管上。SCAN子程序用于检测按键是否按下,通过不断扫描键盘矩阵来确定按键值。当按键按下时,程序会根据按键值执行相应的运算,如加法、减法、乘法、除法,或进行等号操作进行计算。计算过程中,程序会处理负数、溢出和除法运算中的小数点显示。 【程序流程】 1) 初始化:设置数据段和代码段,初始化8255,清零显示缓冲区和状态标志。 2) 循环检测:持续扫描键盘,当检测到按键按下时,读取按键值并更新缓冲区。 3) 操作处理:根据按键值执行相应的运算,如加、减、乘、除。对于除法,还需要处理小数点的插入。 4) 结果显示:计算完成后,将结果显示在数码管上。如果结果超出范围,最低位显示"E"。 这个简易计算器实验不仅锻炼了学生的编程能力,还让他们对微机接口技术有了更深入的理解,包括键盘输入的处理、显示输出的控制以及数值运算的实现。通过这样的实践,学生能够更好地掌握微机系统的设计和应用。
- 粉丝: 15
- 资源: 19万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助