51单片机简易计算器设计

合集下载

简易计算器——精选推荐

简易计算器——精选推荐

徐州师范大学物电学院课程设计报告课程名称:单片机课程设计题目:简易计算器专业班级:07电科***名:**学生学号:********日期:2010.6.27***师:***摘要 (2)Abstract (2)概述 (2)二、设计方案简述 (4)2.1、功能介绍 (4)2.1.1、基本功能 (4)2.1.2、扩展功能 (4)2.2、总体设计方案 (4)2.2.1、总体设计思路 (4)2.2.2、方案论证与比较 (4)2.2.3、系统组成 (8)三、详细设计 (9)3.1、设计目标和实现方法 (9)3.2、设计 (9)3.2.1、输入模块:键盘扫描 (10)3.2.2、运算模块:单片机控制 (10)3.2.2、显示模块:LCD1602显示 (10)3.3、硬件电路设计 (11)3.3.1、硬件连接 (11)3.4、软件设计 (12)3.5、仿真和调试 (12)3.5.1、 KEIL uVision调试 (13)3.5.2、 Proteus 对于本设计的仿真 (14)3.6、元件的介绍 (15)3.6.1、 MCS-51单片机组成 (15)3.6.2、 MCS-51单片机引脚功能 (16)3.6.3、复位和复位电路 (18)3.6.4、 LCD1602显示器 (18)四、设计结果及分析 (23)4.1、功能和操作 (23)4.2、硬件调试 (23)4.3、技术要点 (23)五、总结 (24)六、参考资料附录主要程序代码本设计采用单片机作为控制芯片,用C语言对其进行编程实现,输入由4*4矩阵式键盘控制,输出采用人性化的LCD1602型液晶实现。

在未进行计算时,它显示一段话,ON/O切换进入计算模式。

对于计算这个部分我采用的是矩阵键盘,10个数字键,一个等于号键,四个符号键,一个清零键,计算最高达到小数点后三位。

由于C语言库函数繁多,所以我采用调用C语言库函数来解决多种运算类型,这样编程更简单,运行起来也更可靠。

单片机课程设计00-99加计数器(完结版qq)

单片机课程设计00-99加计数器(完结版qq)

课程设计课程名称51单片机原理及应用单片机“0~99”加法计数器题目名称程序设计专业班级12级计算机科学与技术2班学生姓名郑伟、刘刚、纪强、岳向阳学号51202012032、5120201200751202012021、51202012018 指导教师刘粉二○一四年十二月蚌埠学院计算机科学与技术系课程设计任务书目录一.前言 (4)二.单片机介绍 (4)(一).AT89C51简介编辑 (4)(二).主要特性编辑 (5)(三).特性概述编辑 (5)(四).管脚说明编辑 (5)(五).芯片擦除编辑 (7)(六).串口通讯 (7)三.课程设计的目的和要求 (11)(一).设计目的 (11)(二).课程设计题目 (11)(三).设计任务及要求 (11)四.总体设计思路 (11)(一).硬件设计思路及系统框图 (11)1.硬件设计思路: (11)2.原器件清单 (12)3.系统框图 (12)(二).软件设计思路: (12)(三).对照表 (12)(四).程序流程图 (13)五.硬件设计 (15)(一).芯片主要特性 (15)(二)管脚说明: (15)(三).排阻的作用 (16)(四).电路图说明 (17)1.添加晶振和复位 (17)2.添加P0和P2两个按键 (17)3. 数码管动态显示 (17)六.软件设计说明 (17)七.使用Keil、preoteus软件调试仿真说明 (19)八.结束语 (20)九.参考文献 (21)附录: (22)(一).汇编源程序 (22)(二).原理图 (24)前言单片机全称叫单片微型计算机(Single Chip Microcomputer),是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

(完整版)基于单片机的计算器毕业设计论文

(完整版)基于单片机的计算器毕业设计论文

摘要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,但仅单片机方面的知识是不够的,还应根据具体硬件结构、软硬件结合,来加以完善。

计算机在人们的日常生活中是比较常见的电子产品之一。

可是它还在发展之中,以后必将出现功能更加强大的计算机,基于这样的理念,本次设计是用AT89S51单片机、LCD显示器、控制按键为元件来设计的计算器。

