简易计算器设计电路图

合集下载

简易计数器的设计与制作

简易计数器的设计与制作

简易计数器的设计与制作该计数器可实现按键计数、增减控制、手/自动清零等功能。

需要准备下列元件:共阴极7段数码管、按键开关、4511(BCD锁存/7段译码/驱动器)、4516(可预置4位二进制加/减计数器)、40106(或7414,六反相施密特触发器)、4001(或7400,四2输入与非门)、4093(或74132,四与非施密特触发器)以及面包板、电阻、电容若干。

另外还需要准备+5V稳压电源一台,或自制电源模块.本电路以计数器集成块为核心,其输人为:计数、清零、增减切换三个按键,其输出经译码驱动器处理后,由数码管显示。

原理框图如下图所示。

一、计数器根据设计要求能增减计数,应选用可逆计数器,本设计选用可预置4位二进制加/减计数器4516,如下图。

计数脉冲从CP输入,每到来1个脉冲上升沿,二进制输出数据改变1。

如果U/D端为高电平,就增加1;反之减少l。

RD为异步清零端,RD为高电平时、计数器清零。

本设计就是要对这三个输入端进行控制。

此外,其他控制端也应合理设定:LD为异步数据预置控制端,当LD高电平时,DO~D3上的数据置入计数器中,为计数控制端,控制计数器的计数操作,CI=O时、允许计数,CI=1时、保持。

至于究竟设置为高电平还是为低电平,请自行考虑。

二、按键控制按键开关一般有两种接法,一种是平时为低电平,按下变成高电平,如下图(a)所示,图中A点为控制信号输入端子;另一种相反,平时高,按下后变低,如下图(b)所示。

读者可自行选择脉冲按键的接法,但清零键必须按(a)图接,读者可自行分析其原因。

三、译码驱动计数器输出的4位二进制数据不能直接送至数码管进行显示,并且4516也无法驱动点亮发光二极管。

本设计选用7段译码/驱动器4511,引脚排列下如图所示。

其中Al、A2、A3、A4为BCD码输入,A1为最低位。

LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码'8',各笔段都被点亮以检查显示器是否有故障。

简易加减计数器

简易加减计数器

1.设计目的1、综合运用相关课程中所学到的知识去完成设计课题。

2、学会电路的设计与仿真。

3、能自己熟练连接实现逻辑电路。

4、掌握Proteus的基本用法。

5、掌握74LS283N芯片的逻辑功能和译码显示器的使用方法。

2.设计要求1、用于两位以下十进制的加减运算。

2、以合适方式显示输入数据及计算结果。

3、设计要求被减数大于或等于减数。

3.总体设计3.1电路方框图图1电路方框图3.2工作原理先利用单刀双掷开关将加数(减数)与被加数(被减数)置入,然后通过将加数(减数)通过异或门进行逻辑组合,再通过74LS283N 实现8421码的转换,最后接上7段数码管显示结果。

4.单元电路设计与分析4.1加法电路加法电路原理图如图1所示:图1加法电路4.2减法电路图2减法电路4.3元件清单以及元件介绍2、设计思路第一步,置入两个四位二进制数。

例如(1001),(0011)和(0101),(1000),同时在两个七段译码显示器上显示出对应的十进制数9,3和5,8。

第二步,通过开关选择加(减)运算方式;第三步,若选择加运算方式所置数送入加法运算电路进行运算,同理若选择减运算方式,则所置数送入减法运算电路运算;第四步,前面所得结果通过另外两个七段译码器显示。

即:若选择加法运算方式,则(1000)+(0110)=(1110)十进制8+6=14并在七段译码显示器上显示14。

若选择减法运算方式,则(0101)-(1000)=(10011)十进制5-8=-3,并在七段译码显示器上显示-3。

3、运算方案方案一通过开关J1-J8接不同的高低电平来控制输入端所置的两个一位十进制数,J1-J4控制第一个数A,J5-J8控制第二个数B,译码显示器U12和U13分别显示所置入的两个数。

数A直接置入四位超前进位加法器74LS283N的A4-A1端,74LS283的B4-B1端接四个2输入异或门。

四个2输入异或门的一输入端同时接到开关J9上,另一输入端分别接开关J5-J8,通过开关J5-J8控制数B的输入。

单片机简易计算器设计

单片机简易计算器设计

单片机简易计算器设计 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998一、设计要求1.设计4*4的键盘,其中10个数字键0~9,其余6个为“+”“-”“*”“/”“=”和“C”2.设计2位LED接口电路3.实现1位数的简单运算二、硬件系统设计1、LED接口电路简易计算器需要2位8段码LED显示电路。

