基于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

相关推荐
Wallace Zhang3 小时前
STM32F103_Bootloader程序开发11 - 实现 App 安全跳转至 Bootloader
stm32·嵌入式硬件·安全
GodKK老神灭3 小时前
STM32 CCR寄存器
stm32·单片机·嵌入式硬件
杰克逊的日记9 天前
MCU编程
单片机·嵌入式硬件
Python小老六9 天前
单片机测ntc热敏电阻的几种方法(软件)
数据库·单片机·嵌入式硬件
HX科技10 天前
STM32给FPGA的外挂FLASH进行升级
stm32·嵌入式硬件·fpga开发·flash·fpga升级
Suagrhaha10 天前
驱动入门的进一步深入
linux·嵌入式硬件·驱动
国科安芯10 天前
基于ASP4644多通道降压技术在电力监测系统中集成应用与发展前景
嵌入式硬件·硬件架构·硬件工程
Li Zi10 天前
STM32 ADC(DMA)双缓冲采集+串口USART(DMA)直接传输12位原始数据到上位机显示并保存WAV格式音频文件 收藏住绝对实用!!!
经验分享·stm32·单片机·嵌入式硬件
进击的程序汪10 天前
触摸屏(典型 I2C + Input 子系统设备)从设备树解析到触摸事件上报
linux·网络·嵌入式硬件
damo王10 天前
Zephyr 系统深入解析:SoC 支持包结构与中断调度器调优实践
单片机·嵌入式硬件·zephyr