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

合集下载

4位数计算器的设计

4位数计算器的设计

摘要 01 总体任务 (1)1.1设计目的 (1)1.2设计内容和要求 (1)1.3 设计思路 (1)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.2.1AT89C51单片机 (4)3.2.2 八段LED数码管 (4)3.2.3 矩阵键盘 (6)3.3 元器件清单 (7)3.4 电路原理图 (7)4 系统程序的简单设计 (8)4.1 程序方框图 (8)4.2 计算器程序 (8)5 系统的仿真调试 (15)6 课程设计总结 (16)参考文献 (17)本文论述了单片机4位数加法计算器的设计,从对设计任务的分析到画电原理图到编程和最后的仿真调试,都进行了一个简单的描述。

在设计过程中,采用Keil软件编写源程序,用Protues 7 professional的ISIS 7 professional软件画电原理图并且仿真,通过对编程时的编译和对仿真结果现象的观察,不断地对源程序以及电原理图的修改,最后成功设计出了一个能够进行4位数加法运算的计算器。

该计算器通过4×4的矩阵键盘输入数字及运算符,若运算结果超过4位十进制数,则显示为E;另外,也能进行减法、乘法以及除法的运算,在进行减法运算时,若运算结果小于零,则显示其绝对值;进行除法运算时,若除数等于零,则显示E。

关键词:计算器;单片机;数码管;矩阵键盘1 总体任务1.1设计目的1.通过单片机课程设计,熟练掌握c语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。

2.通过4位数加法计算器的设计,掌握c语言编程的基本语法,和简单程序的编写,最终提高我们的逻辑抽象能力。

1.2设计内容和要求内容:设计一个4位数加法计算器要求:该计算器通过4×4的矩阵键盘输入数字和运算符,能进行4位十进制以内的正数的加、减、乘、除的运算,如果运算结果超过4位十进制数,4位数码管全部显示为E。

机电单片机课程设计--4乘4矩阵键盘-汇编语言

机电单片机课程设计--4乘4矩阵键盘-汇编语言

目录1 引言 (2)2 4×4矩阵键盘控制LED工作原理及软硬件设计、仿真调试 (2)2.1 4×4矩阵式键盘识别显示系统概述 (2)2.2 4×4矩阵式键盘原理 (3)2.3 4×4矩阵式键盘控制LED显示方法 (3)2.4 电路设计及电路图 (3)2.5 4×4矩阵式键盘软件编程 (6)2.6 4×4矩阵式键盘软件仿真调试分析 (9)3 结论 (10)4参考文献 (10)1 引言随着现代科技日新月异的发展,作为新兴产业,单片机的应用越来越广。

单片机以其体积小、重量轻、功能强大、功耗低等特点而备受青睐。

键盘作为一种最为普遍的输入工具在单片机项目应用上显得尤为重要。

用MCS51系列的单片机并行口P1接4×4矩阵键盘,以P1.0-P1.3 作输入线,以P1.4-P1.7作输出线;在数码管上显示每个按键的0-F序号。

2 4×4矩阵键盘控制LED工作原理及软硬件设计、仿真调试2.1 4×4矩阵式键盘识别显示系统概述矩阵式键盘模式以4个端口连接控制4*4个按键,实时在LED数码管上显示按键信息。

显示按键信息,省下了很多的I/O端口为他用,相反,独立式按键虽编程简单,但占用I/O口资源较多,不适合在按键较多的场合应用。

矩阵式键盘简介:矩阵式键盘又称行列键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。

在行线和列线的每个交叉点上设置一个按键。

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

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

最常见的键盘布局如图1所示。

一般由16个按键组成,在单片机中正好可以用一个P 口实现16个按键功能,这也是在单片机系统中最常用的形式,本设计就采用这个键盘模式。

2.2 4×4矩阵式键盘原理在占用相同的I/O端口的情况下,行列式键盘的接法会比独立式接法允许的按键数量多。

简易计算器的课程设计

简易计算器的课程设计