用8031单片机经8255A扩展2位8段码LED显示器,用8255A的A口作为段码(字形代码)数据口,PB0和PB1作为位控制端口。

在位控制口加集电极开路的反相高压驱动器74LS06以提供驱动LED显示器所需的足够大的电流,然后接至各数码显示器的共阴极端。

同理,在段码数据口集电极开路的正相高压驱动器74LS07提供足够大的电流,然后接到数码显示器的各段。

逻辑电路结构如下:2、键盘接口电路简易计算器需要4*4的行列式键盘。

用8031单片机经8255A扩展4*4行列式键盘,8255A的B口和C口用于扩展键盘接口,B口高4位作为输出口,C口低4位作为输入口。

逻辑电路结构如下:3、计算器逻辑电路图将LED接口电路和键盘接口电路结合到一起就是简易计算器的逻辑电路图,如下:三、软件设计1、LED显示程序设计LED显示器由七段发光二极管组成,排列成8字形状,因此也成为七段LED显示器,器排列形状如下图所示:为了显示数字或符号,要为LED显示器提供代码,即字形代码。

七段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。

简易计算器用到的数字0~9的共阴极字形代码如下表:0~9七段数码管共阴级字形代码2位LED显示的程序框图如下:2、读键输入程序设计为了实现键盘的数据输入功能和命令处理功能,每个键都有其处理子程序,为此每个键都对应一个码——键码。

为了得到被按键的键码,现使用行扫描法识别按键。

其程序框图如下:3、主程序设计(1)数值送显示缓冲程序设计简易计算器所显示的数值最大位两位。

单片机简易计算器的设计策画

单片机简易计算器的设计策画

摘要:简易计算器的设计主要分为键盘的编码、七段LED 数码管的显示及四则运算法则的编写三部分。

设计中我们用可编程外围接口芯8255A 连接键盘和七段LED 数码管,用七段LED 数码管显示键盘输入信号及运算结果,利用简单的汇编语言编写相应程序进行两位自然数的有效四则运算。

关键词::8255A;七段LED数码管;汇编语言;四则运算一、简易计算器的基本原理本课程设计的原理是:通过8255A控制键盘和LED显示器。

也就是说首先将8255A与键盘和LED显示器相连,然后编译程序,通过程序完成对8255A的初始化。

断开模板的排线,独自利用8255A作控制芯片,控制键盘的输入和计算结果的显示。

二、设计方案将可编程外围接口芯片8255A 与键盘和七段LED 连接,通过对8255A 编程及对键盘的操作实现计算功能:键盘码包括数字0~9、运算符号“+” “-” “*” “/”“==”和清零“CL”键,通过键盘依次输入第一个运算数字、运算符号、第二个运算数字、“==”,在七段LED 灯上显示运算结果,期间数字输入有误可按“CL”键之后重新输入。

三、硬件设计可编程外围接口芯片8255A 的PA 端口低四位做七段LED 灯的片选输出端,PB 端口八位做七段LED 灯的数据数码管输出端,PC 端口高四位输出(行线),低四位输入(列线),74LS138 片选300H-307H 端接8255A 芯片CS 片选端。

LED 显示器及其功能七段LED 显示器由七个发光段构成,每段均是一个LED 二极管。

这七发光段分别称为a,b,c,d,e,f,g,通过控制不同段的点亮和熄灭,以显示所要得到的数字。

七段LED 的输出功能也是通过8255的并行输出实现。

图1 LED数码管1.2 LED 显示数字编码表8255A 的基本工作原理:8255 是Intel 公司生产的可编程输入输出接口芯片,它是具有3 个8 位的并行I/O 端口,具有三种工作方式,被广泛地使用于单片机的并行I/O 端口。

数字逻辑电路课程课程设计--简易加减计算器

数字逻辑电路课程课程设计--简易加减计算器

摘要本次课程设计的任务是设计一个具有加减运算功能的简易计算器,并通过合适的方式来显示最后的计算结果。

此次设计电路的完成主要是利用简单的数字电路和电路逻辑运算来进行的。

简易加减计算器电路主要是对数据的输入与显示,数据的加减运算,数据的输出与显示三个主要的方面来设计研究完成的。

在输入电路的部分,我们通过开关的闭合与断开来实现数据的输入,开关闭合接入高电平“1”,断开接入低电平“0”。

而输入的数据将通过显示译码管以十进制的形式显示出来。

由于输入二进制的位数较多,我们采用个位十位分别输入的方式来简化电路。