利用此设计熟悉单片机微控制器及C语言编程,对其片资源及各个IO 端口的功能和基本用途的了解。

掌握Microsoft Visual C++ 6.0应用程序开发环境,常用的LCD显示器的使用方法和一般键盘的使用方法。

关键字:AT89S51 LCD 控制按键目录第一章绪论 (4)1.1 课题简介 (4)1.2 设计目的 (4)1.3 设计任务 (5)第二章课题背景 (6)2.1 单片机发展现状 (6)2.2 计算器系统现状 (8)2.3 MCS-51系列单片机简介 (9)2.4 矩阵按键 (14)2.5 计算器设计总体思想 (14)第三章硬件系统设计 (16)3.1 键盘接口电路 (17)3.2 LCD显示模块 (17)3.3 运算模块 (19)第四章软件设计 (20)4.1 汇编语言和C语言的特点及选择 (20)4.2 键扫程序设计 (20)4.3 算术运算程序设计 (21)4.4 显示程序设计 (22)第五章系统调试与存在的问题 (24)5.1 硬件调试 (24)5.2 软件调试 (24)总结 (26)参考文献 (27)附录一 (28)附录二 (29)附录三 (30)第一章绪论1.1 课题简介当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能力是人脑所不能胜任的,而且比较容易出错。

基于C51单片机的000-999计数器

基于C51单片机的000-999计数器
[1]李任青.单片机原理与应用.江西:南昌大学共青学院工程技术系,2011(1):86-88。
[2]迟忠君.单片机应用技术.北京:北京邮电大学出版社,2016(6):3-5。
三、设计执行过程(请根据以下内容填写对该设计项目用到的理论知识)
1、总体设计框图(画出总体设计框图,并结合设计框图简述工作原理,写不下可另附页)
五、项目结题评审(请根据以下内容做好记录,并提交完整的项目设计报告给老师打分)
1、项目答辩记录(请将老师提的问题和答案记录下来)
问题一:
问题二:
记录人:年月日
2、结题答辩组评审意见(以下由老师填写)
成绩专家组:、年月日
3、项目成绩评定(请将老师提的问题和答案记录下来)
项目教学活页成绩:。
答辩成绩:。
若干
12MHz晶振
1个
0.8mm焊锡
若干
30pF瓷片电容
2个
10uF电解电容
1个
10k电阻
1个
5、焊接图纸和说明(用铅笔或专业软件画出详细的焊接布局设计图,元件引脚标注详细清晰。)
说明:使用ProtellDXP画出pcb布线图,布线图采用双层布线模式,蓝色导线位于底层,红色导线位于顶层。
6、实物效果照片和功能说明(用高清相机拍出实物的效果照片,此页彩色打印,要体现出任务书中的功能效果,图片高清,并附有功能效果的文字说明,可另附页。)
说明:考虑到数码管位置的摆放问题,故将程序的P1和P0对调,P0控制十位数显示,P1口控制百位数显示,其余不变。
四、项目总结(请根据以下内容做工作总结,并提交完整的项目设计报告)
1、学习小结(对学习到的知识点进行总结、归纳)
通过这次000-999计数器的设计,总体来说,我的收获很大。无论是在培养自己的实验动手能力还是在自己独立思考能力方面。在此次点阵设计的过程中,更进一步的熟悉了proteus软件和DXP软件的使用以及加深了对芯片结构的了解和掌握,加强了对c语言的认识,学会了如何拆分数字的百位,十位以及个位,并将其传送到单片机的各个端口,了解了数码管的内部结构,在以后的学习中会有很大的帮助。

单片机数字计算器软硬件设计说明书概要

单片机数字计算器软硬件设计说明书概要

设计题目:单片机数字计算器硬软件设计摘要本设计是基于51系列的单片机进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。

设计过程在硬件与软件方面进行同步设计。

硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用4×4矩阵键盘。

显示采用5位7段共阴极LED静态显示。

软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。

编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用全球编译效率最高的KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus仿真。

引言简易计算器的原理与设计是单片机课程设计课题中的一个。

在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。

单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,数字计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。

