完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
这个程序是使无源蜂鸣器高低响的程序,没有用到定时计数器
ORG 0000H MOV R0,#10 TURN_ON: MOV SFRPAGE,#0FH JB P5.5,$ MOV SFRPAGE,#00H ;对P5.5口页面设置使用 TOP: CLR P1.0 LCALL DELAY SETB P1.0 LCALL DELAY ;使蜂鸣器高音震动 DJNZ R0,TOP LOWS: CLR P1.0 LCALL DELAY_L SETB P1.0 LCALL DELAY_L ;使蜂鸣器低音震动 DJNZ R0,LOWS LJMP TURN_ON DELAY: MOV R6,#20 D1: MOV R7,#100 DJNZ R7,$ DJNZ R6,D1 RET ;高音震动程序 DELAY_L: MOV R2,#20 D4: MOV R1,#50 DJNZ R1,$ DJNZ R2,D4 RET ;低音震动程序 END 那个DJNZ R0,TOP和DJNZ R0,LOWS 这两条语句根本就没有起到延时的作用 R0中的数也不递减,,。是逻辑错误么。。 |
|
相关推荐
8个回答
|
|
程序没有运行到DJNZ R0,TOP 在LCALL DELAY 已经跳转了
|
|
|
|
你的R0值调大些试试,是不是延时太短?
还有那个 DELAY_L: MOV R2,#20 这个延时程序参数可以调整下 |
|
|
|
有一点看不懂啊
|
|
|
|
刚才调试了一下,发现DJNZ R0,TOP和DJNZ R0,LOWS能正常运行。不过楼主程序有点问题。就是top,和low片段了都应经加一句R0设置初值的语句。运行到lows的时候R0等于0了,则lows运行256次。再次返回turn-on的时候R0的值还是0.
|
|
|
|
程序没有运行到DJNZ R0,TOP 在LCALL DELAY 已经跳转了
|
|
|
|
怎米用。。。。。
|
|
|
|
|
|
|
|
你说的很对,。。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
464 浏览 0 评论
643 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
942 浏览 0 评论
1028 浏览 2 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
724 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12043 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 07:10 , Processed in 0.553326 second(s), Total 53, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号