C51单片机实现简易计算器设计解析

5 下载量 100 浏览量 更新于2024-06-23 1 收藏 266KB DOC 举报
"基于C51单片机简易计算器的课程设计论文" 这篇论文详细阐述了基于C51单片机的简易计算器的设计过程。C51单片机是Microchip公司生产的8051系列兼容的微控制器,常用于嵌入式系统开发,具有丰富的I/O端口和内置RAM、ROM等特性,适合于小型电子设备的设计。 1. 绪论部分简述了计算工具的发展历程,从古代的算筹和珠算盘,到西方的“纳皮尔算筹”和对数计算尺,再到帕斯卡的机械式计算器和莱布尼兹的改进,这些都为现代计算器的发展奠定了基础。直至20世纪50年代末,电子计算器的出现标志着计算技术的巨大飞跃。 2. 在软件设计方案中,设计目标是创建一个能执行基本四则运算、数据清零及错误提示功能的简易计算器。设计方法是利用C51单片机作为核心处理器,通过七段共阴极LED数码管显示数据,采用4*4矩阵键盘作为输入设备。选择MCS51单片机的原因在于其适合实现简单计算器的功能,且对数字大小范围的要求不高,因此选择了可显示四位数字的LED数码管。 3. 系统硬件设计部分包括: - 复位电路:复位电路是系统启动的关键,它确保单片机在上电或手动复位后能进入一个已知的初始状态。 - 时钟振荡器电路:时钟电路为单片机提供运行所需的时序信号,常见的有晶振或RC振荡器。 - 输入电路:4*4矩阵键盘用于接收用户输入的数字和操作符,通过扫描矩阵来识别按键状态。 - 输出电路:七段共阴极LED数码管用于显示计算结果,每个数码管由七个独立的段控制,通过驱动电路来点亮对应的段以显示数字。 4. 系统程序设计部分包括: - LED显示程序流程图:这部分详细描述了如何控制LED数码管显示数字,通常涉及段码转换和动态扫描算法。 - 读键输入程序流程图:设计了读取键盘输入的逻辑,可能涉及到中断服务程序和扫描循环。 - 主程序流程图:主程序协调整个系统的运行,处理按键输入,执行计算操作,更新显示等。 - 仿真与调试:通过仿真工具进行系统测试,确保计算器功能的正确性和稳定性。 5. 结论部分总结了设计成果,可能讨论了实际应用和潜在改进点。 6. 元件清单提供了所有硬件组件的列表,便于实际制作。 7. 附录包含了简易计算器的源程序代码,供读者参考和学习。 这个课程设计项目旨在提升学生对单片机系统设计的理解,同时锻炼编程和硬件设计能力。通过这样的实践,学生可以掌握C51单片机的编程技巧,以及如何构建一个实际的电子设备。
2023-02-27 上传
赣南师范大学 基于C51单片机的简易计算器 学 院: 物理与电子信息学院 专 业: 电子信息工程 班 级: 学 名: 学 号: 指 导 教 师: 日 期: 目录 1. 绪论 3 2. 系统软件设计方案 4 2.1设计目标和实现方法 4 2.2整体方案论证 4 3. 系统硬件的设计与介绍 5 3.1复位电路的设计与运用 5 3.2时钟振荡器电路的设计与运用 6 3.3输入电路的设计 6 3.4输出电路的设计 8 4. 系统程序的设计与介绍 11 4.1 LED显示程序流程图设计 11 4.2读键输入程序流程图设计 13 4.3主程序流程图设计 14 4.4仿真与调试 15 5. 结论 17 元件清单 18 附录1简易计算器源程序 19 1.绪论 中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。这种算筹多是用竹子制成, 也有用木头,兽骨充当材料的。大约二百七十枚一束,放在布袋里可以随身携带。    直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时期的珠 算盘已经与现代的珠算盘几乎没有差别。    17世纪初,西方国家的计算工具已经有了较大的发展,英国数学家纳皮尔发明的"纳皮尔 算筹",英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加减乘除、乘方 、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具不仅带动了 计算器的快速发展,也为实现现代计算器发展奠定了良好的基础,成为现代社会应用广 泛的计算工具。    1642年,年仅19岁的法国伟大科学家帕斯卡引用算盘的原理,发明了世界上第一部机械 式计算器,在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿 轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另外 一个窗口中,但是只能做加减计算。1694年,莱布尼兹在德国将其改进成可以进行乘除 的计算。此后,一直要到20世纪50年代末才有了电子计算器的出现。 2. 软件设计方案 2.1 设计目标和实现方法 为了满足简易计算器的基本要求,可以进行基本的运算(加减乘除),数据归零和出 错警告提示,我们采用基于51单片机设计计算器,并用七段共阴级LED 数码管显示数据,4*4的矩阵键盘实现数据的输入。 2.2 整体方案论述 根据简单计算器的功能和本方案中的设计指标要求,本系统选用了MCS 51 单片机为主控机。通过扩展必要的外围接口电路,实现对简单计算器的设计。具体设计 考虑如下: 由于要设计的是简单的计算器,可以进行基本的四则运算,对数字的大小范围要求 不高,故我们采用可以进行四位数字的运算,选用8 个LED 数码管显示数据和运算结果。 另外键盘包括数字键(0~9)、符号键(+、- 、×、÷)、清除键和等号键,故只需要16 个按键即可。 系统模块图: 图2-1 系统模块图 3. 系统硬件的设计 3.1 复位电路的设计 上电复位的原理:VCC上电时,C充电,在10K电阻上出现了电压,使单片机复位;几个毫 秒后,C充满,10K电阻上电流降为0,电压也为0,使得单片机进入工作状态。 手动复位的原理:工作期间,按下S,C放电。S松手,C又充电,在10K电阻上出现电压, 使得单片机复位。几个毫秒后,单片机进入工作状态。 如SW复位键按下时:RST经1k电阻接VCC,获得10k电阻上所分得电压,形成高电平, 进入"复位状态"。 当SW复位键断开时:RST经10k电阻接地,电流降为0,电阻上的电压也将为0,RST降 为低电平,开始正常工作 。 对于成熟产品,从降低成本角度,可以使用上电复位。另外,作为产品,最好使用上 电复位。因为使用者通常没有专业知识,就知道断电通电,对他们来说,按键复位成了 摆设。按键复位比较适合样品制作或者实验室调试场合,上电复位电路成本也低一些。 综上所述我们在本方案中选用了上电自动复位电路。 上位自动复位电路图和手动复位电路图如下图 两种复位方式 如图3—1: 3.2 时钟振荡电路的设计 能够产生振荡电流的电路叫做振荡电路。一般由电阻、电感、电容等元件和电子器件所 组成。由电感线圈l和电容器c相连而成的lc电路是最简单的一种振荡电路,其固有频率 为f=[sx(]1[]2πlc。 § 一种不用外加激励就能自行产生交流信号输出的电路。它在电子科学技术领域中得到广 泛地应用,如通信系统中发射机的载波振荡器、接收机中的本机振荡器、医疗仪器以及 测量仪器中的信号源等。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器 。石晶振荡和陶瓷振荡均可采用此振动器。如采用外部时钟源驱动器件,XTAL2应不接。 有余输入至内部时钟信号要通