关键词:单片机计算器 AT89c51芯片 74LS164目录摘要 (01)引言 (01)第一章设计任务和要求 (03)1.1 设计要求1.2 设计方案的确定第二章单片机简要原理 (03)2.1 AT89c51介绍2.2 芯片74LS164介绍第三章硬件设计 (08)3.1 键盘电路的设计3.2 显示电路的设计3.3 其他电路设计第四章软件设计 (11)4.1 主程序的设计4.2 显示、读键模块的设计4.3 其他内容说明4.4 源程序代码第五章调试与仿真 (23)5.1 Keil C51单片机软件开发系统5.2 proteus的操作第六章总结 (24)心得体会 (25)参考文献 (26)第一章设计任务和要求1.1 设计要求本次课程设计,我选择的课题是单片机数字计算器硬软件设计,设计任务为:1.扩展4*4键盘,其中10个数字,5个功能键,1个清零2.使用五位数码管接口电路3.完成十进制的四则运算(加、减、乘、除);4.实现低于三位小于255数字的连续运算;5.使用keil C软件编写程序;6.最后用ptoteus仿真;7.具有较强的抗干扰能力;8.体积小、功耗低,便于嵌入其他系统。

基于51单片机数字频率计的设计

基于51单片机数字频率计的设计

基于51单片机数字频率计的设计在电子技术领域中,频率计是一种常见的测试仪器,它可以用来测量信号的频率。

在本文中,我们将通过介绍基于51单片机数字频率计的设计实现来了解它的工作原理和设计流程。

1. 确定设计需求在进行任何项目之前,我们需要明确自己的设计需求。

对于频率计而言,它的主要需求就是准确地测量信号的频率。

因此,我们需要确定我们需要测量的频率范围和精确度。

2. 确定硬件设计在确定了设计需求之后,我们需要确定硬件设计。

对于数字频率计而言,它需要一个计数器来计算信号的脉冲数量。

在本设计中,我们采用74LS90计数器芯片来实现计数功能。

我们还需要一个51单片机来读取计数器的计数值,并将其转换为对应的频率值。

另外,我们还需要硬件板、LCD显示屏、按键等元件来搭建数字频率计的电路结构。

3. 确定软件设计硬件设计完成后,我们需要开发相应的软件来实现我们的需求。

在本设计中,我们使用KEIL C51软件来编写51单片机的程序。

编写软件的主要步骤是读取计数器计数值、计算出对应的频率值、将频率值显示在LCD屏幕上,并实现按键控制。

我们需要将这些步骤按照程序流程依次实现。

4. 进行测试在软件编写完成后,我们需要对数字频率计进行测试,以确保其满足我们的需求。

我们可以使用信号发生器给数字频率计输入不同频率的信号,然后观察LCD屏幕上显示出来的相应频率值是否准确。

如果测试结果不满足我们的需求,则需要对硬件或软件进行优化或调试,直到数字频率计能够正常工作为止。

总之,基于51单片机的数字频率计设计是一个较为简单的电子设计项目。

通过上述步骤的详细介绍,我们了解了数字频率计的设计流程和工作原理,并明确了设计中需要注意的细节和注意事项。

希望能够对大家理解数字频率计的设计过程有所帮助。

51单片机计数器程序c语言

51单片机计数器程序c语言

下面是一个51单片机计数器的简单程序,使用C语言编写。

c
#include <reg51.h>
// 定义计数器的值
volatile unsigned int counter = 0;
// 定义外部中断0的服务函数
void INT0_Handler() interrupt 0 {
// 清除外部中断0标志位
EX0 = 0;
// 计数器值加1
counter++;
}
void main() {
// 设置外部中断0触发方式为下降沿触发
IT0 = 1;
// 使能外部中断0
EX0 = 1;
// 全局中断使能
EA = 1;
while(1) {
// 在此处添加处理计数器值的代码,例如:
// if (counter >= 100) {
// // 计数器值达到100,执行某些操作
// counter = 0; // 计数器清零
// }
}
}
此代码实现了51单片机的外部中断0的计数器功能。

当INT0引脚检测到下降沿时,会触发外部中断0,并执行INT0_Handler()函数,使counter值加1。

在main()函数中,可以添加处理counter值的代码。

例如,当counter值达到某个阈值时,可以执行特定的操作。

注意,这只是一个基础的示例,具体的代码可能会因具体硬件和应用需求而略有不同。

基于51单片机的光电计数器的设计

基于51单片机的光电计数器的设计