加减运算电路则主要通过加法器来实现的。

设计电路时,我们将个位和个位、十位和十位分别接入一片加法器。

在进行加法运算时我们所选择的加法器是完全符合要求的,但是在进行减法运算时加法器就不能满足我们的设计要求了。

因此我们将减法转换为加法进行运算,运算时采用补码的形式。

在进行减法时通过异或门将减数的原码全部转换为补码,输入加法器中进行相加。

最后将进位信号加到十位的运算电路上就实现了加减法的运算电路。

在显示电路中,由加法器输出的数据是二进制码。

这些码可能表示超过十的数字,所以显示译码管就不能正确的显示出数字了。

此时要将二进制转化成BCD码,再将BCD 码送到显示译码管中就可以将计算所得的数字显示出来了。

概述1.1设计题目:简易加减计算器1.2设计任务和要求:1)用于两位以下十进制数的加减运算。

2)以合适的方式显示输入数据及计算结果。

1.3设计方案比较:方案一:输入十进制的数字,再通过编码器对十进制的数字进行编码,输出二进制的数据。

运用显示译码器对输入的数字以十进制的形式进行显示。

在进行加减计算的时候将二进制数字运用数模转换,然后再进行相加减。

然后将这些模拟信号再次转换成数字信号转换成数字信号,再将数字信号输入到显示译码管中来显示数剧。

这个方案中要进行数模转换和模数转换所需要的电路器件有些复杂,并且转换的时候需要很长的时间,而且转换以后数值的精度不高。

简易计算器

简易计算器

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

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

计算器是人们的日常最常见的电子产品之一,它应用极广,发展迅猛,并且不断出现着拥有强大功能的计算器。

此次课程设计实现四位数的加减乘除运算的简易计算器,实现键盘输入,程序都是根据教材内和网络中的程序参考编写而成,在功能上还并不十分完善,限制也较多。

完成的计算器经过检验能够完整的实现预设功能,各种细节完善。

具有很高的使用价值。

目录摘要 (1)第一章设计要求 (2)第二章设计思路及原理图 (2)a 思路 (2)b 原理图 (2)c 单片机引脚图 (3)第三章程序图 (3)第四章源程序 (4)第五章课程设计的心得体会 (10)第一章设计要求本次的设计是利用单片机设计简单的计算器,本设计利用单片机的I/O接口设计4×4键盘,8个键依次对应0~3、“+”、“-”、“=”和清除键。

通过检测不同数字键、功能键的按下,可以进行加减乘除运算,并可连续运算。

对应每一个数字键按下的同时,LED显示按下键的值,并显示最后的运算结果。

试验设备:8051单片机、七段四显示数码管一个、导线若干、12MHz晶振一个、计算机。

第二章设计思路及原理图a 思路:首先初始化参数,送LED低位显示“0”,高位不显示。

然后扫描键盘看是否有键输入,若有,读取键码。

判断键码是数字键、清零键还是功能键(“+”“-”“*”“/”“=”),是数值键则送LED显示并保存数值,是清零键则做清零处理,是功能键则又判断是“=”还是运算键,若是“=”则计算最后结果并送LED显示,若是运算键则保存相对运算程序的首地址。

利用单片机的I/O接口设计4×4键盘,两行四列分别由单片机的P2.4\P2.5及P2.0-P2.3输入输出数据。

简易计算器的设计

简易计算器的设计

学号:课程设计题目简易计算器的设计学院自动化专业电气工程及其自动化班级姓名指导教师2014 年1月9日课程设计任务书学生姓名:专业班级:指导教师:工作单位:自动化学院题目: 简易计算器的设计初始条件:用8086CPU、8255A并行通信接口、七段LED数码管接口、小键盘控制电路接口、外围电路芯片及元器件实现一个简易计算器,完成相应的程序编写。

要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)可进行2位十进制的加减乘除法运算。

(2)键盘输入数据,同时LED数码管显示,模拟计算器的工作。

(3)键盘上要求有0~9数字键,+、-、×、÷、=功能键,清除键C。

(4)撰写课程设计说明书。

内容包括:摘要、目录、正文、参考文献、附录(程序清单)。

正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。

