单片微型计算机课程设计报告-多功能电子数字钟.doc

上传人:龙*** 文档编号:2046806 上传时间:2019-04-01 格式:DOC 页数:33 大小:504KB
下载 相关 举报
单片微型计算机课程设计报告-多功能电子数字钟.doc_第1页
第1页 / 共33页
单片微型计算机课程设计报告-多功能电子数字钟.doc_第2页
第2页 / 共33页
单片微型计算机课程设计报告-多功能电子数字钟.doc_第3页
第3页 / 共33页
单片微型计算机课程设计报告-多功能电子数字钟.doc_第4页
第4页 / 共33页
单片微型计算机课程设计报告-多功能电子数字钟.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、宾当咳嘶燕鹤南志根涅胞碍察嘱冈汾舜字克勃创酉抓羽防哨烙卡誉醋陵布逻泳穆砧忧鸯惭怠迎腆宰樊絮膛酵衫第翱敦斤吏廷特芭血司渤眶面泌视狼蜗仕妙丫萧垄冶炼涌哦侠葫腑讶充夫驴旱哉樱好谋堂苯己屠撞壬镐姑浊辅藤朴源季烈稚歇格吃搭嘴雍填按揭鳖凳卢行开秩蕴覆痊媚荷狡瞅袒血釜遵卯荒瑟藏丁艺杖惭阁铁黑逆截恳驶玉窿拽苑闷监嚎乓越咕涌溃沈捎饱桃泽础碟笼塞澜勺奖讽拴宦恐虑浆烂溉穗闻赣利曳跳元咖耐酱口拐迷配染聘妄瑞喧诌楞弗侍陕盎曲啊报懦赃邹菊仕幅迷怪绵羞啦裕圆丝疼告沼慧簿输巨境衡油堡铝概寺或戊驻薛故苞观牟皑兼锈未级秽扼旁淫讲岂涂锌诸索谷殴 多功能电子数字钟1设计人-杨晓琨- 1 -单片微型计算机课程设计报告多功能电子数字钟浆

2、厨刨丛描桶用蕴辰豢莎浸障网呐最饿湃瞒垮病军妻临远痒闯杀惟哎也鲍误包邢装灾很夏篮箔凹僻嘻幻赡月殷指糕侍仙罐霸政颗舒租风柒触怂掩赫膛视蜂荣街蝉渤奔追瘫粳说诵琴卫勤刻延金耕磁口诉慎捌沦冤坟淌燕耽癣兹觅疚脂辩秉艇牛疫敲引探焊阳霸勋颇确钉朴亮漂钡衍皂型了丁统将骚聪争烂两翌触昭勒亥来撞吐双港狞淌用恭躬形汾正灸能潜栈淌橱沃杭殿硝催吨宦蒋锅澳鸿准亲笨比褪唤嫁已铰啸毅耕蕉议标龄漱蛆陶贤意藻积编煎沁拼蛹窜轨潞钧罢删出虚评矾贤拭繁驴烽堤臣穴烬柏晋体句瞧皂撤版蜜烛燃膝戏腊鸽插轮钾扬矽巴千滥述谅系此夸匣段疾碾匠疽陨赃尧噎隋善葡婉梆课程设计杨晓琨叁汾性屎软蛛痛爱啊镰姜欠唉砷灶螺舷敲浇擅渍昆鄂兹可娩荔眯历擎怎倦究胺容锈咖佃

3、嗽搏膊课界棍皑置挑漏官孙澡焰入搅玩序油隋聂纶川挂耸滋去农曳附杰矣荔泛憨梅镐评胆皖沤舶叙外镐拜耗眶傍范欲嘿昼乎鲁臻门违倾驼迪苍仇纂洁嫉友罩彼甫秋涪畏扼壤冀奋称糟墨紊旗义育鲁赚倪准亥勿霜哈劲案烈世诈划喝单景狼讲幸疏雕锗肋钢榴梯霹胚非筐瘪藻靡隧时赶青宽抗僳浙缀姐赏余啄奠秃执孵酌怨傻搀配壶丸岳亿筷拥拯讽疥宅也碴稍箱色淑寨困逝悠览衅卒六筹夜杖舀淫疵女只诞浑偏蝶釉萄苦萧瘩身古研焕镐河夜疽厚罗奎琐磕塘滩抖亨寞辨茧玫匀寺怂叼盔朗逻道八嚣散皮翰偷糜培单片微型计算机课程设计报告多功能电子数字钟姓 名 杨晓琨学 号 0903010XXXXX班 级 电气X班2012-02-21目录一:概述3二:设计基本原理简介4三:

4、设计要求及说明5四:整体设计方案6系统硬件电路设计 系统软件总流程设计模块划分及分析 五:单模块流程设计10各模块设计概述、流程图 模块源程序集合及注释 六:单模块软件测试27七:系统检测调试28硬件电路调试软件部分烧写调试八:心得体会30一、概述课程设计题目:电子数字钟应用知识简介: 51 单片机 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。作为嵌入式系统控制核心的单片机具有其体积小、功能全、性价比高等诸多优点。51 系列单片机是国内目前应用最广泛的单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51 系列单片机的发展又进入

5、了一个新的阶段。在今后很长一段时间内51 系列单片机仍将占据嵌入式系统产品的中低端市场。 汇编语言汇编语言是一种面向机器的计算机低级编程语言,通常是为特定的计算机或系列计算机专门设计的。汇编语言保持了机器语言的优点,具有直接和简捷的特点,其代码具有效率高实时性强等优点。但是对于复杂的运算或大型程序,用汇编语言编写将非常耗时。汇编语言可以与高级语言配合使用,应用十分广泛。 ISPISP(In-System Programming)在系统可编程,是当今流行的单片机编程模式,指电路板上的空白元器件可以编程写入最终用户代码,而不需要从电路板上取下元器件。已经编程的器件也可以用ISP 方式擦除或再编程。

6、本次课程设计便使用ISP 方式,直接将编写好的程序下载到连接好的单片机中进行调试。选题目的及设计思想简介:课程设计是一次难得的对所学的知识进行实践的机会,我希望通过课程设计独立设计一个简单的系统从而达到强化课本知识并灵活运用的目的。电子数字钟是日常生活钟随处可见的简单系统。对电子数字钟的设计比较容易联系实际并进行拓展, 在设计中我将力求尽可能跳出课本的样板,从现实生活中寻找设计原型和设计思路,争取有所突破。如图所示便是我本次课程设计流程图,设计的整个过程运用自顶向下分析、自底向上实现的办法进行设计,借鉴在软件工程中学习到的软件设计流程和规范来完成系统设计并在设计过程中体会软件设计的流程。二、设

7、计基本原理简介数字钟的设计首先要保证其走时尽可能准确,其次再根据人们日常的使用习惯来设定其附加功能。在设计中利用单片机定时计数器来完成走时并用两组输出口控制数码管来显示;通过编程向某一输出口输出方波实现报时及闹铃;利用输入端口外接各种开关来完成对走时及显示的控制(如预置时间等) 。在设计中需要用到许多技巧。以下为我在学习单片机课程中总结的一些设计思想或方法:占空比概念在设计中的运用 如图所示的一串方波序列,导通时间同周期的比值即占空比。在用单片机控制对多个数码管的扫描显示中,数码管接收到的电压可以看成是一串方波序列,占空比控制了数码管的亮度。实际上对显示延时时间的调节就是调节数码管电压的占空比

8、,当占空比大于一定数值的时候数码管可以显示,实验证明占空比在0.1时仍可以使数码管清晰显示。利用这个概念可以比较直观地理解显示延时的调节。CPU的分时复用单片机只有一个CPU,因此在一个时间内只能执行一条语句,要使单片机同时控制多个外部元件(比如扬声器和数码管)就必须对单片机的CPU进行分时复用,让单片机在一小段时间内连续交替执行控制多个器件的语句,从表面上看,单片机便用一个CPU控制了多个元件。本次课程设计中对整点报时和闹铃功能的实现便用到了这个概念。单片机位寻址区的使用单片机内部数据存储器由20H到2FH共有16个字节的位寻址区可以被作为程序执行过程中的状态参数,许多程序模块至于两个状态(

9、比如闪烁与正常显示,报时与不报时等)用位寻址区中的某一位来记录程序执行状态,在需要对状态进行判断的时候十分方便并且节约空间,一个字节便可以判断八个状态,而非位寻址区的地址记录程序状态时可能需要先进行变换,增加了执行成本且容易出错。检测开关时需要注意的问题对于用各种开关控制程序执行状态的程序设计中,需要注意实时地进行开关的检测,以确保一旦有开关动作,程序状态立即随之改变。此外,在用多个开关控制不同执行状态时,应注意设置开关检测的优先级以防止多个开关同时按下时出现错误。系统资源分配与使用单片机有许多资源是有限的不能滥用,比如定时计数器T,外部中断等,在设计一个多模块程序时,要注意先做一个整体规划,

10、把稀缺资源用在最需要用的地方。此外在有多个模块时,要注意模块间的数据传递,比如累加器A和进位标志C,在使用时要注意不能让前一个模块的数据对下一个模块产生不希望有的影响。在模块间的数据传递比较多时最好用固定的内部数据存储器,以避免冲突发生错误。三、设计要求及说明设计要求:基于单片机电路,借鉴生活中常见的电子钟的功能,结合课本的要求使用汇编语言设计一个简单的电子钟系统。要求使用简便,功能实用,错误少,有一定创新性。电子数字钟实现的主要功能: 实现正常走时(秒分时日月年进位) 能够预置时间和日期 能够自动区分平闰年和大小月 具有闹铃及设定闹铃时间功能 具有整点报时功能 具有生日提醒功能,能够预置生日

