收藏 分销(赏)

定时闹钟设计专业课程设计方案报告.doc

上传人:精**** 文档编号:2864309 上传时间:2024-06-07 格式:DOC 页数:46 大小:563.04KB
下载 相关 举报
定时闹钟设计专业课程设计方案报告.doc_第1页
第1页 / 共46页
定时闹钟设计专业课程设计方案报告.doc_第2页
第2页 / 共46页
定时闹钟设计专业课程设计方案报告.doc_第3页
第3页 / 共46页
定时闹钟设计专业课程设计方案报告.doc_第4页
第4页 / 共46页
定时闹钟设计专业课程设计方案报告.doc_第5页
第5页 / 共46页
点击查看更多>>
资源描述

1、定期闹钟设计摘要: 本设计目是运用单片机设计制作一种简易定期闹铃时钟,可以放在宿舍或教室使用,在夜晚或黑暗场合也可以使用。可以设立当前时间以及闹铃时间并且显示出来,若时间到则发出一阵声响。本次设计定期闹钟在硬件方面就采用了AT89C52芯片,用6位LED数码管进行显示。LED用P0口进行驱动,采用是动态扫描显示,可以比较精确显示时时分分秒秒。通过五个功能按键可以实现对时间修改、定期和闹铃终结,闹钟设立时间届时蜂鸣器可以发出声响。在软件方面用C51编程。整个定期闹钟系统能完毕时间显示,调时和设立闹钟、停止响铃等功能,并通过系统仿真后得到了对的成果。核心词:定期闹钟;蜂鸣器;AT89C52;74H

2、C245; 目录第1章 绪论11.1设计目11.2设计规定和任务11.2.1设计规定:11.2.2设计任务:11.3论文重要内容1第2章 系统总体设计22.1系统设计需求22.2总体设计方案22.3系统软件32.4系统硬件3第3章 系统硬件设计43.1系统硬件模块及功能43.2主控模块43.2.1主芯片AT89C5243.2.2时钟电路设计73.2.3 74HC245芯片73.3 LED显示模块93.4 按键模块93.5警报模块10第4章 系统软件设计114.1系统软件设计概述114.2主程序设计114.3单片机中断系统114.3.1中断源114.3.2中断优先级别124.4主程序12第5章

3、系统测试135.1测试内容135.2测试环境135.3测试环节135.3.1测试环境构建135.3.2测试内容145.4测试成果14结论15道谢16参照文献17附录18第1章 绪论1.1设计目本次课程设计主题是定期闹钟,其基本某些是一种数字钟。电路系统由秒信号发生器、“时、分、秒”计数器、显示屏构成。其中秒信号产生器是整个系统时基信号,它直接决定计时系统精度,这里用51单片机定期器来实现。运用定期器获得每一秒时刻,然后在程序中,咱们就可以给秒进行逐秒赋值,满60秒则进位为1分,满60分则进位为1小时,满24小时则时间重置实现一天24小时循环。译码显示电路将“时”、“分”、“秒”计数器输出状态送

4、到七段显示译码器译码,通过一种六位八段数码管显示出来。这里运用51单片机有关知识,来实现电子闹钟有关功能。实验使用了AT89C52、74HC245等芯片,通过单片机P0、P3管脚来驱动数码管显示出相应时刻。本文将讲述AT89C52、74HC245等芯片基本功能原理,并重点简介该电子闹钟设计。1.2设计规定和任务1.2.1设计规定: 使用6位七段LED显示屏来显示当前时间;显示格式为“时时分分秒秒”;具备4个按键来做功能设立,可以设立当前时间及显示闹铃设立时间;时间到则发出一阵声响,可通过按键复位;对单片机系统设计过程进行总结,认真书写课程设计报告并准时上交。1.2.2设计任务:运用51单片机结

