基于8051单片机与1601LCD的计算器设计

**单片机设计介绍,1665基于8051单片机与1601LCD的计算器设计

文章目录

一 概要

基于8051单片机和1601LCD的计算器设计是一种简单的嵌入式系统应用,其设计过程包括以下几个步骤:

  1. 硬件设计:

    • 选择合适的单片机型号并配备所需的外部硬件,如1601LCD、键盘矩阵及其它的被动元件。
    • 通过键盘矩阵来检测用户输入的数字和运算符,并将其转换为数字或运算符代码,并将其存储在单片机的内部存储器中。
    • 将控制信号由单片机的I/O口输出给1601 LCD,以显示数字和结果。
    • 按钮防抖和键盘扫描技术可以提高键盘的稳定性和可靠性。
  2. 软件设计:

    • 根据硬件需求编写单片机的程序代码,处理用户输入的数字和运算符,并将结果存储在单片机的内部存储器中。
    • 将结果和其他信息显示在连接到单片机的1601 LCD上。
    • 同时执行运算、清空、删除、撤销等功能。
    • 可以通过LCD菜单,允许用户选择其它功能和配置选项。
  3. 调试和测试:

    • 通过逐步测试硬件和软件的功能,确保计算器在不同的情况下能正常工作。
    • 程序的优化和调整,以提高代码的效率和可维护性,进而提高计算器的响应速度和计算精度。
    • 进行实际测试,验证计算器的性能和准确性。

需要注意的是,在进行电路的设计和编程时,要参考并遵守相关的安全规范和技术要求。而且,在设计中应该考虑到用户界面设计、错误处理等用户体验方面的问题。

二、功能设计

总体设计

根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:

(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD显示数据和结果

(2)另外键盘包括数字键(0~9)、符号键(+、、×、→)、清除键和等号键,故只需要16个接键即可,设计中采用集成的计算键盘

(3)执行过程:开机显宗零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储

并等待再次键入数值,当再键入数值后将显宗键入的数值,按等号就会在LCD上输出运算结果

设计思路

设计思路

文献研究法:搜集整理相关单片机系统相关研究资料,认真阅读文献,为研究做准备;

调查研究法:通过调查、分析、具体试用等方法,发现单片机系统的现状、存在问题和解决办法;

比较分析法:比较不同系统的具体原理,以及同一类传感器性能的区别,分析系统的研究现状与发展前景;

软硬件设计法:通过软硬件设计实现具体硬件实物,最后测试各项功能是否满足要求。

三、 软件设计

本系统原理图设计采用Altium Designer19,具体如图。在本科单片机设计中,设计电路使用的软件一般是Altium Designer或proteus,由于Altium Designer功能强大,可以设计硬件电路的原理图、PCB图,且界面简单,易操作,上手快。Altium Designer19是一款专业的整的端到端电子印刷电路板设计环境,用于电子印刷电路板设计。它结合了原理图设计、PCB设计、多种管理及仿真技术,能够很好的满足本次设计需求。


仿真实现

本设计利用protues8.7软件实现仿真设计,具体如图。

Protues也是在单片机仿真设计中常用的设计软件之一,通过设计出硬件电路图,及写入驱动程序,就能在不实现硬件的情况进行电路调试。另外,protues还能实现PCB的设计,在仿真中也可以与KEIL实现联调,便于程序的调试,且支持多种平台,使用简单便捷。


原理图

五、 程序

本设计利用KEIL5软件实现程序设计,具体如图。作为本科期间学习的第一门编程语言,C语言是我们最熟悉的编程语言之一。当然,由于其功能强大,C语言是当前世界上使用最广泛、最受欢迎的编程语言。在单片机设计中,C语言已经逐步完全取代汇编语言,因为相比于汇编语言,C语言编译与运行、调试十分方便,且可移植性高,可读性好,便于烧录与写入硬件系统,因此C语言被广泛应用在单片机设计中。keil软件由于其兼容单片机的设计,能够实现快速调试,并生成烧录文件,被广泛应用于C语言的编写和单片机的设计。


六、 文章目录

目 录

摘 要 I

Abstract II

引 言 1

1 控制系统设计 2

1.1 主控系统方案设计 2

1.2 传感器方案设计 3

1.3 系统工作原理 5

2 硬件设计 6

2.1 主电路 6

2.1.1 单片机的选择 6

2.2 驱动电路 8

2.2.1 比较器的介绍 8

2.3放大电路 8

2.4最小系统 11

3 软件设计 13

3.1编程语言的选择 13

4 系统调试 16

4.1 系统硬件调试 16

4.2 系统软件调试 16

结 论 17

参考文献 18

附录1 总体原理图设计 20

附录2 源程序清单 21

致 谢 25

相关推荐
嵌入式杂谈1 小时前
STM32中断编程详解:配置外部中断和中断服务例程
stm32·单片机·嵌入式硬件
光子物联单片机2 小时前
传感器模块编程实践(三)舵机+超声波模块融合DIY智能垃圾桶模型
stm32·单片机·嵌入式硬件·mcu
嵌入式杂谈4 小时前
STM32中断编程指南:NVIC和中断优先级
stm32·单片机·嵌入式硬件
xiaobuding_QAQ5 小时前
自用Proteus(8.15)常用元器件图示和功能介绍(持续更新...)
单片机·嵌入式硬件·学习·proteus
zxfly20137 小时前
STM32的DMA技术介绍
stm32·单片机·嵌入式硬件
CV金科12 小时前
蓝桥杯—STM32G431RBT6(IIC通信--EEPROM(AT24C02)存储器进行通信)
stm32·单片机·嵌入式硬件·算法·蓝桥杯
嵌入式详谈14 小时前
基于STM32的智能风扇控制系统设计
stm32·单片机·嵌入式硬件
小小怪大梦想14 小时前
RTC实时时钟
stm32·单片机·嵌入式硬件
水饺编程18 小时前
【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,1-2
linux·嵌入式硬件·fpga开发
电子科技圈18 小时前
IAR全面支持国科环宇AS32X系列RISC-V车规MCU
人工智能·嵌入式硬件·mcu·编辑器