完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1.程序设计要求:
按下p3.2,p2.0输出低同时p1口连接的蜂鸣器响,按下p3.3 p2.0输出高蜂鸣器停止 (再按下p3.2,p2.1输出低同时p1口连接的蜂鸣器响,按下p3.3 p2.0输出高蜂鸣器停止,。。。再按下p3.2,p2.3输出低同时p1口连接的蜂鸣器响,按下p3.3 p2.0输出高蜂鸣器停止,以此类推循环) 2.现在的问题: 按下p3.3蜂鸣器都能停止,但是p2口输出保持不变 程序如下: org 0000h ljmp main org 0030h main: mov r7,#0 loop:acall key_scan acall display acall tingzhi ljmp loop key_scan: *** p3.2,key_next ;检测是否有按键按下 acall delay10ms *** p3.2,key_next mov p1,#0dfh ;蜂鸣器响 jnb p3.2,$ inc r7 mov a,r7 cjne a,#5,key_next ;是否循环5次了 mov r7,#0 key_next:ret tingzhi: *** p3.3,key_next acall delay10ms *** p3.3,key_next ;停止按键按键后蜂鸣器停止 mov p1,#0ffh orl a,#0ffh ;停止同时停止p2输出低 mov p2,a ret delay10ms: mov r6,#14h d0:mov r5,#0f8h djnz r5,$ djnz r6,d0 ret display: mov a,r7 mov dptr,#tab movc a,@a+dptr mov p2,a ret tab:db 0ffh,0feh,0fdh,0fbh,0f7h |
|
相关推荐
2个回答
|
|
既然P2.0是LED灯,为何在display过程中又改变它的值。tab 里可以看出在P2.0的值在一直变,所以人眼看上去就是常亮。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
205 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1253 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
848 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
853 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1073 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12009 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 15:41 , Processed in 0.642706 second(s), Total 87, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号