5、合七段LED显示屏设计一种简易定期闹铃时钟,可以放在宿舍或教室使用,由于用七段LED显示屏显示数据,在夜晚或黑暗场合也可以使用。可以设立当前时间及显示闹铃设立时间,若时间到则发出一阵声响。1.3论文重要内容论文分别论述从硬件和软件上实现该设计过程。第2章为总体设计方案。第3章重要简介设计实现需要解决硬件问题。依次简介所使用各种硬件用法,并附上仿真电路图和文字阐明。第4章从软件角度阐明实现该设计需要解决问题。第2章 系统总体设计2.1系统设计需求系统规定实现如下功能:1当电源接通时,系统能对的显示当前时间。2当前时间与实时时间有误差时,可以通过键盘调节当前时间。3系统容许进行闹钟设立,启动闹钟功

6、能时,当设立闹钟时间与当前时间一致时候,系统通过蜂鸣器发出警报声并且可以通过按键停止。2.2总体设计方案功能构成:本次设计中计时功能很容易实现,难点在于时钟功能和闹钟功能切换和时间设立。该电子闹钟设计对51单片机定期器0装初值,使其初值相应50ms,定期器0中断次数达到20次就刚好为1s,当秒某些计数到60时置零,并向分某些进一;当分某些计数到60时置零,并向时某些进一,当时某些计数到24时置零,从而满足时钟正常工作。在设计过程中,我发现通过4个按键来完毕一种闹钟基本功能虽然可以实现,但是顾客用起来就会很麻烦,由于有键必要有各种功能和不同触发方式,我以为可以增长少量按键来以便顾客迅速理解到咱们

7、闹钟是如何进行控制。因此本次设计设立5个键依次对其进行“时间校准”、“闹钟设立”、“秒分时切换/终结警报”、“加1按钮”、“减1按钮”。“秒分时切换/终结报警”键在调时状态中,起时分秒切换作用,在非调试状态下,起闹钟终结作用。当顾客按下“时间校准”按钮后,程序会关闭T0定期器,之后时钟停止工作,此时数码管会显示当前静止时间,阐明已经进入时间校准界面了。在完毕时间校准后,打开T0定期器,时钟会在设立好时间上继续工作走秒。当顾客按下“闹钟设立”按钮后,会将当前时间复制出来提供应定期界面,注意此时咱们时钟依然在继续工作,只是数码管显示是定期模式静止时间。当设立好后,此时顾客设立时间只要没有触发过闹铃

8、,再次按“闹钟设立”按钮就能查看并修改,即闹钟会保存下顾客最后一次未被触发闹钟时间。当正常工作时钟时刻到达了预设闹铃时刻,蜂鸣器发出警报声,屏幕会闪烁并显示当前时间。考虑到顾客也许已经被提示而不想继续被闹铃声干扰,还提供了一种可以终结闹铃功能,此功能与“时分秒切换”功能共用同一按键,按下后时钟继续正常工作,且闹钟功能又可以重新设立。2.3系统软件本设计在Keil编程环境下,使用C语言进行编程编辑。编辑成功后,通过仿真软件Proteus进行仿真测试。2.4系统硬件LED显示屏1主控芯片:AT89C52闹钟提示:蜂鸣器人机交互:按键5晶振:12KHz1排阻:RESPACK-81电容:10nf2总线

9、收发器:74HC2452第3章 系统硬件设计3.1系统硬件模块及功能系统硬件模块重要分为如下几种模块: 1主控模块:控制其她子模块。 2时钟模块:为系统提供实时时间。 3显示模块:显示系统时间信息。 4按键模块:顾客通过按键进行人机交互,修改实时时间、设立闹钟时间和终结闹钟报警。 5闹钟模块:在所设闹钟时间发出警报声。3.2主控模块3.2.1主芯片AT89C52(1).AT89C52简介AT89C52是一种低电压,高性能CMOS 8位单片机,片内含8k bytes可重复擦写Flash只读程序存储器和256 bytes随机存取数据存储器(RAM),器件采用ATMEL公司高密度、非易失性存储技术生

