单片机简易计算器毕业课程设计报告

合集下载

单片机的简易计算器毕业设计

单片机的简易计算器毕业设计

单片机的简易计算器毕业设计简易计算器是一种基本、常见的电子设备,它能够对数字进行简单的加减乘除运算。

单片机作为一种小型、低功耗的微型计算机,非常适合用于设计和实现计算器的功能。

在本文中,我们将以单片机为基础,设计和实现一个简易计算器。

一、设计思路1.硬件设计:-使用单片机作为主控制器。

-接入键盘矩阵和显示器。

-使用LED灯作为指示灯,用于显示运算符和结果。

2.软件设计:-通过键盘输入数字和运算符。

-将输入的数字和运算符转换成相应的控制信号。

-进行运算,并将结果显示在屏幕上。

3.功能实现:-实现加法、减法、乘法和除法运算。

-提供清零、退格和等号等功能。

-支持小数和负数的输入和运算。

-提供错误提示功能,例如除数不能为零等。

二、具体实现1.硬件实现:-将键盘矩阵的行和列与单片机的IO口相连,通过扫描来检测按键的输入。

-将显示器与单片机的IO口相连,通过控制引脚来发送和接收数据。

-将LED灯与单片机的IO口相连,设置相应的引脚状态来显示不同的指示信号。

2.软件实现:-使用C语言编写程序,通过中断和轮询的方式,实现键盘输入的检测和数据的读取。

-将读取到的数据进行解析,并根据不同的按键进行相应的操作。

-根据输入的数字和运算符,进行相应的运算并输出结果。

3.功能实现:-加法、减法、乘法和除法运算可以通过相应的算法实现,例如加法可以通过循环和位运算来实现。

-清零功能可以将运算结果和输入的数字都清零,退格功能可以删除输入的最后一个数字或运算符。

-支持小数运算可以在运算过程中进行进位和进位操作,支持负数运算可以通过判断运算符来进行相应的处理。

-错误提示功能可以通过对输入的数据进行检查和判断来实现,例如判断除数是否为零。

三、总结通过上述的设计和实现,我们可以成功地设计和制作一个单片机的简易计算器。

通过这个计算器,用户可以进行简单的加减乘除运算,同时还具备清零、退格、小数和负数等功能。

这个计算器可以应用在日常生活中的计算场景,方便用户进行各种简单的运算操作。

用单片机实现简易计算器的设计报告

用单片机实现简易计算器的设计报告

华北水利水电学院课程设计报告课程名称: 简易计算器姓名: 学号: 班级: 专业: 电子信息工程日期: 2010年1月21日目录1.前言 (3)2.课程设计目的和要求 (3)3.总体设计 (3)4.硬件设计 (4)5.软件设计 (5)6.操作说明 (9)7.设计感想 (9)8.参考文献 (10)一.前言单片机课程设计是单片机原理课程的实践性环节。

是在我们学习了《单片机原理》等课程的基础上进行的综合性训练,我们组这次训练的课题是基于单片机简易计算器。

此次课程设计的课题是针对我们学习《单片机原理》这门课程的基础上,并在其辅助下完成的。

此次进行的综合性训练,不仅培养了我如何合理运用课本中所学到的理论知识与实践紧密结合,独立解决实际问题的能力二.课程设计的目的和要求1.课程设计的目的首先,综合运用单片机原理与接口技术课程中所学到的理论知识来独立完成此次设计课题,培养我们查阅手册和文献资料的良好习惯,以及培养我们独立分析和解决实际问题的能力。

其次,在学习了理论知识的基础上进一步熟悉常用电子器件的类型和特征,并掌握合理选用的原则。

再次,就是学会电子电路的安装与调试技能,以及与同组的组员的团结合作的精神。

2.课程设计要求利用89c51作为主控器组成一个四则运算的计算器。

三.总体设计1.基本工作原理本设计利用AT89C51单片机来控制液晶显示器和矩阵式键盘,实现了简易的计算器功能。

通过键盘输入需要计算的计算式子,该式子会显示在液晶的第一行,当键入等于号后,计算结果会显示在液晶的第二行。

本设计中液晶选用1602字符型液晶显示器,显示参与运算的数字以及最终的运算结果,键盘采用4*4矩阵式键盘。

2.系统组成单元中央处理单元CPU选用AT89C—51对整个系统进行控制:它将数据输出到显示屏,实现键入、输出的显示;根据键盘输入调用相应键处理子程序,实现数据的计算;单片机的管脚如下所述:AT89C51的管脚分布如下:VCC:供电电压。

单片机课程设计报告——简易电子计算器

单片机课程设计报告——简易电子计算器
2
1、设计要求
通过软件编程,利用 AT89S51 单片机实现设计简易的计算器功能,即可实现 简单加减乘除。实现计算器的键盘输入,进行加、减、乘、除基本四则运算,并 在显示设备上显示相应的结果。要求撰写课程设计报告,并在设计报告中列写系 统方案,画出系统框图;然后分析工作原理、画出硬件电路原理图;同时画出程 序框图,给出程序清单;之后,写出系统调试分析结果。并在最后写出对于本次 课程设计的心得体会。
二、课程设计成果要求(包括课程设计说明书、图纸、图表、软硬件等要求) 1,课程设计报告; 2,系统方案,画出系统框图; 3,分析工作原理、画出硬件电路原理图; 4,画出程序框图,给出程序清单; 5,写出系统调试分析结果 三、课程设计工作进度计划 星期一:设计硬件电路,焊接电路板; 星期二:编写程序,调试并编译生成.hex 文件; 星期三:烧录程序,结合硬件调试程序; 星期四:演示结果,撰写课程设计报告; 星期五:修改报告,打印并答辩。 四、主要参考资料 1.《单片机原理及应用》张毅刚主编,高教出版社,2012.11 2. C51 单片机有关教材和文献资料
指导教师(签名): 2013 年 12 月 20 日
系主任(签名): 2013 年 12 月 20 日
1
目录
1、设计要求.................................................................................................................. 1 2、简易计算器系统设计.............................................................................................. 1 3、简易计算器系统硬件设计...................................................................................... 1

