基于C51单片机简易计算器的课程设计论文
基于51单片机简易计算器毕业论文

基于51单片机简易计算器设计引言计算器(Calculator)是微型电子计算机的一种特殊类型。
它与一般通用计算机的主要区别在于程序输入方式的不同。
计算器的程序一般都已经固定,只需按键输入数据和运算符号就会得出结果,很容易就能掌握。
而一般计算机的程序可以根据需要随时改动,或重新输入新的程序。
简易计算器主要用于加减乘除;科学计算器,又增添了初等函数运算(有的还带有数据总加、求平均值等统计运算)。
现代电子计算器首次问世是1963年。
那时的计算器是台式的,在美国波士顿的电子博览会上展出过。
与计算机相比,它小巧玲珑,计算迅捷,一般问题不必事先编写复杂的程序。
随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。
这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的简易智能机器人。
随着社会需求,计算器也从原有单一的数字加减计算演变为复杂的多种运算。
现在不在单一的在某一方面而是涉及到生活的方方面面.由于我对知识掌握的不够熟练,重点不够清楚,导致在重点与非重点处花费的时间不成比例,进度缓慢,这是设计没能全部完成的部分原因。
目前只做到按键与显示的结合(即在显示器上可以显示数字键还有命令键+-*/ =清零);加法子程序已经编写成功并严整无误,但在整体调试中未能圆满实现,本部分正在调试中。
等调试成功后,其它运算子程序的问题将迎刃而解。
1.简易计算器的设计方案1.1硬件部分设计方案1 单片机部分单片机以AT89C51来做为核心元器件。
2 按键部分设计思路:采用4*4行列式键盘,分别设定数字键和功能键,采用查询方式,每次有键按下时,先判断是实数字键还是功能键。
但是这种方式采用了大量的I/O口线。
基于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单片机,简易计算器,四则运算,菜单界面1.引言随着计算机技术的发展和普及,计算器作为一种便携式计算工具得到了广泛应用。
无论是学生、工程师还是商务人士,都离不开计算器的帮助。
本文旨在设计一款基于51单片机的简易计算器,以满足用户日常计算需求。
2.硬件设计本文采用51单片机作为计算器的主控芯片,搭配LCD显示屏、按键和外部存储器等外围电路。
通过合理的电路连接和引脚设置,实现计算器的功能。
3.软件设计3.1主程序设计计算器的主程序采用C语言编写。
主程序主要包括菜单界面设计、按键响应和运算处理等功能。
通过LCD显示屏输出菜单选项,并通过按键输入执行相应的功能。
3.2加法运算加法运算是计算器最基本的功能之一、在软件设计中,通过读取按键输入的数值,并使用加法运算符将数值累加,最后显示结果。
3.3减法运算减法运算与加法运算类似,通过读取按键输入的数值,并使用减法运算符将数值相减,最后显示结果。
3.4乘法运算乘法运算是计算器的扩展功能之一、在软件设计中,定义乘法运算函数,通过读取按键输入的数值,并使用乘法运算符将数值相乘,最后显示结果。
3.5除法运算除法运算也是计算器的扩展功能之一、在软件设计中,定义除法运算函数,通过读取按键输入的数值,并使用除法运算符将数值相除,最后显示结果。
3.6小数点运算和括号运算为了提高计算器的实用性,本文还添加了小数点运算和括号运算功能。
在软件设计中,通过读取按键输入的数值,并进行相应的运算处理和显示结果。
4.功能测试和性能评估为了验证计算器的功能和性能,本文进行了一系列的功能测试和性能评估。
基于51单片机设计简易计算器毕业设计论文

基于51单片机设计简易计算器毕业设计论文计算器是一种广泛应用的电子设备,它能够进行数学运算、计算结果的显示和储存等功能,是人们日常生活和工作中必不可少的工具之一、随着科技的发展,计算器的功能也得到了不断的升级和改善。
本论文将基于51单片机设计一个简易的计算器,并对其硬件设计、软件设计以及实现的功能进行详细的介绍和分析。
一、引言计算器是一种电子设备,可以进行各种数学运算,如加法、减法、乘法、除法等。
随着计算机技术的发展,计算器的功能越来越强大,不仅可以进行基本的数学运算,还可以进行复杂的科学计算和运算结果的储存等。
本论文将基于51单片机设计一个简易的计算器,实现加法、减法、乘法、除法等基本运算,并对计算结果进行显示和存储。
二、设计要求1.实现基本的加法、减法、乘法、除法运算功能。
2.采用键盘输入数字和运算符。
3.采用液晶显示计算结果。
4.可以储存计算结果。
三、设计方案1.硬件设计本设计采用51单片机作为计算器的控制核心。
单片机通过与键盘和液晶屏的连接,实现对键盘输入和计算结果的显示。
键盘采用矩阵按键,通过扫描矩阵键盘的方式,检测用户的输入。
液晶屏采用4位8段数码管,可以显示计算结果。
2.软件设计计算器的软件设计主要包括键盘扫描、运算处理和液晶显示三个部分。
首先进行键盘的扫描,检测用户输入的数字和运算符。
然后进行运算处理,根据用户输入的运算符进行相应运算,并将运算结果存储起来。
最后通过液晶显示出计算结果。
四、实现和测试根据设计方案,我们完成了计算器的硬件和软件的搭建。
通过测试发现,计算器能够正确地进行加法、减法、乘法和除法运算,并将结果正确地显示出来。
此外,计算器还可以储存计算结果,并在需要的时候进行读取和显示。
综合测试结果,计算器的功能和性能均符合设计要求。
五、总结本论文基于51单片机设计了一个简易的计算器,实现了加法、减法、乘法和除法等基本运算,并将计算结果显示在液晶屏上。
通过测试发现,计算器的功能和性能均符合设计要求。
基于C51的简易计算器

