文档视界 最新最全的文档下载
当前位置:文档视界 › 最新单片机简易计算器课程设计

最新单片机简易计算器课程设计

最新单片机简易计算器课程设计
最新单片机简易计算器课程设计

最新单片机简易计算器课程设计

1.首先给出显示缓冲区“00”的初始值00’,并重置数据存储单元。

2.主程序调用键盘扫描子程序来确定键值。这是第一次将该号码直接分配给23H单元。如果第二次输入数字,第一个值乘以10,然后加到第二个值上。结果存储在23H单元中,R4计数两次,表示已输入两位。扫描键值时,不会分配和显示该值。等待操作符号被按下,直接按等号计算并显示为零,如加.减.乘.除R5加1。

清除R4,表示可以输入下一个操作数,与第一个操作数相同,并等待按键。清除键在任何情况下都会被清除,这相当于软复位。

3.扫描键盘后,调用数据显示转换子程序并选择。由于这个任务是两个比特和四个运算,只有乘法的结果会超出FFH的范围。这是处理方法。如果结果超出范围,跳过数据显示转换子程序。如果没有超出范围,调用数据显示转换子程序。两个选项都是将值转换为七段代码。

4.调用数码管的动态显示子程序显示数值并重新循环。

硬件系统设计1 .发光二极管接口电路一个简单的计算器需要一个2位8段发光二极管显示电路。8031单片机通过8255A扩展2位8段发光二极管显示器,8255A的端口A作为段码(字形码)

数据端口,PB0和PB1作为位控制端口。开路集电极的反相高压驱动器74LS06被加到位控制端口以提供足够的电流来驱动发光二极管显示器,然后连接到每个数字显示器的公共阴极端子。类似地,段代码数据端口开路集电极中的正相高压驱动器74LS07提供足够的电流,然后连接到数字显示器的段。逻辑电路结构如下:

2.键盘接口电路一个简单的计算器需要一个4*4的行列式键盘。8031单片机通过8255A扩展4*4行列式键盘。8255A的端口B 和C用于扩展键盘接口,在端口B中高4位作为输出端口,在端口C中低4位作为输入端口。逻辑电路结构如下:

3.计算器逻辑电路图将发光二极管接口电路和键盘接口电路结合在一起,就是简单计算器的逻辑电路图,如下:3 .软件设计1 .发光二极管显示程序设计该发光二极管显示器由七段以8个字符的形状排列的发光二极管组成,因此成为七段发光二极管显示器。发光二极管显示器的排列形状如下图所示:为了显示数字或符号,为发光二极管显示器提供代码,即字形代码。七段发光二极管,加上一个小数点,总共八段,所以提供的字形代码长度正好是一个字节。简单计算器中使用的数字0~9的公共阴极符号代码如下表所示:0~9七段数码管显示符号g f e d c b a段代码0 01111113 FH1 00 00 0010 06 H210111015 BH3 001114 FH410程序框图1116 DH611117 DH7 0 011 07h811111117 FH9111116 FH2位发光二极管显示如下:

2.读键输入程序设计为了实现键盘的数据输入功能和命令处理功能,每个键都有自己的处理子程序,所以每个键对应一个键码。为了获得被按下的键的键码,现在使用行扫描方法来识别被按下的键。程序框图如下:

3.主程序设计

(1)数值被发送到显示缓冲程序。简单计算器显示的最大数值是2位数。要显示数值,首先判断数值是正的还是负的,如果是负的,符号位将显示“-”,然后将数值除以10,余数将显示最低位,判断商是否为0,如果是0,返回,如果不是0,将商除以10,并将余数发送到高位。程序框图如下:

(2)计算主程序设计首先初始化参数,并在低位和非高位发送发光二极管显示“0”。然后扫描键盘,看看是否有任何键输入,如果有,读键码。判断键码是数字键.清除键还是功能键(“+” “-” * “/”)

),如果是数字键,则发送给发光二极管显示并保存数值,如果是清除键,则清除,如果是功能键,则判断是“=”还是操作键,如果是“=”,则计算最终结果并发送给发光二极管显示,如果是操作键,则保存相关操作程序的第一个地址。操作主程序框图如下:

4.简单计算器源程序 OUTBIT equ 07FFDh位控制端口outsegue07ffch。分段控制端口inequi07ffeh键盘输入数据1 eq70 hdata2 eq71 HDI zhi1 eq72 HDI zhi2 eq73 hdebfeq60h。

显示缓冲区ljmp开始LEDMAP:;八段管道显示代码

DB3FH.06h.5BH.4FH.66h.6DH.7DH.07HDB7FH.6FH.77h.7CH.39h.5E H.79h.71h延迟:;延迟子程序movr7,# 0延迟环路:djnzr7,延迟环路djnzr6,延迟环路重新显示:movr0,# ledbumovr1,#2。总共2个八段管mov r2,#00000010b。从左边看:movdptr,# outbitmova,# 0movx @ dptr,a;关闭所有八段管道mova.@