时间安排:12月26日----- 12月 28 日查阅资料及方案设计12月29日----- 1 月 2 日编程1 月 3日----- 1 月 7日调试程序1 月 8日----- 1 月 9日撰写课程设计报告指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (1)1设计的任务及要求 (2)2方案的设计 (3)2.1方案设计论证 (3)2.2方案概述与原理硬件电路图 (3)3系统模块与功能 (5)3.18086CPU芯片 (5)3.2 8255A 并行通信接口芯片 (5)3.3 译码电路 (6)3.4 小键盘电路 (6)3.5 四位七段 LED 数码管显示电路 (7)4软件设计框图与程序 (8)4.1计算器系统程序总体流程图 (8)4.2 模块程序流程图与程序 (8)4.2.1流程图 (8)4.2.2键盘扫描流程图 (9)4.3输入运算 (10)4.3.1输入运算的流程图 (10)4.3.2输入运算程序 (10)4.4显示部分 (11)4.4.1显示部分流程图 (11)4.4.2显示部分程序 (12)5系统仿真 (14)6小结与体会 (15)参考文献 (16)附录:设计源程序 (17)本科生课程设计成绩评定表摘要这次微机原理的课程设计的题目是简易计算器的设计,设计一个可以实现2位十进制加减乘除运算功能的电路,并用LED显示出来。

数码管显示简易计算器说明书

数码管显示简易计算器说明书

目录一、原理图设计说明 (1)1.1数码管硬件电路设计 (1)1.2矩阵键盘电路设计: (2)二、程序设计说明 (3)2.1键盘扫描程序设计 (3)2.2算术运算程序设计 (4)2.3显示程序设计 (5)三、工作原理图及程序流程图 (6)四、程序清单 (9)五、参考文献 (15)一、原理图设计说明1.1数码管硬件电路设计数码管数据显示的硬件电路由单片机、4 位共阳极数码管、位驱动电路、限流电阻等组成。

实验板中用杜邦线将P7 与单片机IO 口相连(这里以P0 口为例)。

用跳线将P8 与单片机P2 低四位相连,P0 口送出数码管段选码,P2 送出位选码。

图1-1 数码管硬件电路原理图1.2矩阵键盘电路设计:4*4 矩阵键盘行输入接单片机P1.0-P1.3,列输入接单片机P1.4-P1.7,通过扫描方式检测是否有键按下,并确定键值,使用矩阵键盘时注意给P10 矩阵键盘选择端使能。

对键盘进行编号,S3-S18,按下相应按键,在数码管上显示相应键值(0-F)。

例如按下S10 键,显示A,按下S0 键,显示0。

图1-2 矩阵键盘电路原理图二、程序设计说明2.1键盘扫描程序设计键盘扫描程序的过程为:开始时,先判断是否有键闭合,无键闭合时,返回继续判断,有键闭合时,先去抖动,然后确定是否有键按下,若无键按下,则返回继续判断是否有键闭合,若有键按下,则判断键号,然后释放,若释放按键完毕,则返回,若没有释放按键,则返回继续释放。

其流程图如图2-1所示。

图2-1 键盘扫描程序流程图算术运算程序的过程为:先判断输入的运算符是+、-、*、/ 中的哪一个,若是+或-,则要判断运算结果是否溢出,溢出则显示错误信息,没溢出就显示运算结果,若是/,则要先判断除数是否为零,为零就显示错误信息,不为零则显示运算结果,若是-,则直接显示运算结果。

其流程图如图2.2所示。

图2-2 算术运算程序设计流程图先是程序的过程为:显示开始时,先进行LED的初始化,判断是否显示,若不显示,则返回,若显示,则进行相应功能的设置,然后送地址和数据,再判断是否显示完,显示完则返回,没有显示完则继续送地址。

新基于51单片机的简易计算器

新基于51单片机的简易计算器

基于51单片机的简易计算器1、前言:本设计是基于51系列单片机来进展的数字计算器系统设计,可以完成计算器的键盘输入,进展加、减、乘、除根本四则运算,并在LCD上显示相应的结果;设计电路采用STC90C51单片机为主要控制电路,利用MM74C922作为计算器4*4键盘的扫描IC读取键盘上的输入;显示采用字符LCD静态显示;软件方面使用C语言编程,并用PROTUES仿真。

2、设计任务:计算器软件程序要完成以下模块的设计:(1)键盘输入检测模块;〔2〕LCD 显示模块;〔3〕算术运算模块;〔4〕错误处理及提示模块。

3、主体设计局部:〔1〕、系统模块图:2〕、系统总流程图:4、硬件局部单片机局部+矩阵键盘+1602显示如下列图为简易计算器的电路原理图。

P3口用于键盘输入,接4*4矩阵键盘,键值与键盘的对应表如表----所示,p0口和p2口用于显示,p2口用于显示数值的高位,po口用于显示数值的低位。