单片机原理与应用课程设计(论文)题 目 基于C51单片机设计的简易计算器______________姓 名 XXX学 号 309040XXXX专业班级 09通信工程3班指导教师 李林功分 院 信息科学与工程分院完成日期 2012年5月20日宁波理工学院摘要随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研等各个领域,已经成为一种比较成熟的技术,本文将介绍一种用单片机设计的计算器。
这个计算器除了会加减乘除的运算功能以外,还具有连续运算的功能。
当键入值或运算结果大于255时,它会自动清零,可以重新输入新值。
正文中首先简单描述了硬件系统的工作原理,且附以硬件系统的设计框图,论述了本次毕业设计所应用的各种硬件接口技术和各个接口模块的功能及工作过程, 并具体描述了外接电路接口的软、硬件调试。
其次阐述了程序的流程和实现过程。
本设计就是以单片机的基本语言汇编语言来进行软件设计,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。
使硬件在软件的控制下协调运作。
本文撰写的主导思想是软、硬件相结合,以硬件为基础,来进行各功能模块的编写。
关键词:计算器,单片机,AT89C51,汇编语言,模块化目录摘要 (I)第一章、设计要求与方案论证 (3)1.1 设计要求: (3)1.2 方案的比较与论证 (3)1.2.1单片机芯片的选择方案和论证: (3)1.2.2 显示模块选择方案和论证: (3)1.2.3 电路设计最终方案决定 (3)第二章、系统的硬件设计与实现 (4)2.1总体框图设计 (4)2.2 主要单元电路的设计 (4)2.2.2 单片机最小应用系统 (4)2.3 4X4键盘控制电路 (6)2.3.1 对矩阵式键盘的认识 (6)2.3.2 矩阵式键盘的按键识别方法 (7)2.4 LCD显示电路 (8)2.4.1显示模块的设计(详细资料) (8)第三章系统软件设计(程序设计) (17)3.1设计思路 (17)3.2 总体流程图 (18)结论 (19)附录 (20)致谢 (21)第一章、设计要求与方案论证1.1 设计要求:为了满足一般计算器的要求,本设计要求可以实现进行基本的加减乘除运算,数据归零和错误提示。
单片机课程设计——基于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 程序清单..................................一、设计任务和要求1.1 设计要求本次课程设计,我选择的课题是单片机十进制加法计算器软硬件设计,设计任务为:设计一键盘显示装置,键盘上除需定义16个十六进制数字键外还要相应的功能键,其它键不定义无响应。
基于51单片机的简易计算器论文设计

毕业设计(论文)题目:基于51单片机的简易计算器系(部)信息技术系专业班级08电子信息工程技术专业学号********学生姓名 * * * * 指导教师职称高级讲师2011 年3 月14 日基于51单片机的简易计算器摘要:工程实践教学环节是为了学生能够更好地巩固和实践所学专业知识而设置的,在本次工程实践中,我以《智能化测量控制仪表原理与设计》、《MCS-51系列单片微型计算机及其应用》课程中所学知识为基础,设计了简易计算器。
本系统以MCS-51系列中的8051单片机为核心,能够实现两位数的四则运算。
该系统通过检测矩阵键盘扫描,判断是否按键,经数据转换把数值送入数码管动态显示。
本系统的设计说明重点介绍了如下几方面的内容:1)基于单片机简易计算器的基本功能,同时对矩阵键盘及数码管动态显示原理进行了简单的阐述;2)介绍了系统的总体设计、给出了系统的整体流程框图,并对其进行了功能模块划分及所采用的元器件进行了详细说明;3)对系统各功能模块的软、硬件实现进行了详细的设计说明。
关键词:MCS-51 8051单片机;计算器;加减乘除目录目录第一章绪论 (1)1.2设计目的 (1)1.3设计任务 (1)1.4章节安排说明 (1)第二章计算器系统简介 (2)2.1单片机发展现状 (2)2.2计算器系统现状 (2)2.3简易计算器系统简介 (3)第三章主要器件简介 (4)3.1MCS-51系列单片机简介 (4)3.2其它器件简介 (7)3.2.1数码管显示 (7)3.2.2矩阵按键 (7)第四章计算器系统设计 (9)4.1计算器硬件电路设计 (9)4.2计算器程序设计 (9)4.2.1存储单元分配 (9)4.2.2主程序设计 (9)4.2.3数码管显示数据转换子程序 (9)4.2.4数码管动态显示子程序 (9)4.3系统总框图: (10)4.4程序源代码: (10)4.5硬件连线图: (19)结语 (20)参考文献 (21)第一章绪论第一章绪论1.1课题简介单片机由于其微小的体积和极低的成本,广泛的应用于家用电器、工业控制等领域中。
基于C51单片机的简易计算器设计

