完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
用中断系统实现这样一个程序:上电后,静态数码管以0-9顺序或逆序循环显示,;检测到有效的按键后(由外部中断实现按键检测),静态数码管从当前显示数字开始改变循环方向。
顺序循环和逆序循环管单独的程序都会写,分别为: 加: MAIN: ANL A,#0FH ;屏蔽累加器的高4位 MOV DPTR,#TAB ;将数据表格的首地址 0100H存入16位的数据地址指针DPTR中 MOVC A,@A+DPTR ;查表 MOV P0,A ;将累加器的值送到P0口显示 ACALL DEL ;调用延时子程序 MOV A,20H ;将20H单元的数据传送给累加器 INC A ;累加器+1 DA A ;二-十进制调整 MOV 20H, A AJMP MAIN 减: MAIN: ANL A,#0FH ;屏蔽累加器的高4位 MOV DPTR,#TAB ;将数据表格的首地址 0100H存入16位的数据地址指针DPTR中 MOVC A,@A+DPTR ;查表 MOV P0,A ;将累加器的值送到P0口显示 ACALL DEL ;调用延时子程序 MOV A,20H ;将20H单元的数据传送给累加器 JZ LOOP1 DEC A MOV 20H, A AJMP MAIN LOOP1: MOV A,#09H MOV 20H,A AJMP MAIN (地方有限,只写了主程序,延时程序和字符表没写) 用中断程序实现灯的常亮常灭也会写,但是碰到这种循环的程序,中断系统不知道该搁在哪了。。。 |
|
相关推荐
1个回答
|
|
{:16:}{:16:}
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
195 浏览 0 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
172 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
453 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
697 浏览 2 评论
602 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11978 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 23:53 , Processed in 0.510946 second(s), Total 75, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号