(精品论文)智能音乐闹钟设计_第1页
(精品论文)智能音乐闹钟设计_第2页
(精品论文)智能音乐闹钟设计_第3页
(精品论文)智能音乐闹钟设计_第4页
(精品论文)智能音乐闹钟设计_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

目 录摘 要IAbstractII第1章绪论111 应用背景112 本项目实现的功能2第2章 总体设计321 方案设计与论证322系统结构框图423器件说明42.3.1时钟芯片42.3.1单片机7第3章 电路设计1031主体电路1032 单片机系统1133键盘电路1134功放电路1235显示电路1336时钟电路13第4章 程序设计144.1 主程序流程图1442 比较闹钟与时间程序1543 键盘扫描程序1644 对DS1302操作的程序1845 播放音乐程序20第5章 系统仿真215.1软件调试215.2 硬件调试22第6章 总结23参考文献24致谢25附录2636摘 要本文介绍了一种智能音乐闹钟的设计。本设计是由中央控制器、时钟系统、显示器及键盘部分组成。控制器采用单片机AT89C51,时钟系统采用美国DALLAS公司生产的DS1302实时时钟芯片,它将产生的时间信号传递给单片机,单片机通过74LS48译码,使LED 8段数码管显示当前的时间,在计时过程中当到达所设定的闹铃时间后,将播放音乐,并且此时LED 数码管所显示的不再是时间而是一个代码,只有用户在将这个代码从键盘上正确的输入进去,才能将其音乐关闭,否则音乐将一直播放下去。用户可以通过键盘设置闹铃的时间和校正时间。关键词:单片机、DS1302、智能闹钟AbstractIn this paper, a smart alarm clock music design. This design is from the central controller, the clock system, monitor and keyboard parts. Controllers using SCM AT89C51, the clock system uses the U.S. companys DS1302 DALLAS real-time clock chip, it will have the time to signal transmitted to the microcontroller, SCM through 74 LS48 decoding, LED 8 of the digital display of the current Time, When in the course of time set by the arrival of the alarm time, will play music, and at this time of the LED digital display is no longer time but a code that only users of this code from the keyboard on the correct input into the Music can be closed, otherwise, would have been broadcast on music. Users can set the alarm through the keyboard of the time and correction time.Keywords :singlechip、DS1302、Smart alarm clock第1章 绪论11 应用背景自单片机出现至今,单片机技术已走过了近20年的发展路程。电子技术和计算机技术应用领域不断扩大,单片机技术已成为电子技术领域中的一个新的亮点,随着单片机技术的迅猛发展和应用领域不断扩大,纵观20年来单片机发展里程可以看出,单片机技术渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。基于单片机的通用定时控制系统正是属于单片机技术范围。特别是在智能化控制高度发展的前提下,定时控制是不可或缺的条件。可以说只要有智能化的存在,就必须要用到定时控制。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,民用豪华轿车的安全保障系统,全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机通用定时技术。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,基于单片机的通用定时控制的学习是非常重要的也是非常关键的。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,单片机应用系统的软件(常称为监控程序或固件固化到单片机内部或外部的程序存储器内)一般由主程序和若干个中断程序组成,以作完善。基于单片机的通用定时控制也是如此。带有闹时装置的钟。既能指示时间,又能按人们预定的时刻发出音响信号或其他信号。43年前,现代闹钟的前辈们承担了1964年东京奥运会的计时工作。从那时起,电子闹钟就慢慢的进入了我们的日常生活之中,为我们的生活与工作带来了意想不到的结果。目前市面上的数字闹钟种类繁多,有可爱型的,有带计算器的,有数码管显示的,有液晶显示的等等。其中在欧西亚公司所倡导的数字生活中,有几款很有特色的电子闹钟:法拉利版电子投影闹钟,BAR839HG和RMR826HG等型号的闹钟,不仅具有显示时间的功能,炫酷的外形,记忆最高/最低温度值、时钟、日历、闹钟、第二时区、夜光等功能还可以将时间投影到墙上,天花板上,让你在黑暗里只要一睁眼就能看到时间,除了能闹醒大家外,还提供了6种甜睡的音乐帮助用户入睡。12 本项目实现的功能本设计是一个音乐智能闹钟,与普通的音乐闹钟不同的是当闹钟响起时只有输入相应的代码才能使其关闭否则将一直响起。以单片机作为核心主控芯片,采用美国DALLAS公司生产的实时时钟芯片,产生时间信号传递给单片机,经单片机处理再通过LED 8段数码管完成当前时间的显示,当到达所设定的闹铃时间后,音乐将播放出来,并且此时LED 8段数码管所显示的不再是时间而是一个代码,只有用户在将这个代码从键盘上正确的输入进去,才能将其音乐关闭。我们可以通过键盘设置闹铃的时间和校正当前的时间。拥有4个LED 8段数码管作为显示输出,可显示时钟的时与分。该系统具有易操作,较为人性化等特点,对增强人们的时间观念,对一些有意义事件能给予人们以提醒和警觉,对随时提醒人们注意把握时间具有重要作用。故具有实际运用价值。第2章 总体设计21 方案设计与论证(1)、对于单片机的选择:a)、如果用8031系列,由于它没有内部RAM,系统又需要大量内存存储数据,因而不可用。b)、8051或8052系列具有片内ROM或EPROM,而52子系列与51子系列的不同之处在于:片内数据存储器增支256字节;片内程序存储器增之8KB(8032无);有3个16位定时/计数器,6个中断源。8051片内程序存储器为4KB,对于本设计来说已经足够,因此选择8051弹片机。(2)、时钟功能的实现方案:a)、用软件实现,直接用单片机的定时器编程以实现时钟;b)、用专门的时钟芯片实现时钟的记时,再把时间数据送入单片机,由单片机控制显示。比较两种方案,用软件实现时钟固然可以,但是程序运行的每一步都需要时间,多一步或少一步程序都会影响记时的准确度,用专用时钟芯片可以实现准确记时。因此选择b方案。(3)、 显示器:a)、液晶显示器。如果选择此方案,将会降低系统的功耗,这样就可以用电池供电,便于携带。但液晶显示器的驱动电路复杂,使用起来有一定的难度。b)、用数码管作为显示器。数码管的驱动电路简单,使用方便,如果选择了此方案,那么在夜间看时间的时候就不需要有光源,非常方便。其缺点是功耗较大。由于数码管使用起来较为方便,在夜间看时间也很方便,因此我们选择了方案b。(4)、 发音部分用软件方法产生波性输出,通过三极管放大后驱动喇叭发音,这样就可以省去硬件振荡电路,降低成本。(5)、键盘a):4*3矩阵式键盘。如果选择此方案,那么在修改时钟或设置闹铃时间时就可以直接从键盘输入,方便、快捷,但程序较为复杂。b):独立式按键。如果设置过多按键,将会占用较多I/O口,而且会给布线带来不便,此方案适用于按键较少的情况。因此选择方案a。22系统结构框图键盘LED功放单片机时钟芯片图2-1 系统框图本设计以单片机AT89C51作为核心主控芯片,采用美国DALLAS公司生产的DS1302实时时钟芯片,产生时间信号传递给单片机,经单片机处理再通过LED 8段数码管完成当前时间的显示,当到达所设定的闹铃时间后,音乐将播放出来,并且此时LED 数码管所显示的不再是时间而是一个代码,只有用户在将这个代码从键盘上正确的输入进去,才能将其音乐关闭。用户可以通过键盘设置闹铃的时间和校正当前的时间。23器件说明2.3.1时钟芯片本设计采用的时钟芯片DSl302是美国DALLAS公司生产的一种具有涓细电流充电能力的芯片,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768kHz晶振。该芯片是一种体积小、高性能、低功耗、接口容易、占用CPU IO口线少、带RAM的实时时钟电路等主要特点,故该芯片作为实时时钟广泛应用于智能化仪器仪表中。它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。引脚排列如下图所示:图2-2 DS1302引脚排列DS1302的引脚排列:Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。/RST是复位/片选线,通过把/RST输入驱动置高电平来启动所有的数据传送。/RST输入有两种功能:首先,/RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,/RST提供终止单字节或多字节数据的传送手段。当/RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中/RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,/RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向)。SCLK始终是输入端。 1)、 DS1302 的控制字如下图所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。 图2-3 DS1302命令码格式DS1302与单片机的连接图:图2-4 DS1302与AT89C51的硬件连接图2)、数据输入输出(I/O) 在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。注意:第一个数据位被送出发生在写命令字节最后一位的第一个下降沿,数据输出开始位为位0。单字节读操作每次需16个时钟,地址字节在前8个时钟周期的上升沿输入,而数据字节在后8个时钟周期的下降沿输出。图2-5 单字节读操作时序3)DA1302寄存器分布DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见下表。 表2-1 DS1302寄存器分布表此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。2.3.1单片机本系统采用最常用的AT89C51单片机,它是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。引脚排列如下图所示:图2-6 AT89C51引脚排列主要特性: 与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定1288位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 管脚说明:Vcc:供电电压。GND:接地。P0口:在不接片外存储器与不扩展I/O口时,可作为准双向输入/输出口。在接有片外存储器或扩展I/O口时,P0口分时复用为低8位地址总线和双向数据总线。P1口:准双向输入/输出口。P2口:一般可作为准双向输入/输出口。在接有片外存储器或扩展I/O口且寻址范围超过256字节时,用作高8位地址总线。P3口:除作为准双向输入/输出口外,P3口也可作为AT89C51的一些特殊功能口。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。第3章 电路设计31主体电路本设计以单片机AT89C51作为核心主控芯片,采用DS1302实时时钟芯片,将产生的时间信号传递给单片机,经单片机处理再通过LED 8段数码管显示当前的时间。当到达所设定的闹铃时间后,单片机将调用相应的程序,播放音乐,并且此时LED 8段数码管所显示的不再是时间而是一个代码,只有用户在将这个代码从键盘上正确的输入进去,才能将其音乐关闭,结束闹铃。用户可以通过键盘设置闹铃的时间和校正当前的时间。如下图所示:图3-1 主体电路图 32 单片机系统图3-2 AT89C51最小系统电路图单片机采用AT89C51,使用P0口作为I/O口,则需外接上拉电阻。使用P0.0、P0.1、P0.2、P0.3分别与74LS48译码器的输入端相连接;P0.4、P0.5、P0.6、P0.7分别与显示电路的4个LED数码管片选信号相连接;P1.0到P1.6连接外接键盘;P1.7(即B0)作为功放的输出端与功放驱动电路相连接;P2.0到P2.2分别与时钟芯片DS1302的/RET(“5”)、I/O(“6”)、 SCLK(“7”)三个引脚相连接;31脚(即/EA)接高电平,因此首先执行片内程序存储器的程序;19脚(即X1)与18脚(即X2)连接外部振荡电路;9脚(即RESET)连接复位电路。33键盘电路键盘电路采用4*3行列式键盘,用P1口线组成行、列结构,按键设置在行列的交点上。当进行键盘扫描时,则将扫描信号送至P1.4、P1.5、P1.6,再从P1.0、P1.1、P1.2、P1.3读取键盘状态,即可判断哪个键盘被按下。P1.0、P1.1、P1.2、P1.3分别连接一个10K的上拉电阻到公共接点上,公共接点连接在VCC上,因此采用低电平扫描。送入P1.4、P1.5、P1.6的扫描信号中,只有一个为低电平(即0),其余为高电平。紧接着读取P1.0、P1.1、P1.2、P1.3的状态,哪个为低电平(即0)则表示被按下,如果都是高电平,则从头开始继续扫描。按键S0到S11分别代表的意义是“0”、“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“闹钟”与“时间”。当长时间按下“闹钟”键时,为开启或关闭闹钟;当短时间按下“闹钟”键时,为设置闹钟时间。当按下“时间”键时,为设置时间。电路图如下图3-3所示:图3-3 4*3键盘电路图34功放电路本系统是利用程序产生频率脉冲信号,送到P1.7(即B0)口,通过一个限流电阻连接到喇叭的驱动电路。P1.7口输出的是一组脉冲信号,当输出为高电平时晶体管工作于饱和状态,当输出为低电平时晶体管工作于截止状态,从而使喇叭播放出音乐。图3-4 功放电路图35显示电路图3-5 显示电路图数码管在夜间看时间的时候就不需要有光源,非常方便,因此采用4个共阳极8段LED数码管作为显示系统,片选信号分别连接在A4(P0.4)、A5(P0.5)、A6(P0.6)、A7(P0.7),LED 8段数码管的a、b、c、d、e、f、g分别与74LS48译码器的输出端相连接。LED数码管的dp端接高电平。电路图如上图3-5所示。36时钟电路图3-6 DS1302时钟电路图选用DS1302作为时钟芯片,X1与X2连接32.768kHz的晶体振荡电路,DS1302与单片机AT89C51采用串行数据传输方式,/RET、I/O、 SCLK分别与单片机的P2.0(B1)、P2.1(B2)、P2.2(B3)相连接。Vcc2(即“1”)连接电源。电路图如上图3-6所示。第4章 程序设计本章主要讲述软件方面的实现。本系统程序紧紧围绕所要实现的功能进行编写,采用模块化编程结构。开始初始化闹钟与时间比较键盘扫描放音与显示代码关音输入代码比较闹钟或时间设置键是否按下显示时间设置闹钟是否开启4.1 主程序流程图 NY N Y Y N Y N Y图4-1主程序流程图系统启动后,进行初始化设置,键盘扫描,显示当前的时间。判断闹钟或时钟是否需要设置,如果需要则进行相应的设置,如果不需要则跳转到判断闹钟是否开启,如果没有开启则跳回键盘扫描,开启则进行判断闹钟与时间是否相等,相等则放音乐同时显示代码,进行输入码与显示代码比较是否相等,相等则关闭音乐,转到键盘扫描,否则一直播放音乐直到正确输入代码。42 比较闹钟与时间程序43H,42H存放闹钟的时位;41H,40H存放闹钟的分位33H,32H存放时间的时位;31H,30H存放时间的分位 NNNNYYY(33H)=(43H)?(32H)=(42H)?(31H)=(41H)?(30H)=(40H)?开始RETY 图4-2比较闹钟与时间程序MOV A,33HXRL A,43HJNZ TO-ENDMOV A,30HXRL A,40HJNZ TO-ENDSETB F0SETB P1.7TO-END:POP A RET判断33H与43H存储的内容是否相等,如果不相等则停止该程序,相等说明时间与闹钟时位的高位相等;继续判断32H与42H分别存储的时间与闹钟时位的低位是否相等,不相等则停止该程序,相等则继续判断31H与41H分别存储的时间与闹钟分位的高位是否相等,与上面同理;当判断30H与40H存储的内容是否相等时,如果相等则说明闹钟时间到达,音乐开启,F0=1,此时按键可以使用,反之则停止该程序。43 键盘扫描程序系统启动后,判断有无按键按下,R2存储是哪个按键按下,然后判断R2的值。当R2为11时,F0置位,进行时间调整,调整完毕则显示,并从新开始键盘扫描。当R2为10时,进行1秒钟的延时,判断是否长按闹钟键(S10),如果长按,则进行闹钟开启与关闭设置,R1为FFH时闹钟开启,R1为00H时闹钟关闭;如果没有长按,则直接跳转到进行F0置位,闹钟调整。调整完毕则显示,并从新开始键盘扫描。当R2为其他数值时,判断F0是否为1,如果F0为1时,调用相应键值程序,否则返回键盘扫描。F0的值判断数字键“0”到“9”是否开启,当为1时开启,反之关闭。在调整时间、闹钟、显示代码时F0为1。开始键盘扫描R1=0FFH?判断R2F0置位,时间调整键值存入R2CPL R1F0置位,闹钟调整显示F0=1?P1.5=0&R2=10是否调整完毕1秒延时相应键值程序有无键按下是否调整完毕 N Y N R2为11 R2为其他 R2为10 Y N Y N Y N Y N Y图4-3 键盘扫描流程图44 对DS1302操作的程序初始化要求/RST为低电平,SCLK为低电平,/RST被设置为高就启动了一个数据传送的过程。SCLK的16个方波完成一次数据传送,前8个方波用于输入命令字节,后8个方波用于数据的输出(读DS1302)或数据的输入(写DS1302)。在SCLK的上升沿,I/O线上数据被送入DS1302,在SCLK下降沿DS1302输出数据在I/O线上。读DS1302驱动程序图,如下图所示:结束YNY开始初始化/RST变高启动一次数据传送工作写命令字节一位SCLK发脉冲/RST发低电平到8次吗?SCLK发脉冲读命令字节一位N到8次吗?图4-4读DS1302驱动程序图读写操作各用一个程序,读DS1302如上图所示,写DS1302程序框图与之相似,只需上图第二个循环中“读数据字节一位”改为“写数据字节一位”即可。读DS1302驱动程序:RDRTC:CLR /RET ;置控制引脚为低电平,禁止数据传送 NOP CLR SCLK ;初始化串行时钟线为低电平 NOP SETB /RET ;置控制引脚为高电平,允许数据传送 NOP MOV A,#0BFH ;准备“接收多字节数据”的命令码 MOV R2,#8 ;1字节命令码需要传送8次RDRTC0:CLR SCLK ;置串行时钟线为低电平 RRC A ;将最低位传送给进位标志C MOV P2.1,A ;再传送至数据端口 NOP SETB SCLK ;置串行时钟线为高电平,其上升沿发送1位数据 DJNZ R2,RDRTC0 ;直到发送完1字节的命令码 MOV R0,#2EHRDRTC1:MOV R2,#8 ;每字节数据需要接受8次RDRTC2:CLR SCLK ;置串行时钟线为低电平,其下降沿接收1位数据 NOP MOV C,P2.1 ;将数据端口的信息传送给进位标志C RRC A SETB SCLK ;置串行时钟线为高电平 DJNZ R2,RDRTC2 ;直到接收到1个完整字节的数据 MOV R0,A INC R0 DJNZ R3,RDRTC1 ;直到接收完全部数据 CLR /RET RET45 播放音乐程序YYN时间与闹钟相等调用曲目,装入相应音符节拍单元是否为0返回主程序开始查找音频装入T0,节拍装入节拍单元T0计数,从P1.7输出脉冲信号图4-5 播放音乐程序当时间与所设的闹钟时间相等时,调用曲目,查找相应的音符,音符的高四位(即音频)装入T0,音符的低四位(即节拍)装入节拍单元。T0开始计数,从P1.7输出脉冲信号,播放音乐。音乐播放结束,返回主程序。第5章 系统仿真由于我所设计的智能音乐闹钟系统包括软件和硬件两部份, 测试时先对软件进行测试,然后再将已测试的软件结合硬件在一起进行测试,完成整个系统的测试工作。5.1软件调试在软件调试中,我采用伟福仿真软件进行程序调试。首先分别调试各个功能程序,再对整个程序进行调试,以便修改错误码。具体的调试方法如下:首先在伟福软件模拟器中选择V5/L仿真器,选择AT89C51作为CPU,将晶振频率设置为12MHZ,然后新建一个.ASM文件,将各个功能程序录入,先检查程序有无明显错误,保存过后编译程序,当有错误时就根据提示加以修改,当各个功能程序编译完成后,再对整个程序全速执行,查看程序有哪些地方出现错误,对应错误提示逐步调整程序,纠正错误直到程序正确无误,调试结束后有图5.1的软件调试界面如下: 图5-1 软件调试界面5.2 硬件仿真硬件仿真使用的是ProteusPRO6.7SP3,Proteus 是目前最好的模拟单片机外围器件的工具,它可以仿真 51 系列、AVR,PIC 等常用的 MCU 及其外围电路。利用Proteus中的器件库完成硬件电路的连接,如下图所示:图5-2硬件电路图第6章 总结本文介绍了一种智能音乐闹钟设计。本设计是由中央控制器、时钟系统、存储器、显示器及键盘部分组成。控制器采用单片机AT89C51,时钟系统使用时钟芯片DS1302,用LED 8段数码管作为显示器,用单片机内置ROM作为存储器件。单片机通过时钟芯片DS1302获取时间数据,对数据处理后,单片机再把时间数据送LED数码管显示器显示,还可以显示代码;当到达所设定的闹铃时间后,单片机将调用相应的程序,播放音乐,并且此时LED 8段数码管所显示的不再是时间而是一个代码,只有用户在将这个代码从键盘上正确的输入进去,才能将其音乐关闭,结束闹铃。用户可以通过键盘设置闹铃的时间和校正当前的时间。软件部分采用汇编语言,分别对键盘、显示、时钟等进行相应的程序编辑,将编好的程序在伟福仿真软件中进行仿真,看程序是不是能够按照所想的运行方向正常的运行并对其修改。在整个设计过程中也存在许多问题,程序各个之间的连接不如设想的流畅,但基本上实现了时钟、闹钟与音乐的功能。参考文献1、潘永雄.新编单片机原理与应用. 西安电子科技大学出版社,2002年2、张友德,赵志英,涂时亮.单片机微型机原理应用与实验. 复旦大学出版社,2000年3、周航慈、朱兆优、李跃忠.智能仪器原理与设计. 北京航空航天大学出版社,2005;4、江秀汉.可编程序控制器原理及应用(第二版).西安电子科技大学出版社,2003;5、沈庆阳、郭庭吉.单片机实践与应用.清华大学出版社,2002;6、窦振中.单片机外围器件实用手册存储器分册.北京航空航天大学出版社,1998; 7、关德新,冯文全.单片机外围器件实用手册电源器件分册.北京航空航天大学出版社,1998;8、何立民.单片机应用技术选编(1).北京航空航天大学出版社,1993。9、李建忠.单片机原理及运用. 西安电子科技大学出版社, 2001年 10、吴金戎、沈庆阳.8051单片机实践与应用.清华大学出版社 ,2001年 11、赵晓安.MCS-51单片机原理及应用.天津大学出版社,2001年 12、冯建华、赵亮.单片机应用系统设计与产品开发. 人民邮电出版社, 2004年 13、何立民.MCS51系列单片机应用系统设计.北京航空航天大学出版社, 1999年 14、李荣正、陈学军.PIC单片机实验教程. 北京航空航天大学出版社,2006年15、张义和、陈敌北.例说8051.人民邮电出版社,2006年致谢这次毕业设计的时间不是很长,毕业设计是自己独立完成的,设计开始时对任务进行了按时分工,每天都要按时完成任务,这样才能为顺利完成好毕业设计提供时间基准。由于毕业设计是我独立进行的设计,刚开始时,心里十分茫然,不知从何入手,通过指导老师的高度的责任感与敬业精神深深地感染了我,同时也深深的激励着我奋进。通过毕业设计,使我对所学的理论知识有了更深更多的理解,操作能力也有了可喜的进步。我认为理论知识无论学得再好再透,毕竟是抽象的,在没用于实践前是毫无意义的,而四年的学习生活中我所缺少的就是理论和实践的紧密结合。毕业设计则恰恰像一场及时雨,让我们通过亲身模拟学会如何把理论知识应用于实践。给了我充分的锻炼机会。获益非浅!谢谢老师!附录*主程序*/RST BIT P2.0I/O BIT P2.1SCLK BIT P2.2ORG 0026HLJMP STARTORG 000BHLJMP NEXTORG 0060HSTART:MOV TMOD,#01H MOV TH0,#0FCH MOV TL0,#48H MOV IE,#82H SETB TR0 ;启动TR0LOOP:LCALL TRAID ;调用时间读取子程序 LCALL DISPLAY1 ;时间显示调用ONE:CJNE R2,#10,T1 LCALL DISPLAY2 ;闹钟时间显示子程序 LCALL HOLD ;等待键按下 MOV A,R5 ;R5在显示子程序中自减 JNZ ONE MOV R7,#04T1:CJNE R2,#11,TWO LCALL DISPLAY1 ;时间显示子程序 LCALL HOLD DJNZ R7,T1 LCALL WRTC ;时间写入时钟芯片程序TWO: ;闹钟时间比较程序 CJNE RO,#0FFH,T4 ;判断闹钟开/关 LCALL TO-2 JBC F0,T2 AJMP LOOPT2:SETB P1.7 ;闹钟响起 MOV R7,#04 LCALL DISPLAY2 ;代码显示子程序 MOV R0,#3EH ;取代码程序GO:ACALL HOLDTHREE:MOV A,R2 ;B存放的是键码 ACALL DISPLAY2 CJNE A,R0,T3 AJMP T4T3:ACALL HOLD ;等待键按下 AJMP THREE T4:DJNZ R7,GO CLR P1.7LJMP LOOP MEXT:CLR TF0 MOV TH0,#0FCH MOV TL0,#18H MOV IE,#82H SETB TR0 RETIEND*比较程序*TO-2:PUSH A MOV A,33H XRL A,43H JNZ TO-END MOV A,32H XRL A,42H JNZ TO-END MOV A,31H XRL A,41H JNZ TO-END MOV A,30H XRL A,40H JNZ TO-END SETB F0 SETB P1.7TO-END:POP A RET*存时间与闹钟*WORD11:MOV R5,#00H INC R5 CJNE R5,#05H,RET11 MOV R5,#00HRET11:LJMP JZKEYWORD10:MOV R5,#00H INC R5 CJNE R5,#05H,RET10 MOV R5,#00HRET10:LJMP JZKEYWORD9:CJNE R5,#01H,RET9 ACALL GEWEIRET9:RETWORD8:CJNE R5,#01H,RET8 ACALL GEWEIRET8:RETWORD7:CJNE R5,#01H,RET7 ACALL GEWEIRET7:RETWORD6:CJNE R5,#01H,RET6 ACALL GEWEIRET6:RETWORD5:CJNE R5,#01H,RR5 ACALL GEWEI LJMP RET5RR5:CJNE R5,#02H,RET5 ACALL SHIWEIRET5:RETWORD4:CJNE R5,#01H,RR4 ACALL GEWEI LJMP RET4RR4:CJNE R5,#02H,RRR4 ACALL SHIWEI LJMP RET4RRR4:CJNE R5,#03H,RET4 ACALL BAIWEIRET4:RETWORD3:CJNE R5,#01H,RR3 ACALL GEWEI LJMP RET3RR3:CJNE R5,#02H,RRR3 ACALL SHIWEI LJMP RET3RRR3:CJNE R5,#03H,RET3 ACALL BAIWEIRET3:RETWORD2:CJNE R5,#01H,RR2 ACALL GEWEI LJMP

温馨提示

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

评论

0/150

提交评论