课程设计报告课程名称:单片机原理及应用课程设计题目:简易计算器设计学院:系:专业:班级:学号:学生姓名:起讫日期:指导教师:摘要单片机,全称单片微型计算机(英语:Single-Chip Microcomputer),又称微控制器(Microcontroller),是把中央处理器、存储器、定时/计数器(Timer/Counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。

与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。

单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,但存储量小,输入输出接口简单,功能较低,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、电流、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。

采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。

本设计是基于STC89C52单片机进行的简易计算器系统设计,P1口作为输入端,外接4*4矩阵式键盘,通过在4*4矩阵式键盘输入,进行加、减、乘、除简单运算,实现-2147483647到+2147483647的结果运算,并且在P0口上的LCD1602液晶显示器显示相应的计算结果。

计算器是一种在日常生活中应用广泛的电子产品,无论是在超市商店,还是在办公室,或是家庭都有着它的身影。

如何使计算器变得越来越智能化已经成为电子领域研究的重要课题之一。

关键词:STC89C52、4*4矩阵式键盘、LCD1602 、计算器目录摘要 (1)一、设计任务、要求 (2)1.1、设计任务: (2)1.2、设计要求: (2)二、方案总体设计 (2)2.1、单片机的选择方案与论证: (2)2.2、按键输入的选择方案与论证 (2)2.3、显示模块的选择方案与论证 (3)2.4、按键音电路的选择方案与与论证 (3)2.5、总体设计,整体框架如图1 (3)3.1、单片机最小系统 (4)3.1.1、STC89C52 (4)3.1.2、复位电路 (5)3.1.3、时钟电路 (6)3.2、LCD液晶显示模块 (7)3.2.1、LCD1602基本介绍 (7)3.2.2、LCD1602基本参数及引脚功能 (8)3.2.3、LCD1602的指令说明及时序 (9)3.3、矩阵键盘 (9)3.3.1矩阵式键盘的结构与工作原理 (9)3.3.2、矩阵键盘识别方法 (10)3.3.3、本设计的矩阵键盘布局 (11)3.4、无源蜂鸣器电路 (11)3.5、整体电路 (12)四、软件设计 (13)4.1、程序设计方案和流程 (13)4.2、编程软件Keil (14)五、系统仿真与调试 (14)5.1、Proteus仿真原理图 (14)5.2、实物图 (16)六、设计总结、心得体会等 (18)七、参考文献 (19)附录 (20)元器件清单 (20)一、设计任务、要求1.1、设计任务:利用STC89C51、矩阵键盘、无源蜂鸣器、LCD1602实现具有简单“加、减、乘、除”的计算功能。

单片机实践简易计算器实验报告

单片机实践简易计算器实验报告

单片机实践简易计算器实验报告本次实验的目的是通过单片机实现一个简易计算器,实现加减乘除四则运算。

在实验过程中,我们使用了STC89C52单片机,通过编写程序实现计算器的功能。

实验步骤:1. 确定硬件电路连接我们需要确定硬件电路连接。

本次实验使用的是STC89C52单片机,需要将其与LCD1602液晶屏、4x4矩阵键盘、蜂鸣器等硬件连接。

具体连接方式如下:STC89C52单片机:P0口:连接LCD1602液晶屏的数据线D0-D7P1口:连接LCD1602液晶屏的控制线RS、RW、EP2口:连接4x4矩阵键盘的行线R1-R4P3口:连接4x4矩阵键盘的列线C1-C4P4口:连接蜂鸣器2. 编写程序接下来,我们需要编写程序实现计算器的功能。

程序主要分为以下几个部分:(1)LCD1602液晶屏初始化(2)4x4矩阵键盘扫描(3)计算器功能实现(4)LCD1602液晶屏显示结果3. 调试程序编写完程序后,我们需要进行调试。

在调试过程中,我们需要注意以下几点:(1)检查硬件连接是否正确(2)检查程序是否有语法错误(3)检查程序是否能够正常运行4. 实验结果经过调试,我们成功实现了一个简易计算器。

在使用过程中,用户可以通过4x4矩阵键盘输入数字和运算符,计算器会自动进行计算,并在LCD1602液晶屏上显示结果。

同时,计算器还具有清零、退格等功能,方便用户进行操作。

总结:通过本次实验,我们学习了单片机的基本原理和编程方法,掌握了如何使用单片机实现一个简易计算器。

同时,我们还学习了如何进行硬件电路连接和程序调试,提高了我们的实践能力和动手能力。

基于单片机的计算器课程设计报告

基于单片机的计算器课程设计报告

昆明理工大学课程设计报告设计名称:单片机计算器课程设计姓名:学号:2011118521XXX专业班级:测控技术和仪器1111院(系):信息工程设计时间:2013年6月21日设计地点:昆明理工大学德信楼目录一、题目……………………………………………………………………………二、任务和要求…………………………………………………三、课程设计及整体方框图…………………………………………………a..总体设计思路简述····················································b.硬件设计简述························································c.软件设计简述························································d.程序主流程图························································四、课程设计原理分析及相关知识概述…………………………………………五、结论……………………………………………………………………………六、体会和收获……………………………………………………………………附件:1、源程序代码(根据需要选择)……………………………………………2、整体电路原理图(根据需要选择)………………………………………2、元件表(根据需要选择)…………………………………………………3、实验操作(根据需要选择)…………………………………………………一、题目使用单片机芯片AT89C51、LCD 1602 液晶显示屏,用KEIL uVision和porteus 仿真软件实现简易计算器的仿真和调试。

课程设计(论文)-8255扫描键盘(4X4)显示设计

课程设计(论文)-8255扫描键盘(4X4)显示设计

课程设计(论文)-8255扫描键盘(4X4)显示设计目录8255扫描键盘,4X4,显示:一、设计要求………………………………………… 1 二、设计目的………………………………………… 1 三、主要芯片及器件介绍…………………………… 1 四、电路原理图………………………………………5 五、编程方法................................................ 7 六、设计体会................................................ 10 七、参考文献 (10)1系别:电子电气工程系专业名称:电子信息工程班级:电子,3,班学生姓名:学号:20048602115指导教师:2006 年 8 月 29 日2一、设计要求利用可编程并行接口8255芯片与MCS-51单片机相连做一个有输入/输出的并行接口。

输入端口接4×4的键盘,输出端口接8个七段数码管,作为输出显示。

二、设计目的1(理解MCS-51单片机输入输出的原理及工作方式。

2(掌握8255的编程方法。

3(掌握利用8279实现编码式键盘的连接和编程方法。

4(掌握多个七段数码管按位显示的实现方法。

三、主要芯片及器件介绍1(可编程并行接口 82558255是8位通用可编程并行输入输出接口芯片,它具有很强的功能,在使用时可利用软件编程来指定完成它的功能。

1(8255的外部引线如图1:D0~D7:双向数据信号线。

用来传送数据和控制字。

RD:读信号线。

通常接系统总线的IOR。

:写信号线。

通常接系统总线的IOW。

WD:片选输入端,低电平有效。

CSA0 A1:口地址选择信号线。

8255内部有3个口(即A口,B口,C口)还有一个控制寄存器,他们即可由程序寻址。

A0 A1 上的不同编码可分别寻址上述3个口号一个控制寄存器,具体规定如下:A0 A1 选择0 0 A口0 1 B口1 0 C口1 1 控制寄存器图 1 8255管脚图A0 A1与一起决定8255的接口地址。

基于单片机的液晶计算器设计

目录1.课程设计的目的 (2)2.课程设计的内容和要求 (2)2.1课程设计内容 (2)2.2课程设计要求 (2)3.课程设计原理 (2)4.课程设计所需器材及其介绍 (2)4.1课程设计所需器材 (2)4.2课程设计所需器材介绍 (2)5.课程设计步骤 (6)5.1问题分析 (6)5.2算法设计 (6)5.3功能模块分割 (6)5.4算术运算程序流程图 (6)5.5系统总流程图 (7)5.6仿真电路模型的构建 (7)6.课程设计结果及结论 (7)6.1课程设计结果 (7)6.1.1仿真模型与结果 (7)6.1.2程序设计 (8)7.心得体会 (10)8.参考文献 (10)9.附录……………………………………………………1 11.课程设计的目的通过本课程设计使学生进一步巩固单片机原理与技术的基本概念、基本理论,分析问题的基本方法;增强学生的软件编程实现能力和解决实际问题的能力,使学生能有效地将理论和实际紧密结合,拓展学生在工程实践方面的专业知识和相关技能。

2.课程设计的内容和要求2.1课程设计内容基于液晶显示的简易计算器设计。

2.2目标1.硬件电路包括1602显示屏,4*4键盘。

2.能够显示不少于4位的数字。

3.能够完成1位以上十进制数的加、减、乘、除运算,结果保留至小数点后1位。

4.设计中使用C语言编程。

3.课程设计原理运用MM74C922芯片作为4*4键盘的译码器输入AT89C51单片机内,再植入运算的程序,通过LCD静态显示相关数字,得到计算结果,电路中同时有复位电路,内部时钟模式电路来控制,是电路更稳定。

4.课程设计所需器材及其介绍4.1课程设计所需器材本设计选用AT89C51单片机为主控单元;显示部分:采用LCD静态显示;按键部分:采用4*4键盘;用MM74C922为4*4键盘扫描IC,读取输入的键值。

AT89C51 LM016L MM74C922 4*4键盘4.2课程设计所需器材介绍(1).AT89C51芯片MCS-51 单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多功能I/O 等一台计算机所需要的基本功能部件。

单片机课程设计---4×4矩阵式键盘识别显示电路的设计之欧阳音创编

《单片机原理及应用》课程设计题目:4×4矩阵式键盘与单片机连接与编程专业:测控技术与仪器班级:机电082-1姓名:学号:指导老师:组员:( 2011.7 .13)目录第1节引言 (2)1.1 4*4矩阵式键盘系统概述 (2)1.2 本设计任务和主要内容 (3)第2节系统主要硬件电路设计 (4)2.1 单片机控制系统原理 (4)2.2 单片机主机系统电路 (5)2.2.1 时钟电路 (8)2.2.2 复位电路 (8)2.2.3 矩阵式键盘电路 (8)2.3 译码显示电路 (9)第3节系统软件设计 (13)3.1 软件流程图 (13)3.2 系统程序设计 (14)第4节结束语 (17)参考文献 (18)第一节引言矩阵式键盘乃是当今使用最为广泛的键盘模式,该系统以N个端口连接控制N*N个按键,即时在LED数码管上。

单片机控制的据这是键盘显示系统,该系统可以对不同的按键进行实时显示,其核心是单片机和键盘矩阵电路部分,主要对按键与显示电路的关系、矩阵式技术及设备系统的硬件、软件等各个部分进行实现。

4*4矩阵式键盘采用89C51单片机为核心,主要由矩阵式键盘电路、译码电路、显示电路等组成,软件选用汇编语言编程。

单片机将检测到的按键信号转换成数字量,显示于LED显示器上。

该系统灵活性强,易于操作,可靠性高,将会有更广阔的开发前景。

1.1 4*4矩阵式键盘识别显示系统概述矩阵式键盘模式以N个端口连接控制N*N个按键,实时在LED数码管上显示按键信息。

显示按键信息,既降低了成本,又提高了精确度,省下了很多的I/O端口为他用,相反,独立式按键虽编程简单,但占用I/O口资源较多,不适合在按键较多的场合应用。

并且在实际应用中经常要用到输入数字、字母、符号等操作功能,如电子密码锁、电话机键盘、计算器按键等,至少都需要12到16个按键,在这种情况下如果用独立式按键的话,显然太浪费I/O端口资源,为了解决这一问题,我们使用矩阵式键盘。

4位数加法器课程设计 2

一、设计任务和要求1.1、任务描述:1、系统通过4×4的矩阵键盘输入数字及运算符;2、可以进行4位十进制数以内的加法运算,如果计算结果超过4位十进制数,则屏幕显示E;3、可以进行加法以外的计算(乘、除、减);4、创新功能。

1.2、任务要求:1、理解任务书要求,明确分工,查找相关资料,制定系统方案;2、论证系统设计方案,运用Proteus等软件绘制电路原理图;3、根据硬件电路,确定算法,设计程序框图,编写程序代码;4、误差分析与改进,完成设计报告。

二、方案论证2.1、适用矩阵键盘控制作为输入电路,电路和软件稍微复杂,但是相比用独立按键,可节省I/O口,其原理图如2.1所示:图2.1 矩阵键盘控制电路2.2、采用LED数码管显示,数码管图如图2.2.1所示:下图则是加法器电路的原理图:23.1、主控模块该设计的核心控制电路是 AT89C52单片机。

AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

其引脚AT89C51芯片模型33.1.1、主要功能特性(1) 4K字节可编程闪烁存储器。

(2) 32个双向I/O口;128×8位内部RAM 。

(3) 2个16位可编程定时/计数器中断,时钟频率0-24MHz。

(4) 可编程串行通道。

简易计算器的设计

辽宁工业大学单片机原理及接口技术课程设计(论文)题目:简易计算器的设计院(系):电气工程学院专业班级:自动化132班学号: 4学生姓名:**指导教师:(签字)起止时间:课程设计(论文)任务及评语院(系):电气工程学院教研室:自动化注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算摘要计算器是日常生活中比较的常见的电子产品之一。

在各种智能化产品中也常常会用到计算器,而且在现代化系统中人们对计算器技术要求更加的严格和精确,因此计算器已成为生产中必不可少的设备。

本设计的硬件包括4*4键盘、单片机最小系统、液晶显示器,软件包括C语言编程和Keil uVision5。

简易计算器的设计使得计算器的技术更加的成熟、简单。

简易计算器设计是以AT89C52单片机为核心的,输入采用4*4矩阵键盘,简易计算器不仅可以进行加、减、乘、除带符号数字运算(八位整数),还可以进行负数运算和错误提示,并在液晶显示器LCD1602上显示操作结果。

计算器的出现不仅使计算数据越来越方便,而且在算术方面节省了大量的计算时间。

关键词:单片机;矩阵键盘;液晶显示;计算器目录第1章绪论................................ 错误!未定义书签。

第2章课程设计的方案...................... 错误!未定义书签。

概述............................................ 错误!未定义书签。

系统组成总体结构................................ 错误!未定义书签。

第3章硬件设计............................ 错误!未定义书签。

单片机最小系统设计.............................. 错误!未定义书签。

AT89S52单片机简介 .......................... 错误!未定义书签。

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

《单片机课程设计报告》教学院:专业班级:学号:学生:指导教师:时间:地点:单片机课程设计任务书一、课题名称单片机课程设计二、设计目的为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期两周的单片机课程设计。

通过实训使学生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。

三、设计容设计基于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] 朝青.单片机原理及接口技术(简明修订版).:航空航天大学,1998[2] 广弟.单片机基础[M].:航空航天大学,1994[3] 阎石.数字电子技术基础(第三版). :高等教育,1989[4] 廖常初.现场总线概述[J].电工技术,1999.[5] 徐仁贵等编著.《单片微型计算机应用技术》.:机械工业.2001年2月第1版[6] 毅刚等编著.《单片机原理及应用》. :高等教育.2004年1月第1版一、课程设计任务与要求设计基于51单片机的简易计算器系统电路,并以该电路为基础进行编程,要求能够实现0-99之间的数进行加、减、乘、除运算的功能,并要求如下:1、设计简易计算器,要求能对0-99之间的数进行加、减、乘、除运算;2、用4×4的键盘作为输入设备;3、用LED或LCD进行显示;4、使用C语言编写无符号数加、减、乘、除运算、输入和显示的程序;5、对系统的进行综合和调试,使其具有对0-99之间的数进行加、减、乘、除运算的功能,还具有清零功能等;6、编写课程设计的总结。

二、设计方案与选择方案1、芯片1.1、方案构思本设计中的芯片可以采用两种方案,一种是以FPGA为核心处理芯片,配备相应的外设;另一种是以STC89C52处理器,配备相应的外设。

(1)方案一:采用FPGA控制FP GA是一种高密度的可编程逻辑器件,自从Xilinx公司1985年推出第一片FPGA以来,FPGA的集成密度和性能提高很快,其集成密度最高达500万门/片以上,系统性能可达200MHz。

由于FPGA器件集成密度高,方便易用,开发和上市周期短,在数字设计和电子生产中得到迅速普及和应用,并一度在高密度的可编程逻辑器件领域中独占鳌头。

但是基于SRAM编程的FPGA,其编程信息需存放在外部存储器上,需外部存储器芯片,且使用方法复杂,性差,而其对于一个简单的计算器而言,使用FPGA有点大材小用,成本太高。

(2)方案二:采用AT89C51单片机是单片微型机的简称,故又称为微控制器MCU(Micro Control Unit)。

通常由单块集成电路芯片组成,部包含有计算机的基本功能部件:中央处理器CPU,存储器和I/O 接口电路等。

因此,单片机只要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。

单片机广泛应用于智能产品,智能仪表,测控技术,智能接口等,具有操作简单、实用方便、价格便宜等优点。

AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。

1.2、方案比较与选择通过以上两种方案的论证和比较,从设计的实用性、方便性和成本等诸多方面考虑,最终选择了以AT89C51单片机作为中央处理单元进行计算器的设计,这样设计能够实现对六位整数、两位小数的加、减、乘、除的四则运算。

2、输入模块2.1、方案构思(1)方案一:采用独立式按键作为输入模块独立式按键输入模块,其特点是:直接用I/O口构成单个按键电路,接口电路配置灵活、按键识别和软件结构简单;但是当键数较多时,占用I/O口较多,比较浪费资源。

其原理图如图1所示。

图1 独立的功能按键图2 矩阵键盘输入(2)方案二:采用矩阵式键盘作为输入模块矩阵式按键输入模块,其特点是:电路和软件稍复杂,但相比之下,当键数越多时,越节约I/O口,比较节省资源。

其原理图如图2所示。

2.2、方案比较与选择本设计中的输入模块使用的是矩阵键盘输入。

键盘输入预置用于计算,按键较多。

若是采用独立按键,需频繁按键,为软件设计增加负担,且操作界面不友好;若是采用矩阵式按键,可以方便地输入一个数值,使操作界面更具有人性化,且节约了宝贵的I/O口资源。

通过对比,故采用方案二作为系统输入模块。

3、显示模块3.1、方案构思(1)方案一:采用LED数码管静态显示采用LED数码管的静态显示,其特点是:其亮度较高;这种显示方式接口,编程容易且管理简单;不足的是,占用的I/O的线资源较多。

如果采用单片机或CPLD/FPGA来控制的话,势必存在浪费I/O口资源的问题。

如图3所示。

图3 4位数码管静态显示(2)方案二:采用LED数码管动态显示采用LED数码管的动态显示,其特点是:其亮度比静态显示的亮度要差一些;但其电路比较简单,适合于显示位数较多的情况。

如图4所示。

图4 4位数码管的动态显示(3)方案三:采用LCD1602液晶显示采用LCD1602液晶显示,其特点是:可以调节其背光亮度,这种显示方式接口,编程虽然有些麻烦,但管理较方便,占用的I/O口资源线也不多。

3.2、方案比较与选择本设计中的显示模块使用的是LCD1602液晶显示。

在计算器运算中,需显示的数字、符号较多,按很据个方面的特点,而后可以发现LCD 液晶显示,虽然在价格上的确是稍贵于LED数码管;但数码管在硬件设计电路中,会因线太多、线路复杂而过于繁琐,则舍弃LED数码管,选择LCD液晶显示。

通过对比,故采用方案三作为系统显示模块。

三、整体方案原理框图1.1硬件与软件系统设计依据系统分析及实现功能,硬件小系统方框图如图1所示:图5依据系统硬件设计,软件系统主要包括:单片机控制程序模块:作为系统的主控制程序模块,用KeilC编程控制其他程序模块的协调工作;键盘程序模块:用来输入用户的功能,使单片机完成相应的控制功能;液晶显示模块:使用字符型液晶显示器显示用户的选择。

1.2 单片机模块单片机控制主程序流程图如下:图6单片机外围扩展电路程序模块为了节约成本,本设计中液晶显示模块与单片机之间采用模拟口线的方式控制,键盘与单片机之间采用扫描的工作方式。

键盘程序流程图(扫描方式)键盘程序流程图如下所示:LCM程序流程图如下所示:图8本设计的软件系统分别用伟福E6000和KeilC编写及编译。

4*4键盘程序模块用汇编语言和C语言编写,实现直接从P2口扫描得到键盘码,并采用查询方式得到与之对应的LCD字型码,在LCD上显示出来。

四、单元电路设计1.1键盘输入计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O口资源,因此在很多情况下都不采用这种方式。

为此,我们引入了矩阵键盘的应用,采用四条I/O线作为行线,四条I/O线作为列线组成键盘。

在行线和列线的每个交叉点上设置一个按键。

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

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

矩阵键盘的工作原理:计算器的键盘布局如图5所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。

图9 键盘布局图图10 矩阵键盘部电路图键盘上的每一个按键都有一个键值。

给键赋值的最直接办法是将行、列线按二进制顺序排列,当某一键按下时,键盘扫描程序执行到给该列置低电平0,若读出各行状态为非全1,这时的行、列数据组合成键值。

键盘键值从左到右、从上到下依次是77,7B,7D,7E;B7,BB,BD,BE,…,E7,EB,ED,EE。

这种负逻辑表示往往不够直观,因而采用行、列线加反向器或软件求反的方法将键盘改成正逻辑。

这时,键值依次为88,84,82,81;48,44,42,41,…,18,14,12,11。

不论是正逻辑还是负逻辑,这种键值表示方式分散度在且不等距,用于指令不太方便。

对于不是4*4或8*4或8*8键盘,使用也不容易,故在许多场合下,采用依次排列键值的方法。

这时的键值与键号相一致。

1.2 单片机控制MCS-51单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多功能I/O 等一台计算机所需要的基本功能部件。

如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。

单片机是靠程序运行的,并且可以修改。

通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过使用单片机编写的程序可以实现高智能,高效率,以及高可靠性!因此我们采用单片机作为计算器的主要功能部件,可以进行很快地实现运算功能。

图11 单片机控制电路的时钟电路和复位电路LCD1602显示图12 LCD1602显示1602点阵字符液晶模块(LCM)引脚及功能1脚(V DD/V SS):电源5V±10%或接地。

相关文档
最新文档