r0movdptr.# outsegmox @ dptr.amovdtr.# outbitmova.r2 movx @ dptr.a。显示了8段管mov r6,#1呼叫延迟mov a,R2;显示下一个rramov r2,aincr0djnzr1,looprettestkey: movdptr,# outbitmova,# 0movx @ dptr,a。输出线设置为0movdptr,# imovxa,@ dptr。读取关键状态cpl a和a,#0fh。高四位数不需要ret键表:;键码定义

db0dh.0ch.0bh.0ahdb0eh.03h.06h.09hdb0fh.02h.05h.08hdb00h. 01h.04h.07hgetkey: movdptr.# outbitmovp

2.dphmmovr0.# low (in)

movr

1.# 001000000bmover

2.#4kloop: mova.r1。查找键所在的列cplmovex @ dptr,cplmarramovr1,a;下一列movx a,@r0 cpl a anl a,# 0fh jnz Goon1此列键入了djnz r

2.KLoop mov r

2.#0ffh。如果没有按下任何键,返回到0ffh sjmp退出Goone1:mov R1,a;键值=列X4+行mov a,r2 dec a rl a rl a mov r2,a;r2 = (r2-1)*4 mov a,R1;R1是读取行值mov r1,#4 LooPC:RRC a;转移到R2杰希特公司;R2 = r2+行值djnz

r1,LoopC出口:mov a,R2;取出键码movdptr,# keytablemovca,@ a+dptrmovr2,awaitrelease: movdptr,# outbit。等键释放clram0x @ dptr,amovr6,#10 call delay calltestkeyjnzwait release mova,r2 retstart: movsp,

#40hmovedbuf+0,# 0movledbuf+1,#03fh mov dptr,#7FFFh mov a,#89h movx @dptr,a MLoop: call DisplayLED。显示调用测试键;你打字了吗?jz MLoop不打字,继续显示呼叫GetKey 读入键码Jisu:mov R3,a cjne r3,#0fh,Qita。判断它是否是一把清晰的钥匙?mov r3,#00h。清除movr

4.# 00hmover

5.# 00hmovedata

1.# 00hmovedata

2.# 00hmovedizhi

1.# 00hmovedizhi

2.# 00hmovedbuf+0.# 0movledbuf+

1.# 03fhljmp mloopqita: clrcjner

3.# 0ah,跟随。判断它是数字键还是功能键。跟随:jc Shuzi ljmp Gn Shuzi: mov a,R4;判断是否有运算符输入,如

果没有运算符输入,将该值存储在jnz Shuzi2 data1中,如果有运算符输入,将该值存储在data2mova.r3movdata

1.arljmpxs中;显示第一个输入的值shuzi2:

mova.r3movdata

2.arljmpxs。显示第二输入值Gn: mov r4,#01h。如果r4为01h,则意味着现有运算符被输入cjne r3,#0eh,Ja。判断键值是否为” = “?mov r4,#00h。清除r4至mov a.dizhi1。执行” =“ movdph.amova.dizhi2movdpl.amova.# 00hjmp @

a+dptr。转到算法程序Ja: cjne r3,#0ah,这次输入的是Jn。如果键值为“+”,程序头地址“+”将存在于mov dptr.# Jia dizhi1和dizhi2 mova.dphmov dizhi

1.amova.dplmov dizhi

2.aljmp mloopjn: cjner

3.# 0bh.ce;如果键值为“-”,则“-”的节目头地址存储在第一季的第一季的第二季的第一季和第二季的第二季的第三季的第一季的第一季的第二季的第一季的第二季的第三季的第三季的第三季的第二季的第三季的第三季的第三季的第三如果键值为“*”,则程序头地址“*”存在于mov dptr.# Cheng dizhi1和dizhi2 mova.dphmov dizhi

1.amova.dplmov dizhi

2.aljmp mloopcu: cjner

3.# 0dh.转;如果键值为“/”,则程序头地址“/”存在于mov dptr.# chu dizhi1和dizi

2.mova.dphmov dizhi

1.amova.dplmov dizhi

2.azhun: ljmp mloopjia: mova.data1中。Adda,data2 lempxsjian:mova,data1。减法器subba,data2 lmpxs cheng:mova,data1乘法器movb,data2 mulablejmpxchu:mova,data1。分部程序mov b,数据2 div ab Xs: mov b,#10。显示数字divabmovr

5.amova.bomovdptr.# ledmapmovca.@ a+dptrmovledbuf+

1.amova.r5first: cjna.# 0.nextljmp mloop。下一个:mov b,#10;显示位数字divabmovr

5.amova.bomov dptr.# ledmapmovca.@

a+dptrmovledbuf+0.amova.r5ljmpfirstend硬件连接图摘要课程设计是培养学生综合运用所学知识.发现.提出.分析和解决实际问题.锻炼实践能力的重要环节,是针对学生实际工作能力的具体训练和考核过程。随着科学技术的发展,单片机已经成为当今计算机应用中前所未有的活跃领域,可以说在生活中无处不在。因此,对于电子信息工程专业的学生来说,掌握单片机的开发技术是非常重要的。

我的题目是简单计算器,这是一个测试我们初学者在实践中。我们怎样才能找到课堂学习和实际应用的最佳结合?如何让

你的业余时间更接近你的专业?你如何使你的计划更有条理而不

是毫无用处?这是我们必须考虑和争取的。我学到了很多关于这