基于单片机的简易设计原理专业:通信专业班级:通信1班姓名:刘民学号:1304041127摘要:按下键盘,通过键盘扫描程序,在LCD液晶显示屏上显示按键的操作过程,最终显示计算结果,实现计算器的基本功能。
本文详细介绍LCD显示屏、矩阵键盘与C51单片机接口的应用,并介绍如何通过C51单片机实现计算器的算法。
关键字:C51单片机,键盘,LCD液晶,计算器一、设计任务:本次实验是要以51系列单片机为核心实现一个简易计算器,它的结构简单,外部主要由4*4矩阵键盘和一个液晶显示屏构成,内部由一块STC90C51单片机构成,通过软件编程可实现简单加、减、乘、除、清除结果。
实现对计算器的设计,具体设计如下:1、采用6位显示,最大显示值为“999999”,设计16个按键的矩阵键盘,按键包括‘0~9’、‘+’、‘-’、‘*’、‘/’、‘=’、‘C’。
2、加减法做四字节运算;乘法做双字节运算;除法被除数为四字节,除数为两字节。
3、当运算结果超出显示范围时,显示ERROR!。
4、上述运算输入值均为整数,当结果带有小数时,可以采用四舍五入方式处理,也可以带小数显示。
二、方案论证经分析,计算器电路包括三个部分:显示电路、、4*4键扫描电路、单片机微控制电路。
具体如下:⒈)LCD显示电路LCD1602作为一个成熟的产品,使用简单,模式固定,便于移植到各种类型的程序,但是初学者往往要注意结合LCD本身的时序图来完善初始化程序。
又以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,故采用LCD.⒉)4*4键盘扫描电路(中断式,扫描式,反转式)用户设计行列键盘接口,一般常采用3 种方法读取键值。
一种是中断式,外两种是扫描法和反转法。
扫描法:对键盘上的某一行送低电平,其他行及列全为高电平,然后读取列值,检查各列线点评的变化,如果某列线电平为低电平,就可以确定此行此列交叉点处的按键被按下,采用延时去抖动。
⒊)单片机微控制电路微控制电路就是以AT89C51为核心的控制核心,主要注意晶振电路的接法和复位电路的接法。
基于C51单片机简易计算器的课程设计论文

赣南师范学院基于C51单片机的简易计算器目录1. 绪论 (3)2. 系统软件设计方案 (4)2.1设计目标和实现方法 (4)2.2整体方案论证 (4)3. 系统硬件的设计与介绍 (5)3.1复位电路的设计与运用 (5)3.2时钟振荡器电路的设计与运用 (6)3.3输入电路的设计 (6)3.4输出电路的设计 (8)4. 系统程序的设计与介绍 (11)4.1 LED显示程序流程图设计 (11)4.2读键输入程序流程图设计 (13)4.3主程序流程图设计 (14)4.4仿真与调试 (15)5. 结论.......................................................... (17)元件清单 (18)附录1简易计算器源程序 (19)1.绪论中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。
这种算筹多是用竹子制成,也有用木头,兽骨充当材料的。
大约二百七十枚一束,放在布袋里可以随身携带。
直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时期的珠算盘已经与现代的珠算盘几乎没有差别。
17世纪初,西方国家的计算工具已经有了较大的发展,英国数学家纳皮尔发明的"纳皮尔算筹",英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具不仅带动了计算器的快速发展,也为实现现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具。
1642年,年仅19岁的法国伟大科学家帕斯卡引用算盘的原理,发明了世界上第一部机械式计算器,在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另外一个窗口中,但是只能做加减计算。
1694年,莱布尼兹在德国将其改进成可以进行乘除的计算。
此后,一直要到20世纪50年代末才有了电子计算器的出现。
基于C51单片机模拟计算器系统设计