简易计算器电路原理图矩阵键盘有16个按键,满足对简易计算器的计算实现,显示局部采用LCD1602,第一行显示计算的数值符号,第二行显示计算结果。

LCD显示模块:本设计采用LCD液晶显示器来显示输出数据。

通过D0-D7引脚向LCD写指令字或写数据以使LCD实现不同的功能或显示相应数据。

5、软件局部*include<reg52.h>*include<intrins.h>*define uchar unsigned charsbit lcden=P2^7;sbit lcdrs=P2^6;sbit lcdrw=P2^5;sbit lcdbf=P0^7;uchar temp,key,i,j,flag,fh,k;long a,b,c;uchar code table[]={1,2,3,0,4,5,6,0,7,8,9,0,0,0,0,0};uchar code table2[]="123+456-789*000/"; void delay(uchar ms){uchar *,y;for(*=ms;*>0;*--)for(y=110;y>0;y--);}/*-------------对LCD1602的操作-----------*/ bit busy(void)//判断忙碌{bit res;lcdrs=0;lcdrw=1;lcden=1;_nop_();_nop_();res=lcdbf;lcden=0;return res;}void write_inst (uchar cmd)//写命令{while(busy()==1); //忙碌就等待lcdrs=0;.lcdrw=0;lcden=0;_nop_();_nop_();P0=cmd;_nop_();_nop_();lcden=1;_nop_();_nop_();lcden=0;}void write_(uchar )//写地址{write_inst(|0*80);}void write_date(uchar dat) //写数据{while(busy()==1);lcdrs=1;lcdrw=0;lcden=0;P0=dat;_nop_();_nop_();lcden=1;_nop_();_nop_();lcden=0;}void init() //初始化{lcden=1;write_inst(0*38);//显示8位2行delay(5);write_inst(0*0c);//显示开,光标关,不闪烁delay(5);write_inst(0*06);//增量方式不位移delay(5);write_inst(0*80);//检测忙碌信号delay(5);write_inst(0*01);//delay(5);}/*------------键盘扫描-----------*/void keyscan()//键盘扫描{P3=0*fe;if(P3!=0*fe){delay(100);if(P3!=0*fe){temp=P3&0*f0;switch(temp){case 0*e0:key=0;break;case 0*d0:key=1;break;case 0*b0:key=2;break;case 0*70:key=3;break;}}while(P3!=0*fe);if(key==0||key==1||key==2){if(j!=0){write_inst(0*01);j=0;}if(flag==0){a=a*10+table[key];}if(flag==1){b=b*10+table[key];}write_date(table2[key]);}else{if(k==0){flag=1;k=1;fh=1;write_date(table2[key]);}}}P3=0*fd;if(P3!=0*fd){delay(100);if(P3!=0*fd){temp=P3&0*f0;switch(temp){case 0*e0:key=4;break;case 0*d0:key=5;break;case 0*b0:key=6;break;case 0*70:key=7;break;}}while(P3!=0*fd);if(key==4||key==5||key==6){if(j!=0){write_inst(0*01);j=0;}if(flag==0){a=a*10+table[key];}if(flag==1){b=b*10+table[key];}write_date(table2[key]);}else{if(k==0){flag=1;k=1;fh=2;write_date(table2[key]);}}}P3=0*fb;if(P3!=0*fb){delay(100);if(P3!=0*fb){temp=P3&0*f0;switch(temp){case 0*e0:key=8;break;case 0*d0:key=9;break;case 0*b0:key=10;break;case 0*70:key=11;break;}}while(P3!=0*fb);if(key==8||key==9||key==10) {if(j!=0){write_inst(0*01);j=0;}if(flag==0){a=a*10+table[key];}if(flag==1){b=b*10+table[key];}write_date(table2[key]);}else{if(k==0){flag=1;k=1;fh=3;write_date(table2[key]);}}}P3=0*f7;if(P3!=0*f7){delay(100);if(P3!=0*f7){temp=P3&0*f0;switch(temp){case 0*e0:key=12;break;case 0*d0:key=13;break;case 0*b0:key=14;break;case 0*70:key=15;break;}}while(P3!=0*f7);.switch(key){case 12:{write_inst(0*01);a=0;b=0;flag=0;fh=0;j=0;k=0;} break;case 13:{if(flag==0){a=a*10;write_date(0*30);P1=0;}else if(flag==1){b=b*10;write_date(0*30);}.} break;case 14:{j=1;if(fh==1){write_(0*4f);write_inst(0*04);c=a+b;while(c!=0){write_date(0*30+c%10);c=c/10;}write_date(0*3d);a=0;b=0;flag=0;fh=0;k=0;}else if(fh==2){write_(0*4f);write_inst(0*04);if((a-b)>0)c=a-b;elsec=b-a;if(c==0)write_date(0*30+0);while(c!=0){write_date(0*30+c%10);c=c/10;}if((a-b)*(-1)>0)write_date(0*2d);write_date(0*3d);a=0;b=0;flag=0;fh=0;k=0;}else if(fh==3){write_(0*4f);write_inst(0*04);c=a*b;if(c==0)write_date(0*30+0);while(c!=0){write_date(0*30+c%10);c=c/10;}write_date(0*3d);a=0;b=0;flag=0;fh=0;k=0;}else if(fh==4){write_(0*4f);write_inst(0*04);i=0;c=(long)(((float)a/b)*1000); //计算c的数据if(c==0)write_date(0*30+0);while(c!=0){write_date(0*30+c%10);c=c/10;i++;if(i==3)write_date(0*2e); //写数据}if((a/b)<=0)write_date(0*30);write_date(0*3d);a=0;b=0;flag=0;fh=0;k=0;}} break;case 15:{if(k==0).{write_date(table2[key]);flag=1;k=1;fh=4;}} break;}}}void main(){init();i=0;j=0;.a=0;b=0;c=0;k=0;flag=0;fh=0;while(1){keyscan();}}6、总结通过该计算器的设计我深入学习数码管扫描和键盘控制,提高对了51系列单片机的实际应用能力。

