欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    单片机定时闹钟设计报告.docx

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

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

    单片机定时闹钟设计报告.docx

    湖北理工学院20112012学年第2学期单片机应用课程设计报告教学院(部)电气与电子信息工程学院教 研室电气自动化指导教师胡蔷陶彪课程设计时间2012.5.7 2012.5.11课程设计班级电气工程及其自动化学号姓名同 组人课程设计任务书_、课程设计题目:单片机应用二、课程设计内容1. 根据具体设计课题的技术指标和给定条件,以单片机为核心器件,能独立而正确地进 行方案论证和电路设计,要求概念清楚、方案合理、方法正确、步骤完整;2. 熟悉、掌握各种外围接口电路芯片的工作原理和控制方法;3. 熟练使用单片机汇编语言进行软件设计;4. 熟练使用Proteus、Keil软件进行仿真电路测试;5. 熟练使用Protel软件设计印刷电路板;6. 学会查阅有关参考资料和手册,并能正确选择有关元器件和参数;7. 编写设计说明书,参考毕业设计论文格式撰写设计报告。序号内容学时安排(天)1方案论证和总体设计12硬件设计测试13软件设计14仿真测试及PCB设计15答辩1合计5设计指导地点:K2-406 DSP、EDA实验室三、进度安排1.时间安排四、基本要求(1) 根据要求确定系统设计方案;(2) 绘制系统框图、系统原理总图,印刷电路板图,列出元器件明细表;(3) 计算电路参数和选择元器件,画出软件框图,列出程序清单;(4) 仿真,测试与修改调整;(5) 误差分析与调整;(6) 写出使用说明书;(7) 对设计进行全面总结,写出课程设计报告。评定项目基本内涵分值设计过程考勤5分答 辩回答问题情况25分实物测试正常无故障运行20分设计报告完成设计任务、报告规范性等情况50分90100分:优;8089分:良;7079分:中;6069分,及格;60分以下:不及格六、课程设计参考资料五、课程设计考核办法与成绩评定1 电气与电子信息工程学院.单片机实验指导书2 熊静琪.计算机控制技术.北京:电子工业出版社,2003.3 黄忠霖.控制系统MATIAB计算及仿真.北京:国防工业出版社,2004.4 彭为等.单片机典型系统设计实例精讲.北京:电子工业出版社,20075 王庆利等.单片机设计案例实践教程.北京:北京邮电大学出版社,20086 韩志军等.单片机应用系统设计一一入门向导与设计实例.北京:机械工业出版社,20057 皮大能等.单片机课程设计指导书.北京:北京理工大学出版社,2010指导教师:陶彪胡蔷单片机应用课程设计成绩评定表课程设计题目: 课程设计答辩或质疑记录:1、单片机如何使显示器时钟走动?答:单片机采用定时器1工作方式1,即16位定时器/计数器,并应用中断方式 使时间走动。2、LED显示器是怎样显示数字的?答:LED利用数码管的段选,使不同的段亮即代表着不同的数字。成绩评定依据:课程设计考勤情况(5%):课程设计答辩情况(25%):完成设计任务及报告规范性(50%):实物测试(20%):最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字:2012 年 5 月20 日摘要本次课程设计是在单片机授课结束的情况下,通过老师的指导和小组同学的 协助,独立自主的完成项目设计,我们小组选定的是定时闹钟的设计,下面简单 阐述一下该项目的设计思路。利用动态数码管作为显示器,K20-K27作为输入按键,蜂鸣器作为声音输出 制作一个定时闹钟。最后结果要求做到:1、正确显示时分。2、可以利用按钮调整时间和设定闹钟时间。3、当时间到达设定的闹钟时间时,蜂鸣器发出嘀、嘀、嘀的报警声。4、通过串口在PC上设定时间和闹钟。关键字:定时闹钟目录1概述52主要硬件介绍及电路原理设计 62.1 STC89C52RC单片机简要介绍72.2键盘和LED数码管显示器简介82.3主要电路原理与设计93软件设计113.1概述123.2主模块的设计123.3基本显示模块设计123.4时间设定模块设计133.5闹铃功能的实现144.PROTEUS软件仿真155课程设计体会17参考文献18附:程序清单191.概述本设计是定时闹钟的设计,由单片机AT89C51芯片和LED数码管为核心, 辅以必要的电路,构成的一个单片机电子定时闹钟。定时闹钟设计可采用数字电路实现,也可以采用单片机来完成。定时闹 钟是用数字集成电路构成的,用数码管显示“时”,“分”,“秒”的现代计 时装置。单片机具有集成度高、功能强、通用性好、特别是它能耗低、价格 便宜、可靠性高、抗干扰能力强和使用方便等独特的优点,所以单片机现在 广泛的应用到家用电器、机电产品、儿童玩具、机器人、办公自动化产品等 领域。所以在该设计中采用单片机利用AT89C51,它是低功耗、高性能的CMOS 型8位单片机。片内带有4KB的Flash存储器,且允许在系统内改写或用编程 器编程。另外,AT89C51的指令系统和引脚与8051完全兼容,片内有128B的 RAM、32条I/O 口线、2个16位定时计数器、5个中断源、一个全双工串行 口等。AT89C51单片机结合七段显示器设计的简易定时闹铃时钟,可以设置 现在的时间及显示闹铃设置时间,若时间到则发出一阵声响,进一步可以扩 充控制电器的启停。设计内容包括了秒信号发生器、时间显示电路、按键电路、供电电源以 及闹铃指示电路等几部分的设计。采用四个开关来控制定时闹钟的工作状态, 分别为:K1、设置时间和闹钟的小时;K2、设置小时以及设置闹钟的开关; K3、设置分钟和闹钟的分钟;K4、设置完成退出。课设准备中根据具体的要求,查找资料,然后按要求根据已学过的时钟 程序编写定时闹钟的程序,依据程序利用proteus软件进行了仿真试验,对 出现的问题进行分析和反复修改源程序,最终得到正确并符合要求的结果。设计完成的定时闹钟达到课程设计的要求,在到达定时的时间便立即发 出蜂鸣声音,持续一分钟。显示采用的六位数码管电路,如果亮度感觉不够, 可以通过提升电阻来调节,控制程序中延迟时间的长短,可以获得不同的效 果。也可以改蜂鸣器为继电器,通过控制继电器从而进一步扩展的来控制一 些家电开关。2.主要硬件介绍及电路原理设计2.1 STC89C52RC单片机简要介绍在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、 处理、信息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩 展的存储器和IO接口,使单片机应用系统能够运行。在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘 和显示器。在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示 器。配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信 息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输 出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处理了。在单 片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。显示器可以 是LED指示灯,也可以是LED数码管,也可以是LCD显示器,还可以使用CRT 显示器。单片机应用系统中键盘一般用的比较多的是矩阵键盘,显示器用的比较 多的是LED数码管还LCD显示器。2.2键盘和LED数码管显示器简介键盘是单片机应用系统中最常用的输入设备,在单片机应用系统实现简单的 人机通信。键盘实际上是一组按键开关的集合,平时按键开关总是处于断开状 态,当按下键时它才闭合。键盘的结构形式一般有两种:独立式键盘和矩阵式 键盘。矩阵式键盘的工作方式有3种:查询工作方式、定时扫描工作方式和中 断工作方式。LED数码管显示器在单片机应用系统中,经常用到LED数码管作为显示输 出设备,LED数码管显示器虽然显示信息简单,但它具有显示清晰、亮度高、 使用电压低、寿命长、与单片机接口方便等特点,基本上能够满足单片机应用系 统的需要,所以在单片机应用系统中经常用到。LED数码管显示器是由发光二 极管按一定的结构组合起来的显示器件。在单片机应用系统中通常使用的是8 段式LED数码管显示器,它有共阴极和共阳极两种。所谓译码方式是指由显示 字符转换得到对应的字段码的方式。对于LED数码管显示器,通常的译码方式 有两种:硬件译码方式和软件译码方式。LED数码管在显示时,通常有两种显 示方式:静态显示方式和动态显示方式。在使用时可以把它们组合起来。在实际 应用时,如果数码管个数较少,通常用硬件译码静态显示,在数码管个数较多时, 则通常用软件译码动态显示。2.3主要电路原理设计(1)系统硬件电路的设计:电路是由控制部分和显示部分两大部分组成。利用单片机程序进行控制,单片机 以晶体振荡器的振荡周期(或外部引入的时钟周期)为最小的时序单位,片内的各 种微操作都以此周期为时序基准。振荡频率二分频后形成状态周期或称s周期, 所以,1个状态周期包含有2个振荡周期。振荡频率foscl2分频后形成机器周 期MC。所以,1个机器周期包含有6个状态周期或12个振荡周期。1个到4 个机器周期确定一条指令的执行时间,这个时间就是指令周期。AT89S52单片 机指令系统中,各条指令的执行时间都在1个到4个机器周期之间。,并通过数码管进行显示单片机普遍采用锁相环技术,使单片机的时钟频率可由 程序控制。锁相环允许用户在片外使用频率较低的晶振,可以很大地减小板级噪 声;而且,由于时钟频率可由程序控制,系统时钟可以在一个很宽的范围内调整, 总线频率往往能升得很高。但是,使用锁相环也会带来额外的功率消耗。单就 时钟方案来讲,使用外部晶振且不使用锁相环是功率消耗最小的一种°AT89S52 单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。 在引脚XTAL1和XTAL2外接品体振荡器(简称晶振)或陶瓷谐振器,就构成了 内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构 成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如下图所示。图中,电容器C01,C02起稳定振荡频率、快速起振的作用,其电容值一般在 5-30pF。晶振频率的典型值为12MH2,采用6MHz的情况也比较多。内部振 荡方式所得的时钟情号比较稳定,实用电路中使用较多。外部振荡方式是把外部已有的时钟信号引入单片机内。这种方式适宜用来使单片机的时钟与外部信号保持同步。外部振荡方式的外部电路如下图所示。内部振荡方式外部据荡方式如图所示:各模块分析:显示模块电路先通过电源电路送出+5V电压,单片机AT89S52通过 74LS47和CD4515(4 16译码器)驱动数码管显示数值,显示部分采用普 通共阳极数码管显示,采用动态扫描,以减少硬件电路。考虑到一次扫描12位 数码管显示时会出现闪烁情况,设计时分两排显示,一排显示时间和年月日,一 排显示星期和温度, 共阳极数码管中8个发光二极管的阳极(二极管正端) 连在一起。通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输 出端。当某段驱动电路的输入端为低电平时,该端所连接的字段导通并点亮。根 据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收 额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电 阻。采用动态显示方式,比较节省I/O 口,硬件电路也较静态显示简单,但其 亮度不如静态显示方式,而且在显示位数较多时,CPU要依次扫描,占用CPU 较多时间。为了提供共阳LED数码管的驱动电压,用三极管9012作电源驱动输出。采用 12MHz晶振,有利于提高秒计时的精确性。三极管采用9012。数码管采用红 色的共阳型LED数码管,亮度高些,因为是扫描的显示方式,所以各个数码管 的abcdefg各脚采用了总线并联,改动510欧姆的电阻可以改变显示亮度;eerlrm A b c d eucueeskA<b的W排列(俯视图)(b)共阳极靖构共阴极结构时钟模块一一利用芯片内部的振荡器,然后在引脚XTAL1和引脚XTAL2两端 接晶体谐振器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部的时钟 电路,如图外接晶振时,C1和C2的值通常选择30pF ; C1、C2对频率有微 调作用,晶体谐振器的频率12MHz。为了减少寄生电容,更好地保证振荡器稳 定、可靠地工作,振荡器和电容应尽可能安装得与单片机芯片靠近。设置了12 24两种显示状态,调整计时的按键、设置定时的按键且定时设置了 3次定 时、还另加载了星期、年、月、日的调整及闰年的自动调整;温度模块一一主要由18B20通过单片机AT89S52中的温度程序不断的检测温 度来显示温度温度传感器DS18B20 采集温度信号送该给单片机处理,存储器 通过单片机对某些时间点的数据进行存储;音乐模块一一通过LM386N-1 给扬声器信号来发出音乐,这个模块主要是为时 钟定时到时发出音乐闹铃,而在软件部分设置了可以一次设置3次定时,每次 定时到时,音乐程序中编了 6种音乐,它可以自动选择6种音乐中的任一音乐 响1分钟,如果中间不想让闹铃响可以按一按键,闹铃就立刻停止复位模块一一单片机复位电路是使CPU和系统中的其他功能部件都处在一个确 定的初始状态,并从该状态开始工作,例如复位后PC=0000H,使单片机从第 一个单元取指令。无论是在单片机刚接上电源时,还是断电后或者发生故障后都 要复位;单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器P C = 0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内 RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功 能寄存器复位后的状态为确定值,见下表。值得指出的是,记住一些特殊功能寄存器复位后的主要状态,对于了解单片机的 初态,减少应用程序中的韧始化部分是十分必要的。说明:表中符号*为随机状态;A=00H,表明累加器已被清零;特殊功能寄存器初始状态特殊功能寄存器初始状态A00HTMOD00HB00HTCON00HPSW00HTH000HSP07HTL000HDPL00HTH100HDPH00HTL100HP0P3FFHSBUF不定IP*00000BSCON00HIE0*00000BPCON0*BPSW = 00H,表明选寄存器0组为工作寄存器组;SP=07H,表明堆栈指针指向片内RAM 07H字节单元,根据堆栈操作的先加 后压法则,第一个被压入的内容写入到08H单元中;Po-P3 = FFH,表明已向各端口线写入1,此时,各端口既可用于输入又可用于 输出;IP=XXX00000B,表明各个中断源处于低优先级;IE = 0XX00000B,表明各个中断均被关断;系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态 下。51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24 个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待, 直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电 平则执行芯片内部的程序代码,若为低电平便会执行外部程序。安全省电模式一一电源电路上装了保险管只要电流大于额定电流保险就断来保 护电路,省电模式:不看时显示不亮,看时,按下一键显示就亮,尽量达到人性 化。3.软件设计3.1概述软件设计的重点在于秒脉冲信号的产生、显示的实现、以及按键的处理等方 面。基于软件的秒脉冲信号通常有延时法和定时中断法。延时法一般采用查询方 式,在延时子程序前后必然需要查询和处理的程序,导致误差的产生,因此其秒 脉冲的精度不高;中断法的原理是,利用单片机内部的定时器溢出中断来实现。 例如,设定某定时器每100ms中断1次,则10次的周期为1s。本系统中所 使用的晶振频率为12MHZ。3.2主模块的设计主模块是系统软件的主框架。结构化程序设计一般有“自上而下”和“自下 而上”两种方式,“自上而下”法的核心就是主框架的构建。它的合理与否关系 到程序最终的功能的多少和性能的好坏。本系统的主模块的程序框图如下图2 所示:3.3基本显示模块设计基本显示模块设计的重点是由显示代码取得相应的段码,显示段码数据的并 行发送,高精度的计时工具大多数都使用了石英品体振荡器,由于电子钟,石英 表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要 经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显 示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时, 分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。程序流程如图3所示。将16进制时分秒数据转化为BCD显示代码关显示以免显示抖动通过串口将时分秒数据传入数码管打开显示3.4时间设定模块设计时间设定模块的设计要点是按键的去抖处理与“一键多态”的处理。即只涉 及4个键完成了6位时间参数的设定。软件法去抖动的实质是软件延时,即检 测到某一键状态变化后延时一段时间,再检测该按键的状态是否还保持着,如是 则作为按键处理,否则,视为抖动,不予理睬。去抖中的延时时间一般参考资料 多描述为10ms左右,实际应用中,应大于20ms,否则,会导致按一次作多 次处理,影响程序正常执行。“一键多态”即多功能键的实现思想是,根据按键 时刻的系统状态,决定按键采取何种动作,即何种功能。其流程图如下图4所示:3.5闹铃功能的实现闹铃功能的实现涉及到两个方面:闹铃时间设定和是否闹铃判别与相应处 理。闹铃时间设定模块的设计可参照时间设定模块,这里着重阐述闹铃判别与处 理模块的设计问题。闹铃判别与闹铃处理的关键在于判别何时要进行闹铃。当时 十位、时个位、分十位、分个位中任一位发生改变(进位)时,就必须进行闹铃 判别。译码显示电路将“时”、“分”、“秒”计数器的输出送到七段显示译码 驱动器译码驱动,通过六个七段LED显示器显示出来。闹铃电路根据计时系统 的输出状态产生一脉冲信号,然后加上一个高频或低频信号送到放大电路驱动蜂 鸣器发声实现报时。校时电路是直接加一个脉冲信号到时计数器或者分计数器或 者秒计数器来对''时、“分、“秒显示数字进行校对调整。其流程图如下所示:图5.1图5.2考虑到实用性,在该电子钟的设计中修改定时或调整时间时采用了闪烁, 而且以定时20组闹钟。在编程上,首先进行了初始化定义了程序的入口地址 以及中断的入口地址,在主程序的开始定义了一组固定单元用来存储计数的 秒,分,时以及定时时间的序号等。在显示程序段中主要进行了闪烁的处理,采用定时器中断置标志位,再与 位选相互结合的方法来控制调时或定时中的闪烁。时,分,秒显示则是用了软 件译码(查表)的方式,再用了一段固定的程序段进行进制转化。初始化之后, 用中断方式对其计数,计数的同时采用了定时器比较的方法,比较当前计数时 间与定时时间是否相等,若相等则将闹铃标志位置数。由于定义了定时闹钟 组,在这里采用中断组次,每中断一次比较一组闹钟,避免了一次比较中断时 间过长,影响下次中断时间。显示之后查询闹铃标志位是否与前面所置数相 等,若相等则响铃。为了避免响铃影响显示,采用了每显示几屏以后在显示程序中出现脉冲, 驱动喇叭,不会影响显示。之后用查询方式对按键进行判断,若有键按下,则进 行软件延时消抖,避免了抖动引起的干扰,执行相应的定时,选时或调时程序 段。对当前时间或定时时间修改后又返回到最初的显示程序段,如此循环下 去。4.Proteus软件仿真本次课程设计所采用的程序调试软件为keil软件,所采用的仿真软件为 protus 6 professional 软件。本次试验的效果图如下所示:cJ_PTEPTpi nC2 w> rr>.rr rmI1 X1trrxn-U5:xrjU-1Pi H r2 pi .i| ru<nUFZijn w.iinjD pajTTHl pawTFTTE.rnR3±|r i EJim Rl.nW.rm2i-rr-i rr UIEEEEBEEEIJ2M号!g菩!g置5 ij - rrtCDMEaEnEDrIB47usFSEJTAr m2 rrxn-« ro,rC1C2ii ro.r>i151成箜ZL-与JM.r "±2pi J1FZ PiJIFXXra.iKXD rajTTH pnaUTT pa 由 rn RJ3 ri mam! ra.nFtr性能及误差分析K1键用于系统进入时间调节状态,根据所按次数不同,分别进入时分秒调节 状态,K2、K3分别用于对显示时间和闹钟时间的增加和减小调节,K4键用于 显示闹钟所定时间,对K4键所按次数不同分别进入闹钟的时分秒调节状态。该 电子钟的误差主要由晶振自身的误差所造成,晶振的误差约为0. 00010. 000001结构化软件程序的调试一般可以将重点放在分模块调试上,统调是最后一 环。软件调试可以采取离线调试和在线调试两种方式。前者不需要硬件仿真器, 可借助于软件仿真器即可;后者一般需要仿真系统的支持。本次课设,采用keil 调试软件来调试程序,通过各个模块程序的单步或跟踪调试,使程序逐渐趋于正 确,最后统调程序。仿真部分采用protus 6 professional软件,此软件功能强大且操作较为简 单,可以很容易的实现各种系统的仿真。首先打开protus 6 professional软件,在元件库中找到要选用的所有元件,然 后进行原理图的绘制;绘制好后再选择keil已经编译好的*.hex文件,选择运 行,观察显示结果,根据显示的结果和课设的要求再修改程序,再运行查,直到 满足要求。5.课程设计体会单片机是一门应用性很强的学科,课程设计是培养我们综合运用所学知识, 发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对我们实际工 作能力的具体训练和考察过程。虽然在做课程设计以前已经系统的把单片机课本 认真的学习了一下,但是在刚拿到设计任务书时还是有点一头雾水,不知道该从 哪里下手。令人欣慰的是经过一周的学习,虽然过程很艰辛,但是总算实现了定 时闹钟的功能,所有的努力都很值得。这一周的大部分时间都在研究程序怎么处 理,在这个过程中加深了我对汇编语言命令的应用,而且也更加了解到软硬件配 套的重要性。通过这次课程设计,使我对这们功课有了更深刻的认识和了解。首先对于硬 件电路的工作原理有了进一步系统的学习,同样就有了进一步的认识,使我懂得 了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学的理论 知识与实践相结合起来,才能提高自己的实际动手能力和独立思考的能力。其次 软件在这次设计中也有不足之处,比如音乐的响声不连续,但又不知道从哪个地 方入手解决这个问题,这要求在以后的学习中,拓宽自己的知识面,解决设计的 不足之处。总之,通过这次课程设计不仅使我巩固了本课程所学的基本知识,还使我具 有了撰写科研报告的初步训练能力,我相信这些能力在我以后的工作或者是再学 习中一定会起到不小的作用,一切的辛苦和艰难都是值得的。参考文献1 电气与电子信息工程学院.单片机实验指导书2 熊静琪.计算机控制技术.北京:电子工业出版社,2003.3 黄忠霖.控制系统MATIAB计算及仿真.北京:国防工业出版社,2004.4 彭为等.单片机典型系统设计实例精讲.北京:电子工业出版社,20075 王庆利等.单片机设计案例实践教程.北京:北京邮电大学出版社,20086 韩志军等.单片机应用系统设计一一入门向导与设计实例.北京:机械工业出 版社,20057 皮大能等.单片机课程设计指导书.北京:北京理工大学出版社,2010程序清单#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit dula = P26;sbit wela = P27;sbit key1 = P10;sbit key2 = P1U;sbit key3 = P12;sbit key4=P13;sbit buzzer=P37;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar code table1=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1;uint num,num1,num2,num3,shi1,shi2,fen1,fen2,miao1,miao2,keynum1,keynum4;uint nnum1,nnum2,nnum3,nshi1,nshi2,nfen1,nfen2,nmiao1,nmiao2;void delayms(uint xms)uint i,j;for(i=xms;i>0;i-)for(j = 110;j>0;j-);void display(uchar A,uchar B,uchar C,uchar D,uchar E,uchar F)miao1 = num1/10;miao2 = num1%10;fen1 = num2/10;fen2 = num2%10;shi1 = num3/10;shi2 = num3%10;nmiao1 = nnum1/10;nmiao2=nnum1%10;nfen1 = nnum2/10;nfen2 = nnum2%10;nshi1 = nnum3/10;nshi2 = nnum3%10;P0 = 0xff; wela = 1; P0=0xfe; wela=0; dula = 1; P0=tableA; dula=0; delayms(1);P0=0xff; wela = 1; P0 = 0xfd; wela=0; dula = 1; P0=table1B; dula=0; delayms(1);P0=0xff; wela = 1; P0=0xfb; wela=0; dula = 1; P0=tableC; dula=0; delayms(1);P0=0xff; wela = 1; P0 = 0xf7; wela=0; dula = 1; P0=table1D; dula=0; delayms(1);P0=0xff; wela = 1; P0=0xef; wela=0; dula = 1; P0=tableE;dula=0;delayms(l);P0=0xff;wela = 1;P0=0xdf;wela=0;dula = 1;P0=tableF;dula=0;delayms(l);void keyscan()if(key1 =0)delayms(10);if(key1 =0)keynum1 + + ;while(!key1);if(keynum1!=0)TR0 = 0;if(keynum1 = = 1)if(key2 = = 0)delayms(10);if(key2 = = 0)num1 + + ;if(num1 = = 60) num1 = 0;while(!key2);if(key3= = 0)delayms(10);if(key3 = = 0)if(num1 = = 0) num1 = 60;numl-;while(!key3);if(keynum1 = = 2) if(key2 = = 0)delayms(10);if(key2 = = 0)num2+ + ;if(num2 = = 60) num2 = 0;while(!key2);if(key3= = 0)delayms(10);if(key3 = = 0)if(num2 = = 0) num2 = 60;num2-;while(!key3);if(keynum1 = = 3) if(key2 = = 0)delayms(10);if(key2 = = 0)num3+ + ;if(num3 = = 24) num3 = 0;while(!key2);if(key3= = 0)delayms(10);if(key3 = = 0)if(num3 = = 0) num3 = 24;num3-;while(!key3);if(keynum1 = =4)keynum1 = 0;TR0=1;if(key4= = 0)delayms(10);if(key4= = 0)keynum4+ + ;while(!key4);if(keynum4!=0)TR0 = 0;if(keynum4= = 1)if(key2 = = 0)delayms(10);if(key2 = = 0)nnum1 + + ;if(nnum1 = = 60) nnum1 = 0;while(!key2);if(key3= = 0)delayms(10);if(key3 = = 0)if(nnum1 = = 0)nnum1 = 60;nnuml-;while(!key3);if(keynum4= = 2)if(key2 = = 0)delayms(10);if(key2 = = 0)nnum2+ + ;if(nnum2 = = 60) nnum2=0;while(!key2);if(key3= = 0)delayms(10);if(key3 = = 0)if(nnum2 = = 0)nnum2=60;nnum2-;while(!key3);if(keynum4= = 3)if(key2 = = 0)delayms(10);if(key2 = = 0)nnum3+ + ;if(nnum3 = = 24)nnum3=0;while(!key2);if(key3= = 0)delayms(10);if(key3 = = 0)if(nnum3 = = 0)nnum3=24;nnum3-;while(!key3);if(keynum4=4)keynum4=0;TR0=1;void main()num3 = 12;nnum3 = 6;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0 = 1;TR0 = 1;while(1)keyscan();if(keynum4= = 0)display(shi1,shi2,fen1,fen2,miao1,miao2);if(keynum4!=0)display(nshi1,nshi2,nfen1,nfen2,nmiao1,nmiao2);if(keynum1 = = 0)if(num1 = = nnum1&num2= = nnum2&num3 = = nnum3)buzzer=0;delayms(5000);buzzer=1;void T0_time() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;num+ + ;if(num = = 20)num = 0;num1 + + ;if(num1 = = 60)num1 = 0;if(num1 = = 0)num2+ + ;if(num2= = 60)num2 = 0;if(num2= = 0)num3+ + ;if(num3 = = 24)num3=0;

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开