10、产,兼容原则MCS-51指令系统,片内置通用8位中央解决器和Flash存储单元,AT89C52单片机在电子行业中有着广泛应用。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同步内含2个外中断口,3个16位可编程定期计数器,2个全双工串行通信口,2 个读写口线,AT89C52可以按照常规办法进行编程,也可以在线编程。其将通用微解决器和Flash存储器结合在一起,特别是可重复擦写 Flash存储器可有效地减少开发成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品需求。AT89C52引脚图如图3.2.1:图 3.2.1(2).工作原理AT

11、89C52为8 位通用微解决器,采用工业原则C51内核,在内部功能及管脚排布上与通用8xc52 相似,其重要用于会聚调节时功能控制。功能涉及对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件初始化,会聚调节控制,会聚测试图控制,红外遥控信号IR接受解码及与主板CPU通信等。重要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容构成复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口

12、(3239 脚)被定义为N1 功能控制端口,分别与N1相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 相应功能端,用于当前制式检测及会聚调节状态进入控制功能。P0 口:P0 口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。作为输出口用时,每位能吸取电流方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在

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

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

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

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

17、P:外部访问容许。欲使CPU 仅访问外部程序存储器(地址为0000HFFFFH),EA 端必要保持低电平(接地)。需注意是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU 则执行内部程序存储器中指令。Flash存储器编程时,该引脚加上+12V 编程容许电源Vpp,固然这必要是该器件是使用12V编程电压Vpp。XTAL1:振荡器反相放大器及内部时钟发生器输入端。XTAL2:振荡器反相放大器输出端。3.2.2时钟电路设计运用芯片内部振荡电路,在XTAL1、XTAL2引脚上外接定期元件,内部振荡器便能产生自激振荡。定期元件可以采用石英晶体和电容构成并联谐

18、振电路,如图3.2.2所示。晶振可以在1.212MHZ之间任选,甚至可以达到24MHz,但是频率越高功耗也就越大。和晶振并联电容C1、C2大小对振荡频率有微小影响,可以起到频率微调作用。时钟电路如图3.2.2:图3.2.23.2.3 74HC245芯片电路中用74HC245芯片充当总线收发器,作用是放大信号,它具备典型CMOS型三态缓冲门电路。由于单片机或CPU数据/地址/控制总线端口均有一定负载能力,如果负载超过其负载能力,普通应加驱动器。引脚定义:1引脚DIR:未输入输出端口转换用,当它为高电平“1”时,信号由“A”端口输入“B”端口输出;当它为低电平“0”时,信号由“B”端口输入“A”端

19、口输出。2-9引脚: “A”端口输入输出端,每个端口与“B”端口相应。11-18引脚:“B”端口输入输出端,每个端口与“A”端口相应。10引脚:GUD,电源地。20引脚:VCC,电源正极。74HC245引脚图如图3.2.3(1) :图3.2.3(1)仿真电路图如图3.2.3(2):图3.2.3(2)3.3 LED显示模块本次课程设计采用了6位数码管显示电路。在6位LED显示时,为了简化电路,减少成本,采用动态显示方式,6个LED显示屏共用一种8位I/O,6位LED数码管位选线分别由相应P2.0P2.5控制,而将其相应段选线并联在一起,由一种8位I/O口控制,即P0口。译码显示电路将“时”、“分

20、”、“秒”计数器输出状态经七段显示译码器译码,通过6位LED七段显示屏显示出来。到达定期电路时依照计时系统输出状态产生脉冲信号,然后去触发音频发生器实现闹铃。校时电路时用来对“时”、“分”、“秒”显示数字进行校对调节。LED仿真电路图如图3.3:图 3.33.4 按键模块按键模块共设立了五个按键,功能分别如下:(1).时间校准键“CLOCK”:自锁开关,按下后进入校准设立,再次按下后退出。(2).闹钟设立键“ALARM CLOCK”:自锁开关,按下后进入闹钟设立,再次按下后退出。此外可供顾客对已经设立闹钟时间进行查看或修改。(3). 秒分时切换/终结报警键“SWITCH/STOP”:按钮开关,

