完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
参考下列程序,编写跑马灯控制程序,使得D1~D8的状态变化规律与题目相同,但每种状态保持的时间为0.5秒钟,(假设使用12MHz的晶体振当器) 要求按照完整的汇编语言结构书写!!!!!1 在下列程序的基础上改,使得每种状态保持的时间为0.5秒钟!!!求解 程序如下: LED-INIT: MOV P 1 , #0F8H LED-FLASH: MOV P2,#11111110B ACALL DELAY MOV P2,#0FDH ACALL DELAY MOV P2,#0FBH ACALL DELAY MOV P2,#0F7H ACALL DELAY MOV P2,#0EFH ACALL DELAY MOV P2,#0DFH ACALL DELAY MOV P2,#0BFH ACALL DELAY MOV P2,#7FH ACALL DELAY SJMP LED-FLASH DELAY: MOV R3,#255 ; 延时等待子程序,R3 255 LOOP1: MOV R2,#255 ;R2 255 LOOP2: DJNZ R2,LOOP2 ;R2减1不为0时跳转到LOOP2处 DJNZ R3,LOOP1 ;R3减1不为0时跳转到LOOP1处 RET :子程序返回 |
|
相关推荐
11个回答
|
|
路过。。。。
|
|
|
|
晕倒,,,,,,,,,
|
|
|
|
{:1:}没人会阿
|
|
|
|
这个是要算指令周期的 具体的可以看看汇编中指令这一部分!还有就是尽量选择多重循环而不选择循环嵌套
这段程序最终执行了250*250次,而DJNZ指令执行需要2个机器周期,一个机器周期需要1微秒的时间,所以以上延时程序就是250*250*2=0.125秒。 要么就用四个延时组合成0.5s要么采用以下方法: KKKK0:MOV R2,#XX KKKK1:MOV R3,#LL KKKK2:MOV R4,#NN KKKK3:MOV R5,#MM DJNZ R5,$ DJNZ R4,KKKK3 DJNZ R3,KKKK2 DJNZ R2,KKKK1 RET 适当选择各循环常数 |
|
|
|
DELAY:MOV R1,#5
D3: MOV R3,#200 D2: MOV R2,#250 D1: DJNZ R2,D1 DJNZ R3,D2 DJNZ R1,D3 RET 我写了以下,这个基本实现0.5s |
|
|
|
{:20:}{:20:}{:20:}{:20:}
|
|
|
|
看kan QQQ
|
|
|
|
汇编伤不起,修改起来太麻烦,不过占用空间小.
|
|
|
|
|
|
谢谢!!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十五章 摄像头实验
492 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
638 浏览 0 评论
742 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
1263 浏览 0 评论
1133 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12055 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 09:16 , Processed in 0.700400 second(s), Total 60, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号