单片机毕业设计8834849.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课 程 设 计 课程名称:单片机应用技术课程设计 题目名称:独立式按键移动点亮 姓 名 李红 学 号0802210127 所在系电子电气工程系 专业年级 D08电气一班 指导教师__李艳____ 职 称 教授 二OO 八 年 十二 月 二十一 日 独立式按键控制灯的移动点亮 总体方案 1、要求:用8051单片机,采用一个独立式按键KEO,控制四个发光二极管L1、L2、L3、L4,单片机晶振采用12MHz 2、方法:当第一次按下KEO时,点亮L1;当第二次按下KEO时,点亮L2;当第三次按下KEO时,点亮L3;当第四次按下KEO时,点亮L4;再按下开关KEO时,又轮到L1在闪烁,如此轮流下去 3、设计思维:针对“独立式按键控制灯的移动点亮”课程设计问题,根据题目要求,设计出单键控制多灯的移动点亮就可,并不需要太复杂的工艺过程。 我们可以选择8051系列的单片机,4个发光二极管、一个独立式按键、导线若干,外加电源就可实现设计要求。 利用8051内部查询方式来读单片机是否有键按下并不影响其他的工作进程。用查询方式来计数按键按下的次数实现控制灯的移动点亮。本设计是以开关状态来设置输入数据的,当所设置的功能键按下时,单片机完成该键所设定的功能。由于机械式按键在按下或释放时,存在机械弹性作用的影响,通常伴随有一定时间的触点抖动,然后其触点才稳定下来。在触点抖动期间检测按键的“通”与“断”状态,可能导致判断出错,即“按键一次”的按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所导致的检测误判,必须采取去抖措施。因为只有一个键,我们考虑用硬件去抖就可以了。硬件去抖可在键的输入端加R—S触发器或单稳态触发器构成去抖动电路。利用当触发器翻转时,触点抖动对其不会产生任何影响,从而消除抖动的影响 二、硬件设施 线路分析:原理图如下所示. 独立式按键控制灯的移动点亮所用核心是8051系列单片机,内部带有4KB的ROM,现有128B的片内RAM,已大大满足要求。独立式按键控制灯没有大量的运算和暂存数据,所以无需外扩程序存储器,也不必外扩片外的数据存储器;两位LEO显示的段码由P1口输出,P1口线与LED之间接有200Ω限流电阻,LED为共阳极数码管,显示方式为动态显示,P3口线接去抖电路;一个按键采用独立式键盘,按键接在INT0端;晶振电路接在X1,X2端;复位电路接在RESET端;去抖措施,直接采取硬件去抖即可,直接把R—S触发器接于按键的输出端即可,利用R—S触发器的反转构成去抖电路,当触发器反转时,触点抖动对其不会产生任何影响,从而消除抖动的影响。 独立式按键控制灯的移动点亮硬件原理图接线图 三、软件设计 1、流程框图 独立式按键控制灯的程序流程图 2、程序编制 ORG 0000H ; MOV P1,#0FFH ;初始状态,二极管全不亮 MOV R0,#0 ;R0记按键次数,初始为0值 KK: ACALL K1 ;调用按键查询子程序,判断是否有键按下 JZ K2 ;有键按下,转移 AJMP KK ;无键按下,继续查询是否有键按下 K2: MOV P1,#0FFH INC R0 ;有键按下,计数加1 CJNE R0,#1,L2 ;若是第一次按下按键,点亮灯L1 CLR P1.0 SJMP KK ;再去查询是否有键按下 L2: CJNE R0,#2,L3 ;若是第二次按下按键,点亮灯L2 CLR P1.1 SJMP KK L3: CJNE R0,#3,L4 ;若是第三次按下按键,点亮灯L3 CLR P1.2 SJMP KK L4: CJNE R0,#4,KK ;若是第四次按下按键,点亮灯L4 CLR P1.3 MOV R0,#0 SJMP KK ;按键查询子程序 ;功能:查询有无键按下 ;出口参数:累加器A,无键按下A不为0,当有键按下是A为0 K1: MOV A,#00H ; MOV A,P3 ANL A,0DFH ; RET ;A为0,表示有键按下 四、分析 1、设计过程:程序调试计、调试大型程序时,需先根据要求划分模块,优化结构;再根据各模块的特点确定主程序、子程序、中断服务程序以及相互间的调用关系;再根据各模块的性质和功能将各模块细化,设计出程序流程图;最后才根据各模块的流程图编制具体程序。调用时应先调试主程序,实现

文档评论(0)

天天好文档 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档