4位7段数码管显示计算器

4位7段数码管显示计算器

1前言随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。

电子产品的更新速度快就不足惊奇了。

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

如何使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器,使其更好的为各个行业服务,成了如今电子领域的研究课题。

一块大而复杂的模拟电路花费了巨大的精力,繁多的元器件增加了设计的成本。

而现在,只需要一块几厘米平方的单片机,写入简单的程序,就可以使您以前的电路简单很多。

计算器的未来是小型化和轻便化,如使用太阳能提供电池的计算器,使用ASIC设计的计算器,如使用纯软件实现的计算器等,随着社会的发展,知识的更新,各行各业的需要带动了电子产品的发展,未来的智能化计算器将是我们的发展方向,更希望成为现代社会应用广泛的计算工具。

本次设计采用STC89C52单片机、矩阵键盘和液晶显示器等器件实现模拟计算器硬件功能电路。

通过掌握对字符液晶显示模块工作原理的理解及运用,如初始化、清屏、显示、调用及外特性有较清楚的认识,实现运用LCD显示计算结果;掌握液晶显示模块的驱动和编程,设计LCD和单片机的接口电路,以及利用单片机对液晶模块的驱动和操作;并通过运用C语言来实现其软件部分的设计,充分分析内部逻辑的概念,进行软件和硬件调试,最终完成对电路功能的软件仿真以及硬件实现。

本系统能实现加、减、乘、清零和显示结果等功能。

2总体方案设计2.1 设计内容本设计为设计一种简单计算器数字输入及显示控制电路,具体要求如下:1、利用AT89C52单片机进行数据处理。

2、运用矩阵键盘实现数据及功能输入。

3、使用数码管模拟计算器数字的输入及结果显示。

4、计算器能进行加、减、乘、除的简单计算及显示结果。

2.2设计方案比较方案一:通过运用以AT89S52单片机为核心,加以外部电源供电、11.0592MHZ的晶振时钟电路、复位电路、矩阵键盘电路、4位7段数码管电路,来实现简单计算器的系统设计。

c51的简易计算器-单片机课程设计

c51的简易计算器-单片机课程设计

单片机课程设计题目名称基于51单片机的简易计算器学生学院____ 信息工程学院_______专业班级信息工程(应用电子方向)12(2)班姓名______虞君权__________学号**********指导教师_ _____李优新 ___2015年1月151一、课程设计的内容本次课程设计的内容从下面两个方面任选一个:一是在学院的单片机实验平台上进行,开发一个基于单片机与PWM技术的灯光调节系统,主要开发内容为按键定义、输入与防抖动技术、PWM调节技术以及显示技术等程序设计。

二是利用51系列单片机及必要的外围芯片、输入输出等接口电路设计开发一个简易的单片机系统,在此基础上,自行设计一个单片机应用程序来实现一些实用的功能。

通过这些内容的设计、开发、安装、调试等一系列工作,熟练掌握单片机系统的开发流程与工作机理,加深对所学课程知识的理解与把握,为将来相关的研究开发工作打下坚实的基础。