基于C51单片机模拟计算器系统设计大庆石油学院应用技术学院毕业论文摘要单片计算机即单片微型计算机。
由RAM ,ROM,CPU构成,定时,计数和多种接口于一体的微控制器。
它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。
而51系列单片机是各单片机中最为典型和最有代表性的一种。
这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。
单片机也被称为微控制器Microcontroller),是因为它最早被用在工业控制领域。
单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
早期的单片机都是8位或4位的。
其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。
此后在8031上发展出了MCS51系列单片机系统。
基于这一系统的单片机系统直到现在还在广泛使用。
随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。
本设计主要设计了一个基于AT89C51单片机的电子计算器。
并在LED上显示相应的时间。
并通过一个控制键用来实现时间的调节和是否进入省电模式的转换。
应用Proteus的ISIS软件实现了单片机计算器时钟系统的设计与仿真。
该方法仿真效果真实、准确,节省了硬件资源。
关键字:单片机;计算器;键盘扫描,8051单片机。
一大庆石油学院应用技术学院毕业论文1.电子计算器1.1 电子计算器简介 1 11计算器(calculator ;counter )一般是指“电子计算器”,该名词由日文传入中国。
计算器能进行数学运算的手持机器,拥有集成电路芯片,但结构简单,比现代电脑结构简单得多,可以说是第一代的电子计算机(电脑),且功能也较弱,但较为方便与廉价,可广泛运用于商业交易中,是必备的办公用品之一。
基于C51单片机的简易计算器

期末课程设计学院:软件学院_____ 专业:软件工程_____ 年级:2009级____ 课程:_单片机应用技术_____ 老师:_林丽玉_____姓名:_苏志彬_ _____ 学号:_************ ______二〇一二年六月基于C51单片机的简易计算器学号:123012009186摘要:按下键盘,通过键盘扫描程序,在LCD液晶显示屏上显示按键的操作过程,最终显示计算结果,实现计算器的基本功能。
本文详细介绍LCD显示屏、矩阵键盘、独立键盘与C51单片机接口的应用,并介绍如何通过C51单片机实现计算器的算法。
关键字:C51单片机,键盘,LCD液晶,计算器1.引言本次实验是要以51系列单片机为核心实现一个简易计算器,它的结构简单,外部主要由3*4矩阵键盘外加2*4独立键盘和一个液晶显示屏构成,内部由一块STC90C51单片机构成,通过软件编程可实现简单加、减、乘、除、平方、立方、开根号、清除结果。
在现实生活中我们用到计算器的频率很高,且并不陌生,计算器电路包括三个部分:LCD显示电路、键盘扫描电路、单片机微控制电路。
2.LCD显示1、LCD显示器介绍LCD显示器,它是利用液晶经过处理后能改变光线的传输方向的特性实现信息的显示。
液晶显示器具有体积小、重量轻、功耗低、显示内容丰富灯特点,在单片机的应用系统中得到广泛的应用,液晶显示器按功能可分为三类:笔段式液晶显示器、字符型液晶显示器和图像点阵式液晶显示器。
前两种可显示数字、字符和符号等,而图形点阵式液晶显示器还可以显示汉字和任意图行,达到图文并茂的效果,本次实验是采用LCD1602字符型液晶显示器,LCD1602能够同时显示16x2即32个字符。
1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用。
51单片机简易计算器论文

华侨大学厦门工学院单片机控制系统课程设计报告题目:基于51单片机的简易计算器专业、班级:通信3班学生姓名:学号:指导教师:2014年月日目录一、设计任务目的 (2)二、计任务要求 (2)三、设计方案选取与论证 (2)四、电路设计 (3)4.1总体电路图 (3)4.2 硬件设计 (4)4.2.1 矩阵按键 (4)4.2.2 STC89C52主芯片 (4)4.2.3 LCD显示 (6)4.3软件设计 (7)4.3.1 键盘模块 (7)4.3.2 计算模块 (8)4.3.3 显示模块 (9)五.制作及调试过程 (9)5.1 制作过程 (10)5.2 软件调试 (10)5.3 硬件调试 (11)结论 (12)致谢 (13)参考文献 (13)附件 (14)附录1.程序代码 (14)附录2.元器件清单 (22)一、设计任务目的设计一个计算器,可以进行简易的四则运算。
二、计任务要求1、能够进行简单的四则运算,包括带负数的运算。
用LCD显示数据和结果(6位即可)2、采用键盘输入方式,键盘包括数字键(0~9)、符号(+、-、×、÷)、清除键(c)和等号键(=),故只需要16 个按键即可。
3、在执行过程中,开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。
4、错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD 上提示OV;当除数为0时,计算器会在LCD上提示ERR。
三、设计方案选取与论证根据功能和指示要求,本系统选用51单片机为主控机。
通过扩展必要的外围电路接口实现计算的设计。
具体如下:1、由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD显示数据和结果。
基于单片机简易计算器的设计_毕业设计论文

