4633|0

1379

帖子

0

TA的资源

裸片初长成(中级)

楼主
 

实验8.多路开关状态指示 [复制链接]

1. 实验任务

如下图所示,单片机的P1.0P1.3接四个发光二极管L1L4P0.4P0.7接了四个开关K1K4,编程将开关的状态反映到发光二极管上。(开关闭合,对应的灯亮,开关断开,对应的灯灭)。

2. 电路原理图

           

4.3.1

3. 系统板上硬件连线

    1、将p0.0--p0.3脚的四个短路帽拔掉。
  2、使用双头连接线将最下边的四个键的公用线连接至电源负极
  3、最下边的四个键有效

4.  程序设计内容

(1.       开关状态检测

对于开关状态检测,相对单片机来说,是输入关系,我们可轮流检测每个开关状态,根据每个开关的状态让相应的发光二极管指示,可以采用JB P1.XRELJNB P1.XREL指令来完成;也可以一次性检测四路开关状态,然后让其指示,可以采用MOV AP1指令一次把P1端口的状态全部读入,然后取高4位的状态来指示。

(2.       输出控制

根据开关的状态,由发光二极管L1L4来指示,我们可以用SETB P1.XCLR P1.X指令来完成,也可以采用MOV P1,#1111XXXXB方法一次指示。

5. 程序框图

4.3.2

6. 方法一(汇编源程序)

                                    

   ORG 00H

START:                         JB P0.4,NEXT1 ;直接位为1,则转移至NEXT1,否则,往下执行

                                      CLR P1.0

                                      SJMP NEX1

NEXT1:                       SETB P1.0

NEX1:                          JB P0.5,NEXT2

                                      CLR P1.1

                                      SJMP NEX2

NEXT2:                       SETB P1.1

NEX2:                          JB P0.6,NEXT3

                                      CLR P1.2

                                      SJMP NEX3

NEXT3:                       SETB P1.2

NEX3:                          JB P0.7,NEXT4

                                      CLR P1.3

                                      SJMP NEX4

NEXT4:                       SETB P1.3

NEX4:                          SJMP START

                                      END

 

7. 方法二(汇编源程序)

                                   

 ORG 00H

START:                        MOV A,P1

                                      ANL A,#0F0H ;立即数0F0H与累加器A相“与”,结果存入累加器中。

                                      RR A ;A右环移

                                      RR A

                                      RR A

                                      RR A

                                      XOR A,#0F0H ;立即数和A相“异或”

                                      MOV P1,A

                                      SJMP START

                                      END

此帖出自单片机论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表