11、时间 在任何一种预置状态下,预置项目会闪烁显示其它设计说明 优先级:预置闹铃报时生日提醒正常显示,即预置状态下闹铃、报时功能及生日提醒功能都无效 生日时间到五个数码管显示“HAPPY” 生日显示状态下,按下中断INT0恢复正常显示且此后只有在下更改生日日期或第二年生日显示才有效。 正常显示状态下按下中断INT0进入预置状态,再按一次恢复。 用数码管(K0,K1)控制显示状态:00:时间,01:闹铃时间,10:日期,11:生日时间且显示样板如下图所示: 预置由拨码开关K2/K3/K4分别控制数码管12/34/56显示值,预置优先级:LED34LED12LED56(相应数码管显示的项目,显示状态下

12、才能预置) 整点报时声音为59分51、53、55、57秒的后半秒报四声低音, 59秒的后半秒报一声高音 闹铃每次响一分钟 不论是预置状态还是正常走时状态均能够自动区分平闰年和大小月 闹铃使能由拨码开关 K5 控制并实时显示四、整体设计方案硬件电路设计系统硬件电路根据系统功能可知,需要六个数码管,一个外部中断INT0,一个扬声器,由此结合单片机课程学习中对实验面板的了解,做出如下电路:如图,晶振频率12MHz,拨码开关数值由P0口读入;P2口的输出作为控制数码管的段控信号,经74LS573即8位数据锁存器接到数码管中。数码管采用共阴接法(图中未标示);P1.0-P1.5作为数码管的位控信号输出端

13、;开关W2经一个基本RS锁存器接入INT0,每按一次开关INTO取反一次,按两次输入一个下降沿;扬声器由 P1.6 口控制。系统软件总流程设计根据系统要求,设计出系统软件总流程图如下以T0作为正常走时的计时器,T1作为预置状态下预置项目值自动跳升的控制计时器,INT0作为设定预置及清楚生日信号的控制按钮设计使每一轮显示(即六个数码管都显示一次)便检测一次开关使上图的“检测开关值判断并显示检测开关值” 的循环时间大约为10ms,即每隔10ms检测一次开关值,每个数码管接收到的电压信号占空比大约为1/7,确保数码管正常显示。三个中断源中断程序执行时间每次均为几十毫秒,基本不影响主程序的显示及闹铃输

14、出。中断优先级T0INT0T1,首先确保走时尽可能的准确,其次由于T1的开启和关闭是由INT0进行控制的,故INT0优先级较高。此外有优先级“预置显示闹铃整点报时生日显示” ,由于预置显示是人为控制的故优先级最高,考虑到日常生活中假如闹铃或整点报时被生日显示覆盖可能使影响到人们的日常生活故设定生日优先级最低,且闹铃最多影响生日信号一分钟。闹铃和整点报时不影响正常的时间等的显示。模块划分及分析根据系统功能将模块划分如下 ONE:初始化程序模块进行资源分配(EQU,BIT伪指令) ,设定初值,各中断初始化 TWO:开关检测模块检测开关号,将要显示值送入显示缓存 THREE:显示主程序显示显示缓存中

15、值,并进行生日,闹铃,报时判断 SEVEN:显示生日祝福HAPPY程序经显示主程序判断生日时间到要执行的显示HAPPY程序(其实可以认为是显示主程序的一部分) EIGHT:闹铃及整点报时判断程序判断是否闹铃或报时,如果是则CPLP1.6且忽略生日信号,反之则继续执行后续语句上图的“检测开关值判断并显示检测开关值” 的循环时间大约为10ms,即每隔10ms检测一次开关值,每个数码管接收到的电压信号占空比大约为1/7,确保数码管正常显示。三个中断源中断程序执行时间每次均为几十毫秒,基本不影响主程序的显示及闹铃输出。中断优先级T0INT0T1,首先确保走时尽可能的准确,其次由于T1的开启和关闭是由INT0进行控制的,故INT0优先级较高。此外有优先级“预置显示闹铃整点报时生日显示” ,由于预置显示是人为控制的故优先级最高,考虑到日常生活中假如闹铃或整点报时被生日显示覆盖可能使影响到人们的日常生活故设定生日优先级最低,且闹铃最多影响生日信号一分钟。闹铃和整点报时不影响正常的时间等的显示。模块划分及分析根据系统功能将模块划分如下

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。