基于STC89S51带时钟简易计算器设计.doc
《基于STC89S51带时钟简易计算器设计.doc》由会员分享,可在线阅读,更多相关《基于STC89S51带时钟简易计算器设计.doc(83页珍藏版)》请在沃文网上搜索。
1、目录一、引言1(一)课题背景1(二)设计目的及系统功能2二、系统方案设计2(一)主体设计及相关方案选择31、模式转换键的方案选择32、显示方案的选择33、时间计时方案的选择44、系统软件结构设计4(2)计算部分设计5(3)时钟部分设计5三、硬件设计5(一)单片机接口部分设计51、单片机I/O口分配52、单片机周围电路5(二)输入部分设计6(三)输出部分设计7(四)模式控制、发声及其他部分设计8四、软件设计9(一)显示部分设计91、显示部分的设计思路92、显示部分的实现代码10(二)输入部分设计101、输入部分设计思路102、实现代码11(三)计算部分设计121、计算部分设计思路122、计算部分
2、设计框图133、计算部分实现代码14(四)时钟模块设计181、时钟部分设计思路182、时钟部分设计框图203、时钟部分实现代码20五、总结24参考文献2480基于STC89S51带时钟简易计算器设计摘 要:计算器在人们的生活中是比较的常见的电子产品之一。可是它还在发展之中,以后必将出现功能更加强大的计算器,基于这样的理念,本次设计是用单片机来设计的带闹钟的八位计算器。该设计系统是以AT89C51为单片机,用LCD1602作为计算器的显示器,外接4X4的键盘,通过键盘扫描来对输入数的控制,并外接DS1302实现计时,软件程序采用均采用C语言编写,便于移植与升级。下文详细介绍了整个系统的硬件组成结
3、构、工作原理和系统的软件程序设计。计算器将完成的功能有整数的加,减,乘,除等功能。 关键字:计算器 LCD1602 74LS245 一、引言近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展,从4位、8位单片机发展到16位、32位单片机。单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪
4、表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。同时,单片机具有较强的管理功能。采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。本设计是基于STC89S51单片机的带时钟的计算器,通过本次设计的产品可以实现简易的计算以及计时功能。 (一)课题背景自从1976年Intel公司推出第一批单片机以来,80年代单片机技术进入快速发展时期,近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展,从4位、8位单片机发展16位、32位单片机。单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小
5、至日常生活中的冰箱、彩电,单片机都可以大显其能。单片机在国内的三大领域中应用得十分广泛:第一是家用电器业,例如全自动洗衣机、智能玩具;第二是通讯业,包括电话、手机和BP机等等;第三是仪器仪表和计算机外设制造,例如软盘、硬盘、收银机、电表。除了上述传统领域外,汽车、电子工业在国外也是单片机应用十分广泛的一个领域。它成本低、集成度高、功耗低、控制功能多能灵活的组装成各种智能控制装置,由它构成的智能仪表解决了长期以来测量仪器中的误差的修正、线性处理等问题。单片机将微处理器、存储器、定时/计数器、I/O接口电路等集成在一个芯片上的大规模集成电路,本身即是一个小型化的微机系统。单片机技术与传感与测量技术
6、、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。同时,单片机具有较强的管理功能。采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数
7、据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。 (二)设计目的及系统功能 本设计的目的是以单片机为核心设计出一个简易的计算器和显示时间的小型系统。通过使用KILL以及protel等一些相关的软件进行相应的编辑调试及方正来实现用较低成本开发出新的产品。通过本课题设计,综合运用单片机及接口技术,锻炼动手操作能力,综合运用能力,学习论文的写作方法和步骤。 设计的带时钟计算器有以下功能及特点: (1) 能够实现8位的整数的加减乘除的计算 (2) 能够实
8、现时间的显示,并能够实现时间的调整 (3) 能够实现闹钟,并能够实现闹钟的调整 二、系统方案设计 (一)主体设计及相关方案选择 1、模式转换键的方案选择本次设计的目的是实现计算器和带日历时钟的功能,要实现两个功能的相互转换有两种方案:(1) 利用按键实现相应的两种模式的换如图(2.11.1(a))(2) 利用开关的高低电平实现相应的模式的转换如图(2.11.1(b)) (a) (b)图 2.11.1在两种方案中方案(1)由与按钮按下前后的状态是相同的,所以在程序的执行期间不但要实现对键盘的扫描还要实现单独的对于这个键的扫描,所以这加大了程序中键盘扫描的时间控制的难度,而且对于稳定性,有时由于程
9、序中其他事件对于时间的占用使得按键有时不太灵敏,导致使用者对于产品的个人印象有所下降。但是相对于方案(1),方案(2)由于采用了电平方式触发模式的转换,在不同的模式下有不同的电平,在程序个执行期间只要稍微去判断一下相应的引脚的电平就能够轻易的发现用户的模式转换的意向从而实现对于模式的控制,如此便能够实现相对稳定的监控用户的模式意向,使得用户使用更加的舒适。而且在实现的过程中,单片机的I/O引脚还未用完,所以这个方案不但尽可能的利用到了各个单片机I/O引脚还增强了整体的系统的稳定性和使用的舒适度。综上就能够很轻易去选择地二个方案。 2、显示方案的选择信息的显示是两个模式都需要实现的,然而在选用相
10、应的显示方案的时候有如下的两种方案: (1) 利用LED数码管实现数据的显示 (2) 利用LCD1602实现数据的显示首先,方案(1)显示的亮度足够大,在几乎所有的情况下都能够看的比较清楚,而且产品的成本比较低。但是缺点是控制难度较LCD1602液晶显示器难,且硬件的驱动较为复杂。然而选择方案(2)显示,则能够实现程序对于输出的控制简单的目标,而且LCE1602显示相对于LED显示功耗较低比较符合现在发展的能源节约的目标,而且在实现显示时,LCD1602能够提供更多的诸如字符显示的功能,使得系统显示更加清楚明了,方便用户读取需要的信息。但是其缺点是成本较LED显示较高。综合LED和LCD160
11、2的优点及缺点以及系统对于产品的性能要求,最终还是选择LCD1602作为系统的显示器,主要是它能够有效地降低单片机的工作负荷使得程序更加合理化,用户观看界面更加的美观、清晰、明了。 3、时间计时方案的选择 时间的计时有两种方案的选择: (1) 利用单片机的中断计时器进行中断计时 (2) 利用DS1302时钟芯片进行计时,单片机从芯片读取时间在选择计时器是首先需要考虑的是计时的准确性,在这点上应选择DS1302进行计时,其次是成本,对于单片机的中断计时而言几乎不需要另外增加成本,而对于DS1302则成本较高,对于软件的设计显然使用单片机的内部中断时软件的代码量较少而且软件结构比较简单,但是对于使
12、用而言我们应该选择计时较为正确的一个方案,而且DS1302的成本也不会增加多少所以,在本系统中我倾向于选择第二套方案。 4、系统软件结构设计 系统有万年历及时钟的部分,要实现这个功能那么就需要实现两种模式的相互转换,其主要的框图如下(2.14.1): 图 2.14.1 (2)计算部分设计计算部分主要的部分为计算和输入的处理部分,首先是输入部分需要设置两个数组用于存储两个计算的数据,其次是要分不同的情况将数据存入不同的组在进行计算。在计算部分有两个方案:(1) 利用进位对数据的每位逐计算并进位(2) 数据转化为相应数据类型后直接计算对于两种算法,第一种显然对于单片机的计算量能够减轻而且能够节约R
13、AM的使用量,首先是不需要进行数据类型的转化,而且在计算后无需转化,其次是产生的中间变量较少能够节约资源,但缺点是计算方法较第二种复杂很多。第二种方案最突出的优点是算法简单易于理解,但耗费的资源较多,在这次的设计中由于单片机的各项资源都能够满足第二种方案,所以我选择了第二种方案。 (3)时钟部分设计 时钟部分主要是闹钟存储和时间显示,在先前的方案中已选择了用DS1302计时所以在这个部分主要是要完的任务较为简单,主要对DS1302的数据的读取和修改其次是在函数中比较当前时间和闹钟存储器中的数据是否相等,如果相等那么就是能闹钟控制引脚,再等待键盘的输入,当有任意键输入时关闭闹钟,其次是监测时钟指
14、定功能键是否又按下,如果有则进行相应的处理,否则不断地进行键盘扫描和时钟读取的动作。 三、硬件设计 (一)单片机接口部分设计 1、单片机I/O口分配 (1)LCD显示数据口接P0口,RS为P20,P21为RW,P22为E口 (2)键盘为4*4键盘,接在P1口,盘P23作为模式手动转换输入口 (3)时钟芯片接 P2.5RET,P2.6SCLK,P2.7I/O (4)P2.4为蜂鸣器接口 (5)P2.3为模式(计算器及万年历)转换键接口 2、单片机周围电路 (1)首先是时钟部分,由于对于单片机的时钟部分没有其他特殊要求所以在此次设计使用的单片机的时钟信号原件为12MHz的晶振,只用常用的晶振电路如
15、下图(3.12.1):图 3.12.1 (2)其次是复位电路,由于在使用时无需对系统进行复位所以在设计时不选用可复位的单片机复位电路而是用不能进行再次复位的单片机的复位电路,其电路图如下(3.12.2):图 3.12.2其中,C的电容为10uF,R为8.2K。 (二)输入部分设计输入部分有时间输入和用户操作数据的输入两部分,首先时间输入部分的芯片的接法如下图(3.1.1):图3.1.1Vcc_5V:为电路中的主电源;Vcc2,也就是BT1为备份电源。当Vcc2Vcc1+0.2V 时,由 Vcc2向 DS1302供电,当 Vcc2Vcc1+0.2V 时由Vcc2向 DS1302供电,当 Vcc2
16、Vcc1时,由Vcc1向DS1302供电。键盘接口电路是单片机系统设计非常重要的一环,作为人机交互界面里最常用的输入设备。我们可以通过键盘输入数据或命令来实现简单的人机通信。一般来说,按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点式开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。目前,微机系统中最常见的是触点式开关按键(如本学习板上所采用按键)。按键按照接口原理又可分为编码键盘与非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法。编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的识别。全编码键
17、盘由专门的芯片实现识键及输出相应的编码,一般还具有去抖动和多键、窜键等保护电路,这种键盘使用方便,硬件开销大,一般的小型嵌入式应用系统较少采用。非编码键盘按连接方式可分为独立式和矩阵式两种,其它工作都主要由软件完成。由于其经济实用,较多地应用于单片机系统中。键盘的电路图如下(3.1.2):图3.1.2 (三)输出部分设计输出部分主要部件是LCD1602,它是一个2*16的液晶显示屏,相对于单片机的数据输出端的引脚为P0口为数据输出口P20为RS数据/命令选择控制输出口P21为RW读/写选择控制输出口,P22为EN使能信号控制口输出,具体连接如下图(3.3.1)图 3.3.1由于P0口在单片机内
18、部没有上拉电阻,如果直接接上会使得单片机总电流大于71mA,那么容易损坏单片机,所以在实际电路中必须使用上拉电阻将减少流经单片机的总电流,且如图所示需要有R=10K的可变电阻用于调节液晶显示器的对比度,以适应不同用户的对于对比度的不同要求。 (四)模式控制、发声及其他部分设计模式选择部分为一个双态开关(高电平或低电平)用来方便调节系统至当前的用户所需的模式,在开关接高电平时选择的是计算器模式,接低电平时选择的是时间模式。发声部分使用的是蜂鸣器,由于单片机的I/O口驱动能力有限所以在输出时外加了一个放大电路,其图如下(3.4.1):图 3.4.1为了能够在断电的状态下也能够同时计时而且DS130
19、2也能够支持双电源,所以在DS1302周围添加一个小的电池用于对DS1302断电状态下的供电,所以DS1302接线如下图(3.4.2)所示:图 3.4.2四、软件设计 (一)显示部分设计 1、显示部分的设计思路 字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD, 当前使用的是16*2,1602 液晶模块内部的控制器共有 11 条控制指令,如下表(3.21.3)所示:表 4.1.1由于在不同的模块内不都需要将不同的数据显示到LCD1602,然而在数出数据时由于有比较多的数据是用于提示用户的信息,如时间显示的(D,S等),所以在每个模块显示时会有很多的重复的代码,而且在不同的模块
20、都需要对数据进行修改。为了简化数据的显示部分的结构,而且使得显示部分比较清晰所以为显示分配了32个字节的物理存储空间作为显示的数据的缓存区,在以后的各个模块的数据需要输出时,只需要将数据写到相应的显示的数据缓冲区的位置,以后的显示部分可以全部由显示模块进行相应的处理,减轻了各个模块的工作的量。由于显示部分自成一个独立的模块,又要实现数据的正常显示,那么就只能每次在数据更新后调用显示函数,从而实现了数据的同步更新和显示。在显示时,由于在时间模式下需要有相应的时间修改和闹钟的调整,所以在模块中还针对相应的标志号对显示的局部加上相应的指示光标一提示用户正在修改的是哪一项数据,使得用户使用的时候更加方
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STC89S51 时钟 简易 计算器 设计