二、设计内容本次实验的任务就是要以51系列单片机为核心实现一个简易计算器计算器,它的结构非常简单,外部主要由4*4矩阵键盘和一个液晶显示屏构成,内部由一块AT89C51单片机构成,通过软件编程可实现简单加减乘除。

三、方案论证经分析,计算器电路包括三个部分:显示电路、4*4键扫描电路、单片机微控制电路。

具体如下:⒈)LCD显示电路LCD1602作为一个成熟的产品,使用简单,模式固定,便于移植到各种类型的程序,但是初学者往往要注意结合LCD本身的时序图来完善初始化程序。

又以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,故采用LCD.⒉)4*4键盘扫描电路(中断式,扫描式,反转式)用户设计行列键盘接口,一般常采用 3 种方法读取键值。

一种是中断式,外两种是扫描法和反转法。

中断式:在键盘按下时产生一个外部中断通知CPU,并由中断处理程序通过不同的地址读取数据线上的状态,判断哪个案件被按下。

本实验采用中断式实现用户键盘接口。

扫描法:对键盘上的某一行送低电平,其他行为高电平,然后读取列值。

基于-AT89C51单片机简易计算器的设计

基于-AT89C51单片机简易计算器的设计

《微机原理与单片机课程设计》课程设计报告基于51单片机的简易计算器设计一、设计目的单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。

本设计是基于51系列单片机来进行的简单数字计算器设计,可以完成计算器的键盘输入,进行加、减、乘、除六位整数数范围内的基本四则运算,并在LED上显示相应的结果。

软件方面使用C语言编程,并用PROTUES仿真。

二、总体设计及功能介绍根据功能和指标要求,本系统选用MCS-51系列单片机为主控机,实现对计算器的设计。

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

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

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

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

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

显示部分:采用LED动态显示。

按键部分:采用4*4集成计算键盘;总电路图:(1)4×4集成计算键盘集成计算键盘本质上是4×4矩阵键盘,矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。

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

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

四则运算计算器数字电路设计

四则运算计算器数字电路设计

四则运算运算计算器数字电路设计由于加减乘除计算器的各电路较复杂,就不将其组合在一起了,以下是各个加法,减法,乘法,除法计算器的单独电路图,其中输入均采用二进制四位输入。

一.加法计算器这个较为简单,可以直接利用中规模四位全加器74LS283,即可制成加法计算器。

电路图:A4 A3 A2 A1 为二进制被加数;B4 B3 B2 B1 为二进制加数;SUM4 SUM3 SUM2 SUM1 为二进制得数。

加上输入输出后如图所示:仿真图形为:前四个图像为被加数,中间四位为加数,后四位为得数。

由此可看出,已成功制成加法计算器。

二.减法计算器电路图:利用数据选择器和四输入与非门,可以实现减法计算器的功能,其中,C1 C2 C3 C4为四位二进制被减数输入端;B1 B2 B3 B4 为四位二进制减数输入端;输出端 27 26 25 24 为得数。

加上输入输出后如图所示:仿真图形如下:前四位为被减数,中间四位为减数,最下面四位为得数,由仿真图形可看出,已成功制成减法计算器。

三.乘法计算器利用中规模四位全加器74LS283和而输入与门可以实现乘法计算器功能。

其中,输入端4 3 2 1 为二进制四位被乘数,输入端5 6 7 8 为二进制四位乘数,输出端54 50 51 52 53 49 48 46 47为得数。

电路图如下:加上输入输出后:仿真图形为:1被乘数和乘数:2得数:由仿真图形可以看出,已成功制成了乘法计算器。

四.除法计算器这个实在是太难了,想了好久也没想到怎么设计,作业催的紧,就只好先不做了,请老师见谅,哈!以上就是四则计算器的数字电路设计与仿真。

毕业设计,基于C51单片机的简易计算器的设计演示PPT

毕业设计,基于C51单片机的简易计算器的设计演示PPT

PSEN ALE EA
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
PSEN ALE EA
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
7SEG-MPX8-LED
8051 CALCULATOR(简易计算器) (1)计算器能显示8位数字,开机运行时,只有 数码管最低位显示为“0”,其余位全部不显示; (2)具有4×4键盘,分别表示0~9、+、-、 ×、/ 、=和清零键CL,输入的数字从设计的键盘 输入; (3)可对两个无符号数进行加、减、乘、除运算, 并显示计算结果。 (4)结果溢出时发出“嘀”报警声
GND
ISET
VCC
2 3 4 5 6 7 8 9
P3.4
Q1
AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7
9
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
39 AD0 38 AD1 37 AD2 36 AD3 35 AD4 34 AD5 33 AD6 32 AD7
本设计收获戒成效
• (1)查阅资料、熟悉计算器模拟系统的工作原理和设计 思路。 • (2)掌握单片机软件编程方法,了解硬件设计制作和方 法。 • (3)提高电路制作(protel99se软件)和调试能力。 • (4)提高毕业论文的撰写能力。 • (5)提高不人合作的能力和意识。

