(完整版)基于51单片机简易计算器的设计毕业设计
基于51单片机简易计算器毕业论文
基于51单片机简易计算器设计引言计算器(Calculator)是微型电子计算机的一种特殊类型。
它与一般通用计算机的主要区别在于程序输入方式的不同。
计算器的程序一般都已经固定,只需按键输入数据和运算符号就会得出结果,很容易就能掌握。
而一般计算机的程序可以根据需要随时改动,或重新输入新的程序。
简易计算器主要用于加减乘除;科学计算器,又增添了初等函数运算(有的还带有数据总加、求平均值等统计运算)。
现代电子计算器首次问世是1963年。
那时的计算器是台式的,在美国波士顿的电子博览会上展出过。
与计算机相比,它小巧玲珑,计算迅捷,一般问题不必事先编写复杂的程序。
随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。
这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的简易智能机器人。
随着社会需求,计算器也从原有单一的数字加减计算演变为复杂的多种运算。
现在不在单一的在某一方面而是涉及到生活的方方面面.由于我对知识掌握的不够熟练,重点不够清楚,导致在重点与非重点处花费的时间不成比例,进度缓慢,这是设计没能全部完成的部分原因。
目前只做到按键与显示的结合(即在显示器上可以显示数字键还有命令键+-*/ =清零);加法子程序已经编写成功并严整无误,但在整体调试中未能圆满实现,本部分正在调试中。
等调试成功后,其它运算子程序的问题将迎刃而解。
1.简易计算器的设计方案1.1硬件部分设计方案1 单片机部分单片机以AT89C51来做为核心元器件。
2 按键部分设计思路:采用4*4行列式键盘,分别设定数字键和功能键,采用查询方式,每次有键按下时,先判断是实数字键还是功能键。
但是这种方式采用了大量的I/O口线。
(完整版)基于51单片机的数码管简易计算器
基于51/52单片机的简易计算器制作11级自动化2班王栎斐宋为为闫巨东一、题目利用单片机芯片STC89C52、四位八段共阳数码管及已制作好的电路板等器件设计制作一个计算器。
二、任务与要求要求计算器能实现加减乘除四种运算具体如下1. 加法:四位整数加法计算结果若超过八位则显示计算错误2. 减法:四位整数减法计算结果若超过八位则显示计算错误3. 乘法:多位整数乘法计算结果若超过四位则显示计算错误4. 除法:整数除法5. 有清除功能三、课程设计简述总体设计思路简述1.按照系统设计的功能的要求初步确定设计系统由主控模块、显示模块、键扫描接口电路共三个模块组成。
主控芯片使用STC89C52单片机。
2.键盘电路采用4*4矩阵键盘电路。
3.显示模块采用共阳极数码管构成。
四、硬件电路五、软件编程部份#include<reg52.h>#define uchar unsigned char#define uint unsigned int//uchar code num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};//共阴极// 0 1 2 3 4 5 6 7 8 9 熄灭-//uchar code loc[]={0xff,0xfe,0xfd,0xfb,0xf7};//uchar code ero[]={0x79,0x50,0x5c};uchar code num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0x40};//共阳极uchar code loc[]={0x00,0x80,0x40,0x20,0x10};uchar code ero[]={~0x79,~0x50,~0x5c};uint n=0,n1=0,n2=0; //赋初值uchar flag=0; //计算类型选择关键字void delay(int t);void display(int n);void error();main(){while(1){uchar temp;//第一行检测P3=0xfe;temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(10);temp=P3;temp=temp&0xfe;if(temp!=0xfe){temp=P3;switch(temp){case 0xee:n1=0;n2=0;n=0;flag=0;break; //清零case 0xde:n1=10*n1+0;n=n1;break;case 0xbe: if(flag==1)n=n2+n1; //=if(flag==2)n=n2-n1;if(flag==3)n=n2*n1;if(flag==4)n=n2/n1;n1=0;break;case 0x7e: // +n2=n1;n1=0;flag=1;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}}}//扫描第二行P3=0xfd;temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(10);temp=P3;temp=temp&0xf0;if(temp!=0xf0){temp=P3;switch(temp){case 0xed:n1=10*n1+1;n=n1;break; //4case 0xdd:n1=10*n1+2;n=n1;break; //5case 0xbd:n1=10*n1+3;n=n1;break; //6case 0x7d:// -n2=n1;n1=0;flag=2;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}}}//扫描第三行P3=0xfb;temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(10);temp=P3;temp=temp&0xf0;if(temp!=0xf0){temp=P3;switch(temp){case 0xeb:n1=10*n1+4;n=n1;break;case 0xdb:n1=10*n1+5;n=n1;break;case 0xbb:n1=10*n1+6;n=n1;break;case 0x7b: // *n2=n1;n1=0;flag=3;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}}}//扫描第四行P3=0xf7;temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(10);temp=P3;temp=temp&0xf0;if(temp!=0xf0){temp=P3;switch(temp){case 0xe7:n1=10*n1+7;n=n1;break; //7case 0xd7:n1=10*n1+8;n=n1;break; //8case 0xb7:n1=10*n1+9;n=n1;break; //9case 0x77: // /n2=n1;n1=0;flag=4;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}}}display(n);}}//延时函数void delay(int t){int x,y;for(x=0;x<t;x++)for(y=0;y<t;y++);}//数码管显示void display(int n){//溢出处理uchar g,s,b,q;int abs;if((n>9999)||(n<-999)) error();//正数if((n>=0)&&(n<=9999)) {g=n%10;s=n/10%10;b=n/100%10;q=n/1000%10;P0=num[g];delay(5);P2=loc[4];delay(2);P2=loc[0];delay(3);if(n>=10){P0=num[s];P2=loc[3];delay(2);P2=loc[0];delay(3);}if(n>=100){P0=num[b];P2=loc[2];delay(2);P2=loc[0];delay(3);}if(n>=1000){P0=num[q];P2=loc[1];delay(2);P2=loc[0];delay(3);}}//负数if((n<0)&&(n>=-999)){abs=-n;g=abs%10;s=abs/10%10;b=abs/100%10;q=abs/1000%10;P0=num[g];P2=loc[4];delay(2);P2=loc[0];delay(2);if((abs/10%10>0)||(abs/100%10>0)){P0=num[s];P2=loc[3];;delay(2);P2=loc[0];delay(2);if((abs/100%10>0)){P0=num[b];P2=loc[2];delay(2);P2=loc[0];delay(2);if((abs/1000%10>0)){P0=num[q];P2=loc[1];delay(2);P2=loc[0];delay(2);}else{P0=num[11];P2=loc[1];delay(2);P2=loc[0];delay(2);}}else{P0=num[11];P2=loc[2];delay(2);P2=loc[0];delay(2);}}else{P0=num[11];P2=loc[3];delay(2);P2=loc[0];delay(2);}}}//溢出显示void error(){P2=loc[1];P0=ero[0];delay(2);P2=loc[0];delay(3);P2=loc[2];P0=ero[1];delay(2);P2=loc[0];delay(3);P2=loc[3];P0=ero[1];delay(2);P2=loc[0];delay(3);P2=loc[4];P0=ero[2];delay(2);P2=loc[0];delay(3); }。
基于51单片机的简易计算器论文设计
基于51单片机的简易计算器论文设计摘要:计算器是一种常见的电子设备,用于数学计算。
随着科技的迅速发展,计算器不再是一种巨大且笨重的机械设备。
相反,它们变得迷你、便携且功能强大。
本论文旨在设计和实现一种基于51单片机的简易计算器。
该设计利用了51单片机的优点,如低功耗、成本低廉和易于学习等特点。
本论文介绍了设计和实现的过程,包括硬件电路设计、软件程序编写以及性能测试等方面。
1.引言计算器广泛应用于日常生活和学习中,人们常常需要进行加减乘除等简单的数学计算。
为了提供便捷的计算功能,传统计算器使用专用的集成电路设计。
然而,这种计算器成本较高,体积较大,且功能有限。
为了满足市场需求,我们设计了一款基于51单片机的简易计算器。
2.硬件电路设计2.1键盘模块键盘模块采用矩阵键盘设计,包括数字键0-9、运算符键+、-、*、/以及等于键=。
采用矩阵建构可以减少IO口资源的使用,并简化设计。
2.2显示模块显示模块采用液晶显示器,能够清晰地显示数字、运算符和结果。
为了实现更好的用户交互体验,还可以添加背光模块。
2.3控制电路控制电路由51单片机和其他常用电子元件组成,可以通过编程控制键盘的输入和显示模块的输出。
其中,51单片机充当了控制中心的作用,负责接收键盘输入、解析用户命令、进行数学计算和控制显示模块的显示。
2.4电源电路电源电路用于提供稳定的电源给整个计算器系统。
电源电路由电池、稳压电路和滤波电路组成,能够为计算器提供稳定的电压和电流。
3.软件程序设计软件程序设计是整个计算器系统的核心。
主要功能包括接收键盘输入、解析输入、进行数学计算、控制显示模块的显示和处理异常情况。
3.1键盘输入接收软件程序通过扫描键盘矩阵来接收键盘输入。
当用户按下一些键时,软件程序会检测到相应的按键信号,并将其转换为数值或运算符。
3.2输入解析软件程序能够解析用户的输入,判断用户输入的是数字还是运算符,并将其保存在相应的变量中。
同时,软件还可以处理异常输入,如除以零等情况。
(完整)基于51单片机的简易计算器设计
(完整)基于51单片机的简易计算器设计编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)基于51单片机的简易计算器设计)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)基于51单片机的简易计算器设计的全部内容。
基于单片机的简易计算器设计摘要 (3)关键字:80C51 LCD1602 4*4矩阵键盘计算器 (3)第一章绪论 (4)1.1 系统开发背景 (4)1.2 系统开发意义 (4)1.3 设计目的 (4)1。
4 设计任务 (4)第二章单片机发展现状 (5)2。
1 目前单片机的发展状况 (5)2。
1。
1单片机的应用场合 (6)2。
2 计算器系统现状 (6)2.3 简易计算器系统介绍 (6)第三章系统硬件设计及说明 (7)3。
1 系统组成及总体框图 (8)3.2 AT89S52单片机介绍 (8)3.3 其它器件介绍及说明 (10)3.3.1 LCD1602液晶显示 (10)3.3。
2 4*4矩阵扫描按键 (13)第四章 PROTEUS模拟仿真 (14)第五章系统硬件设计及说明 (16)第六章软件设计 (17)6.1 汇编语言和C语言的特点及选择 (17)6。
2 源程序代码 (17)摘要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,但仅单片机方面的知识是不够的,还应根据具体硬件结构、软硬件结合,来加以完善。
计算机在人们的日常生活中是比较常见的电子产品之一.可是它还在发展之中,以后必将出现功能更加强大的计算机,基于这样的理念,本次设计主要以80C51单片机为控制芯片,用C语言进行编程实现,通过4*4矩阵键盘控制,输出用液晶屏LCD1602显示,该计算器可以实现一般的加减乘除四则混合运算。
基于51单片机的简易计算器设计
基于51单片机的简易计算器设计基于51单片机的简易计算器设计一、引言随着微电子技术和嵌入式技术的发展,越来越多的智能化设备被应用于日常生活中。
其中,基于51单片机的简易计算器设计具有广泛的应用价值。
本文将介绍如何使用51单片机设计一个简易计算器,实现加减乘除的基本运算功能。
二、设计方案1.硬件组成:本设计采用51单片机作为主控芯片,与键盘、显示器等外围设备相连。
键盘用于输入数字和运算符,显示器则用于显示运算结果。
2.软件设计:软件部分包括主程序和子程序。
主程序负责初始化硬件、读取键盘输入和显示运算结果。
子程序包括加减乘除的运算子程序,可根据输入的运算符和操作数进行相应的运算。
3.算法实现:在加减乘除的运算子程序中,采用基本的数学运算方法实现。
对于加法,直接将两个操作数相加;对于减法,将两个操作数相减;对于乘法,采用循环相乘的方法;对于除法,采用循环相除的方法。
三、实验结果在实验中,我们成功地使用51单片机设计了一个简易计算器,实现了加减乘除的基本运算功能。
在测试过程中,我们输入了不同的数字和运算符,得到了正确的运算结果。
同时,我们也测试了计算器的稳定性,发现其在连续运算时表现良好,没有出现明显的误差或故障。
四、结论基于51单片机的简易计算器设计具有简单易行、实用性强等优点。
通过实验测试,我们验证了其可行性和稳定性。
此外,该设计还可以根据需要进行扩展和优化,例如增加更多的运算功能、优化算法等。
未来,我们可以进一步研究如何提高计算器的运算速度和精度,以及如何将其应用于更多的实际应用场景中。
五、改进意见与展望1.增加更多的运算功能:例如实现括号、开方、指数等高级运算,满足更复杂的数学计算需求。
2.优化算法:针对现有的加减乘除运算算法进行优化,提高运算速度和精度。
例如采用更高效的除法算法,减少运算时间。
3.增加存储功能:在计算器中加入存储单元,使得用户可以在多个步骤之间进行数据传递和保存。
4.增强人机交互界面:优化显示器的显示效果,增加用户输入的便捷性,提高用户体验。
基于51单片机简易计算器课程设计报告
基于51单片机简易计算器课程设计报告
基于51单片机简易计算器课程设计报告
1. 研究背景
•计算器是人们日常生活和工作中常用的工具之一。
•通过设计简易计算器,可以加深学生对51单片机的理解和应用。
2. 目标和需求
•设计一个基于51单片机的简易计算器,能够进行基本的四则运算和开方运算。
•要求计算器能够显示输入和计算结果。
•要求计算器具备简单的界面和操作。
3. 设计方案
•使用51单片机作为计算器的控制核心。
•通过键盘输入数字和运算符,并显示在液晶屏上。
•根据输入的运算符,进行相应的计算,并将结果显示在液晶屏上。
4. 硬件设计
•使用51单片机作为主控芯片。
•连接液晶屏模块,用于显示输入和计算结果。
•连接键盘模块,用于输入数字和运算符。
5. 软件设计
•使用C语言进行编程。
•设计主程序,包括初始化、输入处理和计算输出等功能。
•设计函数,实现基本的四则运算和开方运算。
6. 实验结果
•成功设计并实现了基于51单片机的简易计算器。
•可以正常进行基本的四则运算和开方运算。
•输入和计算结果能够准确显示在液晶屏上。
7. 总结与展望
•通过设计这个简易计算器,学生对51单片机的理解和应用能力有了提高。
•下一步可以考虑增加更多的功能,如科学计算和数据存储等。
以上是本次基于51单片机简易计算器课程设计的报告。
通过这个实验,学生对51单片机的应用能力得到了提升,进一步增强了对计算器的理解。
在未来的课程设计中,可以进一步拓展功能,提升计算器的实用性和功能性。
基于51单片机计算器的设计
职业技术学院毕业设计报告(论文)系别:通信与电子系专业:汽车电子技术班级:汽车电子一班学生姓名:学生学号:设计(论文)题目:基于51 单片机计算器的设计指导教师:起讫日期:毕业设计报告(论文)摘要基于51 单片机计算器的设计摘要:计算器(calculator ;counter )一般是指“电子计算器” ,该名词由日文传入中国。
计算器能进行数学运算的手持机器,拥有集成电路芯片,但结构简单,比现代电脑结构简单得多,可以说是第一代的电子计算机(电脑),且功能也较弱,但较为方便与廉价,可广泛运用于商业交易中,是必备的办公用品之一。
本任务是个简单的多位数四则运算,程序是根据教材和网络中的程序参考编写而成,在功能上还不是很完善,限制也不较多。
本任务重在设计结构和自我锻炼,让我们用专业的知识专业的技能分析和解决问题,全面系统的锻炼。
报告详细介绍了整个系统的硬件组成结构、工作原理和系统的软件程序设计计算器将完成的功能有整数的加、减、乘、除等。
关键词:MCS-51 8051单片机,计算器,加减乘除目录摘要 ................... 错误! 未定义书签1.绪论 (5)2.系统软件设计方案 (6)2.1设计目标和实现方法 (6)2.2整体方案论证 (6)3.系统硬件的设计与介绍 (7)3.1复位电路的设计与运用 (7)3.2时钟振荡器电路的设计与运用 (7)3.3输入电路的设计 (7)3.4输出电路的设计 (10)4.系统软件的设计与介绍 (12)1. 绪论 中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。
这种算筹多是 用竹子制成,也有用木头,兽骨充当材料的。
大约二百七十枚一束,放在布袋里 可以随身携带。
直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明, 明代时期的珠算盘已经与现代的珠算盘几乎没有差别。
17 世纪初,西方国家的计算工具已经有了较大的发展, 英国数学家纳皮尔发 明的"纳皮尔算筹 " ,英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅 能做加减乘除、 乘方、开方运算, 甚至可以计算三角函数, 指数函数和对数函数, 这些计算工具不仅带动了计算器的快速发展, 也为实现现代计算器发展奠定了良 好的基础,成为现代社会应用广泛的计算工具。
《基于51单片机简易的计算器制作》毕业设计(正文)
湖南机电职业技术学院毕业设计说明书课题名称: 基于51单片机简易的计算器制作院、系:电气工程学院专业:机电一体化学生班级:机电1211 学生姓名:成超强指导教师:李婕妤完成日期: 2021.10毕业设计任务书题目:基于51单片机的简易计算器制作任务与要求:在生活当中我们经常需要进行加减乘除计算,随着科技的开展,电子计算器代替心算和笔算已经相当普及。
但目前市面上有些电子计算器的功能设计过于复杂,功能简易实用的电子计算器反而更加适用于老人和小孩,且本钱低廉,存在一定的市场需求。
因此本设计制作一款适用于老人和小孩的简易电子计算器。
基于51单片机的简易计算器应用AT89C51单片机,通过4*4矩阵键盘设计计算器需要的数字键和功能键,用4个数码管来显示运算过程和结果。
此计算器由于受数码管个数限制,只能进行0-999内的加减乘除计算,显示结果只显示整数局部。
1.设计任务设计简易计算器的硬件电路,绘制PCB板,组装简易计算器,并完成计算器的C语言程序设计。
2.要求:1、计算器需设计0-9、+、—、*、%、=、去除共16个按键。
2、计算器带4位数码管显示。
3、计算器能实现3位数内的加减乘除计算。
4、计算器硬件应包含程序下载电路。
毕业设计(论文)进度方案表目录毕业设计任务书 (2)毕业设计(论文)进度方案表 (2)第一章单片机介绍 (6)1单片机及其应用 (6)1.1 单片机介绍 (6)1.2 单片机的应用 (7)第二章元件介绍 (7)单片机介绍 (8)第三章系统设计 (10)单片机简易的计算器制作 (10)数码管显示 (11)矩阵按键 (11)第四章系统硬件的设计与介绍 (12)复位电路的设计 (12)时钟震荡电路的设计 (13)输入电路的设计 (14)输出电路的设计 (16)第五章系统程序的设计与介绍 (18)显示程序流程图设计 (18)读键输入程序流程图 (20)主程序设计 (21)仿真与调试 (22)第六章心得体会 (24)结语........................................................................................ 错误!未定义书签。
基于51单片机的简易教学计算器设计
基于51单片机的简易教学计算器设计设计目的:本设计旨在基于51单片机实现一个简易的教学计算器,可以进行基本的四则运算,并具备一些辅助功能,帮助学生进行数学计算和学习。
设计要求:1.显示器:使用液晶显示器(LCD)来显示操作数和计算结果。
2.键盘输入:设计一个按键矩阵作为输入设备,用于输入数字和操作符。
3.四则运算:实现加法、减法、乘法和除法四种基本运算。
4.辅助功能:提供开平方、取倒数等辅助功能。
5.界面友好:界面清晰、操作简单。
硬件设计:1.51单片机(AT89C52):作为计算器的核心芯片,控制程序运行和与外围设备的交互。
2.液晶显示器(LCD):用于显示操作数和计算结果。
3.按键矩阵:用于输入数字和操作符。
4.运算模块:用于进行四则运算和辅助功能计算。
软件设计:1.系统初始化:初始化51单片机和LCD屏幕,设置键盘矩阵的引脚。
2.输入处理:通过按键矩阵检测用户输入,并将输入的字符存储在缓冲区中。
3.表达式计算:根据用户输入的表达式,通过逆波兰表达式算法将其转换为后缀表达式,并进行计算得到结果。
4.显示结果:将计算结果显示在LCD屏幕上。
5.辅助功能:根据用户选择的辅助功能,进行相应的计算,并显示结果。
6.重置功能:提供清零功能,将计算器的状态和显示结果重置。
操作流程:1.系统初始化:开机时,系统进行初始化,屏幕显示“计算器”字样。
2.输入操作数和操作符:用户通过按键矩阵输入操作数和操作符。
3.计算结果:用户输入“=”符号后,计算器根据输入的表达式进行计算,并将结果显示在LCD屏幕上。
4.辅助功能:在计算结果显示完成后,用户可选择进行辅助功能,如开平方、取倒数等操作。
5.重置功能:用户可通过按下“C”键进行重置,将计算器状态和显示结果清零。
总结:本设计基于51单片机实现了一个简易的教学计算器,具备基本的四则运算功能和一些辅助功能。
其使用液晶显示器作为显示设备,利用按键矩阵进行输入操作,通过逆波兰表达式算法进行计算,并将结果显示在屏幕上。
基于51单片机简易计算器的设计毕业论文
本科毕业论文题目:基于51单片机简易计算器的设计毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
基于51单片机简易计算器课程设计报告书
电气与电子信息工程学院单片机课程设计设计题目:简易电子计算器专业班级: 12级电信(1)班学号: 1姓名:峥指导教师:章磊艾青设计时间:2014/06/03~2014/06/13设计地点:K2—407课程设计任务书2013 ~2014 学年第2学期学生:峥专业班级:电子信息工程技术(专)2012(1)班指导教师:艾青、章磊工作部门:电气学院电信教研室一、课程设计题目:单片机课程设计1. 出租车计价器系统设计2. 医院住院病人呼叫器的设计3. 作息时间控制器4. 数字温度计的设计5. 火灾报警器的设计6. 电子密码锁7. 电子计算器8.学生自选二、课程设计容1. 以单片机为核心器件,构造系统;2. 熟悉、掌握各种外围接口电路芯片的工作原理和控制方法;3. 熟悉、掌握单片机汇编语言的软件设计方法;4. 熟悉、掌握印刷电路板的设计方法;5. 根据具体设计课题的技术指标和给定条件,能独立而正确地进行方案论证和电路设计,要求概念清楚、方案合理、方确、步骤完整;6. 学会查阅有关参考资料和手册,并能正确选择有关元器件和参数;7. 编写设计说明书,参考毕业设计论文格式撰写设计报告(5000字以上)。
三、进度安排2.执行要求智能电子产品设计制作共8个选题,每组不超过7人,为避免雷同,在设计中每个同学所采用的方案不能一样。
四、基本要求(1)进行方案论证并根据要求确定系统设计方案;(2)绘制系统框图和电气原理草图,程序流程图;(3)对相关电路进行电路参数计算和元器件选择;(4)进行软件汇编并调试;(5)利用Proteus和Keil uVision2对系统进行联调;(6)绘制系统原理总图,列出原器件明细表;(7)画出软件框图,列出程序清单;(8)写出使用说明书;(9)对设计进行全面总结,写出课程设计报告。
五、课程设计考核办法与成绩评定第1章方案的选择与概述1. 单片机概述当今时代,是一个新技术层出不穷的时代。
在电子领域,尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统正以前所未见的速度被单片机智能控制系统所取代。
基于51单片机简易计算器课程设计报告
基于51单片机简易计算器课程设计报告引言:计算器是现代社会中常见的电子设备之一,它能够帮助人们进行各种数学运算,提高计算效率。
本文将介绍基于51单片机的简易计算器的设计过程及实现方法。
一、设计目标本次设计的目标是实现一个简易计算器,能够进行基本的加减乘除运算,并能够显示计算结果。
通过该设计,旨在加深学生对51单片机的理解,培养其实际操作能力。
二、硬件设计1. 电源模块:采用稳压电源模块,提供稳定的电压给单片机及其他电路模块。
2. 单片机模块:采用51单片机,作为计算器的核心控制模块,负责接收按键输入、进行运算和显示结果。
3. 按键模块:设计合适的按键电路,用于输入数字和操作符。
4. 显示模块:采用数码管或液晶显示屏,显示计算结果。
5. 连接线:将各个模块连接起来,确保信号的传输畅通。
三、软件设计1. 初始化:设置单片机的工作模式、端口方向和初始状态。
2. 按键扫描:通过轮询的方式检测按键是否被按下,若有按键按下则进行相应的处理。
3. 输入处理:根据按键的顺序和操作符的位置进行输入的处理,将输入的数字和操作符分别存储在相应的变量中。
4. 运算处理:根据输入的操作符进行相应的运算,得出计算结果。
5. 结果显示:将计算结果通过数码管或液晶显示屏进行显示。
6. 清零处理:在计算结果显示完毕后,对相关的变量进行清零处理,以便进行下一次的计算。
四、功能实现1. 加法运算:通过按下"+"按键,输入第一个数字,再按下"="按键,输入第二个数字,最后按下"="按键,计算并显示结果。
2. 减法运算:通过按下"-"按键,输入第一个数字,再按下"="按键,输入第二个数字,最后按下"="按键,计算并显示结果。
3. 乘法运算:通过按下"*"按键,输入第一个数字,再按下"="按键,输入第二个数字,最后按下"="按键,计算并显示结果。
(完整)基于51单片机的简易计算器设计
(完整)基于51单片机的简易计算器设计基于51单片机的简易计算器设计计算器作为一种常见的电子设备,既能满足日常生活的计算需求,又能帮助人们提高工作效率。
本文将介绍基于51单片机的简易计算器的设计。
该计算器具备加减乘除的基本计算功能,并支持用户输入和结果显示。
下面将从材料准备、电路连接和程序设计三个方面详细介绍该计算器的设计。
一、材料准备在设计计算器之前,我们需要准备以下材料:1. 51单片机开发板:用于控制计算器的整个运行过程;2. 液晶显示屏:用于显示用户输入的数字和计算结果;3. 数字按键:用于用户输入数字和运算符;4. 连接线:用于连接51单片机开发板、液晶显示屏和数字按键。
二、电路连接1. 连接液晶显示屏和51单片机开发板:将液晶显示屏的VCC、GND、SCL和SDA引脚分别与开发板上对应的引脚连接。
2. 连接数字按键和51单片机开发板:将数字按键的引脚依次与开发板上的IO口引脚连接,其中有一根引脚需要连接到开发板的中断口。
三、程序设计1. 初始化设置:在程序开始时,进行液晶显示屏和数字按键的引脚初始化设置,以及相应的中断设置。
2. 输入处理:通过数字按键输入,获取用户输入的数字和运算符,并将其保存到相应的变量中。
3. 运算处理:根据用户输入的运算符,对相应的数字进行加、减、乘、除的运算,并将结果保存到一个变量中。
4. 结果显示:将运算结果显示在液晶显示屏上,以便用户查看计算结果。
5. 重置处理:在每次运算结束后,对相关变量进行重置,以便下一次计算。
通过以上程序设计,我们可以完成基于51单片机的简易计算器的设计。
在实际使用过程中,用户只需要通过数字按键输入相应的数字和运算符,计算器就可以自动进行运算,并将结果显示在液晶显示屏上,方便用户进行查看。
总结本文介绍了基于51单片机的简易计算器的设计。
通过合理的材料准备、电路连接和程序设计,我们可以实现一个具备加减乘除功能的计算器。
该计算器不仅能满足人们日常的计算需求,还能帮助提高工作效率。
基于51单片机的简易计算器设计
基于51单片机的简易计算器设计设计一个基于51单片机的简易计算器,主要功能包括加减乘除四则运算和百分数计算。
下面是设计的详细步骤:1.硬件设计:-使用51单片机作为主控芯片。
-连接16x2的LCD显示屏,用于显示输入和计算结果。
-连接16个按键开关,用于输入运算符和数字。
-连接4个LED灯,用于指示四则运算的选择。
2.软件设计:-初始化LCD显示屏,并显示欢迎信息。
-监听按键输入,在接收到输入后,根据输入的按键值判断操作类型。
-如果按键值对应数字键,保存输入的数字,并在LCD上显示当前输入的数字。
-如果按键值对应四则运算符(+、-、*、/),保存当前输入的数字,并保存运算符。
-如果按键值对应等号(=),根据保存的数字和运算符进行相应的运算,计算结果保存并显示在LCD上。
-如果按键值对应清零(C),将所有保存的数据清空,并显示初始状态。
-如果按键值对应百分号(%),将当前数字除以100并显示在LCD上。
3.主要函数说明:- void init_lcd(:初始化LCD显示屏。
- void display_lcd(char* str):将指定字符串显示在LCD上。
- void clear_lcd(:清空LCD显示屏。
- char get_key(:获取按键输入的值。
- void calculate(:根据保存的数字和运算符进行计算。
- void add_digit(char digit):将输入的数字添加到当前数字中。
- void set_operator(char op):保存运算符。
- void clear_data(:清空所有保存的数据。
4.主要流程:-初始化LCD显示屏并显示欢迎信息。
-在循环中监听按键输入,并根据输入的按键值进行相应的操作。
-根据不同的按键值,调用不同的函数进行处理。
-最后计算结果显示在LCD上。
以上是基于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上清零和等于功能为了提升用户体验,我们还可以添加清零和等于功能。
基于51单片机的简易计算器论文设计
基于51单片机的简易计算器论文设计摘要:本文介绍了一种基于51单片机的简易计算器的设计。
该计算器具有基本的加减乘除运算功能,可以进行整数和小数的计算,并在LCD显示屏上显示计算结果。
设计采用了51单片机作为计算控制核心,外接了键盘输入电路、LCD显示电路和运算电路。
在设计过程中,使用了汇编语言进行51单片机的编程。
实验结果表明,该简易计算器设计具有稳定、可靠、易于操作和性能良好等特点。
关键词:51单片机;简易计算器;LCD显示屏;汇编语言1.引言计算器作为一种普遍存在于日常生活中的电子设备,已经成为人们生活中必不可少的工具之一、为了满足人们对计算器的基本需求,本文设计了一种基于51单片机的简易计算器。
该计算器具有基本的加减乘除运算功能,可以进行整数和小数的计算,并在LCD显示屏上显示计算结果。
本文将详细介绍该计算器的设计与实现过程。
2.总体设计2.1系统硬件设计本文设计的简易计算器主要由以下部分组成:51单片机、键盘输入电路、LCD显示电路和运算电路。
其中,51单片机作为计算控制核心,接收键盘输入信号,进行运算,并将结果通过LCD显示出来。
键盘输入电路负责将按键信号转化为数字输入信号,通过矩阵键盘的方式实现输入功能。
LCD显示电路负责将计算结果转化为可视化的输出信号并在LCD显示屏上显示出来。
运算电路则是根据输入的运算符和两个运算数进行相应的加减乘除运算,并将结果传送给LCD显示电路。
2.2系统软件设计本文的软件设计主要包括51单片机的编程设计。
在编程设计中,使用汇编语言进行编程,实现对键盘输入信号的检测和解码,对输入的数值进行运算,将计算结果转化为数据信号并传送给LCD显示电路。
同时,还需要编写相应的算法,实现加、减、乘、除等基本运算功能的设计。
3.系统实现在系统实现中,首先将键盘输入电路连接到51单片机的I/O引脚上,通过矩阵键盘的方式实现输入功能。
然后将LCD显示电路连接到51单片机的I/O引脚上,将计算结果转化为可视化的输出信号并在LCD显示屏上显示出来。
基于MCS-51单片机的简易计算器的设计与实现毕业设计论文
基于MCS-51单片机的简易计算器的设计与实现【摘要】当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能力是人脑所不能胜任的,而且比较容易出错。
计算器作为一种快速通用的计算工具方便了用户的使用,可是它还在发展之中,以后必将出现功能更加强大的计算器,所以本次设计是基于51单片机来设计的计算器,实现基本功能加减乘除,采用LCD显示结果数据。
【关键词】MCS-51;MM74C922;Protues;矩阵键盘;计算器Design and implementation of a simple calculator based onMCS-51 single chip microcomputer【Abstract】Nowadays, with the continuous improvement of people's living, electronic products have already walked into each and every family, whether life or learning, or entertainment and recreation almost everything cannot do without the electronic products, computing capability of large and complex is the human brain are not competent, and relatively easy to go wrong. The calculator as a fast general-purpose computing tools are easy to use, but it is still in development, later will appear a calculator function more powerful, so this design is to design based on 51 single chip computer, the realization of the basic functions of add, subtract, multiply and divide, uses LCD to display the results of data.【Keywords】MCS-51;MM74C922;Protues;Matrix keyboard ;calculator目录第一章绪论 (1)1.1 设计背景 (1)1.2 设计内容 (1)1.3 设计意义 (1)第二章设计方案及技术基础 (1)2.1 设计方案 (1)2.2 方案论证及设计 (1)2.3 MCS-51单片机及开发环境介绍 (2)2.3.1 MCS-51系列单片简介 (2)2.3.2 MM74C922芯片 (3)第三章硬件设计 (4)3.1 硬件电路设计 (5)3.1.1 电路设计原理 (5)3.1.2 硬件电路设计 (5)3.2 时钟电路 (5)3.3 复位电路 (6)3.4 输入模块:键盘接口电路 (6)第四章软件设计 (8)4.1 主程序设计 (8)4.2 外部中断0处理程序 (8)4.2.1 键值转化为键盘上按键值程序 (10)4.2.2 算术运算程序 (10)4.3 LCD显示程序 (11)第五章开发体会 (14)5.1 Keil软件调试 (14)5.2 Protues软件仿真 (14)第六章总结 (15)参考文献 (16)致谢 (17)附录 (18)第一章绪论1.1 设计背景随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。
基于51单片机简易计算器的设计本科毕业论文
本科毕业论文题目:基于51单片机简易计算器的设计毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
基于51单片机的简易计算器设计
基于51单片机的简易计算器设计一、引言计算器是一种执行基本数学运算的电子设备,现在市面上有各种类型的计算器,从小型的手持计算器到大型的科学计算器。
本设计基于51单片机设计了一种简易计算器,可以实现加法、减法、乘法和除法等基本运算。
二、设计思路1.系统硬件设计本设计使用的51单片机芯片选择了常用的STC89C52芯片,具有强大的功能和稳定性。
外设有键盘、数码管和LCD液晶显示屏。
2.系统软件设计系统的软件设计基于C语言进行,使用51单片机的汇编语言和C语言进行编程。
软件主要分为键盘输入处理、运算处理和结果显示三个部分。
三、系统硬件设计1.键盘输入部分使用4x4矩阵键盘作为输入设备,将键盘的4行4列分别接入到51单片机的4个IO口上,通过行列扫描的方式来检测按键的状态。
2.数码管显示部分使用共阳极的数码管来显示结果,通过提供适当的电压和信号控制来显示所需的数字。
3.LCD液晶显示屏为了方便用户查看输入和结果,本设计还使用了LCD液晶显示屏。
通过串口通信将结果传输到液晶显示屏上进行显示。
四、系统软件设计1.键盘输入处理通过行列扫描的方式检测键盘的按键状态,当检测到按键按下时,将对应的按键值存储起来。
2.运算处理根据用户的输入进行相应的运算处理。
根据检测到的按键值进行不同的运算操作,如加法、减法、乘法和除法。
3.结果显示将运算的结果通过串口通信传输到LCD液晶显示屏上进行显示。
五、系统实现1.硬件连接将键盘的行列引脚接到51单片机的对应IO口上,数码管和LCD液晶显示屏也分别连接到单片机的IO口上。
2.软件编码通过C语言编写系统软件,包括键盘输入处理、运算处理和结果显示三个模块。
3.调试测试将编写好的软件烧录到单片机上,通过键盘输入进行测试,并观察数码管和LCD液晶显示屏上的输出结果。
六、总结本设计基于51单片机实现了一个简易计算器,通过键盘输入进行基本的运算操作,并将结果通过数码管和LCD液晶显示屏进行显示。
单片机的简易计算器毕业设计
单片机的简易计算器毕业设计设计题目:基于单片机的简易计算器设计目的和意义:计算器是人们日常生活中必不可少的工具之一、通过设计一个基于单片机的简易计算器,可以帮助学生更好地理解计算机的原理和工作原理,同时也能提高他们的计算能力和逻辑思维能力。
此外,通过此设计可以加深对单片机的了解,并能提高学生的动手实践能力。
设计内容和要求: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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科毕业论文题目:基于51单片机简易计算器的设计院(系):物理与电子工程学院专业:应用物理学学生姓名:王彬指导教师:王强职称:2014年11月5日目录摘要 (1)关键字 (1)引言 (1)1、单片机及其应用 (2)1.1 单片机介绍 (2)1.2 单片机应用 (2)1.3 AT89C51单片机 (3)2、LCD1602和74LS08的工作理 (7)2.1 选取LCD1602 ………………………………………………………2.2 LCD1602的功能和指令现…………………………………………………2.3 74LS08的功能…………………………………………3、系统实现模块框架……………………………………………………………3.1 硬件设计电路框图………………………………………………………3.2 实现原理框图……………………………………………………………4、硬件设计及仿真……………………………………………………………4.1 晶振、复位电路的设计…………………………………………………4.2 按键电路的设计………………………………………………4.3 LCD1602显示电路的设计…………………………………………5、软件设计……………………………………………………………6、总结……………………………………………………………7、参考文献……………………………………………………………8、附件……………………………………………………………摘要:简易计算器在人们的生活中应用极为广泛,由于它主要进行一些简单的运算,适用性强,并且方便携带,所以在许多的地方都必不可缺,比如在办公,交易等等。
本系统主要介绍计算器实现简易计算的这个详细的过程,它的电路是以AT89C51单片机作为核心器件的,并且它的功耗低,能再3V的低压下工作,有时也可按照要求提升一定的电压。
它的硬件部分主要由AT89C51单片机、按键、LCD1602显示屏、指示灯系统等部分构成。
软件部分,是在Keil平台用C语言编写程序,包括运算、复位、延时、计算等。
其次电路的设计会再proteus上面进行仿真,以保障硬件电路的正确。
关键字:AT89C51单片机;LCD1602显示屏;74LS08;按键;C语言。
引言:计算器是日常学习和生活中的好帮手,比如对工科的学生来说,常常要用到基本的 +,-,* ,/ 运算,备有一个科学计算器在手边,可以把繁琐的计算迅速解决,对学习事半功倍。
单片机是一种集成的电路芯片,它是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU,存储器(RAM、ROM),多种I/O口和中断系统,定时器/计时器等功能集成到一块半导体芯片上构成的一个小而完善的计算机系统。
本设计要制作的就是单片机于生活中最为常见的一种应用——简易计算器。
本简易计算器AT89C51单片机作为核心,可以显示简易的计算,简易计算器显示电路由LCD1602组成,硬件方面AT89C51单片机,晶振,按键, LCD1602显示屏。
1、单片机及其应用1.1 单片机介绍单片机,全称单片微型计算机,又称微控制器,是把中央处理器、存储器、定时/计数器、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。
它在硬、软件系统和I/O口接口控制方面的能力都有独特之处,它在组成、逻辑功能上也是具有了微机系统的基本条件的。
但是,它毕竟是单片机,它的许多功能还得靠外接输入/输出设备来实现,这样才能构成实用的单片机应用系统。
旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器。
单片机是靠执行程序来运行的,并且可以随着要求修改一些程序,已达到实现不同的功能,尤其是一些比较特殊的独特的功能,如果用别的器件这样的功能,就会需要更多的力气才能完成,有的甚至是无法做到的,这就更不用说它的成本以及商业价值了。
所以用单片机以后,这些功能几乎都可以通过单片机很容易就实现。
1.2 单片机应用目前,单片机已经以各种不同的方式融入我们的生活,大到科学研究,小到生活中的小机器,并且在许许多多的领域都是不可或缺的,像现在的各种智能的IC卡,医疗机器上面的的智能检测,汽车、飞机等交通工具的智能导航系统,包括上面的录音机、视频摄像机都离不开单片机,更不用说一切自动的家用电器和一些智能机器了。
所以,学习单片机的开发和应用是电子信息自动化时代必不可少的。
单片机广泛应用于仪器仪表、家用电器、医用设备、专用设备的智能化管理及过程控制等领域。
,大致可分如下几个范畴:(1)在自动化和实时测控中的应用(2)计算机网络通信和智能仪器设备领域中的应用(3)在交通设备领域和航天航空中的应用同时,单片机在嵌入式系统应用领域中也有着重要的地位。
1.3 AT89C51单片机51单片机是单片机中的一个子系列,AT98C51也只是其中的一种,AT89C51是一种带2K字节闪烁可编程、可擦除只读存储器的低电压,高性能CMOS 8位的单片机。
它的主要功能部件包括:(1)8位的CPU。
(2)片内振荡器。
(3)128字节的片内数据存储器。
(4)4KB的片内程序存储器。
(5)寻址范围为64KB的外部数据存储器和程序存储器。
(6)21个字节的专用寄存器。
(7)4个8位的并行I/O口。
(8)一个全双工的串行口。
(9)2个16位的定时/计数器。
(10)5个中断源,2个中断优先级。
(11)111条指令,具有位寻址功能。
(12)片内采用单总线结构。
引脚的介绍:P0口(P0.0~P0.7):P0口为一个8位漏级开路双向I/O口。
第二功能是访问外部存储器时,它分时作为低8位地址线和8位双向数据线。
当P0口作为普通输入口时,应先向口锁存器写“1”。
P1口(P1.0~P1.7)P1口是一个内部提供上拉电阻的8位双向I/O 口。
P1口管脚写入‘1’后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
P2(P2.0~P2.7)口:P2口为一个内部上拉电阻的8位双向I/O 口,当P2口被写‘1’时,其管脚被内部上拉电阻拉高,且作为输入。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址‘1’时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P3(P3.0~P3.7)口:P3口管脚是8个带内部上拉电阻的双向I/O口。
当P3口写入‘1’后,它们被内部上拉为高电平,并用作输入。
P3口也可作为AT89C51的一些特殊功能口(第二功能),如下表所示:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
2、LCD1602的工作原理2.1选取LCD1602和原理LCD是1968年之后发展起来的一种光电显示元件,它最大的优点就是耗能特别低,这是其他显示器件不可以比拟的。
它的工作电压在1.5V-6V,功耗小,寿命长与500000小时,响应速度在10-200ms,并且工作温度也很广,在-20℃到+85℃。
在本次设计中,我选的LCD1602显示屏,主要是它是一个成品,这样对我的设计的稳定性有一定的保障。
本身的LCD是不发光,是由于给它施加电压之后,造成的电场是LCD里的TN型液晶体排列发生改变,而形成不透光的部分从而看上去是显示黑色[1]。
2.2 LCD1602 功能和指令实现本次LCD1602与单片机连接。
接口引脚及功能如下:BLK:背光源负极,接地;BLA:背光源正极,接+5V;V0:液晶显示的偏压信号,通过电位器W1调节,1602的偏压解决0V; RS:接P1.2,决定传输类型是数据或命令,1-表示数据,0-表示命令;R/W:接P1.6,读/写控制,1-表示读,0-表示些;E:接P1.3,使能端,高电平有效;DB0~DB7:数据端,连接P0口。
2.3 74 LS08的功能74LS08的额定电源电压为5V,最大可以在5.25V的电压下工作,输入低电平电压0.8V,低电平电流输出为8mA,高电平电压输出-400uA。
引脚、逻辑图功能真值表L=低电平H=高电平3、系统实现模块框架 3.1 硬件设计电路框图3.2 实现原理框图原理框图4、硬件设计及仿真电路的设计我会在proteus软件上面进行多次仿真和改进,这样会省掉在制作的过程中一些不必要的返工。
4.1晶振、复位电路的设计晶振的频率得以单片机内部频率一样,并且要合适,这里我就用12MHz的晶振频率。
4.2按键电路的设计在按键电路中,按键控制直接接在P1口,由于只是简易计算就是4*4按键。
4.3 LCD1602显示电路的连接在这之前得检测LCD是否能正常显示,然后,引脚之间的连接得保障不要接错或者接反。
5、软件设计程序植入及调试(排除隐患)本次设计是用C语言编写程序,主要的程序模块有按键编程,延时(中断)编程,计算编程(+,-,*,/)和LCD1602的显示编程。
6、总结7、参考文献[1]姚金生,《元器件》(第三版)。
北京:电子工业出版社,2008.[2]谭浩强,C程序设计(第二版)[M].北京:清华大学出版社,200.[3]董少明,《单片机原理与应用技术》,北京理工大学出版社,2009.[4][5]8、附件附件1:。