单片机课程设计论文完整.docx

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机课程设计论文完整

《单片机及接口技术》设计性实验课题学院电子与信息学院专业信息工程卓越工程师班学生姓名黄世洋吴岱桦黄中一组号1提交日期 2014年9月1日一、课程设计题目要求电子日历时钟(for term exam)一.实验目的:课程标志性内容的设计理解和综合运用,鼓励独立性设计和功能扩展的创新实践。二.功能要求:基本性要求通过按键切换完成以下功能:显示北京时间;能够校准时间;使用汇编语言;时、分、秒之间或年、月、日间以小数点分隔;发挥性要求显示公历日期能够校准日期运动秒表闹钟功能二、课程设计设计理念和方案1.时间的实时显示与键盘扫描在MAIN函数中,我们要完成时间的实时显示功及闹钟的扫描。通常情况下,实时显示的时间是时分,我们计划在MAIN函数中不断获取当前时间并通过数码管显示出来,同时主程序也数码显示过程判断当前否满足闹钟响起的条件,从而控制蜂鸣器的响停。此外,我们还打算在MAIN中增加显示年月的功能:当按上键盘上某一键时将显示年月。于是在MAIN中还将有键盘扫描功能和显示年月的功能。日期时间的校准、秒表、闹钟功能关于这类设置功能和附加功能,我们小组决定将它们添加到中断响应中。当按下开发板上的外部中断0和1按键后,即可转至设置菜单,完成上述附加功能的实现。日期时间的校准方法和实现显示的实现方法大同小异,而秒表、闹钟功能则需要结合单片机硬件,编写响应代码来实现,在后面的介绍中我们将看到具体是如何实现的。三、课程设计功能具体实现(1)显示北京时间。在实现显示北京时间功能时,采用了静态显示的方法,我们将在MAIN函数中不断将时:分读取,并且保存至当前工作区间的R7 R6 R5 R4,,然后通过控制芯片SN74HC595和数码管分别将上面的时分显示出来。下图是该电路原理图:设计说明:1.数码管硬件结构及数码管译码说明由图可以看出:数码管是共阴极数码管,P0口的前四个数据位送位选信号,高电平选中数码管,同时数码管的数据输入将由移位寄存器SN74HC595控制,P0.4引脚用于上升沿串行输入位数据,P0.5引脚用于上升沿并行输出8位数据,P0.6引脚用于复位,P0.7引脚提供位数据。实现方法:为此,例如我们要将存放于R4中的数据显示于数码管,则结合SRCK引脚上升沿,先通过移位把数据的8位逐一通过引脚SER移入至芯片,待8位均已输入到芯片后,在RCK引脚给予一个上升沿,就可以把8位数据锁存至SN74HC595芯片。最后通过选择COM口,实现在某一COM口上显示时间。以此类推,就可以实现在4个COM口上组合显示时:分了。以下是相应数码译码(数值0~9正常译码,10以上不译或显示下划线)数值012345678910等管码FCH60HDAHF2H66HB6HBEHE0HFEHF6H10H代码中对应译码表代码:TAB:DW 0FC60H,0DAF2H DW 66B6H,0BEE0H DW 0FEF6H,1010HDW 1010H,1010H2.矩阵键盘硬件结构及相关译码说明矩阵键盘的硬件结构如上,可以使用键盘扫描的方法进行确认,先对P2.7—P2.4送1,P2.3—P2.0送0,通过延时消抖,后使得P2.3—P2.0全送1,再逐行送0,确认键码及匹配键值。以下是键盘功能图及键译码表。键盘功能图INT1INT01 77H2 7BH3 7DH功能键1 7EH4 B7H5 BBH6 BDH功能键2 BEH7 D7H8 DBH9 DDH DEH E7H0 EBH EDH返回键EEH键译码表3.蜂鸣器硬件结构闹钟功能需要蜂鸣器的配合,从电路结构上可以看到,只要将P1.3清0即可使蜂鸣器响起。程序说明:(一)主程序显示时间,日期及闹钟检测我们小组是这样实现这个功能的:在MAIN函数中检查是否有按键按下,若有按键按下,且键码值为7EH时,即下图S16键,则从时:分显示模式切换至年、月、日显示模式。此外显示时间过程一直在检测满足闹钟响起的条件,一旦条件满足,则闹钟响起。显示时间与日期的流程图如下:N有键按下?N Y其它过程键码对应?Y显示年月日并行检测的闹钟的相关变量及流程图说明如下: EN_RING BIT 78H ;允许闹钟 RING_ON BIT 79H ;时间对上开启闹钟 RING_ING BIT 7AH ;闹钟正在响 RING_LOCK BIT 7BH ;键盘锁,任意键停止正在响的闹钟)闹钟检测流程图:开始NEN_RING=1YNRING_LOCK=0?退出闹钟/禁用闹钟RING_LOCK=1YRING_ING=1NYYN闹铃继续RING_ON=1?有键按下?子程序功能说明及流程图(1)与数码管显示相关的子程序 UP_LED0 ;点亮一个数码管(最右) UP_4LED;动态显示

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档