51单片机简易计算器设计报告

51单片机简易计算器设计报告

51单片机简易计算器设计报告
本文将介绍51单片机简易计算器的设计报告。

该计算器通过
16位的LCD显示屏实现了基本计算功能,包括加、减、乘、除、取反、开方等。

1. 硬件设计
该计算器的核心部件是STC89C52单片机。

STC89C52是一种
高性能、低功耗的8位单片机,拥有8KB的Flash程序存储器和128字节的内部RAM,可提供多种功能和通讯接口。

通过
I/O口与LCD模块通讯,实现输出功能。

该计算器使用16位的LCD显示屏,显示范围为-99.99~99.99,共有6个数字位。

显示屏使用了ST7920控制器,可通过串行、并行等多种方式控制。

2. 软件设计
该计算器的软件设计主要包括三部分:键盘扫描,计算功能和LCD显示。

键盘扫描:该计算器采用4x5矩阵键盘,通过程序对键盘进行扫描,实现对不同按键的检测。

计算功能:该计算器可以实现基本的四则运算、取反、开方等功能。

对于四则运算,通过栈来实现计算,将运算符压入栈中,然后将操作数从栈中取出进行计算。

LCD显示:该计算器使用16位的LCD显示屏,通过程序控制数据和命令的传输,将计算结果显示在LCD屏幕上。

3. 总结
通过对51单片机简易计算器的设计报告,可以看出该计算器实现了基本的计算功能,通过硬件设计和软件设计相结合,将计算器的功能实现得十分完整。

该计算器的设计初步掌握了51单片机的应用,有助于后续项目的开展。

单片机简易计算器课程设计报告

单片机简易计算器课程设计报告

课程设计报告设计名称:简易计算器姓名:学号:专业班级:院(系):设计时间:2016.12.10设计地点:摘要:虽然现在科学计算器,已经得到了广泛的应用,但在某些地方,简易计算器,依然是主要的计算公具,如小学教学单位,市场,商店等。

并且随着科技的进步,我们已经告别了以前复杂的模拟电路,可以利用已有的软件和硬件条件,设计出更出色的计算器呢。

本设计是以AT89C52单片机为核心的计算器模拟系统设计,输入采用4×4矩阵键盘,可以进行加、减、乘、除4位带符号数字运算,并在LCD1602上显示操作过程。

关键词: AT89C52 LCD1602 计算器矩阵键盘一方案构思本设计可以采用两种方案,一种是以FPGA为核心处理芯片,配备相应的外设;另外一种是以AT89C52处理器,配备相应的外设。

1.1、方案一:采用FPGA控制FPGA是一种高密度的可编程逻辑器件,自从Xilinx公司1985年推出第一片FPGA以来,FPGA的集成密度和性能提高很快,其集成密度最高达500万门/片以上,系统性能可达200MHz。

由于FPGA器件集成度高,方便易用,开发和上市周期短,在数字设计和电子生产中得到迅速普及和应用,并一度在高密度的可编程逻辑器件领域中独占鳌头。

但是而基于 SRAM编程的FPGA,其编程信息需存放在外部存储器上 ,需外部存储器芯片 ,且使用方法复杂 ,保密性差,而其对于一个简单的计算器而言,实用FPGA有点大材小用,成本太高。

1.2、方案二:采用AT89C52单片机是单片微型机的简称,故又称为微控制器MCU(Micro Control Unit)。

通常由单块集成电路芯片组成,内部包含有计算机的基本功能部件:中央处理器CPU,存储器和I/O接口电路等。

因此,单片机只要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。

单片机广泛用于智能产品,智能仪表,测控技术,智能接口等,具有操作简单,实用方便,价格便宜等优点,而其中AT89C52以MCS-51为内核,是单片机中最典型的代表,应用于各种控制领域。

单片机计算器课程毕业设计

单片机计算器课程毕业设计

单片机课程设计一、课程设计的目的通过本课程设计使学生进一步巩固单片机原理与技术的基本概念、基本理论,分析问题的基本方法;增强学生的软件编程实现能力和解决实际问题的能力,使学生能有效地将理论和实际紧密结合,拓展学生在工程实践方面的专业知识和相关技能。

二、总体设计根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。

通过扩展必要的外围接口电路,实现对计算器的设计。

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

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