基于单片机简易计算器的设计_毕业设计论文在现代科技的发展中,计算器作为一种常用的计算工具,已经成为人们生活中不可缺少的一部分。
随着单片机技术的不断发展,利用单片机来设计一款简易计算器已成为可能。
本文基于单片机设计了一款简易计算器,并对其设计过程和实现效果进行了详细介绍。
首先,本文对单片机计算器的设计思路进行了分析和讨论。
在设计计算器的过程中,需要考虑计算器的基本功能、硬件部分的设计以及软件部分的程序编写。
计算器的基本功能包括加减乘除四则运算以及开方、求模等复杂运算。
硬件部分设计主要包括对单片机、显示屏、按键和电源等组成部分的选型和连接方式等。
软件部分的程序编写需要考虑如何实现各种运算功能以及显示屏的显示控制等。
其次,本文详细介绍了单片机计算器的硬件设计。
在硬件设计中,本文选用了AT89C51单片机作为控制核心,使用LCD1602显示屏作为主要的输入输出设备,采用4x4矩阵键盘作为输入控制设备。
通过引脚连接和外围电路等设计,实现了单片机与其他硬件设备的正常通信和控制。
接着,本文详细介绍了单片机计算器的软件设计。
在软件设计中,本文采用了C语言进行编程,通过编写相应的函数和程序实现了计算器的基本功能。
具体地,本文使用了按键扫描、数值输入、运算处理、结果显示等主要程序模块,通过逐步调试和测试,确保了计算器在使用过程中的稳定性和正确性。
最后,本文对设计的单片机计算器进行了实验验证。
通过对计算器的各种运算进行测试,对比计算结果与实际结果,验证了计算器的算法和程序的正确性。
同时,本文对计算器的使用体验进行了评估,探讨了其在实际使用中的优缺点,并提出了改进的建议。
综上所述,本文基于单片机设计了一款简易计算器,并分析了设计思路、硬件实现和软件编程过程。
通过实验验证,计算器在功能实现和使用体验上都达到了预期的目标。
然而,由于篇幅限制和设计条件限制,本文的计算器还存在一些局限性,如运算范围较小、功能较为简单等。
为了提升计算器的实用性和性能,今后可以考虑引入更先进的单片机和显示设备,增加更多的功能模块,提供更友好的用户界面等。
基于51单片机的简易计算器

基于51单片机的简易计算器课程设计(论文)说明书题目:基于单片机简易计算器的设计院(系):专业:学生姓名:学号:指导教师:职称:2011年12月18日摘要简易计算器是一种非常广泛日常工具,对现代社会越来越流行。
它可以进行一些简易的计算。
本系统提供详细的时、分、秒、年、月、日的时间信息,同时还可进行简易的计算信息,还具有时间校准等功能。
该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。
本系统硬件部分由AT89S52单片机、LCD1602液晶屏、键盘、指示灯系统等部分构成。
软件部分在keil环境下用C51语言编写,包括时间设置、时间显示、简易计算显示等。
关键字:AT89S52;液晶屏LCD1602;键盘AbstractSimple calculator is a very broad everyday tool for modern society is more and more popular. It can carry on some simple calculation. This system provides detailed, minutes and seconds, year, month, day time information, and at the same time but also for simple calculation information, but also has time calibration etc. Function. This circuit AT89S52 SCM as the core, power consumption is small, can be in 3 V of low-pressure work, voltage can choose 3 ~ 5 V voltage power supply. This system hardware part AT89S52 SCM by LCD1602 LCD screen, keyboard, indicator system, part. Software in under the environment of keil with C51 language, including time set,time display, simple calculation shows, etc. In the programming process found on existing knowledge to finish writing task difficult, the teachers and students of help to finish the program part of the code.Keyword:AT89S52;AT89S52 devices; LCD1602 LCD screen; keyboard目录摘要 (1)引言............................................................................................. . (3)1 单片机及其应用 (3)1.1单片机介绍 (3)1.2单片机的应用 (4)1.3 AT89S52单片机 (4)2 液晶屏LCD1602原理及应用……………………………………………………....72.1液晶屏LCD1602介绍及工作原理........................................... .. (7)2.2 液晶屏LCD1602的功能及应用 (7)3 设计思路、仿真及调试 (12)3.1设计方法 (12)3.2硬件设计............................................................................... . (12)3.2.1按键调整电路 (12)3.2.2复位电路 (13)3.2.3 液晶屏LCD1602显示电路 (13)3.2.4 LED指示电路 (13)3.2.5 4*4键盘的设计 (14)3.2.6 简易计算器的总电路 (14)3.3软件设计 (15)3.4软件仿真 (15)3.5硬件调试 (16)4 结束语.............................................................. .. (17)谢辞 (18)参考文献 (19)附件 (20)引言众所周知单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
基于单片机的简易计算器设计论文(1)

