按键控制LED灯_第1页
按键控制LED灯_第2页
按键控制LED灯_第3页
按键控制LED灯_第4页
按键控制LED灯_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、任务5按钮控制LED灯,单片机应用系统通常要求单片机的载人交互功能。 必须输入信息,实现系统的控制,此时需要键盘。 单片机的端口除了输出以外也可以输入。 本任务通过按钮控制LED灯,学习单片机端口输入的使用方法,同时学习常用的输出设备LED数码管。硬件知识、1、硬件电路原理图、2、89S51单片端口的输入方法、89S51单片端口全部是双向端口,即可用作输出或输入。 作为输入端口使用时,请注意以下事项。 (1)端口在用于输入之前,必须在端口上写“1” (2)P0端口上拉电阻,用于开关输入时必须外加上拉电阻,其他端口内部有上拉电阻,用于开关输入时外加上拉电阻3、开关输入的连接方法具有如下优点:在所

2、使用的开关数量少时,一般照原样使用独立键输入,每个开关占有一个端口,编程简单,端口资源多。 如果所需的交换器数量太多而CPU端口不足,则需要使用矩阵输入,占用端口资源太少,存在编程复杂的缺点。 本任务使用独立的键输入方法。 图5-2是独立键输入的一般连接方法,按键时CPU端口为“0”,松开键时CPU端口为“1”。 可以通过程序读取端口状态来了解交换机的状态。由于图5-2独立按钮输入、端口上拉电阻,高电平按钮按下端口保持低电平状态,输入逻辑“0”输入逻辑“1”、89S51单片机的各端口在输入时在P0端口以外的端口内部具有上拉电阻实验板上的按钮使用了P3端口的4条I/O端口线,因此可以省略跳闸电阻

3、。 LED数字管、LED数字显示器是用LED发光二极管的组合来显示文字的显示设备。 使用8个LED发光二极管,其中7个发光二极管构成字形“8”的各个笔画(段) ag,另一个显示小数点dp,因此通常被称为8段发光二极管数字显示器。 其内部结构如图5-3(a )所示。 LED数字显示器有(1)共阴极连接法这两种连接方法。 连接发光二极管的阴极构成共用阴极,使用时将共用阴极连接到低电平。 各发光二极管的阳极通过电阻与输入端子连接。 如图5 b所示。 行程(场)为高电平时点亮。 (2)共阳极接合法。 连接发光二极管的阳极来构成共用阳极,使用时在共用阳极上连接高电平,各发光二极管的阴极经由电阻与输入端连

4、接。 如图5 c所示。 行程(场)为低电平时点亮。 LED数字显示器的结构和显示段代码,【软件知识】,1,用于输入的指令,2,其他的指令,3,位操作和字节操作,根据上表,指令MOV C,P3.2和MOV A,P3的很大的区别是操作的对象不同总共有17条将类似位作为操作对象的命令,被称为位处理命令。 例如,JB P0.1和L1是一个位处理指令。 位处理指令操作的对象为可直接寻址位,其地址范围为00H0FFH,合并为256位。 其中,低位128比特的地址是连续的,地址范围是00H7FH。 地址在80H以上的位都是特殊功能寄存器中的可直接寻址位,这些特殊功能寄存器的共同特征是其地址(注意:是特殊功能

5、寄存器自身的字节地址,不是位地址)能被8除尽,这样的特殊功能寄存器有12个详情请参阅任务3的相关部分。 下表显示了P0P3端口的字节地址和位地址之间的关系。【实训内容和步骤】、支持按键控制的LED灯点亮,参考步骤配置ORG 0000H伪指令,指定下一个指令的地址。 第一个命令必须配置在0000H L1:MOV A,P3中。 将P3端口的状态读入累加器a的MOV P0,a; a中的数据被输送到P0端口,控制P0端口输出电平,控制LED,使SJMP L1闪烁。 返回到L1,循环执行程序END; 完成伪指令,在WAV6000中编辑、装配、在软件中运行、模拟调试,获得bin或hex格式的目标文件,然后

6、通过写入器或下载行,由单片机专业人员将单片机插入实验板插座,接通电源运行,按下按钮观察LED灯的闪烁。 分析该程序可知,按下外置P3端口的按钮,连接的管脚变为低电平,单片机执行MOV A、P3命令时,该管脚的状态输入a。 执行MOV P0,a后,输出到P0端口,与其对应的P0端口端子变为低电平,对应的LED灯点亮。 P3.2、P3.3、P3.4、P3.5分别控制P0.2、P0.3、P0.4、P0.5引线连接的LED灯。 模拟开关指示灯、参考程序如下: ORG 0000H L1:JB P3.2、L2。 P3.2的状态为1(1号键未被按下)时,跳至L2 CLR P0.0。 按1号键,则P0.0清零

7、、输出低电平、LED发光SJMP L1 L2:JB P3.3、L1; P3.3的状态为1 (未按下第2个键)时,跳至L1 SETB P0.0。 按下第2键、P0.0组1、输出高电平、LED熄灭SJMP L1 END、按下第1键时,P3.2=0,从L1开始依次执行程序,P0.0被清除,没有按下输出低电平、LED发光、第1键,程序跳转最后执行SJMP L1,站在开头继续执行。 3、按键控制任意LED灯的点亮。 参考计划如下: ORG 0000H; 放置伪命令,并指定以下命令的地址: 第一个命令必须配置在0000H L1: MOV A,P3中。 RL A,用于将P3端口的状态读取到累加器a; a中的内容循环将RL A MOV P0,a向左移动。 a中的数据被输送到P0端口,控制P0端口输出电平,控制LED,使SJMP L1闪烁。 返回到L1,循环执行程序END; 结束伪指令以上的这个阶段的程序,加上2根RL A指令,实现2次左移,P3.2、P3.3、P3.4、P3.5分别控制P0.4、P0.5、P0.6、P0.7引线连接的LED灯。 由于P0端口排列顺序的问题

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论