(3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。

(4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD上出现错误显示“”。

系统模块图:三、硬件设计(一)、总体硬件设计本设计选用AT89C51单片机为主控单元。

显示部分:采用LCD 静态显示。

总体设计效果如下图:(二)、键盘接口电路计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。

矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。

这样键盘上按键的个数就为4×4个。

这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。

基于51单片机简易计算器课程设计报告

基于51单片机简易计算器课程设计报告

基于51单片机简易计算器课程设计报告
基于51单片机简易计算器课程设计报告
1. 研究背景
•计算器是人们日常生活和工作中常用的工具之一。

•通过设计简易计算器,可以加深学生对51单片机的理解和应用。

2. 目标和需求
•设计一个基于51单片机的简易计算器,能够进行基本的四则运算和开方运算。

•要求计算器能够显示输入和计算结果。

•要求计算器具备简单的界面和操作。

3. 设计方案
•使用51单片机作为计算器的控制核心。

•通过键盘输入数字和运算符,并显示在液晶屏上。

•根据输入的运算符,进行相应的计算,并将结果显示在液晶屏上。

4. 硬件设计
•使用51单片机作为主控芯片。

•连接液晶屏模块,用于显示输入和计算结果。

•连接键盘模块,用于输入数字和运算符。

5. 软件设计
•使用C语言进行编程。

•设计主程序,包括初始化、输入处理和计算输出等功能。

•设计函数,实现基本的四则运算和开方运算。

6. 实验结果
•成功设计并实现了基于51单片机的简易计算器。

•可以正常进行基本的四则运算和开方运算。

•输入和计算结果能够准确显示在液晶屏上。

7. 总结与展望
•通过设计这个简易计算器,学生对51单片机的理解和应用能力有了提高。

•下一步可以考虑增加更多的功能,如科学计算和数据存储等。

以上是本次基于51单片机简易计算器课程设计的报告。

通过这个实验,学生对51单片机的应用能力得到了提升,进一步增强了对计算器的理解。

在未来的课程设计中,可以进一步拓展功能,提升计算器的实用性和功能性。

单片机设计实验报告简单计算器的设计

单片机设计实验报告简单计算器的设计

目录1.总体方案选择 (2)1.1 实验要求: (2)1.2方案设计 (2)2.硬件原理电路图的设计及分析 (3)2.1主控模块 (3)2.1.1 STC89C52单片机主要特性 (3)2.1.2 STC89C52单片机管脚图 (4)2.1.3 STC89C52单片机的中断系统 (5)2.1.4 STC89C52单片机的定时/计数器 (5)2.2矩阵键盘模块设计: (5)2.2.1矩阵键盘原理介绍 (5)2.2.2矩阵键盘电路设计 (6)2.3 LCD液晶显示器简介 (7)2.3.1液晶模块简介 (7)2.3.2液晶显示部分与89S52的接口 (8)3系统软件设计 (10)3.1系统软件流程图 (10)3.2系统整体原理图 (11)4.系统调试 (12)4.1硬件调试 (12)4.2软件调试 (12)4.3调试结果 (13)5.心得体会131.总体方案选择1) 1.1 实验要求:2)通过小键盘实现数据的输入, 并在LED数码管上显示3)实现+、-、*、/4)在LED数码管上显示结果并有清零, 退出功能1.2方案设计本系统以STC89C52单片机为控制核心, 对系统进行初始化, 主要完成对键盘的响应、液晶显示灯功能的控制, 起到总控和协调各模块之间工作的作用。

单片机通过检测键盘读取使用者按下对用功能的按键, 然后通过单片机内部运放把运算的结果显示在液晶屏幕上。

图1-1系统结构框图本系统结构如图1-1所示, 本设计可分为以下模块: 单片机主控模块、键盘模块、功率放大模块、闹铃模块、按键设置模块。

下面对各个模块的设计方案逐一进行论证分析。

2.硬件原理电路图的设计及分析2.1主控模块STC89C52有40个引脚, 4个8位并行I/O口, 1个全双工异步串行口, 同时内含5个中断源, 2个优先级, 2个16位定时/计数器。

STC89C52的存储器系统由4K的程序存储器(掩膜ROM), 和128B的数据存储器(RAM)组成。

单片机计算器课程设计报告

单片机计算器课程设计报告

单片机课程设计课题名称:单片机简易计算器课程设计姓名:XXXX 学号:XXXXXX 年级专业班级:XXXXXXX学院:XXXX设计时间:XXXXXXX设计地点:XXXXXX指导老师:**目录一、单片机课程设计实习目的 (2)1、增进对单片机的感性认识,加深对单片机理论方面的理解; (2)2、掌握单片机的内部功能模块的应用,如定时器/计数器、中断、存贮器、I/O口等; (2)3、了解和掌握单片机应用系统的软硬件设计过程及实现方法。

(2)二、实习课题任务 (2)1、课题:简易计算器的设计 (2)2、设计基本要求: (2)利用单片机试验箱的键盘模块以及显示模块实现百位以内加减乘除。

(2)任选一种显示方式:即中文液晶显示屏、LED数码管可任选一种。

(2)3、功能实现: (2)4、设计任务 (2)5、设计思路 (2)三、系统分析 (4)四、硬件系统设计 (5)1、键盘接口电路 (5)2、数码管显示电路 (6)五、软件系统设计 (6)六、调试结果 (7)1)10以内计算器 (7)2)100以内计算器 (7)七、结论 (8)八、体会与收获 (8)九、附件(程序): (9)1、程序一:只能进行两位数与两位数格式的四则运算 (9)2、程序二:能进行百位以内的四则运算,但一位与两位数运算结果调试不对 (18)一、单片机课程设计实习目的1、增进对单片机的感性认识,加深对单片机理论方面的理解;2、掌握单片机的内部功能模块的应用,如定时器/计数器、中断、存贮器、I/O 口等;3、了解和掌握单片机应用系统的软硬件设计过程及实现方法。

二、实习课题任务1、课题:简易计算器的设计2、设计基本要求:利用单片机试验箱的键盘模块以及显示模块实现百位以内加减乘除。

任选一种显示方式:即中文液晶显示屏、LED数码管可任选一种。

3、功能实现:计算器将完成的功能有两位数以内加、减、乘、除功能,并通过LED数码管显示输入值及结果。