单片机简易计算器设计

单片机简易计算器设计

0 0 1 1 1 1 1 0 1 1
1 0 0 0 1 1 1 0 1 1
1 0 1 0 0 0 1 0 1 0
1 0 1 1 0 1 1 0 1 1
1 1 0 1 1 1 1 1 1 1
1 1 1 1 1 0 0 1 1 1
1 0 1 1 0 1 1 1 1 1
3fh 06h 5bh 4fh 66h 6dh 7dh 07h 7fh 6fh
;判断是否为清零键? ;清零
;判断是数字键还是功能键?
存在 jnz Shuzi2 mov a, r3 mov data1, a ljmp Xs Shuzi2: mov a, r3 mov data2, a ljmp Xs Gn: mov cjne mov mov mov mov mov mov jmp r4, #01h r3, #0eh, Ja r4, #00h a, dizhi1 dph, a a, dizhi2 dpl, a a, #00h @a+dptr
r0 r1, Loop
dptr, #OUTBIT a, #0 @dptr, a dptr, #IN a, @dptr a a, #0fh
; 输出线置为0 ; 读入键状态 ; 高四位不用
; 键码定义 0dh, 0eh, 0fh, 00h, 0ch, 03h, 02h, 01h, 0bh, 06h, 05h, 04h, 0ah 09h 08h 07h
;显示个位数字
movc mov mov First: cjne ljmp Next: mov div mov mov mov movc mov mov ljmp end
a, @a+dptr LEDBuf+1,a a, r5 a,#0,Next MLoop b,#10 ab r5, a a, b dptr, #LEDMap a, @a+dptr LEDBuf+0, a a, r5 First ;运算完后继续扫描键盘 ;显示十位数字

基于LPC2124的简易计算器设计

基于LPC2124的简易计算器设计

基于LPC2124的简易计算器设计基于LPC2124的计算器设计一、设计要求(一)总体目标 (一)总体目标使用飞利浦LPC2124处理器和显示器在PROCTUS环境下设计一个计算器使用飞利浦LPC2124处理器和显示器在PROCTUS环境下设计一个计算器硬件电路,并利用RVDS开发工具实现相关软件。

硬件电路,并利用RVDS开发工具实现相关软件。

(二)基本要求 (二)基本要求1、电路包括4,4键盘,能够通过按键编辑数据 1、电路包括4,4键盘,能够通过按键编辑数据2、显示部件使用LCD或LED,显示内容不少于4个字符 2、显示部件使用LCD 或LED,显示内容不少于4个字符3、能够完成1位以上十进制整数的加、减、乘、除功能 3、能够完成1位以上十进制整数的加、减、乘、除功能(三)扩展要求 (三)扩展要求1、能完成2位以上十进制数的加、减、乘、除功能。

1、能完成2位以上十进制数的加、减、乘、除功能。

2、能完成小数的加、减、乘、除功能。

2、能完成小数的加、减、乘、除功能。

3、能够连续进行运算。

3、能够连续进行运算。

4、使用LCD进行数据显示。

4、使用LCD进行数据显示。

二、创意扩展功能1.浮点数的加减乘除 1.浮点数的加减乘除2三角函数,取sin(),为代表 2三角函数,取sin(),为代表3.清零 3.清零5对数进行取负 5对数进行取负4.连续两个运算符用后面一个取代前面一个 4.连续两个运算符用后面一个取代前面一个6.取百分数 6.取百分数7.开方 7.开方5.算式显示 5.算式显示三、设计目标实现上述的计算显示功能,并优化程序使程序结构明了,代码简洁。

实现上述的计算显示功能,并优化程序使程序结构明了,代码简洁。

四、硬件电路的设计(一) 控制芯片按要求选用飞利浦LPC2124处理器。

(一) 控制芯片按要求选用飞利浦LPC2124处理器。

(二) 由于要进行小数的加减乘除运算再加上清零键已经超出了16个键 (二) 由于要进行小数的加减乘除运算再加上清零键已经超出了16个键因此选用PROCTUS自带的23键的键盘,如:图一键盘。

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