21、在按下“CLOCK”或“ALARM CLOCK”键时,为时分秒切换功能,默认是“秒”,再次按下是“分”,然后是“时”之后是“秒”,以此类推。在“CLOCK”或“ALARM CLOCK”键未按下时,为终结报警功能。(4).时间增长键“+”:按钮开关,可以在进入校准设立和闹钟设立后,进行加一操作。 (5).时间减少键“-”:按钮开关,可以在进入校准设立和闹钟设立后,进行减一操作。按键模块仿真电路图如图3.4:图 3.43.5警报模块闹铃批示设立有声和光两种形式。声音形式核心元件是蜂鸣器。蜂鸣器有无源和有源两种,前者需要输入声音频率信号才干正常发声,后者则只需外加恰当直流电源电压即可,本次设计咱们使

22、用是后者。闹钟电路是用比较器来比较计时系统和定期系统输出状态,如果计时系统和定期系统输出状态相似,则发出一种脉冲信号,再和一种高频信号混合,送到放大电路驱动扬声器发声,从而实现定期闹响功能。蜂鸣器仿真电路图如图3.5:图 3.5第4章 系统软件设计4.1系统软件设计概述该某些重要分为实时时钟模块、LED显示模块、键盘中断模块、闹钟模块。实时时钟某些重要涉及实时时间读写,时间修改。LED显示模块重要涉及显示屏初始化,显示命令字。键盘中断模块涉及各键定义和作用,按键消抖,各按键跳转子程序分派。闹钟模块涉及闹钟时间设立,以及对蜂鸣器启动和停止条件设立和解决。4.2主程序设计主程序包括三个某些。一是主

23、函数某些,负责系统初始化操作;从中断服务获得实时时间;判断闹钟时间与否与实时时间相等并在相等时发出警报声。第二某些是定期中断某些,分两种状况:负责解决从中断服务获得时间数据并送至LED显示缓冲显示,或者显示闹钟设立界面并显示闹钟时间设立过程。第三某些是外部中断,重要定义5个按键作用,分派每一种按键跳转子程序。第三某些负责时间和日期修改,闹钟时间设立,停止蜂鸣器鸣叫功能。4.3单片机中断系统断系统在单片机应用系统中起着十分重要作用,是当代嵌入式控制系统广泛采用一种适时控制技术,能对突发事件进行及时解决,从而大大提高系统对外部事件解决能力。正是有了中断技术,单片机才得以可以普及。因而,中断技术是单

24、片机一项重要技术,掌握中断技术能开发出灵活、高效单机片应用系统。4.3.1中断源要让单机片停止当前程序去执行其她程序,需要向它发出祈求信号,CPU接受到中断祈求信号后才干产生中断。让CPU产生中断信号称为中断源(又称中断祈求源)。单片机提供5个中断源,其中两个为外部中断祈求源INT0(P3.2)和INT1(P3.3),两个片内定期器/计数器T0和T1溢出祈求中断源TF0和TF1,1个片内串行口发送或接受中断祈求源T1和R1。4.3.2中断优先级别单片机内CPU工作时,如果一种中断源向它发出中断祈求信号,它就会产生中断。但是,如果同步有两个中断源发出中断祈求信号,CPU就会优先接受级别高中断祈求

25、源,然后再接受优先级别低中断祈求。表4.3.2列出5个独立中断祈求源由其硬件构造决定自然优先级排列顺序。中断源自然优先级中断入口地址中断编号外部中断INT0高低0003H0定期器T0000BH1外部中断INT10013H2定期器T1001BH3串行口通信中断R1或T10023H4表4.3.2 单片机中断源自然优先级、入口地址及中断编号相应于单片机5个独立中断源,应有相应中断服务程序。这些中断服务程序有专门规定存储位置,即表4.3.2中断入口地址。当有了中断祈求后,CPU可以依照入口地址迅速找到中断服务程序并开始执行,大大提高执行效率。4.4主程序主程序见附录。第5章 系统测试5.1测试内容1.