4、设计任务1.扩展4*4键盘,其中10个数字,5个功能键,1个清零2.使用五位数码管接口电路3.完成十进制的四则运算(加、减、乘、除);4.实现低于三位小于255数字的连续运算;5.使用keil C软件编写程序;6.最后用ptoteus仿真;7.具有较强的抗干扰能力;8.体积小、功耗低,便于嵌入其他系统。

51单片机简易计算器设计报告(一)

51单片机简易计算器设计报告(一)

51单片机简易计算器设计报告(一)背景介绍在数字化时代,计算器作为一种简单易用的工具,越来越得到人们的关注和热爱。

而基于51单片机的简易计算器,不仅可以成为一种学习电子技术的手段,还具有满足简单计算需求的实用性。

设计思路本计算器采用键盘输入和数码管输出的电路设计,为用户提供加、减、乘、除、小数点、退位以及等于等功能。

1.键盘输入采用矩阵键盘的方式,将所有按键按行列排列,并利用51单片机中断方式来读取键值。

2.计算处理通过编写相应的程序代码,计算出用户输入的两个数值及操作符的结果,并将结果存储在数据缓存器中,最后将其输出至数码管。

3.数码管显示根据计算结果的数据类型,将其经过相应的转换处理后,通过数码管将结果输出至用户。

设计技术1.软件编写软件编写方面,采用汇编语言进行编写,代码总长度为2.2KB 左右。

其中,以中断方式读取键值、实现数值存储与判断、计算处理、数码管的结果输出等作为关键点进行编写。

2.硬件搭建硬件搭建方面,需要按照电路图进行搭建,并将51单片机与相关周边电路进行连接。

根据设计思路,将键盘、数码管、电源、指示灯等设备按照需求进行连接。

可改进之处虽然 51单片机的简易计算器的搭建能够满足基本计算需求,但其在以下几方面还有可改进之处:•添加计算科学函数,如三角函数、对数函数等。

•改进操作方式,使其更加符合人体工程学原理。

•添加储存器,使用户能够将计算结果进行存储和调用。

总结通过本次对基于51单片机的简易计算器的设计与实现,我们深入了解了电子技术的基本概念和硬件搭建原理,并了解到了简单嵌入式系统的工作原理。

虽然该计算器在功能和效率方面还有待改进,但对于初学者来说,其对于电子技术的学习和实验还是很有价值和意义的。

•编写的汇编代码过于繁琐,可考虑使用高级语言编写以提高效率和易读性。

•在电路搭建时需注意布线的合理性,尽量避免出现干扰和信号损失的问题。

综上所述,基于51单片机的简易计算器的设计和实现虽存在一些不足,但还是很有价值的。

单片机简易计算器课程设计报告

单片机简易计算器课程设计报告

单片机简易计算器课程设计报告中南林业科技大学课程设计报告设计名称:单片机计算器课程设计姓名:汪琦学号:20082124 专业班级:电子信息工程一班院(系):计算机与信息工程学院设计时间:2010年12月28日星期二设计地点:中南林业科技大学电子信息楼指导教师评语:成绩:签名:年月日目录一、题目……………………………………………………………………………二、任务与要求(老师完成)…………………………………………………三、课程设计摘要及整体方框图…………………………………………………1..总体设计思路简述····················································2.硬件设计简述························································3.软件设计简述························································4.程序主流程图························································四、课程设计原理分析及相关知识概述…………………………………………数码管显示电路采用4位数码管对计算数据和结果的显示,这里选取共阳数码管,利用NPN三极管对数码管进行驱动,为了节省I/O资源,采取动态显示的方法来显示计算数据及结果,动态扫描。

单片机课程设计报告(简易计算器)

单片机课程设计报告(简易计算器)

单片机实训报告———简易计算器姓名***学号***专业***学校***指导教师 ***实训时间2014.06.23-2014.06.29目录中文摘要............................................................1 关键词.............................................................1 1 实训任务.........................................................1 1.1 主要功能设计................................................11.2 任务目的....................................................12 整体设计方案.....................................................1 2.1 方案论证....................................................12.2 系统框图....................................................23 控制软件设计....................................................2 3.1 程序时序总图...............................................2 3.2 液晶显示软件设计............................................3 3.3 键盘输入软件设计...........................................53.4 计算函数设置...............................................74 软件调试........................................................8 个人小结...........................................................8参考文献...........................................................9附录...............................................................9摘要:计算器是人们的日常生活中是最常见的电子产品之一,它应用极广、发展迅猛,并且不断出现着拥有更加强大功能的计算器。

基于51单片机简易计算器课程设计报告

基于51单片机简易计算器课程设计报告

基于51单片机简易计算器课程设计报告引言:计算器是现代社会中常见的电子设备之一,它能够帮助人们进行各种数学运算,提高计算效率。

本文将介绍基于51单片机的简易计算器的设计过程及实现方法。

一、设计目标本次设计的目标是实现一个简易计算器,能够进行基本的加减乘除运算,并能够显示计算结果。

通过该设计,旨在加深学生对51单片机的理解,培养其实际操作能力。

二、硬件设计1. 电源模块:采用稳压电源模块,提供稳定的电压给单片机及其他电路模块。

2. 单片机模块:采用51单片机,作为计算器的核心控制模块,负责接收按键输入、进行运算和显示结果。

3. 按键模块:设计合适的按键电路,用于输入数字和操作符。

4. 显示模块:采用数码管或液晶显示屏,显示计算结果。

5. 连接线:将各个模块连接起来,确保信号的传输畅通。

三、软件设计1. 初始化:设置单片机的工作模式、端口方向和初始状态。

