精品简易计算器单片机原理.docx

上传人:b****1 文档编号:1112484 上传时间:2022-10-17 格式:DOCX 页数:21 大小:268.09KB
下载 相关 举报
精品简易计算器单片机原理.docx_第1页
第1页 / 共21页
精品简易计算器单片机原理.docx_第2页
第2页 / 共21页
精品简易计算器单片机原理.docx_第3页
第3页 / 共21页
精品简易计算器单片机原理.docx_第4页
第4页 / 共21页
精品简易计算器单片机原理.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

精品简易计算器单片机原理.docx

《精品简易计算器单片机原理.docx》由会员分享,可在线阅读,更多相关《精品简易计算器单片机原理.docx(21页珍藏版)》请在冰豆网上搜索。

精品简易计算器单片机原理.docx

精品简易计算器单片机原理

摘要

本次课程设计的任务是进行简易计算器的设计,在这次设计中我们主要用到AT89C51为系统控制核心,通过8位共阳数码管来显示设计的主要功能。

外接

4×4的键盘,通过行列式键盘的扫描进行对输入数的控制,并外接驱动电路,系统采用led数码管作为显示器,软件程序均采用c语言编写,便于移植与升级,报告详细介绍了整个系统的硬件组成结构、工作原理和系统的软件程序设计。

计算器主要可完成的功能有整数的加,减,乘,除等。

关键词:

AT89C51,共阳数码管,行列式键盘,液晶。

 

摘要I

ABSTRACTII

第1章方案的论证与比较1

1.1单片机型系统的选择与论证1

1.2显示模块的选择与论证1

1.3计算实现1

第2章各系统框图及工作原理2

2.1系统总体设计结构框图2

2.2系统的硬件电路设计2

第3章电路分析和设计6

3.1led显示程序流程图设计6

3.2读键输入程序流程图设计7

3.3主程序流程图设计8

第4章系统仿真9

4.1电路原理图9

4.2程序设计12

第5章总结12

参考文献13

致谢14

附录15

 

第1章方案的论证与比较

1.1单片机型系统的选择与论证

方案一:

此方案采用AT89C51八位单片机实现。

它内存较小,只有4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,所以对于设计一个简易计算器而言绰绰有余了,而且能通过编程器烧写成以.hex为后缀名的文件。

方案二:

此方案采用AT89S52八位单片机实现。

它内存较大,有8K的字节Flash闪速存储器,比AT89C51要多4K。

单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。

而且体积小,硬件实现简单,安装方便。

另外AT89S52在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。

虽然有很多功能超过了AT89C51,但是对于设计一个简易计算器而言完全没有必要。

综上所述,我们采用了第二个方案,即AT89C51。

1.2显示模块的选择与论证

方案一:

采用LCD点阵显示,用来显示文字、图形、图像、等各种信息的显示屏幕。

在简单的计算器中不需要那么复杂,在软件编程方面也有一定的难度。

方案二:

采用液晶(JHD529M1)显示器件。

对于LCD点阵显示器来说,液晶显示器简单且容易操作,也比较便宜,但由于设计显示比较的简单,只用于数字的显示,所以要求也比较低。

方案三:

由于要设计的是简单的计算器,只要求可以进行四则运算,对数字的大小范围要求不高,所以采用可以进行四位数字的运算的8个LED数码管来显示数据和结果。

综合以上分析,在该项设计中,采用第三方案来实现设计的显示模块。

1.3计算实现

在硬件的基础上,直接采用单片机的计算器通过软件系统C语言程序编程以实现计算器的计算功能。

第2章各系统框图及工作原理

2.1系统总体设计结构框图

以AT89C51芯片为核心,当它接到来自按键的信号后,在数码管上显示相应的信息,同时在LCD上也显示相应的信息,并且有已处理好的数字计算结果也显示出来。

(1)系统设计框图(如图2.1所示)

图2.1系统模块图

2.2系统的硬件电路设计

2.2.1单片机控制部分

(1)单片机的内部结构

MCS-51单片机片内主要由振荡电路、中央处理器(CPU)、内部总线、程序存储器、数据存储器、定时器/记数器、中断系统和I/O口等模块组成,各部分通过内部总线紧密地联系在一起。

(2)单片机的时钟电路

单片机中包括有时钟电路,时钟电路中主要的元件有晶体振荡器。

晶体振荡器能产生一定频率的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。

也同时决定了单片机的计算速度。

电路中两个电容C1、C2的作用有两个:

一是帮助振荡器起振,二是对振荡器的频率起微调作用。

C1、C2的典型值为30pF。

晶振为12MHz。

整个电路接在51单片机的18,19管脚,即XTAL1,XTAL2管脚。

①时钟电路图(如图2.2所示)

图2.2振荡电路图

(3)单片机的复位及复位电路

复位状态

计算机在启动运行时都需要复位,复位使中央处理器CPU和系统中的其他器件都处于一种初始状态,并从这个初始状态工作。

MCS-51系列单片机有一个复位引脚RST。

在MCS-51系列单片机的RST引脚上输入一个高电平信号,该高电平信号至少要维持两个机器周期以上的时间,单片机被复位。

复位电路

与其他计算机一样,MCS-51单片机系统的复位方法有上电自动复位、手动复位以及“看门狗”复位等。

此最小系统采用手动复位电路。

在系统运行过程中,有时可能对系统需要进行复位,为避免对硬件经常加电和断电造成的损害,我们可以采用手动复位。

这种方法是将一个开关串联一只电阻后,再并联于电容C的两端,在系统运行过程中需要复位时只要使开关闭合,在RST引脚上就会出现一定时间的高电平信号,从而使单片机实现复位操作。

③复位电路图(如图2.3所示)

图2.3复位电路图