26、显示某些2.按键某些5.2测试环境Proteus仿真模仿软件。5.3测试环节5.3.1测试环境构建(1)在Proteus软件中绘制好定期闹钟仿真模仿电路图。(2)将Keil编译器生成.hex文献载入AT89C52芯片。图5.3.1(2)载入.hex文献(3)在Proteus软件中,点击左下角“play”按钮启动定期闹钟。如下图,“play”按钮在第一种。图5.3.1(3)仿真电路运营控制按钮5.3.2测试内容详细测试内容如下:定期闹钟与否能对的显示时间;与否能对的显示闹钟设立时界面;与否能对的显示时间调节时界面。(1).显示时间点击“play”键之后,时钟系统开始走时,如图5.5.2(1):图

27、5.3.2(1)经测试,显示成果达到预期规定。(2).时间调节测试如果顾客发现时间运营不对,要对时间进行修改和调节,就需要进入时间修改界面。预期可以对时、分、秒进行调节和修改。系统能对的显示时间修改界面。顾客可以完毕时间修改。经测试,该某些运营正常。(3).闹钟设立测试在系统能对的显示时间之后,顾客若想设立闹钟,可以通过按键完毕闹钟时间设立。设立时间到后蜂鸣器报警,按下“STOP”键后警报停止经测试,该某些能正常运营。结论:通过以上对仿真项目全面测试,可知仿真某些运营正常。5.4测试成果通过以上测试,证明本设计基本实现系统所有规定,即可以对的显示时间信息,可以对当前时间进行调节和修改,并且可以

28、设定闹钟并在所设立闹钟时间发出警报声,通过按键可以停止警报。结论该系统采用单机片AT89C52作为核心芯片,结合某些其她外围设备,一起构成了一款可以显示时间并且可以对其进行修改和设立定期闹钟定期闹钟系统。该系统采用数码管显示屏,可以清晰显示时间信息,并且可以和谐引导顾客进行时间修改以及闹钟设立。可以通过各个寄存地址对时间进行读写操作,即读取时间和修改时间。运用蜂鸣器为顾客提供闹铃功能,可以在设定期间发出警报声提示顾客。采用按键较少独立式键盘供人机交互,操作简朴以便。可以通过键盘修改时间,也可以设立闹铃时间和修改闹铃时间,此外,在闹铃时间与系统时间一致,蜂鸣器鸣叫时,可以通过按键中断警报声。总之

29、,该定期闹钟系统完毕了市场上普通闹钟应有功能,可以显示时间和设立闹钟,可以给顾客提供时间信息。该设计也存在某些缺陷,就是实际生产时投入资金会比市场上普通闹钟价格昂贵,如果进行包装,价格还会上升某些。此外,外观不如市场销售闹钟美观。道谢衷心感谢雷俊红教师指引。参照文献1 李强,51系列单片机应用软件编程技术M.北京:北京航空航天大学出版社,.4: 134-138.2 薛慧芳.MCS-51单机片串行口一口多用J.南京化工大学学报(自然科学版),1998,S1:84-86.3 王东锋,王会良,董冠强.单机片C语言应用100例M.北京:电子工业出版社,.3:218-219,148-152.4 楼然苗,

30、李光飞.单片机课程设计指引(第2版)M.北京:北京航空航天大学出版社,.1:285-289.附录:系统电路图如下:系统电路图系统程序如下:#include sbit btnTime = P10; sbit btnClock = P11;sbit btnSwitch = P12;sbit btnUp = P13;sbit btnDown = P14;sbit pin1 = P20; sbit pin2 = P21;sbit pin3 = P22;sbit pin4 = P23;sbit pin5 = P24;sbit pin6 = P25;sbit pinBuz = P26;unsigned c