2. 按键扫描:通过轮询的方式检测按键是否被按下,若有按键按下则进行相应的处理。

3. 输入处理:根据按键的顺序和操作符的位置进行输入的处理,将输入的数字和操作符分别存储在相应的变量中。

4. 运算处理:根据输入的操作符进行相应的运算,得出计算结果。

5. 结果显示:将计算结果通过数码管或液晶显示屏进行显示。

6. 清零处理:在计算结果显示完毕后,对相关的变量进行清零处理,以便进行下一次的计算。

四、功能实现1. 加法运算:通过按下"+"按键,输入第一个数字,再按下"="按键,输入第二个数字,最后按下"="按键,计算并显示结果。

2. 减法运算:通过按下"-"按键,输入第一个数字,再按下"="按键,输入第二个数字,最后按下"="按键,计算并显示结果。

3. 乘法运算:通过按下"*"按键,输入第一个数字,再按下"="按键,输入第二个数字,最后按下"="按键,计算并显示结果。

单片机课程设计报告(简易计算机)

单片机课程设计报告(简易计算机)

专业综合课程设计任务书班级:学号:姓名:成绩:电子与信息工程学院计算机科学系图1.2 图1.3图1.42.3键盘电路这部分有16个button构成4*4矩阵,通过p1口进行行扫描方式实现按键的读取。

硬件电路图如图1.4。

2.4总体硬件图如图1.5图1.53 软件详细设计3.1键盘扫描子程序要进行数据的计算就必须进行数据的输入,也就是确定按键输入的数值是什么,这就需要对键盘进行行扫描,从而确定究竟是那个键按下。

对于键盘的扫描,既可以使用行扫描也可以使用列扫描,这里采用行扫描的方法完成对键盘的扫描行扫描就是逐行扫描键盘,看那一行有键按下,再通过返回的见马来确定究竟是哪个按键按下。

对第一行扫描就置p1.0为底电平,其余p1口为高电平,如果有按键按下,则p1口的值就会变为别的值,再由新值来确定是那个键按下。

程序流程图如图1.6图1.6dd:mov r0,#0f7h mov r1,#0cc:mov a,r0 mov p1,amov a,p1 mov r2,asetb c mov r3,#4bb:rlc a jnc aaee:inc r1 djnz r3,bbmov a,r0 setb crrc a mov r0,ajc cc ljmp ddKAOO:LJMP KAO BBB2:LJMP BB2aa:lcall mm mov a,p1xrl a,r2 nz eeff:mov a,p1 xrl a,r2jz ff MOV A,51HCJNE A,#1,BBB2RET3.4主程序及其他部分程序下图为主程序流程图:主要有:初始化子程序,清屏子程序,固定字符显示,单元定义,端口定义,字模部分。

主程序:RG 0LJMP STARTSTART:MOV SP,#60HLCALL INT ;调用初始化子程序START1:LCALL CLEAR ;调用清屏子程序初始化子程序:INT: MOV COM,#0C0H ;设置显示起始行为第一行LCALL PRM0LCALL PRR0MOV COM,#3FH ;开显示设置LCALL PRM0LCALL PRR0RET清屏子程序:CLEAR:MOV R4,#00H。

单片机简易计算器课程设计报告

单片机简易计算器课程设计报告

课程设计成果说明书题目:简易计算器的设计学生姓名:向得智学号:130407132学院:船舶与海洋工程学院班级:A13船舶电子电气指导教师:目录一、课程设计目的……………………………………………………………二、硬件电路设计……………………………………………………………2.1 AT89C51的功能介绍……………………………………………………………2.1.1简单概述…………………………………………………………………………2.1.2主要功能特性·……………………………………………………………………2.1.3 AT89C51的引脚介绍………………………………………………………………2.2 显示电路·………………………………………………………………………………2.2.1 LM016L的结构及功能……………………………………………………………2.2.2 LM016L的引脚功能介绍…………………………………………………………2.2.3 LM016L的电路接线图……………………………………………………………2.3振荡电路设计………………………………………………………………………2.4键盘电路设计………………………………………………………………2.5键盘扫描子程序设计…………………………………………………………………2.6总电路……………………………………………………………………………三、程序设计与说明…………………………………………………………3.1程序主流程图………………………………………………………………四、结论……………………………………………………………………………五、体会与收获……………………………………………………………………参考文献……………………………………………………………………………一.课程设计的目的单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。

基于51单片机简易计算器课程设计报告(一)

基于51单片机简易计算器课程设计报告(一)

基于51单片机简易计算器课程设计报告(一)基于51单片机简易计算器课程设计报告1. 介绍在本次课程设计中,我设计了一个基于51单片机的简易计算器。

本报告将会详细介绍该计算器的设计思路、功能实现以及课程设计中遇到的问题与解决方法。

2. 设计思路功能需求•支持基本的加、减、乘、除运算•具备数字输入与显示功能•具备清零和等于功能•具备连续计算功能硬件设计本计算器的硬件设计主要包括51单片机、LCD显示模块以及按键输入模块。

其中,51单片机负责控制计算器的逻辑,LCD显示模块用于显示计算结果和用户输入,按键输入模块用于接收用户的输入。

软件设计计算器的软件设计主要分为以下几个部分: - 初始化:初始化51单片机、LCD模块以及按键模块。

- 按键扫描:通过扫描按键模块,获取用户的输入。

- 数字输入与显示:根据用户输入,将数字显示在LCD上。

- 运算逻辑:根据用户输入的运算符和数字,执行相应的计算操作,并将结果显示在LCD上。