(4)当AT89C51芯片接到来自键盘输入的信号时,其内部程序将根据信号的类型来处理,并将处理的结果送到相对应的显示模块。

以上几点是对MCS-51单片机各电路组成部分及工作原理和作用的整体描述。

①硬件电路图(如图2.4所示)

图2.4单片机控制模块图

2.2.2数码管显示模块部分

该模块是由8个共阳数码显示管组成,但由于材料准备不足,只有一个共阳的数码管,所以在设计电板上只安装有一个数码管。

显示的结果只能显示一位,也就是说计算的结果只能显示各位数字的结果,但不影响总体的设计方案。

2.2.3键盘输入部分

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

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

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

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

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

1)以下是对计算器键盘的介绍:

每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。

矩阵的行线和列线分别通过两并行接口和CPU通信。

键盘的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。

键盘处理程序的任务是:

确定有无键按下,判断哪一个键按下,键的功能是什么?

还要消除按键在闭合或断开时的抖动。

两个并行口中,一个输出扫描码,使按键逐行动态接地;另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。

当无按键闭合时,P1.0~P1.3与P1.4~P1.7之间开路;当有键闭合时,与闭合键相连的两条I/O口线之间短路。

判断有无按键按下的方法是:

第一步,置列线P1.4~P1.7为输入状态,从行线P1.0~P1.3输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。

第二步,行线轮流输出低电平,从列线P1.4~P1.7读入数据,若有某一列为低电平,则对应行线上有键按下。

综合一二两步的结果,可确定按键编号。

但是键闭合一次只能进行一次键功能操作,因此须等到按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。

2)键盘电路图(如图2.5所示)

图2.5键盘电路

2.2.4运算系统

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

所以单片机是靠程序运行的,并且可以通过修改程序实现指定的功能输出,通过不同的程序实现不同的功能。

在设计中,只应用到了简单的四则运算功能。

通过使用单片机编写的程序可以实现高智能,高效率,以及高可靠运算性能。

因此我们采用单片机作为计算器的主要功能部件,可以进行很快地实现运算功能。

第3章电路分析和设计

3.1LED显示程序流程图设计

(1)LED显示流程图(如图3.1所示)

图3.1LED显示流程图

3.2读键输入程序流程图设计

为了实现键盘的数据输入功能和命令处理功能,每个键都有其处理子程序,为此每个键都对应一个码——键码。

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

列扫描信号进行读入行的信号判断该列是否有列的输出——是则进行按照行列计算键盘的值,查表取得键码并返回——若否则进行再次扫描。

键盘输入流程图(如图3.2所示)

Y

图3.2键盘输入流程图

3.3主程序流程图设计

运算主程序设计

首先初始化参数,送LED低位显示“0”,高位不显示。

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

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

显示,若是运算键则保存相对运算程序的首地址。

(1)运算主程序框图(如图3.3所示)

图3.3运算主程序图

第4章系统仿真

4.1电路原理图和系统仿真

硬件:

AT89C51晶振12MHz.8位共阳数码管。

主要功能:

实现简单的数学四则运算功能。

通过调试正常的电板接上+5V电源,从键盘上分别按下标有字符的按键“25”,“*”,“4”,“=”在数码管上最终显示的结果为100,然后按下归零键,输入“2”,“+”,“3”,“=”

结果显示为5,继续输入字符代码,结果显示都能得到正确的答案,证明实验的硬件安装正确,软件方面也正确。

所以,简易计算器的设计实验是成功的。

(1)电路原理图(如图4.1所示)

图4.1电路原理图

 

(2)电路仿真图1(如图4.2所示)

图4.2电路仿真图1

(3)电路仿真图2(如图4.3所示)

图4.3电路仿真图2

4.2程序设计

软件程序见附录。

第5章总结

在这项设计中,从构思,收集相关资料,再到仿真试验过程中,由于在之前已经把单片机部分的电路做好,为整个过程做好了准备,所以设计的protues实现操作比较简单和快速的完成,并且实际效果跟设计的结果是一样的,除了数码管的显示效果比较暗以外,没有出现任何的故障。

本次课程设计是小组成员分工合作以后共同完成的,当然与老师的耐心指导与

帮助也是密不可分,课程设计的硬件电路是由本组另外一个同学完成的,如电路元件的选择,电路原理图的绘制;而软件部分则是我在老师的帮助下完成的。

总得来说,通过这次课程设计确实让我受益匪浅,不但让自己深刻认识到自己单片机知识上的匮乏与不足,同时也感觉知识的博大精深(只是一个简单的程序运行操作却可以实现一个简单计算器的操作),仿真与实际动手总是存在差距,想得到不一定做得出,做得出是小组合作的结果。

这两方面在今后的学习对于个人都必须加强和巩固。

 

参考文献

[1]王静霞、杨宏丽.单片机应用技术.北京:

电子工业出版社.

[2]汉龙.中文版Office2003办公自动化精讲精学.成都:

电子科技大学出版

设,2004

[3]温秀梅,丁学钧.VisualC++面向对象程序设计教程与实验.北京:

清华大学出版社,2005

[4]梁建武.VisualC++程序设计教程.北京:

中国水利水电出版社,2005

[5]郑莉,董渊,张瑞丰.C++语言程序设计(第3版).北京:

清华大学出版社,2004

致谢

本次单片机课程设计是在我的指导老师刘老师的精心指导和大力支持与协助下完成的。

刘老师严谨求实的治学态度,高度的敬业精神,以及做事苛求完美的准则对我产生重要影响。

他严谨细致、一丝不苟的作风一直是我工作、学习中的榜样,我很庆幸在求学生涯中能遇到这样孜孜不倦的老师。

在设计的过程中我深刻

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1