基于单片机的简易计算器设计论文(1)论文题目:基于单片机的简易计算器设计引言:计算器是我们日常生活中不可缺少的工具之一,而现代计算器从产品的形态和功能上受到了广泛的关注,它们具有较高的性能和卓越的功能,但是成本较高,同时使用起来不太容易。
本篇论文主要介绍一种简易的计算器设计,该设计基于单片机,可满足日常简单计算使用。
正文:一、设计目标基于单片机的计算器设计,旨在实现以下功能:1、基本运算:加, 减, 乘, 除运算。
2、小数计算:设定包含小数点的计算功能,可进行小数运算。
3、正负运算:支持正数和负数的运算。
4、清零功能:支持清除当前运算,重置计算器状态。
二、设计方法1、硬件设计本设计采用STC89C52RC单片机,其主频为11.0592MHz,具有24KB的Flash,1KB的RAM和256B的EEPROM存储空间,外围可接收光电探测器或手动开关输入,仍可设计LCD显示屏。
2、软件设计(1)实现基本运算功能按下“+”、“-”、“*”、“/”按钮时,代码将控制单片机首先在LCD上输入第一个数字,然后执行一次运算。
通过代码实现的算法,将对之前输入的数字和当前输入的数字进行加法、减法、乘法或除法运算,然后再将结果显示在LCD屏幕上。
(2)实现小数计算功能单片机不能处理小数点,“小数点”的实现需要特殊设置。
通过将输入转换为整数,然后在LCD显示时再加上小数点实现显示小数计算的功能。
(3)实现正负运算功能通过在数字输入前添加“-”实现数字的负数化,进一步实现正负运算的功能。
(4)实现清零功能按下清零按钮时,单片机会将当前将屏幕的显示清空,并恢复到初始状态,保留设置的数据。
三、功能实现本设计基于STC89C52RC单片机,实现了基本运算、小数计算、正负运算和清零功能。
用户可以按下按键进行相关功能的操作,该计算器支持常规计算、对数、三角函数等。
四、总结通过本设计,我们可以实现一个基于单片机的计算器。
由于单片机的低成本和高性能,该计算器实现了类似于高端计算器的功能,但成本更低,且使用方便。
基于51单片机简易计算器的设计毕业论文

本科毕业论文题目:基于51单片机简易计算器的设计毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
基于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显示屏上显示出来。
基于51单片机的数字计算器的设计

《单片机技术及其应用》课程设计报告专业:通信工程班级:09312班姓名:某某某学号:09031069指导教师:二0一二年六月十八日目录1设计目的 (1)2 设计题目描述与要求 (1)3 设计过程 (2)4硬件总体方案及说明 (7)5 软件总体方案及设计流程 (11)6 调试与仿真 (16)7 心得体会 (18)8 指导老师意见 (19)9 参考文献 (19)附录一 (19)附录二 (31)基于51单片机的数字计算器的设计1设计目的简易计算器的原理与设计是单片机课程设计课题中的一个。
在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用和单片机完整程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。
单片机课程设计既巩固了课本学到的理论,还学到了单片机硬件电路和程序设计,简易计算器课程设计通过自己动手用计算机电路设计软件,编写和调试,最后仿真,来加深对单片机的认识,充分发挥我们的个人创新和动手能力,并提高我们对单片机的兴趣,同时学习查阅资料、参考资料的方法。
本设计是基于51系列的单片机进行的简易计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED 上相应的显示结果。
设计过程在硬件与软件方面进行同步设计。
硬件选择AT89C51单片机和74ls164,输入用4×4矩阵键盘。
显示用5位7段共阴极LED静态显示。
软件从分析计算器功能、流程图设计,再到程序的编写进行系统设计。
选用编译效率最高的Keil软件进行编程,并用proteus仿真。
2 设计题目描述与要求基于AT89C51数字计算器设计的基本要求与基本思路:(1)扩展4*4键盘,其中10个数字,5个功能键,1个清零(2)使用五位数码管接口电路(3)完成十进制的四则运算(加、减、乘、除)(4)实现低于三位小于255数字的连续运算(5)使用keil 软件编写程序(6)最后用ptoteus 仿真3 设计过程3.1设计思路按照2的设计要求,本课题需要使用数码管显示和扩展4*4键盘,由于实验箱的硬件电路已经固定,故选择串行静态显示和用P1口扩展4*4键盘,扩展的4*4键盘定义十个数字键,六个功能键,使用串行静态显示显示运算结果。
基于51单片机的简易教学计算器设计