3. 功能实现初始化在初始化阶段,我们需要初始化51单片机的GPIO口、LCD模块以及按键模块。

具体的初始化代码如下:// 初始化51单片机的GPIO口// 初始化LCD模块// 初始化按键模块按键扫描为了获取用户的输入,我们需要通过按键模块进行扫描。

具体的按键扫描代码如下:// 扫描按键模块// 如果检测到按键按下,则进行相应的处理数字输入与显示当用户按下数字键时,我们将获取到的数字输入缓存起来,并将其显示在LCD上。

具体的数字输入与显示代码如下:// 获取按键输入的数字// 将数字添加到输入缓存// 将输入缓存显示在LCD上运算逻辑当用户按下运算符键时,我们需要根据输入的数字和运算符执行相应的计算操作,并将结果显示在LCD上。

具体的运算逻辑代码如下:// 获取运算符输入// 根据运算符和输入的数字执行相应的计算操作// 将计算结果显示在LCD上清零和等于功能为了提升用户体验,我们还可以添加清零和等于功能。

单片机课程设计报告-简易计算器

单片机课程设计报告-简易计算器

目录一、概述 (2)二、实验内容 (2)三、硬件设计 (3)1 设计总体框图 (3)2 实际电路 (3)(1)复位电路 (4)(2)时钟电路 (5)(3)EA/VPP(31脚)的功能和接法 (6)(4)键盘输入电路 (6)(5)数码管显示电路 (7)四、软件设计 (8)1 程序内容 (8)2 C语言程序 (9)五、Protues仿真 (9)六、设计总结 (10)七、附录 (11)1 C语言程序: (11)2焊接电路板实物图 (18)3 芯片引脚图 (19)一、概述单片机课程设计是一门实践课程,要求学生具有制作调试单片机最小系统及外设的能力,能够掌握单片机内部资源的使用。

单片机课程设计内容包括硬件设计、制作及软件编写、调试,学生在熟练掌握焊接技术的基础上,能熟练使用单片机软件开发环境Keil C51编程调试,并使用STC ISP调试工具采用串口下载方式联调制作的单片机最小系统。

单片机课程设计题目包含基本部分及扩展部分,基本部分即单片机最小系统部分,扩展部分是对单片机内部资源及外部IO口的功能扩展,使制作的单片机系统具有一定的功能。

二、实验内容自制一个单片机最小系统,包括串口下载、复位电路,采用外部小键盘输入数据,能够实现加法、乘法及一个科学计算,计算结果显示在四位一体的数码管上。

三、硬件设计1 设计总体框图2实际电路在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。

MCS-5l 系列单片机的复位引脚RST(第9 管脚)出现2个机器周期以上的高电平时,单片机就执行复位操作。

如果RST 持续为高电平,单片机就处于循环复位状态。

复位操作通常有两种基本形式:上电自动复位和开关复位。

上电瞬间,电容两端电压不能突变,此时电容的负极和RESET 相连,电压全部加在了电阻上,RESET 的输入为高,芯片被复位。

随之+5V 电源给电容充电,电阻上的电压逐渐减小,最后约等于0,芯片正常工作。

单片机课程设计—简易计算器

单片机课程设计—简易计算器

物理与电气工程学院课程设计报告设计名称:简易计算器院部:物理与电气工程学院专业班级:12级电信三班学生姓名:***080212092刘慧080212096吴阳慧080212101指导老师:***完成时间:2014年6月8日单片机课程设计是单片机原理课程的实践性环节。

是在我们学习了《单片机原理》等课程的基础上进行的综合性训练,我们组这次训练的课题是基于单片机简易计算器,能够进行多位简单的加减运算,同时它能支持2位整数运算。

它主要由STC89C52单片机、数码管,键盘等模块组成。

本计算器是将键盘输入信息经处理通过缓存,送入数码管显示,键盘采用行列式,数码管采用动态扫描方式,计算功能通过软件实现,用汇编语言对单片机可编程芯片进行编程,实现对计算器的设计。

关键词:单片机;计算器;汇编语言;键盘;数码管一.课程设计的目的和要求 (3)1.1课程设计的目的 (4)1.2课程设计要求 (4)二、方案的论证和比较: (4)2.1 按键电路设计 (4)2.2 4*4键盘扫描电路(扫描式,反转式) (4)三.课程设计简述及整体方框图 (5)3.1 方案 (5)3.2、硬件电路设计 (5)3.2.1主控电路设计 (5)3.2.2键盘电路设计 (6)3.2.3数码管显示电路 (6)3.3软件设计简述 (7)3.3.1键盘扫描子程序设计 (7)3.3.2数码管显示电路 (9)3.3.3运算子程序设计 (9)3.4程序主框图 (10)四.仿真软件图 (11)五.系统功能测试与整体指标 (12)5.1 软件调试步骤 (12)5.2 程序调试步骤 (12)5.3 测试结果 (13)六、总结与思考及致谢 (13)附录主程序: (13)一.课程设计的目的和要求1.1课程设计的目的单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。

本次设计是设计一个简易计算器,能够进行多位简单的加减运算,同时它能支持2位整数运算。

单片机的简易计算器毕业设计

单片机的简易计算器毕业设计

单片机的简易计算器毕业设计设计题目:基于单片机的简易计算器设计目的和意义:计算器是人们日常生活中必不可少的工具之一、通过设计一个基于单片机的简易计算器,可以帮助学生更好地理解计算机的原理和工作原理,同时也能提高他们的计算能力和逻辑思维能力。

此外,通过此设计可以加深对单片机的了解,并能提高学生的动手实践能力。