门课程的设计,如何制定计划,如何实现计划,以及如何克服实

施过程中的心理不良情绪。我不仅巩固了以前学过的知识,还学

到了很多书本上学不到的知识。我已经掌握了系统的研究方法,

可以进行一些简单的编程。通过这次课程设计,我了解到理论与

实践相结合是非常重要的。只有理论知识与实践相结合,从理论

中得出结论,我才能真正为社会服务,从而提高我的实践能力和

独立思考能力。同时,我发现了自己在设计过程中的缺点。我对

以前学到的知识没有深刻的理解。我没有把握住它。我没有很好

地掌握单片机的汇编语言。

经过我们团队的努力,课程设计已经圆满完成。我们在设计

中遇到了许多编程问题。最后,在老师的努力指导下,课程设计

最终得以解决。在这里我感谢你!同时,我想再次向所有帮助过

我的同学和老师表示诚挚的感谢。参考文献[1]刘和平,刘悦1+单片机原理及应用1+重庆:重庆大学出版社,2004 [2] 杨,朱琦.单片机编程与导论.北京:机械工业出版社,2004 [3] 陈明英,

89C51单片机课程设计实训教材.北京:清华大学出版社,2004 [4] 刘瑞新,单片机原理及应用教程.北京:机械工业出版社,2003年15期

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

目录 摘要 (1) 绪论 (1) 1.设计要求及功能分析 (1) 1.1 设计要求 (1) 1.2 基本功能 (2) 2.设计方案 (2) 2.1 硬件部分设计方案 (2) 2.1.1 单片机部分 (2) 2.1.2 按键部分 (2) 2.1.3 显示部分 (2) 2.2 软件部分设计方案 (2) 3.系统的硬件总体设计 (4) 3.1 系统的总体硬件设计 (4) 3.2 键盘连接电路 (4) 3.3 显示屏连接电路 (5) 3.4 单片机芯片AT89C51 (6) 3.5 外接电路 (7) 4.系统的软件总体设计 (8) 4.1 键盘识别程序设计 (8) 4.2 显示程序 (11) 4.3 运算程序 (11) 5.元器件清单及程序清单 (12) 5.1 元器件清单 (12) 5.2 程序清单 (12) 6.软件仿真 (18) 6.1 仿真验证 (18) 6.2 性能分析 (20) 6.3 出现故障及其原因 (20) 6.4 解决方法 (20) 结论 (20) 参考文献 (21) 致谢 (21) 附录PCB图 (22)

简易计算器的设计 学生:李飞马鹏超舒宏超 指导老师:王孝俭 摘要:单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可,用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!它主要是作为控制部分的核心部件。它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。单片机比专用处理器最适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。 关键词:单片机、计算器、控制电路、仿真。 绪论 设计要求掌握数码管移位动态扫描显示的编程方法,掌握矩阵扫描的编程方法,掌握数据在内部运算的编程方法。设计任务实现最大8位正整数加、减、乘、除,具备清零、等于功能,16个按键功能依次为:数字0、数字1、数字2、数字3、数字4、数字5、数字6、数字7、数字8、数字9、清零、等于、加、减、乘、除。 1.设计要求及功能分析 1.1设计要求: 本次单片微型计算机与接口技术课程设计做的是利用C51单片机为主体的计算器,实现了简单的加、减、乘、除功能。采取的是键盘输入和液晶显示屏的输出结果显示。主要硬件构成部分由四个,一个AT89C51单片机芯片,一个液晶显示屏,一个4*4键盘和一个排阻(10K)做P0口的上拉电阻,可以实现16位的数值操作计算。 1.2基本功能: 首先,计算器可现实8位数字,开机运行时,只有数码管最低位显示为“0”,其他位全部不显示;

AT89C51单片机简易计算器的设计

