欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    定时闹钟设计课程设计报告Word文件下载.docx

    • 资源ID:8316966       资源大小:26.05KB        全文页数:18页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    定时闹钟设计课程设计报告Word文件下载.docx

    1、第2章系统总体设计系统设计需求系统要求实现以下功能:1当电源接通时,系统能正确显示当前时间。2当前时间与实时时间有误差时,可以通过键盘调整当前时间。3系统允许进行闹钟设置,开启闹钟功能时,当设置的闹钟时间与当前时间一致的时候,系统通过蜂鸣器发出警报声并且可以通过按键停止。总体设计方案功能组成:本次设计中的计时功能很容易实现,难点在于时钟功能和闹钟功能的切换和时间的设置。该电子闹钟设计对51单片机定时器0装初值,使其初值对应50ms,定时器0的中断次数达到20次就刚好为1s,当秒部分计数到60时置零,并向分部分进一;当分部分计数到60时置零,并向时部分进一,当时部分计数到24时置零,从而满足时钟

    2、的正常工作。在设计过程中,我发现通过4个按键来完成一个闹钟的基础功能虽然可以实现,但是用户用起来就会很麻烦,因为有的键必须有多种功能和不同的触发方式,我认为可以增加少许按键来方便用户快速了解到我们的闹钟是如何进行控制的。所以本次设计设置5个键依次对其进行“时间校准”、“闹钟设置”、“秒分时切换/终止警报”、“加1按钮”、“减1按钮”。“秒分时切换/终止报警”键在调时状态中,起时分秒切换的作用,在非调试状态下,起闹钟终止的作用。当用户按下“时间校准”的按钮后,程序会关闭T0定时器,之后时钟停止工作,此时数码管会显示当前静止的时间,说明已经进入时间校准的界面了。在完成时间校准后,打开T0定时器,时

    3、钟会在设置好的时间上继续工作走秒。当用户按下“闹钟设置”按钮后,会将当前时间复制出来提供给定时界面,注意此时我们的时钟仍然在继续工作,只是数码管显示的是定时模式的静止时间。当设置好后,此时用户设置的时间只要没有触发过闹铃,再次按“闹钟设置”按钮就能查看并修改,即闹钟会保存下用户最后一次未被触发的闹钟时间。当正常工作的时钟时刻到达了预设的闹铃时刻,蜂鸣器发出警报声,屏幕会闪烁并显示当前时间。考虑到用户可能已经被提醒而不想继续被闹铃声干扰,还提供了一个能够终止闹铃的功能,此功能与“时分秒切换”功能共用同一按键,按下后时钟继续正常工作,且闹钟功能又可以重新设置。系统软件本设计在Keil编程环境下,使

    4、用C语言进行编程的编辑。编辑成功后,通过仿真软件Proteus进行仿真测试。系统硬件LED显示屏1主控芯片:AT89C52闹钟提示:蜂鸣器人机交互:按键5晶振:12KHz排阻:RESPACK-8电容:10nf2总线收发器:74HC245第3章系统硬件设计系统硬件模块及功能系统硬件模块主要分为以下几个模块:1主控模块:控制其他子模块。2时钟模块:为系统提供实时时间。3显示模块:显示系统时间信息。4按键模块:用户通过按键进行人机交互,修改实时时间、设置闹钟时间和终止闹钟报警。5闹钟模块:在所设闹钟时间发出警报声。主控模块主芯片AT89C52(1).AT89C52简介AT89C52是一个低电压,高性

    5、能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器

    6、可有效地降低开发成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。图工作原理AT89C52为8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和VSS(

    7、20脚)为供电端口,分别接+5V电源的正负端。P0P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(3239脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高

    8、阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是,和还可分别作为定时/计数器2的外部计数输入(T2)和输入(T2EX),Flash编

    9、程和程序校验期间,P1接收低8位地址。P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXRI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。P3口:P3口是一组带有内部上拉电阻的

    10、8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时

    11、钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:

    12、外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。时钟电路设计晶振可以在12MHZ之间任选,甚至可以达到24MHz,但是频率越高功耗也就越大。和晶振并联的电容C1、C2的大小对振荡频率有微小影响,可以起到频率微

    13、调作用。图芯片电路中用74HC245芯片充当总线收发器,作用是放大信号,它具有典型的CMOS型三态缓冲门电路。由于单片机或CPU的数据/地址/控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器。引脚定义:1引脚DIR:未输入输出端口转换用,当它为高电平“1”时,信号由“A”端口输入“B”端口输出;当它为低电平“0”时,信号由“B”端口输入“A”端口输出。2-9引脚:“A”端口输入输出端,每个端口与“B”端口对应。11-18引脚:“B”端口输入输出端,每个端口与“A”端口对应。10引脚:GUD,电源地。20引脚:VCC,电源正极。74HC245:图显示模块本次课程设计采用了6

    14、位数码管显示电路。在6位LED显示时,为了简化电路,降低成本,采用动态显示的方式,6个LED显示器共用一个8位的I/O,6位LED数码管的位选线分别由相应的P2.0P2.5控制,而将其相应的段选线并联在一起,由一个8位的I/O口控制,即P0口。译码显示电路将“时”、“分”、“秒”计数器的输出状态经七段显示译码器译码,通过6位LED七段显示器显示出来。到达定时电路时根据计时系统的输出状态产生脉冲信号,然后去触发音频发生器实现闹铃。校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整的。LED仿真电路图如图:按键模块按键模块共设置了五个按键,功能分别如下:(1).时间校准键“CLOCK”:自

    15、锁开关,按下后进入校准设置,再次按下后退出。(2).闹钟设置键“ALARMCLOCK”:自锁开关,按下后进入闹钟设置,再次按下后退出。另外可供用户对已经设置的闹钟时间进行查看或修改。(3).秒分时切换/终止报警键“SWITCH/STOP”:按钮开关,在按下“CLOCK”或“ALARMCLOCK”键时,为时分秒切换功能,默认是“秒”,再次按下是“分”,然后是“时”之后是“秒”,以此类推。在“CLOCK”或“ALARMCLOCK”键未按下时,为终止报警功能。(4).时间增加键“+”:按钮开关,可以在进入校准设置和闹钟设置后,进行加一操作。(5).时间减少键“-”:按钮开关,可以在进入校准设置和闹钟

    16、设置后,进行减一操作。按键模块仿真电路图如图:警报模块闹铃指示设置有声和光两种形式。声音形式的关键元件是蜂鸣器。蜂鸣器有无源和有源两种,前者需要输入声音频率信号才能正常发声,后者则只需外加适当直流电源电压即可,本次设计我们使用的是后者。闹钟电路是用比较器来比较计时系统和定时系统的输出状态,如果计时系统和定时系统的输出状态相同,则发出一个脉冲信号,再和一个高频信号混合,送到放大电路驱动扬声器发声,从而实现定时闹响的功能。蜂鸣器仿真电路图如图:第4章系统软件设计系统软件设计概述该部分主要分为实时时钟模块、LED显示模块、键盘中断模块、闹钟模块。实时时钟部分主要包括实时时间的读写,时间的修改。LED

    17、显示模块主要包括显示屏的初始化,显示的命令字。键盘中断模块包括各键的定义和作用,按键的消抖,各按键跳转的子程序分配。闹钟模块包括闹钟时间的设置,以及对蜂鸣器启动和停止条件的设置和处理。主程序设计主程序包含三个部分。一是主函数部分,负责系统的初始化操作;从中断服务取得实时时间;判断闹钟时间是否与实时时间相等并在相等时发出警报声。第二部分是定时中断部分,分两种情况:负责处理从中断服务获得的时间数据并送至LED显示缓冲显示,或者显示闹钟设置界面并显示闹钟时间的设置过程。第三部分是外部中断,主要定义5个按键的作用,分配每一个按键跳转的子程序。第三部分负责时间和日期的修改,闹钟时间的设置,停止蜂鸣器鸣叫

    18、的功能。单片机的中断系统断系统在单片机应用系统中起着十分重要的作用,是现代嵌入式控制系统广泛采用的一种适时控制技术,能对突发事件进行及时处理,从而大大提高系统对外部事件的处理能力。正是有了中断技术,单片机才得以能够普及。因此,中断技术是单片机的一项重要技术,掌握中断技术能开发出灵活、高效的单机片应用系统。要让单机片停止当前的程序去执行其他程序,需要向它发出请求信号,CPU接收到中断请求信号后才能产生中断。让CPU产生中断的信号称为中断源(又称中断请求源)。单片机提供5个中断源,其中两个为外部中断请求源INT0()和INT1(),两个片内定时器/计数器T0和T1的溢出请求中断源TF0和TF1,1

    19、个片内串行口发送或接收中断请求源T1和R1。单片机内的CPU工作时,如果一个中断源向它发出中断请求信号,它就会产生中断。但是,如果同时有两个中断源发出中断请求信号,CPU就会优先接收级别高的中断请求源,然后再接收优先级别低的中断请求。表列出5个独立中断请求源由其硬件结构决定的自然优先级排列顺序。中断源自然优先级中断入口地址中断编号外部中断INT0高低0003H定时器T0000BH外部中断INT10013H定时器T1001BH3串行口通信中断R1或T10023H4表单片机中断源的自然优先级、入口地址及中断编号对应于单片机的5个独立中断源,应有相应的中断服务程序。这些中断服务程序有专门规定的存放位

    20、置,即表的中断入口地址。当有了中断请求后,CPU可以根据入口地址迅速找到中断服务程序并开始执行,大大提高执行效率。主程序主程序见附录。第5章系统测试测试内容1.显示部分2.按键部分测试环境Proteus仿真模拟软件。测试步骤测试环境的构建(1)在Proteus软件中绘制好定时闹钟仿真模拟电路图。(2)将Keil编译器生成的.hex文件载入AT89C52芯片。图载入.hex文件(3)在Proteus软件中,点击左下角的“play”按钮启动定时闹钟。如下图,“play”按钮在第一个。图仿真电路运行控制按钮详细测试内容如下:定时闹钟是否能正确显示时间;是否能正确显示闹钟设置时的界面;是否能正确显示时

    21、间调整时的界面。(1).显示时间点击“play”图1)经测试,显示结果达到预期要求。(2).时间调整测试如果用户发现时间运行不对,要对时间进行修改和调整,就需要进入时间修改的界面。预期可以对时、分、秒进行调整和修改。系统能正确显示时间修改的界面。用户可以完成时间的修改。经测试,该部分运行正常。(3).闹钟设置测试在系统能正确显示时间之后,用户若想设置闹钟,可以通过按键完成闹钟时间的设置。设置时间到后蜂鸣器报警,按下“STOP”键后警报停止经测试,该部分能正常运行。结论:通过以上对仿真项目的全面测试,可知仿真部分运行正常。测试结果通过以上测试,证明本设计基本实现系统所有要求,即能够正确显示时间信

    22、息,能够对当前时间进行调整和修改,并且能够设定闹钟并在所设置的闹钟时间发出警报声,通过按键可以停止警报。结论该系统采用单机片AT89C52作为核心芯片,结合一些其他外围设备,一起构成了一款能够显示时间并且能够对其进行修改和设置定时闹钟的定时闹钟系统。该系统采用数码管显示屏,能够清晰显示时间信息,并且能够友好的引导用户进行时间的修改以及闹钟的设置。可以通过各个寄存地址对时间进行读写操作,即读取时间和修改时间。利用蜂鸣器为用户提供闹铃功能,能够在设定时间发出警报声提醒用户。采用按键较少的独立式键盘供人机交互,操作简单方便。可以通过键盘修改时间,也可以设置闹铃时间和修改闹铃时间,另外,在闹铃时间与系

    23、统时间一致,蜂鸣器鸣叫时,可以通过按键中断警报声。总之,该定时闹钟系统完成了市场上一般闹钟应有的功能,能够显示时间和设置闹钟,可以给用户提供时间信息。该设计也存在一些缺点,就是实际生产时投入资金会比市场上一般闹钟价格昂贵,如果进行包装,价格还会上升一些。另外,外观不如市场销售的闹钟美观。致谢衷心感谢雷俊红老师的指导。参考文献1李强,51系列单片机应用软件编程技术M.北京:北京航空航天大学出版社,:134-138.2薛慧芳.MCS-51单机片串行口的一口多用J.南京化工大学学报(自然科学版),1998,S1:84-86.3王东锋,王会良,董冠强.单机片C语言应用100例M.北京:电子工业出版社,

    24、:218-219,148-152.4楼然苗,李光飞.单片机课程设计指导(第2版)M.北京:285-289.附录:系统电路图如下:系统电路图系统程序如下:#includesbitbtnTime=P10;sbitbtnClock=P11;sbitbtnSwitch=P12;sbitbtnUp=P13;sbitbtnDown=P14;sbitpin1=P20;sbitpin2=P21;sbitpin3=P22;sbitpin4=P23;sbitpin5=P24;sbitpin6=P25;sbitpinBuz=P26;unsignedchartimer=0,sec,min,hour,count=0,s

    25、=60,m=60,h=24,flag=0;unsignedcharcodenumbers=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;voiddelayMs(unsignedintk)unsignedinti,j;for(i=k;i0;i-)for(j=110;jj-);voidtimeChange() sec+; if(sec=60) sec=0; min+; if(min=60) min=0; hour+; if(hour=24) hour=0; voidshowTime(unsignedcharzs,unsignedcharzm,u

    26、nsignedcharzh)pin1=1;P0=numberszh/10;delayMs(5);pin1=0;pin2=1;P0=numberszh%10&0x7f; pin2=0;pin3=1;P0=numberszm/10;pin3=0;pin4=1;P0=numberszm%10& pin4=0;pin5=1;P0=numberszs/10;pin5=0;pin6=1;P0=numberszs%10;pin6=0;voidsetTime() unsignedcharst,mt,ht; if(btnTime=0) delayMs(10); st=sec,mt=min,ht=hour; TR0=0; while(btnTime=0) showTime(st,mt,ht); if(btnSwitch=0) delayMs(10); if(btnSwitch=0) while(!btnSwitch); count+; if(count=3) count=0; if(btnUp=0) if(btnUp=0) while(!btnUp); switch(count) case0:st+;if(st=60)st=0;break;


    注意事项

    本文(定时闹钟设计课程设计报告Word文件下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开