31、har timer = 0,sec,min,hour,count = 0,s = 60,m = 60,h = 24,flag = 0;unsigned char code numbers = 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;void delayMs(unsigned int k) unsigned int i,j; for(i = k;i0;i-) for(j = 110;j0;j-);void timeChange()sec+;if(sec = 60)sec = 0;min+;if(min = 60) min = 0; ho

32、ur+; if(hour = 24) hour = 0;void showTime(unsigned char zs,unsigned char zm,unsigned char zh) pin1 = 1; P0 = numberszh/10; delayMs(5); pin1 = 0; pin2 = 1; P0 = numberszh%10&0x7f; delayMs(5); pin2 = 0; pin3 = 1; P0 = numberszm/10; delayMs(5); pin3 = 0; pin4 = 1; P0 = numberszm%10&0x7f; delayMs(5); pi

33、n4 = 0; pin5 = 1; P0 = numberszs/10; delayMs(5); pin5 = 0; pin6 = 1; P0 = numberszs%10; delayMs(5); pin6 = 0;void setTime()unsigned char st,mt,ht;if(btnTime = 0)delayMs(10);if(btnTime = 0)st = sec,mt = min,ht = hour;TR0 = 0; while(btnTime = 0)showTime(st,mt,ht); if(btnSwitch = 0)delayMs(10);if(btnSw

34、itch = 0)while(!btnSwitch);count+;if(count = 3) count = 0;if(btnUp = 0)delayMs(10);if(btnUp = 0)while(!btnUp);switch(count)case 0:st+;if(st = 60)st = 0;break;case 1:mt+;if(mt = 60)mt = 0;break;case 2:ht+;if(ht = 24)ht = 0;break; default:; if(btnDown = 0)delayMs(10);if(btnDown = 0) while(!btnDown); s

35、witch(count) case 0:if(st0)st-; else st = 0;break; case 1:if(mt0)mt-; else mt = 0;break; case 2:if(ht0)ht-; else ht = 0;break; default :; TR0 = 1;sec = st,min = mt,hour = ht; showTime(sec,min,hour);void setClock()if(btnClock = 0)delayMs(50); if(btnClock = 0)if(flag = 0)s = sec;m = min;h = hour; flag

36、 = 1;while(btnClock = 0)showTime(s,m,h);if(btnSwitch = 0)delayMs(10);if(btnSwitch = 0)while(!btnSwitch); count+;if(count = 3) count = 0;if(btnUp = 0)delayMs(10);if(btnUp = 0)while(!btnUp);switch(count)case 0:s+;if(s = 60)s = 0;break;case 1:m+;if(m = 60)m = 0;break;case 2:h+;if(h = 24)h = 0;break; de

37、fault:; if(btnDown = 0)delayMs(10);if(btnDown = 0)while(!btnDown);switch(count)case 0:if(s0)s-;else s = 0;break;case 1:if(m0)m-; else m = 0;break;case 2:if(h0)h-; else h = 0;break; default:; void buzzer()if(hour = h)&(min = m)&(sec = s)int i;for(i = 1;i30;i+)if(btnSwitch = 0)delayMs(20);if(btnSwitch

38、 = 0)break; pinBuz = 1; delayMs(450);showTime(sec,min,hour);pinBuz = 0;delayMs(300);showTime(sec,min,hour);flag = 0; void init()TMOD = 0x01; TH0 = (65536-45872)/256; TL0 = (65536-45872)%256; EA = 1; ET0 = 1; TR0 = 1; pinBuz = 0;void main()init(); while(1) setTime();setClock(); buzzer(); void T0_ms() interrupt 1TH0 = (65536-45872)/256; TL0 = (65536-45872)%256;timer+;if(timer = 20) timer = 0;timeChange();

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服