设计内容和要求:1.设计一个基于单片机的简易计算器,能完成基本的四则运算;2.能够输入和显示数字和运算符号;3.根据输入的数字和运算符号进行运算,得到正确的计算结果;4.能够处理异常情况,如除数为零等;5.设计一个简单的界面,使用户能够方便地进行操作;6.设计合理的电源管理系统,能够延长电池寿命;7.系统要求具有一定的误差范围,能够容忍一定的计算误差。

设计原理和方法:1.首先,选择一个合适的单片机作为主控制器,例如常用的51单片机;2.设计合适的输入和输出电路,使用户能够方便地输入和显示数字和运算符号;3.利用单片机的IO口进行数字和运算符号的输入和输出控制;4.设计算法,根据输入的数字和运算符号进行正确的四则运算,并得到正确的计算结果;5.根据实际情况进行运算结果的显示和存储,可以使用LCD液晶显示模块或LED数码管进行显示;6.设计异常处理程序,处理除数为零等异常情况;7.设计合理的电源管理系统,合理利用低功耗模式和休眠模式,延长电池寿命;8.对计算结果进行一定的误差范围控制,使其能够容忍一定的计算误差。

设计步骤和流程:1.确定设计的硬件平台和软件开发环境;2.进行电路设计,包括输入和输出电路的设计;3.进行程序开发,包括输入和输出控制、四则运算和异常处理程序的编写;4.进行整体系统调试,测试输入和输出的功能是否正常;5.进行算法调试,测试四则运算的正确性;6.进行界面设计,设计一个简单易用的用户界面;7.进行电源管理系统的设计和调试,测试功耗和电池寿命;8.完善设计文档,撰写设计报告。

设计结果和展示:通过以上设计,完成了一个基于单片机的简易计算器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(此文档为word格式,下载后您可任意编辑修改!) 中南林业科技大学课程设计报告设计名称:单片机计算器课程设计姓名:汪琦学号:专业班级:电子信息工程一班院(系):计算机与信息工程学院设计时间:2010年12月28日星期二设计地点:中南林业科技大学电子信息楼目录一、题目……………………………………………………………………………二、任务与要求(老师完成)…………………………………………………三、课程设计摘要及整体方框图…………………………………………………1..总体设计思路简述····················································2.硬件设计简述························································3.软件设计简述························································4.程序主流程图························································四、课程设计原理分析及相关知识概述…………………………………………五、结论……………………………………………………………………………六、体会与收获……………………………………………………………………附件:1、源程序代码(根据需要选择)……………………………………………2、整体电路原理图(根据需要选择)………………………………………2、元件表(根据需要选择)…………………………………………………3、PCB板制作(根据需要选择)……………………………………………4、焊接与调试(根据需要选择)…………………………………………………一、题目利用单片机芯片STC12C54、四位八段共阴数码管,已制作好的电路板等器件设计制作一个计算器,用LED显示计算数值及结果。

二、任务与要求要求计算器能实现加减乘除四种运算,具体如下:1.加法:四位整数加法,计算结果若超过四位则显示计算错误2.减法:四位整数减法,计算结果若小于零则显示计算错误3.乘法:多位整数乘法,计算结果若超过四位则显示计算错误4.除法:整数除法5.有清除功能三、课程设计简述及整体方框图1.总体设计思路简述按照系统设计的功能的要求,初步确定设计系统由主控模块、显示模块、键扫描接口电路共三个模块组成,电路系统构成框图如图1.1所示。

主控芯片使用STC12C54单片机,比 80C51速度更快,功能更强,由先进工艺制造,并带有非易失性Flash程序存储器。

它是一种高性能、低功耗的8位COMS微处理芯片,市场应用最多。

键盘电路采用4*4矩阵键盘电路。

显示模块采用4枚共阳极数码管和74ls273锁存芯片构成等器件构成。

2.硬件设计简述单片机最小系统就是支持主芯片正常工作的最小电路部分,包括主控芯片、复位电路和晶振电路。

主控芯片选取STC12C5410AD芯片,因其具有良好的性能及稳定性,价格便宜应用方便。

晶振选取11.0592MHz,晶振旁电容选取22pF。

采用按键复位电路,电阻分别选取560Ω和10K,电容选取10μF。

键盘接口电路计算器所需按键有:数字键:’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,’0’功能键:’+’, ’-‘ , ’*’, ’’ , ’ = ’, ’ C( 清零)’共计16个按键,采用4*4矩阵键盘,键盘的行和列之间都有公共端相连,四行和四列的8个公共端分别接P1.0~P1.7,这样扫描P1口就可以完成对矩阵键盘的扫描,通过对16个按键进行编码,从而得到键盘的口地址,对比P1口的扫描结果和各按键的地址,我们就可以得到是哪个键按下,从而完成键盘扫描的功能。

数码管显示电路采用4位数码管对计算数据和结果的显示,这里选取共阳数码管,利用NPN三极管对数码管进行驱动,为了节省IO资源,采取动态显示的方法来显示计算数据及结果,动态扫描。

为了实现数码管的动态显示,P2口输出显示值,通过P2口的二进制代码送到数码管进行显示。

P3.2~P3.5用来作为位选端,控制哪几位数码管进行显示。

比如当P3.2为高电平时,其他位全给0,具体的在软件中会有说明。

此时就将扫描的数据送给指定数码管显示。

3.软件设计简述键盘扫描子程序设计要进行数据的计算就必须先进行数据的输入,也就必须确定按键输入的数值是什么,这就需要对键盘进行扫描,从而确定究竟是哪个键按下。

