网站大量收购闲置独家精品文档,联系QQ:2885784924

过道延时开关1.doc

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

目录 第一章 绪论 1 1.1课题研究背景 1 1.2课题研究的内容 2 第二章 过道延时开关的系统概论 2 2.1系统的主要功能 2 2.2系统需求分析 3 2.3过道延时开关的工作流程 3 第三章 总体设计方案 5 3.1单片机的选择 5 3.2方案论证 5 第四章 软件设计 6 4.1主程序结构图 6 4.2主程序流程图 6 4.3主要程序分析 8 第五章 软件仿真 12 5.1Keil软件的介绍 12 5.2Keil软件的仿真 12 第六章 实物制作 14 6.1电路板焊接 14 6.2电路板调试 14 第七章 总结 15 附录 16 1.参考文献 16 2.元件清单 16 3.原理图 17 4.程序代码(C语言) 17 5.实物图 25 第一章 绪论 1.1课题研究背景 本次课程设计研究的是过道延时开关,延时开关一般是用继电器是一种用电流控制的。为使研制开发过程中的问题减到最少,提高灵活性本延时开关起到了节能和延寿的作用、并与现有技术相比,使用方便,结构简单,可靠性高,成本低。 图2-1 过道延时开关的工作流程 第三章 总体设计方案 3.1单片机的选择 AT89C52单片机,是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便。89C52单片机采用增强的RISC结构,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令,每MHz可实现1MIPS的处理能力。89C52单片机工作电压为2.7~6.0V,可以实现耗电最优化。 在本课题中,由于程序代码生成的.HEX格式的文件大小可能大于4KB,所以选用52系列单片机,即选用ATMEL公司的AT89C52。 3.2方案论证 方案一:利用双向可控硅电容充放电式触发器,包括双向可控硅TS和降压整流部件1,充放电电容C3和控制开关K,充放电电容C3与控制开关K串联后接到双向可控硅的控制极G与整流部件1的输出端的一极之间,利用电容充放电使双向可控硅导通改变控制开关的延时,缺点是器件多,线路复杂,稳定性差。 方案二:以单片机最小系统为核心来设计可控延时开关。本方案由89C52最小系统、按键电路、显示电路、电源电路和控制开关电路组成。它利用89C52单片机内部的定时/计数器进行计时。本介绍的充分发挥单片机体积小、功耗低、可靠性好灵活等点 图4-1 软件系统结构图 4.2主程序流程图 流程图是使用图形表示算法的思路是一种极好的方法,不论采用何种程序设计方法,程序总体结构确定后,一般以程序流程图的形式对其进行描述。总体框图中的各个子模块或各个子任务也应该结合具体的教学模型和算法画出较详细的程序流程图,供后面编写具体程序和阅读程序使用。   主程序流程图如图4-2所示: 图4-2 主程序流程图 4.3主要程序分析 (1)延时函数:通过软件和晶振电路的配合实现提供1ms的延时程序,当调用函数时,通过嵌套调用10次100us、再调用2次50us、最后调用10次5us来实现1ms的输出。 通过定时器0实现5ms的定时,当响应时间中断200次后,时间正好为1秒。 void delay(uint T) //延时函数,约1ms { uint i,j; for(i=0;iT;i++) for(j=0;j100;j++);} (2)模式键扫描部分:由于单片机扫描的速度很快,所以依次用if判断每一个按键即可,当有一个按键被按下时实现对输出信号变量赋值,同时跳出循环即可。 模式键扫描的函数流程图如图4-3所示。 图4-3 模式键扫描流程图 void mode_key_scan(void) // 模式键扫描 { if(MODE_KEY==0) { delay(20); if(MODE_KEY==0) { mode++; if(mode==3) mode=0; } } while(MODE_KEY==0); if(mode==0) //等待状态 { P0=seven_seg[11]; P1=seven_seg[11]; } } (3)设置显示时间数函数:设定延时时间,对个位、十位进行0~9之间的设定。如图4-4所示。 图4-4 设置显示时间数函数流程图 void set_key_scan(void) //设置函数 { if(UP==0) //加1键扫描 { delay(10); if(UP==0) { switch(mode) //设置个数、十

文档评论(0)

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

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

1亿VIP精品文档

相关文档