- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)