对于键盘的扫描,这里采用行列扫描的方法来完成对键盘的扫描。

原理就是先确定按键在哪一行,接着再确定是哪一列,这样就可以知道是哪个按键被按下了。

我是将P1口作为按键扫描口的,比如开始先给P1口设置为0xf0,即P1.0~P1.7为,将它定义为e,再给P1口设置为0x0f,即P1.0~P1.7为,将它定义为f,并且定义temp=e|f,好了,接下来若按下的是按键sw1,则P1口变为,e就是0xe0,并在非常短的时间内P1口变为,则f就是0x0e,那么temp就为0xee,同理,每个按键都会有一个对应的十六进制值,我把它们列出来进行一一对应就行了,下面是扫描按键图。

以下为键盘扫描子程序的程序清单。

uint kescan(){uint com;P1=0xf0;e=P1;P1=0x0f;f=P1;temp=e|f;while(P1!=0x0f);if(temp==0xb7)com=0;if(temp==0x7e)com=1;if(temp==0xbe)com=2;if(temp==0xde)com=3;if(temp==0x7d)com=4;if(temp==0xbd)com=5;if(temp==0xdd)com=6;if(temp==0x7b)com=7;if(temp==0xbb)com=8;if(temp==0xdb)com=9;if(temp==0x77)com=10;if(temp==0xd7)com=11;if(temp==0xe7)com=12;if(temp==0xeb)com=13;if(temp==0xed)com=14;if(temp==0xee)com=15;return(com);}数码管显示电路采用4位数码管对计算数据和结果的显示,这里选取共阴极数码管,利用NPN三极管对数码管进行驱动,利用来实现数码管的动态显示,P2口输出显示值,P2口为段选,P3.2~P3.5用来作为位选端,控制哪几位数码管进行显示。

下面根据程序来阐述。

n是一个运算中产生的值,若它大于10000,执行第一个if语句,如果则显示FFFF,若在10000以内,则将n分别除以1000、100、10和对10取余,得到我们想要的四个数,送显示子程序显示。

其余减、乘、除的计算方法与加法的计算方法一样,这里不再累述。

void dis(uint n){if(n10000){for(i=0;i<4;i++){ if(fu==1)P2=~(DSY_CODE[15]&&0x7f);if(fu==0)P2=~DSY_CODE[15];P3=bit[3-i];n=n10;delay(4);P3=0x00;}}else if(n1000){for(i=0;i<4;i++){ if(fu==1)P2=~(DSY_CODE[n%10]&0x7f);if(fu==0)P2=~DSY_CODE[n%10];P3=bit[3-i];n=n10;delay(4);P3=0x00;}}else if(n100){for(i=0;i<3;i++){ if(fu==1)P2=~(DSY_CODE[n%10]&0x7f);if(fu==0)P2=~DSY_CODE[n%10];P3=bit[3-i];n=n10;delay(4);P3=0x00;}}else if(n10){for(i=0;i<2;i++){ if(fu==1)P2=~(DSY_CODE[n%10]&0x7f);if(fu==0)P2=~DSY_CODE[n%10];P3=bit[3-i];n=n10;delay(4);P3=0x00;}}else if(n%10){if(fu==1)P2=~(DSY_CODE[n]&0x7f);if(fu==0)P2=~DSY_CODE[n];P3=0x20;delay(4);}运算子程序设计显示加减乘除四个运算符void calculate(uint z){ if(z==10){P2=0x76; 加法显示’H’,并且点亮最高位的数码管P3=0x20;}if(z==11){P2=0x40; 减法显示‘-’,并且点亮最高位的数码管 P3=0x20;}if(z==12){P2=0x80; 乘法显示‘.’,并且点亮最高位的数码管P3=0x20;}if(z==13){P2=0x49; 除法显示‘’并且点亮最高位的数P3=0x20; 码管}}除法子程序设计除法的运算,可以显示小数点void div(void){d=bc;if(d1000){for(i=0;i<4;i++){P2=~DSY_CODE[d%10];P3=bit[3-i];d=d10;delay(4);P3=0x00;}}else if(d100){ d=10*bc;for(i=0;i<4;i++){ if(i==1)P2=~(DSY_CODE[d%10]&0x7f);if(i!=1)P2=~DSY_CODE[d%10];P3=bit[3-i];d=d10;delay(4);P3=0x00;}}else if(d10){ d=100*bc;for(i=0;i<4;i++){ if(i==2)P2=~(DSY_CODE[d%10]&0x7f);if(i!=2)P2=~DSY_CODE[d%10];P3=bit[3-i];d=d10;delay(4);P3=0x00;}}else if(d%10){ d=1000*bc;for(i=0;i<4;i++){if(i==3)P2=~(DSY_CODE[d%10]&0x7f);if(i!=3)P2=~DSY_CODE[d%10];P3=bit[3-i];d=d10;delay(4);P3=0x00;}}else{d=(1000*b)c;for(i=0;i<4;i++){ if(i==3)P2=~(DSY_CODE[0]&0x7f);if(i!=3)P2=~DSY_CODE[d%10];P3=bit[3-i];d=d10;delay(4);P3=0x00;}}}主程序见附录14.程序主框图主程序流程四、课程设计原理分析及相关知识概述本次课程设计用的STC12C54具有速度快、功耗低、抗干扰强的特点,有多种IO端口模式,它默认为准双向口弱上拉,最大灌电流为20mA,拉电流为230uA,所以在三极管和芯片管脚间要接15k的电阻,(5v-1.8v)300欧=10mA,八个led就为80 mA,超过50 mA的总电流,所以电阻选用511欧。

相关文档
最新文档