目录1.前言 12 光电计数器的系统设计 12.1 系统硬件设计 12.1.1方案选择 12.1.2仪器各部分组成 22.2 系统软件设计 33 设计原理 53.1转速计算及误差分析 53.2转速测量 63.2.1门控方式计数 63.2.2中断方式计数 73.3串行显示接口 74 软件程序的设计 84.1 1s定时 84.2 T1计数程序 84.3 频率数据采集 94.4 进制转换 104.5 数码显示 135 软件设计总体程序 156 总程序调试 217 心得体会 21参考文献 221.前言21世纪是信息时代,获取信息,处理信息,运用信息。

传感与检测技术的重要性在于它是获得信息并对信息进行必要处理的基础技术,是获取信息和处理加工信息的手段,无法获取信息则无法运用信息。

传感与检测技术是一门知识面广、综合程度高、实用性很强的专业课程。

它从传感器的基本理论入手,着重讲叙传感器的结构与感测原理,传感器是一个二端口的装置,不同的传感器输入-输出特性不同,同一传感器适应不同的被测信号呈现的特性也有所不同。

尤其当被测信号为静态信号时两种状态下,传感器的输入-输出特性完全不同。

感测技术在许多新技术、新器件里都有应用,在课程安排上,以信息的传感、转换、处理为核心,从基本物理概念入手,阐述热工量、机械量、几何量等参数的测量原理及方法。

光电式传感器是将光信号转化为电信号的一种传感器。

它的理论基础是光电效应。

这类效应大致可分为三类。

第一类是外光电效应,即在光照射下,能使电子逸出物体表面。

利用这种效应所做成的器件有真空光电管、光电倍增管等。

第二类是内光电效应,即在光线照射下,能使物质的电阻率改变。

这类器件包括各类半导体光敏电阻。

第三类是光生伏特效应,即在光线作用下,物体内产生电动势的现象,此电动势称为光生电动势。

这类器件包括光电池、光电晶体管等。

光电效应都是利用光电元件受光照后,电特性发生变化。

敏感的光波长是在可见光附近,包括红外波长和紫外波长。

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

51单片机简易计算器设计
一、引言
计算器是一种通过输入和输出数字信号进行数学运算的电子设备。

在现代社会,人们对计算器有着广泛的需求,因此设计一款简单而实用的计算器对于我们理解计算器的工作原理和学习单片机编程非常有帮助。

本文将介绍一种基于51单片机的简易计算器设计,涵盖了相关的硬件设计和软件编程。

二、设计思路
本计算器设计的主要思路如下:
1.使用数码管显示输入的数字和计算结果。

2.使用按键输入数字和操作符。

3.通过软件编程实现数字的输入、运算和结果的显示。

三、硬件设计
1.数码管:使用4位共阴数码管,通过BCD-7段译码器将数字信号转化为数码管显示。

2.按键:使用独立按键输入数字和操作符。

3.电源:使用适当的电源电路提供电压和电流。

四、软件设计
1.初始化:设置数码管显示方式、按键输入方式和端口状态。

2.输入数字:通过按键输入数字,并将数字显示在数码管上。

可以采用按键扫描的方式实现,每次按键触发时读取按键值,并将对应的数字显示在数码管上。

3.输入操作符:通过按键输入操作符,并将操作符显示在数码管上。

同样采用按键扫描的方式实现。

4.数字运算:根据输入的操作符和数字进行相应的运算,得出结果。

5.显示结果:将运算结果显示在数码管上。

五、程序流程图
具体的程序流程图如下:
六、程序实现
以下是51单片机计算器的简单代码实现:
```C
#include<reg51.h>
sbit LED=P1^0;
sbit KEY=P3^0;
void delay(int n)
int i=0, j=0;
for(i=0; i<n; i++)
for(j=0; j<123; j++);
void main
while(1)
if(KEY==0)
LED=0;
else
LED=1;
delay(10);
}
```
七、测试和结果
在硬件设计完成并烧录完程序后,我们可以进行测试。

通过按下按键,观察数码管是否正确显示输入的数字和运算结果。

如果显示正确,则说明
程序设计成功。

八、总结
通过本次设计,我们了解了51单片机计算器的基本工作原理和设计
流程。

通过这个实例,我们可以更好地理解计算器的工作原理和单片机编
程的实际应用。

希望以上内容对您有所帮助。

相关文档
最新文档