基于51单片机的教学计算器设计Abstract摘要:根据自动化学科的教学大纲,单片机应用是一门必修课,然而8051系列单片机又是单片机的始祖,在单片机入门中具有不可撼动的地位,本课题就是通过基于51系列单片制作由矩阵键盘、二极管阵和数码管组成的简易计算器,在制作过程中初步了解单片机软硬件的开发过程以及单片机的运行机理,达到寓教于乐的目的。
关键词:51单片机,矩阵键盘,数码管,ASCII码转换引言:通过对自动化学科相关课程的学习了解,单片机作为这一领域的一个重要分支,有着不可替代的学习价值,日常学校里学习51单片机是按课程章节上的,一般一个学期内能完成相关学时,分理论环节和实验环节,通过一学期的学习,本人发现内容太过分散,理论课程不紧凑系统,学时完成后同学们并不能很好地掌握单片机的运行机理,更好的应用也就无从谈起,实验课程多为一个模块一个某块进行操作,且只是在开发板上进行简单的烧写操作,不能对单片机系统的运行形成整体框架,对日后的深入学习和开发造成不良的影响。
故本课题旨在通过基于51单片机的简易计算器的设计制作,使同学能够对单片机的开发应用有整体全面且直观的了解,扎实基础。
目录正文51单片机内部构造及运行机理51单片机最小外围电路及电源电路51单片机的最小外围电路主要包括晶振电路、复位电路和电源电路,本课题中的电源电路通过变压器将220V市电转换为9V直流电,再通过7805电源芯片得到5V直流电源作为单片机工作电源。
计算器的硬件电路数码管电路本课题中使用的是常见的4位8段式数码管。
如图所示,为单个八段式数码管的原理图,其是由八个发光二极管以及对应的八个端口和一个控制端口CA组成,八段式数码管分为共阴管(c)和共阳管(b),由图可知以本课题中使用的共阳管为例,当控制端a,b,c,d,e,f,g,dp(段码)置低电平时,则点亮相应的二极管,置高电平则不点亮,从而构成相应的数字,作为本课题计算器的数字显示器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
赣南师范学院基于C51单片机的简易计算器目录1. 绪论 (3)2. 系统软件设计方案 (4)2.1设计目标和实现方法 (4)2.2整体方案论证 (4)3. 系统硬件的设计与介绍 (5)3.1复位电路的设计与运用 (5)3.2时钟振荡器电路的设计与运用 (6)3.3输入电路的设计 (6)3.4输出电路的设计 (8)4. 系统程序的设计与介绍 (11)4.1 LED显示程序流程图设计 (11)4.2读键输入程序流程图设计 (13)4.3主程序流程图设计 (14)4.4仿真与调试 (15)5. 结论......................................................... .. (17)元件清单 (18)附录1简易计算器源程序 (19)1.绪论中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。
这种算筹多是用竹子制成,也有用木头,兽骨充当材料的。
大约二百七十枚一束,放在布袋里可以随身携带。
直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时期的珠算盘已经与现代的珠算盘几乎没有差别。
17世纪初,西方国家的计算工具已经有了较大的发展,英国数学家纳皮尔发明的"纳皮尔算筹",英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具不仅带动了计算器的快速发展,也为实现现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具。
1642年,年仅19岁的法国伟大科学家帕斯卡引用算盘的原理,发明了世界上第一部机械式计算器,在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另外一个窗口中,但是只能做加减计算。
1694年,莱布尼兹在德国将其改进成可以进行乘除的计算。
此后,一直要到20世纪50年代末才有了电子计算器的出现。
2. 软件设计方案2.1 设计目标和实现方法为了满足简易计算器的基本要求,可以进行基本的运算(加减乘除),数据归零和出错警告提示,我们采用基于51单片机设计计算器,并用七段共阴级LED 数码管显示数据,4*4的矩阵键盘实现数据的输入。
2.2 整体方案论述根据简单计算器的功能和本方案中的设计指标要求,本系统选用了MCS 51 单片机为主控机。
通过扩展必要的外围接口电路,实现对简单计算器的设计。
具体设计考虑如下:①由于要设计的是简单的计算器,可以进行基本的四则运算,对数字的大小范围要求不高,故我们采用可以进行四位数字的运算,选用8 个LED 数码管显示数据和运算结果。
②另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可。
系统模块图:图2-1 系统模块图3. 系统硬件的设计3.1 复位电路的设计上电复位的原理:VCC上电时,C充电,在10K电阻上出现了电压,使单片机复位;几个毫秒后,C充满,10K电阻上电流降为0,电压也为0,使得单片机进入工作状态。
手动复位的原理:工作期间,按下S,C放电。
S松手,C又充电,在10K电阻上出现电压,使得单片机复位。
几个毫秒后,单片机进入工作状态。
如SW复位键按下时:RST经1k电阻接VCC,获得10k电阻上所分得电压,形成高电平,进入“复位状态”。
当SW复位键断开时:RST经10k电阻接地,电流降为0,电阻上的电压也将为0,RST降为低电平,开始正常工作。
对于成熟产品,从降低成本角度,可以使用上电复位。
另外,作为产品,最好使用上电复位。
因为使用者通常没有专业知识,就知道断电通电,对他们来说,按键复位成了摆设。
按键复位比较适合样品制作或者实验室调试场合,上电复位电路成本也低一些。
综上所述我们在本方案中选用了上电自动复位电路。
上位自动复位电路图和手动复位电路图如下图两种复位方式如图3—1:3.2 时钟振荡电路的设计能够产生振荡电流的电路叫做振荡电路。
一般由电阻、电感、电容等元件和电子器件所组成。
由电感线圈l和电容器c相连而成的lc电路是最简单的一种振荡电路,其固有频率为f=[sx(]1[]2πlc。
§一种不用外加激励就能自行产生交流信号输出的电路。
它在电子科学技术领域中得到广泛地应用,如通信系统中发射机的载波振荡器、接收机中的本机振荡器、医疗仪器以及测量仪器中的信号源等。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用此振动器。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
使用片内振荡器,可以节省IO引脚,减少成本,但是内部振荡器使用阻容震荡,导致它的精度不高,如果使用了串口、或者PWM等对时钟比较敏感的功能,最好还是使用外部晶体振荡。
在本方案中我们选择了内部时钟方式,如下图:两种时钟方式如图3—2:3.3 输入电路的设计每一个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。
矩阵的行线和列线分别通过两并行接口和CPU通信。
键盘的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。
键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么?还要消除按键在闭合或断开时的抖动。
两个并行口中,一个输出扫描码,使按键逐行动态接地;另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。
当无按键闭合时,P10~P13 与P14~P17 之间开路;当有键闭合时,与闭合键相连的两条I/O 口线之间短路。
判断有无按键按下的方法是:第一步,置列线P14~P17 为输入状态,从行线P10~P13 输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。
第二步,行线轮流输出低电平,从列线P14~P17 读入数据,若有某一列为低电平,则对应行线上表示有键按下。
综合一二两步的结果,可以确定按键编号。
但是键闭合一次只能进行一次键功能操作,因此须等到按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。
键盘是单片机系统中常用的人机对话输入设备,用户通过键盘向单片机输入数据或者指令。
键盘控制程序需要完成的任务有:监测是否有键按下,有键按下时,在无硬件去抖的动电路时,应用软件延时方法消除按键抖动影响;当有多个键同时按下时,只处理一个按键,不管一次按键持续多长时间,仅执行一次按键功能程序。
矩阵按键扫描程序是一种节省IO口的方法,按键数目越多节省IO口就越可观,思路:先判断某一列(行)是否有按键按下,再判断该行(列)是那一只键按下。
但是,在程序的写法上,采用了最简单的方法,使得程序的效率最高。
本程序中,如果检测到了某个键按下了,就不再检测其它的按键,这完全能满足绝大多数需要,又能节省大量的CPU时间。
本键盘扫描程序的优点在于:不使用专门的按键延时程序,提高了CPU效率,也不用中断来扫描键盘,节省了硬件资源。
另外,本键盘扫描程序,每次扫描占用CPU时最短,不论有键按下或者无键按下都可以在很短的时间完成一次扫描。
本键盘扫描子程序名叫key,每次要扫描时用lcall key调用即可。
键盘可分为两类:编码键盘和非编码键盘。
编码键盘是较多按键(20个以上)和专用驱动芯片的组合,当按下某个键时,它能够处理按键抖动、连击等问题,直接输出按键的编码,无需系统软件干预。
通用PC机使用的标准键盘就是编码键盘。
在智能仪器中,使用并行接口芯片8279或串行接口芯片HD7279均可以组成编码键盘,同时还可以兼顾数码管的显示驱动,其相关的接口电路和接口软件均可以在相关资料中得到。
当系统功能比较复杂,案件数量很多时,采用编码键盘可以简化软件设计。
但大多数智能仪器和电子产品的按键数目都不很多(20个以内),为了降低成本和简化电路通常采用非编码键盘。
非编码键盘的电路由设计者根据需要自己决定,按键信息通过接口软件来获取。
本课题需要16个按键,故选择非编码键盘,为了减少所占用的端口,由P1口采用4*4矩阵式键盘。
图3-3 键盘样式3.4 输出电路设计数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳级数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳级数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,对应的字段就不亮。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,对应的字段就不亮。
LED显示器由七段发光二极管组成,排列成8字形状,因此也成为七段LED 显示器,器排列形状如下图所示:图3-4 LED段码为了显示数字或符号,要为LED显示器提供代码,即字形代码。
七段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。
简易计算器用到的数字0~9的共阴极字形代码如下表3-1所示:显示字型g f e d c B a 段码0 0 1 1 1 1 1 1 3fh1 0 0 0 0 1 1 0 06h2 1 0 1 1 0 1 1 5bh3 1 0 0 1 1 1 1 4fh4 1 1 0 0 1 1 0 66h5 1 1 0 1 1 0 1 6dh6 1 1 1 1 1 0 1 7dh7 0 0 0 0 1 1 1 07h表3-5 0~9七段数码管共阴级字形代码由于数值单元存放的是二进制数,而我们大家熟悉的是十进制数,所以应将数值单元中的二进制数字转换为十进制数字,即BCD码。
要通过数码管显示出当前的数值,还必须将BCD码进一步转换为七段码,转换的最终结果数据存放于显示缓冲区30H-33H单元中,其中30H单元存放数值的个位七段码,31H单元存放数值的十位七段码,32H单元存放数值的百位七段码,33H单元存放数值的千位七段码。
本方案设计中由P1口输出字形码,P0口输出字位码。
先将存放于30H单元的数值个位七段码由P1口输出,同时P0口输出使数值个位显示数码管点亮的字位码。