电子备忘录设计.doc_第1页
电子备忘录设计.doc_第2页
电子备忘录设计.doc_第3页
电子备忘录设计.doc_第4页
电子备忘录设计.doc_第5页
免费预览已结束,剩余30页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南文理学院芙蓉学院本科生毕业论文(设计)题 目: 电子备忘录设计 学生姓名: 刘 洋 学 号: 09090144 专业班级: 电信0901 指导教师: 龚 伟 完成时间: 2013年5月10日 目 录摘要1引言21 课题任务与要求31.1 课题概述31.2 设计内容31.3 设计要求32 方案选择与论证32.1 系统概述32.2 单片机主控模块42.3 振荡电路52.4 液晶显示器62.5 蜂鸣器73 设计流程与效果83.1 主模块的设计83.2 时间模块设定93.3 基本显示模块设定93.4 闹铃功能的实现104 电路设计及仿真124.1 电路设计124.2 仿真结果135 结论16答谢17参考文献17附录18电子备忘录设计电子备忘录设计电子信息科学与技术专业学生:刘洋指导老师:龚伟摘要:单片计算机即单片微型计算机(Single-Chip Microcomputer),是集CPU、RAM、ROM、定时、计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上,而51单片机是各单片机中最为典型和最有代表性的一种。本文详细的介绍基于AT89C51单片机带显示和提醒的电子备忘录系统。利用单片机定时计数器提供秒信号,经软件处理,在动态扫描后,利用LCD显示时分秒。关键词:液晶显示屏,电子闹钟 ,AT89C51The Design of Electronic MemorandumElectronics and Information Science and TechnologyCandidate: Liu YangAdvisor: Gong WeiAbstract:Single-chip computer that is single-chip microcomputer, is a CPU, RAM, ROM, timing, counting and multiple interfaces in one of the micro-controller. His small size, low cost, powerful, widely used in intelligent products and industrial automation, while 51 of the microcontroller chip is the most typical and most representative one. This design with digital integrated circuit technology as the foundation, microcontroller technology as the core. This paper introduced in detail based on AT89C51 with the alarm clock calendar control system.Using single chip computer timing counter offer seconds signal, the software processing, in dynamic scan, use LCD to show meticulous.Keywords: LCD display, Electronic Alarm clock,AT89C51引 言当今社会逐渐步入信息化时代,快节奏、高效率成为当今时代的主题。人们在日常的工作和生活中对各种信息量的需求也在不断加大,为了满足人们的这种需求,电子备忘录应运而生。电子备忘录整合了人们所需的日期、时间、日程安排的闹钟等诸多常用信息,最大限度的方便了人们的信息获取,可以对工作和生活做出有效的安排。单片机具有集成度高、功能强、通用性好、特别是它能耗低、价格便宜、可靠性高、抗干扰能力强和使用方便等独特的优点,所以单片机现在广泛的应用到家用电器、机电产品、办公自动化产品等领域。所以在该设计中采用单片机利用AT89C51,它是低功耗、高性能的CMOS型8位单片机。片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。另外, AT89C51的指令系统和引脚与8051完全兼容,片内有128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。AT89C51单片机结合七段显示器设计的简易定时闹铃时钟,可以设置现在的时间及显示闹铃设置时间,若时间到则发出一阵声响,进步可以扩充控制电器的启停。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。随着单片机性价比的不断提高,新一代产品的应用也越来越广泛。大则可以构成复杂的工业过程控制系统,完成复杂的控制功能;小则可以用于家电控制,甚至可以用于儿童电子玩具。它功能强大、体积小、质量轻、灵活好用,配以适当的接口芯片可以构成各种各样、功能各异的微电子产品。单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 根据这些实际情况,首先设计一个单片机多功能时钟系统,它有基本的时间功能,还有定时功能。通过软硬件结合输入提醒内容,当闹钟响起的时候能同时显示出预先设置的提醒内容,从而达到备忘录的效果。1课题任务与要求1.1课题概述 本论文设计基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个多功能数字时钟系统。该时钟系统主要由时钟模块、闹钟模块、显示模块、键盘控制模块等组成。1.2 设计内容 设计内容包括了秒信号发生器、时间显示电路、按键电路、供电电源以及闹铃指示电路等几部分的设计。然后按要求根据已学过的时钟程序编写定时闹钟的程序,依据程序利用proteus软件进行了仿真试验,对出现的问题进行分析和反复修改源程序,最终得到正确并符合要求的结果。设计完成的电子备忘录达到课程设计的要求,在到达定时的时间便立即显示出提醒内容并发出蜂鸣声音,持续一分钟。显示采用的LCD显示屏,如果亮度感觉不够,可以通过提升电阻来调节,控制程序中延迟时间的长短,可以获得不同的效果。也可以改蜂鸣器为继电器,通过控制继电器从而进一步扩展的来控制一些家电开关。1.3 设计要求 本文设计是电子备忘录的设计,由单片机AT89C51芯片和LCD显示屏为核心,辅以必要的电路,构成的一个能在预订时间提醒用户预设内容的一个简易单片机作品,本设计基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个多功能数字时钟系统电子备忘录,当达到预设时间的时候,能够闹钟响起,同时显示提醒内容。2方案选择与论证2.1系统概述本论文的设计是电子备忘录的设计,主要以单片机AT89C51芯片和LCD显示屏为核心,辅以必要的电路,构成的一个能在预订时间提醒用户预设内容的一个简易单片机作品,本设计最主要是需要制作一个单片机时钟。单片机具有集成度高、功能强、通用性好、特别是它能耗低、价格便宜、可靠性高、抗干扰能力强和使用方便等独特的优点,所以单片机现在广泛的应用到家用电器、机电产品、办公自动化产品等领域。所以在该设计中采用单片机利用AT89C51,它是低功耗、高性能的CMOS型8位单片机。片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。另外, AT89C51的指令系统和引脚与8051完全兼容,片内有128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。AT89C51单片机结合显示器设计的简易定时闹铃时钟,可以设置现在的时间及显示闹铃设置时间,若时间到则发出一阵声响,进步可以扩充控制电器的启停。2.2单片机主控制模块AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。I/O 端口的编程实际上就是根据应用电路的具体功能和要求对 I/O 寄存器进行编程。具体步骤如下:(1) 根据实际电路的要求,选择要使用哪些 I/O 端口,用 EQU 伪指令定义其相应的寄存器;(2) 初始化端口的数据输出寄存器,应避免端口作为输出时的开始阶段出现不确定状态,影响外围电路正常工作;(3) 根据外围电路功能,确定 I/O 端口的方向,初始化端口的数据方向寄存器。对于用作输入的端口可以不考虑方向初始化,因为 I/O 的复位缺省值为输入;(4) 用作输入的 I/O 管脚,如需上拉,再通过输入上拉使能寄存器为其内部配置上拉电阻;(5)最后对 I/O 端口进行输出(写数据输出寄存器)和输入(读端口)编程,完成对外围电路的相应功能。其引脚图如下: 图2.1 AT89C512.3振荡电路本论文采用51芯片选用内部振荡器方式。由于本设计的时间由内部定时器中断与软件计数相结合产生的,所以从计算方便以及系统的效率上考虑,本设计选用12MHz频率的晶振,改变两电容CB的值即可对此晶振频率进行调节。该电路提供单片机工作所需的振荡频率,计算定时器初值即需此晶振频率,在通信时也需 知道晶振频率,以对波特率进行计算。 51单片机时钟电路原理时钟电路和时序时钟电路在MCS51单片机片内有一个高增益的反相放大器反相放大器的输入端为XTAL1输出端为XTAL。由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。根据硬件电路的不同,单片机的时钟连接方式可分为内部时钟方式和外部时钟方式在内部方式时钟电路中必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路通常C1和C2一般取30pF晶振的频率取值在1.2MHz-12MHz之间。对于外接时钟电路要求XTAL1接地XTAL2脚接外部时钟对于外部时钟信号并无特殊要求只要保证一定的脉冲宽度时钟频率低于12MHz即可。晶体振荡器的振荡信号从XTAL2端送入内部时钟电路,它将该振荡信号二分频产生一个两相时钟信号P1和P2供单片机使用。时钟信号的周期称为状态时间S它是振荡周期的2倍P1信号在每个状态的前半周期有效在每个状态的后半周期P2信号有效。CPU就是以两相时钟P1和P2为基本节拍协调单片机各部分有效工作的。2.4 液晶显示器本论文采用了液晶LCD显示。液晶是分子排布或指向具有某种规律、介于固体与液体之间,具有规则性分子排列的有机化合物。它具有液体的流动性和晶体的双折射性,并且在电场的作用下会改变其分子排列。液晶的特点是构成液晶的分子指向有规律,而分子之间的相对位置无规律,前者使液晶具有晶体才具有的各向异性,后者使之具有液体才具有的流动性。液晶得名于其物理特性:它的分子晶体,以液态存在而非固态。如果电流通过液晶层,这些分子将会以电流的流向方向进行排列,如果没有电流,它们将会彼此平行排列。液晶的这些特点使得它可以被用来当作一种开关,既可以阻碍光线,也可以允许光线通过。液晶单元的底层是由细小的脊构成的,这些脊的作用是让液晶分子呈平行排列。液晶的上表面也是如此,在这两侧之间的分子平行排列,不过当上下两个表面之间呈一定的角度时,液晶则随着两个不同方向的表面进行排列,进而发生扭曲。结果便是这个扭曲了的液晶“螺旋层”使经过其中的光线也发生了扭曲。如果电流通过液晶,所有的分子将会按照电流的方向进行排列,这样就会消除光线的扭转。如果将一个偏振滤光器放置在液晶层的上表面,扭转的光线通过了,而没有发生扭转的光线将被阻碍。因此可以通过电流的通断改变LCD中的液晶排列,使光线在加电时射出,而不加电时被阻断 从电子学角度阐述液晶显示器件的显示原理为:在外加电场的作用下具有偶极矩的液晶棒状分子在排列状态上发生变化,使得通过液晶显示器件的光被调制,从而呈现或明或暗、透过与不透过的显示效果。液晶显示器件中的每个显示像素都可以单独被电场控制,不同的显示像素按照驱动信号的控制在显示屏上合成各种图像,液晶显示驱动的功能就是建立这种电场。LCD有以下显著特点:(1)低压微功耗:工作电压只有35V,工作电流只有几个微安。因此它成 为便携式和手持仪器仪表的显示屏幕。(2)平板型结构:LCD内由两片平行玻璃组成的夹层盒,面积可大可小,且适合于大批量生产,安装时占用体积小,减小了设备的体积。(3)被动显示:液晶本身不发光,而是靠调制外界光进行显示。因此适合人的视觉习惯,不会使人的眼睛疲劳。(4)显示信息量大:LCD的像素可以做得很小,相同面积上可容纳更多信息。(5)没有电磁辐射:在其现实期间不会产生电磁辐射,对环境无污染,有利于人体健康。(6)寿命长:LCD器件本身无老化问题,寿命极长。其图如下:图2.2 LCD显示屏2.5蜂鸣器 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器有无源和有源两种,前者需要输入声音频率信号才能正常发声,后者则只需外加适当直流电源电压即可,元件内部已封装了音频振荡电路,在得电状态下即起振发声。市场上的有源蜂鸣器分为3、5、6等系列,又分为两种形式:压电式蜂鸣器和电磁式蜂鸣器。压电式蜂鸣器压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或集成电路构成。当接通电源后(1.515V直流工作电压),多谐振荡器起振,输出1.52.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。 电磁式蜂鸣器电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。以适应不同的应用需要。闹钟电路是用比较器来比较计时系统和定时系统的输出状态,如果计时系统和定时系统的输出状态相同,则发出一个脉冲信号,再和一个高频信号混合,送到放大电路驱动扬声器发声,从而实现定时闹钟的功能。其图如下:图2.3 蜂蜜器3设计流程与效果3.1主模块的设计系统初始化定时初始化中断初始化串口初始化显示待机指示符设定闹铃时间判设置闹铃时间否?显示刷新启动走时有关变量初始化刷新显示判时或分变化否?秒指示判秒到否?闹铃判是否到闹铃时间?延时YYYY 主模块是系统软件的主框架。结构化程序设计一般有“自上而下”和“自下而上”两种方式,“自上而下”法的核心就是主框架的构建。所谓自上而下的设计方法,就是从系统总体要求出发,自上至下逐步地将设计内容细化,最后完成硬件的整体设计。它的合理与否关系到程序最终的功能的多少和性能的好坏。本系统的主模块的程序框图如下图: 图3.1主模块框图3.2时间模块设定时间设定模块的设计要点是按键的去抖处理与“一键多态”的处理。即只涉及4个键完成了时间参数的设定。软件法去抖动的实质是软件延时,即检测到某一键状态变化后延时一段时间,再检测该按键的状态是否还保持着,如是则作为按键处理,否则,视为抖动,不予理睬。去抖中的延时时间一般参考资料多描述为10ms左右,实际应用中,应大于20ms,否则,会导致按一次作多次处理,影响程序正常执行。“一键多态”即多功能键的实现思想是,根据按键时刻的系统状态,决定按键采取何种动作,即何种功能。其流程图如下:设置键吗?设置模块初始化将在编参数送显示缓冲区闪烁标志为真?将当前位的显示代码置暗代码调基本显示模块刷新显示设置键吗?当前编辑位下移(下一位)当前编辑的是分各位?结束设定键吗?根据当前位的性质分别进行处理(含上下限判断) 图3.2 时间模块框图3.3 基本显示模块设计基本显示模块设计的重点是由显示代码取得相应的段码,显示数据的并行发送,高精度的计时工具大多数都使用了石英晶体振荡器。由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LCD显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分显示时间的功能,还可以进行时和分的校对,片选的灵活性好。本次设计采用了LCD显示电路。LCD是液晶显示屏,液晶显示有三大优点:液晶本身不发光,只是反射环境光;用于显示的液晶的厚度一般在几十微米以下,加上电极板也只有几毫米,所以液晶元件一般薄而轻,应用十分方便;液晶显示器耗电量一般极低,基本上不耗电能CA12864B液晶模块的系统指令集其实就是T6963C控制器的指令集,模块的初始化设置一般都由管脚设置完成。也就是说,LCD模块的硬件主要完成了其一般初始化设置,对于显示功能上的设置主要由软件方面的指令系统来完成。在LCD显示时,LCD有以下显著特点:(1)低压微功耗:工作电压只有35V,工作电流只有几个微安。因此它成 为便携式和手持仪器仪表的显示屏幕。(2)平板型结构:LCD内由两片平行玻璃组成的夹层盒,面积可大可小,且适合于大批量生产,安装时占用体积小,减小了设备的体积。(3)被动显示:液晶本身不发光,而是靠调制外界光进行显示。因此适合人的视觉习惯,不会使人的眼睛疲劳。(4)显示信息量大:LCD的像素可以做得很小,相同面积上可容纳更多信息。(5)没有电磁辐射:在其现实期间不会产生电磁辐射,对环境无污染,有利于人体健康。(6)寿命长:LCD器件本身无老化问题,寿命极长。3.4闹铃功能的实现 在电子时钟设计中,常用的实时时钟芯片有DS12887、DS1216、DS1643、DS1302。每种芯片的主要时钟功能基本相同,只是在引脚数量、备用电池的安装方式、计时精度和扩展功能等方面略有不同。DS12887与DS1216芯片都有内嵌式锂电池作为备用电池; X1203引脚少,没有嵌入式锂电池,跟DS1302芯片功能相似,只是相比较之下,X1203与AT89S51搭配使用时占用I/O口较多。DS1643为带有全功能实时时钟的8K8非易失性SRAM,集成了非易失性SRAM、实时时钟、晶振、电源掉电控制电路和锂电池电源,BCD码表示的年、月、日、星期、时、分、秒,带闰年补偿。同样,DS1643拥有28只管脚,硬件连接起来占用微处理器I/O口较多,不方便系统功能拓展和维护。故而从性价比和货源上考虑,本设计采用实时时钟日历芯片DS1302。DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟日历芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。有主电源和备份电源双引脚,而且备份电源可由大容量电容(1F)来替代。它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。DS1302的数据读写方式有两种,一种是单字节操作方式,一种是多字节操作方式。每次仅写入或读出一个字节数据称为单字节操作,每次对时钟8字节或31字节RAM进行全体写入或读出的操作,称其为多字节操作方式。当以多字节方式写时钟寄存器时,必须按数据传送的次序依次写入8个寄存器。时十位、个位,分十位、个位改变了设置闹铃标志是否设置了闹铃清除闹铃标志判当前时间是设定时间中断返回中断返回闹铃判别处理闹铃功能的实现涉及到两个方面:闹铃时间设定和是否闹铃判别与相应处理。闹铃时间设定模块的设计可参照时间设定模块,这里着重阐述闹铃判别与处理模块的设计问题。闹铃判别与闹铃处理的关键在于判别何时要进行闹铃。当时十位、时个位、分十位、分个位中任一位发生改变(进位)时,就必须进行闹铃判别。译码显示电路将“时”、“分”通过LCD显示器显示出来。闹铃电路根据计时系统的输出状态产生一脉冲信号,然后加上一个高频或低频信号送到放大电路驱动蜂鸣器发声实现报时。蜂鸣器有无源和有源两种,前者需要输入声音频率信号才能正常发声,后者则只需外加适当直流电源电压即可,元件内部已封装了音频振荡电路,在得电状态下即起振发声,以适应不同的应用需要。闹钟电路是用比较器来比较计时系统和定时系统的输出状态,如果计时系统和定时系统的输出状态相同,则发出一个脉冲信号,再和一个高频信号混合,送到放大电路驱动扬声器发声,从而实现定时闹响的功能。校时电路是直接加一个脉冲信号到时计数器或者分计数器或者秒计数器来对“时”、“分”显示数字进行校对调整。其流程图如下所示:图3.4 闹铃功能框图考虑到实用性,在该电子钟的设计中修改定时或调整时间时采用了闪烁,而且以定时几组闹钟。在编程上,首先进行了初始化定义了程序的入口地址以及中断的入口地址,在主程序的开始定义了一组固定单元用来存储计数的秒,分,时以及定时时间的序号等。显示电路显示模块需要实时显示当前的时间,即时、分、秒,LCD显示器的显示控制方式按驱动方式可分成静态显示方式和动态显示方式两种。对于LCD显示器,通常 都是采用动态扫描的方法进行显示,在显示程序段中主要进行了闪烁的处理,采用定时器中断置标志位,再与位选相互结合的方法来控制调时或定时中的闪烁。时,分显示则是用了软件译码(查表)的方式,再用了一段固定的程序段进行进制转化。初始化之后,用中断方式对其计数,计数的同时采用了定时器比较的方法,比较当前计数时间与定时时间是否相等,若相等则将闹铃标志位置数。由于定义了定时闹钟组,在这里采用中断组次,每中断一次比较一组闹钟,避免了一次比较中断时间过长,影响下次中断时间。显示之后查询闹铃标志位是否与前面所置数相等,若相等则响铃。为了避免响铃影响显示,采用了每显示几屏以后在显示程序中出现脉冲,驱动喇叭,不会影响显示。之后用查询方式对按键进行判断,若有键按下,则进行软件延时消抖,避免了抖动引起的干扰,执行相应的定时,选时或调时程序段。对当前时间或定时时间修改后又返回到最初的显示程序段,如此循环下去。4电路设计及仿真4.1电路设计本论文采用单片机AT89C51芯片和LCD显示屏为核心,辅以必要的电路,构成的一个能在预订时间提醒用户预设内容的一个简易单片机作品,本设计基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个多功能数字时钟系统。该时钟系统主要由时钟模块、闹钟模块、显示模块、键盘控制模块等组成。AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。LCD是液晶显示屏,液晶显示有三大优点:液晶本身不发光,只是反射环境光;用于显示的液晶的厚度一般在几十微米以下,加上电极板也只有几毫米,所以液晶元件一般薄而轻,应用十分方便;液晶显示器耗电量一般极低,基本上不耗电能CA12864B液晶模块的系统指令集其实就是T6963C控制器的指令集,模块的初始化设置一般都由管脚设置完成。也就是说,LCD模块的硬件主要完成了其一般初始化设置,对于显示功能上的设置主要由软件方面的指令系统来完成。处理汉字显示时,由于CA12864B液晶显示模块是128 64点阵的,所以显示16 16点阵的汉字一行最多显示8个,且最多显示4行。对于每一个汉字的显示,首先应该计算该汉字在字库中的地址,然后读出该汉字的点阵排列。当显示至一行的末尾时要换行显示。在处理汉字显示时有两种方法:一是一次只显示一个字符,即对于每一个字符,先计算出此汉字地址,读出其点阵数据,显示完毕再处理下一个汉字,直到处理完所有的汉字;第二种方法是将所要显示的所有汉字的点阵数据从字库中读出存放外部RAM中,再集中处理显示的问题。CA12864B的应用软件由系统初始化、显示RAM分配、显示功能设置及显示数据的输入等几部分组成。电路图如下:图4.1电路图4.2仿真结果 首先写好源程序,然后打开proteus professional软件,在元件库中找到需要用到的所有元件,进行原理图的绘制;将所以器件都按照原理图连接完成后再选择已经编译好的源文件,选择运行,观察显示结果。 为了方便起见,预设默认初始时间为7点59分50秒,输入第一次预设时间8点闹钟响起,提醒内容“GET UP”,第二次提醒时间为8点1分,提醒内容为GO TO THE LIBRARY编译运行程序后,显示器显示为:图4.2仿真开始当时间运行到8点的时候,蜂鸣器响起,同时屏幕出现了预设的提醒内容“GET UP”其结果如图所示:图4.3 仿真结果如图可知显示的时间格式应该是秒:分:时,虽然出现了预想的提醒内容,但是时钟显示的方式与人们的习惯相悖,因此需要修改。从屏幕显示的内容来看,应该是在写程序的时候,时钟的地址出现了错误。在认真检查了一遍程序后,找到时钟的设置地址,进行了修改。保存程序,编译之后点击运行,时间格式显示正确,其显示如图所示: 图4.4第二次仿真开始等到时间运行到8点的时候,蜂鸣器响起,屏幕出现了预设提醒内容“GET UP”仿真结果如下图所示:图4.5 第二次仿真结果5 结论 本论文是电子备忘录的设计,由单片机AT89C51芯片和LCD显示屏为核心,辅以必要的电路,构成的一个能在预订时间提醒用户预设内容的一个简易单片机作品,本设计基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个多功能数字时钟系统。该时钟系统主要由时钟模块、闹钟模块、显示模块、键盘控制模块等组成。AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。定时闹钟设计可采用数字电路实现,也可以采用单片机来完成。定时闹钟是用数字集成电路构成的,用LCD显示“时”,“分”的现代计时装置。本次设计采用了LCD显示电路。通过LCD显示器显示出来。到达定时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现闹铃。经过几周的奋战我的毕业设计终于完成了。在没有做毕业设计以前觉得毕业设计只是对这几年来所学知识的单纯总结,但是通过这次做毕业设计发现自己的看法有点太片面。毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过这次毕业设计使我明白了原来自己知识还比较欠缺,还需要提高。自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。通过这次毕业设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,不断钻研,努力提高自己的知识和综合素质。设计完成的电子备忘录能达到课程设计的要求,在到达定时的时间便立即显示出提醒内容并发出蜂鸣声音。答 谢:衷心感谢我的指导老师龚伟老师在设计的过程中对我的悉心指导,使我获得了丰富的理论知识,极大地提高了实践能力,并对当前电子领域的研究状况和发展方向有了一定的了解,单片机知识对今后进一步学习有极大的帮助。随着毕业日子的到来,毕业设计也接近了尾声。经过几周的奋战我的毕业设计终于完成了。在没有做毕业设计以前觉得毕业设计只是对这几年来所学知识的单纯总结,但是通过这次做毕业设计发现自己的看法有点太片面。毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过这次毕业设计使我明白了自己原来知识还比较欠缺。自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。通过这次毕业设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。在这次毕业设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。参考文献1 胡汉才.单片机原理及接口技术M.北京:清华大学出版社,1996 2 沈红卫.单片机应用系统设计实例与分析M.北京:北京航空航天大学出版社,20033 李光飞.单片机程序设计实例指导M.北京:北京航空航天大学出版社,20044 何立民.MCS-51系列单片机应用系统设计、系统配置与接口技术M.北京:北京航空航天大学出版社,19905 张永枫.单片机应用实训教程M.西安:西安电子科技大学出版社,20056 李学军,如何用MCS-51单片机扩展串口进行通讯J. 宁夏机械,20037 许超,吴新杰,张丹,基于Proteus和Keil的单片机课程教学改革J. 辽宁大学学报,20118 Keil Software.The Final World On the 8051.Germany;Keil Elektronik Gmbh and Keil software,1997附录(程序)#include#include#define uchar unsigned char#define uint unsigned intuchar code table10 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar sec, min, hour, day, month, year;sbit ACC0 = ACC0;sbit ACC7 = ACC7;sbit P3_2 = P32;sbit P3_5 = P34;sbit T_CLK = P16; /*实时时钟时钟线引脚 */sbit T_IO = P35; /*实时时钟数据线引脚 */sbit T_RST = P17; /*实时时钟复位线引脚 */sbit E=P27;/1602使能引脚sbit RW=P26;/1602读写引脚sbit RS=P25;/1602数据/命令选择引脚sbit Sound = P37;int high,low,a=0,i=0,flag;Unsigned song115=64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178,65217;Unsigned song212= 0xF88B,0xF8F2,0xF95B,0xF9B7,0xFA14,0xFA66,0xFAB9,0xFB03,0xFB4A,0xFB8F,0xFBCF,0xFC0B ;void Outside_Init(void)EX0 = 1; /开外部中断0IT0 = 1; /负边沿触发EX1 = 1; /开外部中断1IT1 = 1; /负边沿触发EA = 1; /开总中断 void Delay1()_nop_();_nop_();_nop_();_nop_();_nop_();bit Busy(void)bit busy_flag = 0;RS = 0;RW = 1;E = 1;Delay1();busy_flag = (bit)(P0 & 0x80);E = 0;return busy_flag;void wcmd(uchar del)while(Busy();RS = 0;RW = 0;E = 0;Delay1();P0 = del;Delay1();E = 1;Delay1();E = 0;void wdata(uchar del)while(Busy();RS = 1;RW = 0;E = 0;Delay1();P0 = del; Delay1();E = 1;Delay1();E = 0;void L1602_init(void)wcmd(0x38);wcmd(0x0c);wcmd(0x06);wcmd(0x01);void L1602_char(uchar hang,uchar lie,char sign)uchar a;if(hang = 1) a = 0x80;if(hang = 2) a = 0xc0;a = a + lie - 1;wcmd(a);wdata(sign);void L1602_string(uchar hang,uchar lie,uchar *p)uchar a,b=0;if(hang = 1) a = 0x80;if(hang = 2) a = 0xc0;a = a + lie - 1;while(1)wcmd(a+);b+;if(*p = 0)|(b=16) break;wdata(*p);p+;void delay()int i,j;for(i=0; i=10; i+)for(j=0; j=2; j+);void Delay_1ms(uint i)/1ms延时uchar x,j;for(j=0;ji;j+)for(x=0;x0; i-)T_IO = ACC0;T_CLK = 1;T_CLK = 0;ACC = ACC 1;uchar uc_RTOutputByte(void) uchar i;T_RST = 1;for(i=8; i0; i-)ACC = ACC 1;T_IO=1;ACC7 = T_IO;T_CLK = 1;T_CLK = 0;return(ACC);void v_W1302(uchar ucAddr, uchar ucDa)T_RST = 0;T_CLK = 0;T_RST = 1;v_RTInputByte(ucAddr); / 写地址 _nop_();_nop_();v_RTInputByte(ucDa); / 写1Byte数据T_CLK = 1;T_RST = 0;uchar uc_R1302(uchar ucAddr)uchar ucDa;T_RST = 0;T_CLK = 0;T_RST = 1;v_RTInputByte(ucAddr); /写地址,命令_nop_();_nop_();ucDa = uc_RTOutputByte(); /读1Byte数据T_CLK = 1;T_RST = 0;return(ucDa);void v_BurstW1302T(uchar *pSecDa)uchar i;v_W1302(0x8e, 0x00); /控制命令,WP=0,写操作T_RST = 0;T_CLK = 0;T_RST = 1;v_RTInputByte(0xbe); /0xbe:时钟多字节写命令for(i=8; i0; i-) /8Byte = 7Byte 时钟数据 + 1Byte 控制v_RTInputByte(*pSecDa); /写1Byte数据pSecDa+;T_CLK = 1;T_RST = 0;void v_BurstR1302T(uchar *pSecDa)uchar i;T_RST = 0;T_CLK = 0;T_RST = 1;v_RTInputByte(0xbf); /0xbf:时钟多字节读命令for(i=8; i0; i-)*pSecDa = uc_RTOutputByte(); /读1Byte数据pSecDa+;T_CLK = 1;T_RST = 0;void v_BurstW1302R(uchar *pReDa)uchar i;v_W1302(0x8e,0x00); /控制命令,WP=0,写操作T_RST = 0;T_CLK = 0;T_RST = 1;v_RTInputByte(0xfe); /0xbe:时钟多字节写命令for(i=31; i0; i-) /31Byte 寄存器数据v_RTInputByte(*pReDa); /写1Byte数据pReDa+;T_CLK = 1;T_RST = 0;void v_Burs

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论