AT89C51单片机简易计算器的设计 单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。本设计是基于51系列单片机来进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除六位数范围内的基本四则运算,并在LCD上显示相应的结果。设计电路采用AT89C51单片机为主要控制电路,利用MM74C922作为计算器4*4键盘的扫描IC读取键盘上的输入。显示采用字符LCD静态显示。软件方面使用C语言编程,并用PROTUES仿真。 一、总体设计 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。 (2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数

值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD 上提示错误。 系统模块图: 二、硬件设计 (一)、总体硬件设计 本设计选用AT89C51单片机为主控单元。显示部分:采用LCD 静态显示。按键部分:采用4*4键盘;利用MM74C922为4*4的键盘扫描IC,读取输入的键值。 总体设计效果如下图:

C++课程设计报告--小型特殊计算器

课程设计报告 课程:面向对象程序设计学号: 姓名: 班级: 教师:

课程设计名称:小型特殊计算器 1.设计内容: 实现一个特殊的计算器,可以实现复数、有理数、矩阵和集合的特殊计算。程序可以实现复数、有理数的加、减、乘、除,可以实现矩阵的加法、减法和乘法运算,也可以实现集合的求交集、并集、子集的运算。 2.设计目的与要求: 2.1设计目的 达到熟练掌握C++语言的基本知识和技能; 基本掌握面向对象程序设计的基本思路和方法; 能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2.2设计要求 要求利用面向对象的方法以及C++的编程思想来完成系统的设计; 要求在设计的过程中,建立清晰的类层次; 在系统的设计中,至少要用到面向对象的一种机制。 3.系统分析与设计 3.1主要知识点 运算符重载增加了C++语言的可扩充性。运算符的重载实际上就是一种函数调用的形式,可以用成员函数重载运算符,就是将运算符重载定义为一个类的成员函数的形式;也可以用友元函数重载。用友元重载运算符的友元函数是独立于类以外的一般函数。 3.2关键技术 程序中每一种数据类型用一个类来实现,共设计了4个类。复数类complex,矩阵类matrix,有理数类rational以及集合类set。每一种类都定义了相应的运算符重载函数。具体定义如下所示: (1)类complex 类complex中,成员变量image表示虚部,real表示实部。成员函数print()用来显示数据。运算符重载函数都是用友元函数来实现的。分别重载+、-、*、/运算符。 (2)类matrix 类matrix中,成员变量elems用来存放矩阵的所有元素,rows表示矩阵的行,cols表示矩阵的列。成员函数SetElems()用来给矩阵中的每一个元素赋值,Disp()用来显示矩阵中的所有元素。其它友元函数分别重载+、-、*、/运算符。 (3)类rational 类rational中,有两个成员变量:denominator用来表示有理数的分母,numerator表示有理数的分子。有理数成员函数print()用来显示有理数,optimization()用来优化有理数函数。友元函数real()用来将有理数转换为实数,其它友元函数分别重载+、-、*、/运算符。 (4)类set

单片机课程设计计算器

课程设计说明书 课程设计名称:单片机课程设计 课程设计题目:四位数加法计算器的设计学院名称:电气信息学院 专业班级: 学生学号:

学生姓名: 学生成绩: 指导教师: 课程设计时间:至

格式说明(打印版格式,手写版不做要求) (1)任务书三项的内容用小四号宋体,倍行距。 (2)目录(黑体,四号,居中,中间空四格),内容自动生成,宋体小四号。 (3)章的标题用四号黑体加粗(居中排)。 (4)章以下的标题用小四号宋体加粗(顶格排)。 (5)正文用小四号宋体,倍行距;段落两端对齐,每个段落首行缩进两个字。 (6)图和表中文字用五号宋体,图名和表名分别置于图的下方和表的上方,用五号宋体(居中排)。(7)页眉中的文字采用五号宋体,居中排。页眉统一为:武汉工程大学本科课程设计。 (8)页码:封面、扉页不占页码;目录采用希腊字母Ⅰ、Ⅱ、Ⅲ…排列,正文采用阿拉伯数字1、2、3…排列;页码位于页脚,居中位置。 (9)标题编号应统一,如:第一章,1,,……;论文中的表、图和公式按章编号,如:表、表……;图、图……;公式()、公式()。

课程设计任务书 一、课程设计的任务和基本要求 (一)设计任务(从“单片机课程设计题目”汇总文档中任选1题,根 据所选课题的具体设计要求来填写此栏) 1. 系统通过4x4的矩阵键盘输入数字及运算符。 2. 可以进行4位十进制数以内的加法运算,如果计算结果超过4位十进制数,则屏幕显示E。 3. 可以进行加法以外的计算(乘、除、减)。 4. 创新部分:使用LCD1602液晶显示屏进行显示,有开机欢迎界面,计算数据与结果分两行显示,支持小数运算。 (二)基本要求 1.有硬件结构图、电路图及文字说明; 2.有程序设计的分析、思路说明; 3.有程序流程框图、程序代码及注释说明; 4.完成系统调试(硬件系统可以借助实验装置实现,也可在Proteus 软件中仿真模拟); 5.有程序运行结果的截屏图片。

计算机科学与专业技术学院课程设计成绩单

计算机科学与技术学院课程设计成绩单

————————————————————————————————作者:————————————————————————————————日期:

计算机科学与技术学院课程设计成绩单 课程名称:数据库系统原理指导教师: 姓名性别学号班级 综合成绩成绩等级 程序运行情况 (占总成绩20%) □能正确运行□基本能正确运行□能运行但结果不完善 (20分)(15分)(10分) 程序功能的完善 程度 (占总成绩10%)□完善□基本完善□不完善(10分)(8分)(5分) 程序结构的合理 性 (占总成绩10%)□合理□基本合理□不太合理(10分)(8分)(5分) 对问题的答辩情况 (占总成绩40%)□概念正确有创新□能正确回答所有问题□基本能正确回答(40分)(35分)(30分) □部分问题回答概念不清晰 (20分) 学生的工作态度与独立工作能力(占总成绩10%)□工作态度认真能独立完成任务□工作态度认真但独立性较差(10分)(8分) □工作态度基本认真但缺乏独立性 (5分) 设计报告的规范 性 (占总成绩10%)□符合规范□基本符合规范□规范性较差(10分)(8分)(5分) 优秀:90分~100分良好:80分~89分中等:70~79分及格:60~69分不及格0分~59分 武汉科技大学计算机科学与技术学院制表

计算机科学与技术学院 课程设计报告 课程名称:数据库系统原理专业: 班级:级班学号: 姓名: 指导老师:

网上选课系统 一、实验目的 利用一种DBMS作为设计工具,理解并应用课程中关于数据库设计的相关理论,能按照设计流程完成完整的数据库设计,包括需求分析、概念设计、逻辑设计、物理设计和实施。同时能够应用各个阶段的典型工具 二、设备与环境 (1) 硬件设备:PC机一台 (2) 软件环境:安装Windows操作系统,安装数据库管理系统SQL Server2000等。 三、实验内容 完整实践应用数据库设计的工程过程:需求分析\概念设计\逻辑设计\物理设计和实施: (1)需求分析:选定一个应用,对所设计的数据库系统有一定的调研分析,其结果应该以 简单的需求分析说明书\数据字典和数据流图(2级数据流即可)表示; (2)概念分析:使用E-R图作为描述工具.描述出局部和全局的E-R图; (3)逻辑设计:将E-R图转化为相应的关系模式,并根据范式理论进行优化分析,关系模 式不少于3个; (4)物理设计:根据需要设计必要的索引等结构; (5)实施:以某种DBMS为工具创建出完整的数据库.在数据库中要表现出的知识点包括 ①登录控制 (标准登录或混合登录) ②数据完整性(参照完整性、实体完整性、自定义完整性(包括触发器) ③设置用户,并相应设计用户的权限和角色(用户设计至少3个,有不同的权限) ④以游标或存储过程完成相关操作至少2个,以文件方式保存 (6)以上内容,请详细描述,并有必要抓图. 四、实验结果及分析 1.需求分析 随着信息时代科技不断提高,学校规模不断扩大,教学质量不断提高,大学期间有许多公共选修课,以往的选修课方法是课堂报名或者纸上填写方式报名,这种方法虽然直接,但是造成选课的盲目性,而且学生选过课程后不好在更改查看,一方面浪费大量的人力,物力资源,另一方面浪费时间以及在认为统计过程中不可避免的出现差错的情况。这给广大的老师和学生带来诸多的不便,管理起来也相当困难。使用网上选课系统可以提前进行网上选课,并且选课以后学生还可以在查看和更改,随意选择各个老师的课程,老师管理起来也比较方便。鉴于

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

课程设计 题目名称简易计算器设计 课程名称单片机原理及应用 学生姓名 班级学号 2018年6 月20日

目录 一设计目的 本设计是基于51系列单片机来进行的简单数字计算器设计,可以完成计算器的键盘输入,进行加、减、乘、除六位整数数范围内的基本四则运算,并在LED上显示相应的结果。软件方面使用C语言编程,并用PROTUES仿真。 二总体设计及功能介绍 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机,实现对计算器的设计。具体设计及功能如下: 由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LED显示数据和结果; 另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16个按键即可,设计中采用集成的计算键盘; 执行过程:开机显示零,等待键入数值,当键入数字,通过LED显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LED上输出运算结果。

三硬件仿真图 硬件部分比较简单,当键盘按键按下时它的那一行、那一列的端口为低电平。因此,只要扫描行、列端口是否都为低电平就可以确定是哪个键被按下。 四主程序流程图 程序的主要思想是:将按键抽象为字符,然后就是对字符的处理。将操作数分别转化为字符串存储,操作符存储为字符形式。然后调用compute()函数进行计算并返回结果。具体程序及看注释还有流程图 五程序源代码 #include #include #include/* isdigit()函数*/ #include/* atoi()函数*/ #define uchar unsigned char #define uint unsigned int

AT89C51单片机C实现简易计算器

AT89C51单片机简易计算器的设计 一、总体设计 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。 (2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD 上提示错误。 系统模块图:

二、硬件设计 (一)、总体硬件设计 本设计选用AT89C51单片机为主控单元。显示部分:采用LCD 静态显示。按键部分:采用4*4键盘;利用MM74C922为4*4的键盘扫描IC,读取输入的键值。 总体设计效果如下图:

(二)、键盘接口电路 计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。 矩阵键盘的工作原理: 计算器的键盘布局如图2所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。 图 2 矩阵键盘布局图 矩阵键盘内部电路图如图3所示:

单片机设计简易计算器

简易计算器 Simply Calculator 1 设计思想 此计算器有键盘部分、单片机、显示部分三部分组成,键盘部分主要完成输入功能;单片机主要完成数据处理功能,包括确定按键,完成运算,以及输出数据;显示器部分主要完成单片机输出的显示。 本设计的思路是利用单片机性能好,稳定性强的优点来实现系统的运行。设计大致可以分为三个步骤:第一步,硬件的选取和设计;第二步,程序的设计和调试;第三步,Protues 系统仿真。 硬件是设计的骨骼,不仅关系到设计总体方向的确定,还要综合考虑节能,环保,以及稳定性和经济性等各种因素。因此需要花费大量的时间。硬件的选取最为重要,包括选用的芯片,显示设备的选取,输入设备的选取等。本设计是通过单片机来实现的,因此选用了ATMEGA16单片机作为主体,输入设备选用矩阵键盘。程序是硬件的灵魂,是实现设计的中心环节。本设计使用的程序语言是C语言,在“ICC AVR”中运行,调试,直到运行出正确结果,然后输出后缀名为.HEX格式的文件,以备在Protues中仿真使用。程序是设计的关键,程序的调试需要大量的时间,耐心,还够要有足的细心才能成功。本设计中就出现了大量的错误,经过认真修改,最终才能运行出正确结果。最后的系统仿真是设计是否成功的验证,是设计不可缺少的重要环节。这就要求能掌握Protues的一些基本操作。2原理分析 矩阵键盘的扫描 —

》 图矩阵键盘图 如图所示,单片机的8个I/O口和矩阵键盘相连,用8个I/O口来控制矩阵键盘的16个按键是非常有意思的,首先我们设置单片机的PD0—PD7为输出,且PD0—PD3依次设置为低电平,而PD4—PD7设置为高电平,然后我们设置PD4—PD7为输入,而PD0—PD3仍然为输出,假如此时M1键按下,则PD0与PD4相连,因为PD0是低电平,而PD4是输入,所以PD4会被拉为低电平,同理,如果M2被按下,则PD5会被拉低,M3按下,PD6会被拉低,M4按下,PD7被拉低。这是判断有无键盘按下的过程,当我们判断是那一个键盘按下时,我们首先设置8个I/O口为输出,输出为FE,即,PD0为低电平,其他全为高电平,然后我们设置PD4—PD7为输入,如果M1被按下,则PD4会比被拉为低电平,此时会变成EE,同理可以知道M2被按下时会变为DE,M3被按下时会变为BE,M4被按下时会变为7E。同理我们可以设置8个I/O口输出FD来检测M5—M8是否被按下,设置8个I/O口输出FC来来检测M9—M12,设置8个I/O口输出F7来检测M13—M16,如果M1—M4没有被按下,就继续检测M4—M8,一次类推,就可以检测出16个按键了。在这次设计中,16个按键M1—M16所对应检测值分别为:EE,DE,BE,7E,ED,DD,BD,7D,EB,DB,BB,7B,E7,D7,B7,77。 数字显示与计算 本次设计选用的显示器是1602液晶显示器,此液晶显示器能显示32个字符,VSS接地,VDD接电源正极,E为时使能信号,R/W为读写选择端(H/L),RS为数据/命令选择端(H/L),D0—D7为数据I/O口。 首先我们初始化液晶显示器,然后显示出第一个被按下的数,并且使光标右移,如果有第二个数按下,则据继续显示,以此类推,然后把所有显示出来的数换算成一个数,如果按下“+”号,则显示出“+”,并且同理显示出“+”号后面按下的数字,然后调用加子程序,运算出结果,如果按下的是“-”,则调用减子程序,如果按下“*”,则调用乘子程序,如果按下“/”,则调用除子程序。然后再调用显示结果子程序,显示出结果。 《

C++ 科学计算器-课程设计报告

DONGFANG COLLEGE,FUJIAN AGRICULTURE AND FORESTRY UNIVERSITY 课程名称:堆栈计算器 系别:计算机 年级专业:11级计算机科学与技术 学号:1150303040 姓名:蔡新云 任课教师:林励成绩: 2013 年 6 月13 日

引言 堆栈计算器 简介: 计算带括号的数学算式,可以判断优先级,错误判断等功能。友好的操作界面,美观的视觉效果。 截图 界面: 计算演示: 结果:

错误判断: 数据结构:应用了栈,做数值缓存,应用了递归处理括号内算式。其他知识:mfc界面设计;c++类的封装(.h与.cpp分离)。 编译环境:使用了vs2012,通过修改vs2010也可以打开。

程序简单流程图: (注:eval 的代码在下面。。。) 功能实现原理与代码: //栈的实现 //初始化 stack::stack(int len) { lengh=len; date=new double[len]; date[0]=0; top=0; } stack::stack() { date=new double[100]; MFC 文本框 按钮事件 = 事件 Cal.eval() 调用函数eval(),返回结果到文本框 当 =事件 发生 从文本框取出表达式到eval ()函数

date[0]=0; top=0; } //判断为空 bool stack::is_empty() { if(top==0) { return true; } return false; } //进栈 void stack::push(double number) { date[top++]=number; } //出栈 double stack::pop() { if(!is_empty()) return date[--top]; } //calculator类(核心代码) 初始化 calculator::calculator() { error="null"; } 是否为数字 bool calculator::is_num(char num) { if(num<='9' && num>='0'||num=='.') { return true; }

单片机计算器的课程设计

目录 一、设计任务和性能指标 (1) 1.1设计任务 (2) 1.2性能指标 (2) 二、设计方案 (2) 三、系统硬件设计 (3) 3.1单片机最小系统 (3) 3.2键盘接口电路 (4) 3.3数码管显示电路 (5) 3.5按键监视电路 (5) 四、系统软件设计 (6) 4.1键盘扫描子程序设计 (6) 4.2移位子程序及结果计算子程序设计 (7) 4.3显示子程序设计 (7) 4.4主程序设计 (20) 五、调试及性能分析 (20) 5.1调试步骤 (20) 5.2性能分析 (20) 六、心得体会 (21) 参考文献 (21) 附录1、系统硬件电路图 (22) 附录2、硬件实物图 (23) 附录3、器件清单 (24)

计算器设计 一、设计任务和性能指标 1.1设计任务 自制一个单片机最小系统,包括复位电路,采用外部小键盘输入数据,能够实现加法、乘法及一个科学计算,计算结果显示在四位一体的数码管上。 要求用Protel 画出系统的电路原理图(要求以最少组件,实现系统设计所要求的功能),印刷电路板(要求布局合理,线路清晰),绘出程序流程图,并给出程序清单(要求思路清晰,尽量简洁,主程序和子程序分开,使程序有较强的可读性)。 1.2性能指标 1.加法:四位加法,计算结果若超过四位则显示计算错误; 2.减法:四位减法,计算结果若小于零则显示计算错误; 3.乘法:个位数乘法; 4.除法:整数除法; 5.取对数; 6.开平方; 7.指数运算; 8.有清零功能 二.设计方案 按照系统设计的功能的要求,初步确定设计系统由主控模块、监测模块、显示模块、键扫描接口电路共四个模块组成,电路系统构成框图如图1.1所示。主控芯片使用51系列AT89C52单片机,采用高性能的静态80C51设计,由先进工艺制造,并带有非易失性Flash程序存储器。它是一种高性能、低功耗的8位COMS微处理芯片,市场应用最多。 监测模块采用二极管和扬声器(实验室用二极管代替)组成电路。 键盘电路采用4*4矩阵键盘电路。 显示模块采用4枚共阳极数码管和74ls273锁存芯片构成等器件构成。 整个单片机的接口电路: P0用于显示输出; P1用于键扫描输入; P2用于数码管位选控制; P3用于键盘扩展(部分运算符输入);

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

单片机双字节十六进制减法实验设计 摘要 本设计是基于51系列的单片机进行的双字节十六进制减法设计,可以完成计 算器的键盘输入,进行加、减、3位无符号数字的简单运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用5个键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus 仿真。 引言 十六进制减法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阴极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单.................................. 一、设计任务和要求

JAVA实现计算器课程设计

JAVA实现计算器课程设计 计算机科学系 计应0701班 指导老师:刘其昌 设计人员:陈秀桃 设计日期:2009年11月10日——2009年12月20日 计算器的设计 目录 第一章绪 论 ..................................................................... .. (2)

1.1 开发环 境 ..................................................................... . (2) 1.2 基本功能介 绍 ..................................................................... ......... 2 第二章系统设 计 ..................................................................... (3) 2.1 系统流程 图 ..................................................................... . (3) 2.2 系统功能框 图 ..................................................................... (3) 2.3 需求分 析 ..................................................................... ................ 4 第三章软件设 计 ..................................................................... (5) 3.1 界面设 计 ..................................................................... . (5) 3.2 代码设 计 .....................................................................

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

单片机十进制加法计算器设计 摘要 本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计 算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用4×4矩阵键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C 语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用全球编译效率最高的KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus仿真。 引言 十进制加法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减乘除

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阳极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单..................................

VB科学计算器课程设计

湖南医药学院 VB计算器课程设计题目: VB科学计算器 院(系)别临床医学院 专业临床医学 班级本临一班 学号 2015101010121 姓名夏铭锴 指导教师李跃强 二○一六年四月

目录 一、设计内容及要求 二、设计原始资料 三、设计完成后提交的文件和图表设计 四、进程安排 五、主要参考资料 [摘要] 用VB制作这个程序的简单计算器,它包括一个标准的计算器和一个科学计算器。它可以实现简单的加减乘除四则运算,数字的平方、平方根,正弦、余弦、正切,倒数、指数函数、对数函数,角度、弧度、梯度的转换,以及各进制的相互转换。而且它的功能还有退格,清除当前数据,清除所有数据,复制数据,粘贴数据。 在这个计算器的程序中,我用到了单行选择语句If…Then…Else…, 块语句if…then…end if,If语句的嵌套,多条件选择语句Select Case,而且还用到了按钮、文本框、框架、单选按钮控件,菜单的设计。 在此报告中我重点叙述了计算机的各个功能及用法。特别是进制间的转换和数字与运算符之间的联系。。虽然描述的不太完整,但我会尽力使用系统结构图,划分多个模块,让大家明白我设计的运算器的功能的。 [关键词] Visual Basic;计算器;对象;代码 1

2

3

四、进程安排 (1)创建应用程序的界面。 (2)设置属性。 (3)编写代码。 4

附页: 设计原始资料 Private Sub Command1_Click() '删除数字的最后一位If Label3.Caption <> "" Then Label3.Caption = Left(Label3.Caption, Len(Label3.Caption) - 1) Else c = MsgBox("内容已为空!不可删除一位!", 49, "注意!") End If End Sub Private Sub Command10_Click() '输入数字6 Label3.Caption = Label3.Caption + Command10.Caption End Sub Private Sub Command11_Click() If Label3.Caption <> "" Then '输入符号* Label1.Caption = Label3.Caption Label2.Caption = Command11.Caption Label3.Caption = "" Else c = MsgBox("请输入数据后输入符号!", 49, "注意!") End If End Sub 5

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

目录 一、设计总绪 (2) 1.1设计思想 (2) 1.2设计说明 (3) 1.3关键词:矩阵键盘,单片机,数码管显示,汇编语言 (3) 1.4设计目的 (3) 1.5设计要求 (4) 二、设计方案 (5) 2.1硬件电路设计方案 (5) 2.1.1基本结构 (5) 2.1.2系统框架图 (5) 2.1.3工作流程图 (6) 2.1.4单片机主控制模块 (7) 2.2系统功能描述 (9) 三、各模块功能介绍 (10) 3.1键盘输入模块 (10) 3.1.1键盘分布图 (10)

3.1.2工作原理 (11) 3.2运算控制模块 (11) 3.3显示模块 (12) 3.4振荡电路模块 (13) 四、仿真电路 (14) 仿真运行结果 (14) 五、调试过程总结 (17) 附录: (18) 参考文献: (18) 源程序代码 (19) 一、设计总绪 1.1设计思想 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技

术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,但仅单片机方面的知识是不够的,还应根据具体硬件结构、软硬件结合,来加以完善。计算机在人们的日常生活中是比较常见的电子产品之一。可是它还在发展之中,以后必将出现功能更加强大的计算机,基于这样的理念,本次设计是用AT89c51单片机、LCD显示器、控制按键为元件来设计的计算器。利用此设计熟悉单片机微控制器及汇编语言编程,对其片资源及各个I/O端口的功能和基本用途的了解。掌握应用程序开发环境,常用的LCD显示器的使用方法和一般键盘的使用方法 此设计是基于单片机技术的简易计算器的方案,本次设计所提出的一种基于单片机技术的简易计算器的方案,采用具有数据处理能力的中央处理器CPU,随机存储器ROM,多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统——单片机,配以汇编语言编写的执行程序,能更好的解决计算机计算的问题,随着数字生活的到来,单片机在生活中越来越重要,它能将大量的逻辑功能集成与一个集成电路中,使用起来十分方便。 1.2设计说明 本次课程设计讨论了单片机技术的计算器构思,设计方案,工作原理,主要系统包括单片机80C51,排阻RESPACK—8,开关,六位数码管显示器等,主要组成部分包括:键盘输入模块,运算模块,控制模块,显示模块。通过键盘输入数值,单片机进行运算后在数码管显示出结果。 1.3关键词:矩阵键盘,单片机,数码管显示,汇编语言 1.4设计目的

单片机4X4键盘计算器课程设计报告书

《单片机课程设计报告》 教学院: 专业班级: 学号: 学生: 指导教师: 时间: 地点:

单片机课程设计任务书 一、课题名称 单片机课程设计 二、设计目的 为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期两周的单片机课程设计。通过实训使学生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。 三、设计容 设计基于51单片机的简易计算器系统电路,并以该电路为基础进行编程,要求能够实现0-99之间的数进行加、减、乘、除运算的功能。 四、设计要求 1、设计简易计算器,要求能对0-99之间的数进行加、减、乘、除运算。 2、用4×4的键盘作为输入设备。 3、用LED或LCD进行显示。 4、编写无符号数加、减、乘、除运算、输入和显示的程序。 5、对系统的进行综合和调试,使其具有对0-99之间的数进行加、减、乘、除运算的功能。 6、编写课程设计的总结

六、设计报告 课程设计报告的基本容至少包括封面、正文、附录三部分。课程设计报告要求统一格式,字体工整规。 1、封面 封面包括“《单片机课程设计》课程设计报告”、班级、、学号以及完成日期等。 2、正文 正文是实践设计报告的主体,具体由以下几部分组成: (1)课程设计题目; (2)课程设计任务与要求; (3)设计过程(包括设计方案、设计原理、创新点以及采用的新技术等); (4)方案的比较与论证; (5)硬件电路设计,各个模块的设计与器件的选择; (6)软件程序的设计与调试; (7)课程设计总结(包括自己的收获与体会;遇到的问题和解决的方法;技术实现技巧和创新点;作品存在的问题和改进设想等); 3.附录 附录1:系统设计原理图 附录2:系统硬件元器件清单 附录3:系统的程序 七、考核方式与成绩评定办法 及格(60分~69分)、60分以下为不及格。

单片机简易计算器设计

一、设计要求 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接口电路和键盘接口电路结合到一起就是简易计算器的逻辑电路图,如下:

8255A PA0PA1PA2PA3PA4PA5PA6PA7 PB0PB1 PB4PB5PB6PB7PC0PC1PC2PC3 74LS373 G CS A1A0 D0~D7 WR RD RESET WR RD RST ALE P2.78031 +5V Q2~Q7Q1Q0 A2~A7A1A0D0~D7A8~A11 OE CE P0.0~P0.7 P2.0~2.3PSEN +5V 2732 XTAL2 XTAL1晶振6MHZ 8X74LS07 2X74LS06 4X4键盘 三、软件设计 1、LED 显示程序设计 LED 显示器由七段发光二极管组成,排列成8字形状,因此也成为七段LED 显示器,器排列形状如下图所示: 为了显示数字或符号,要为LED 显示器提供代码,即字形代码。七段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。简易计算器用到的数字0~9的共阴极字形代码如下表:

相关文档
相关文档 最新文档