完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
要求P1.0~P1.4控制4个按键,P0.0-P0.4控制四个灯,P3.2口接一个按键用外部中断0控制所有灯灭,定时器中断让四个灯分别延时1s,2s,3s,4s闪亮,单片机晶振12MZH
。要用汇编语言!! 下面是我自己写的程序 最好能在我的基础上改 ORG 0000H SJMP MAIN ORG 000BH SJMP CTC0 ORG 0003H LJMP OUT ORG 0030H MAIN: MOV SP,#60H MOV TMOD,#01H MOV TL0,#03CH ;定时器初值50ms MOV TH0,#0B0H SETB TR0 SETB EX0 SETB ET0 SETB EA ACALL SEND ;寄存器初值 M1: JNB P1.0,L5 JNB P1.1,L6 JNB P1.2,L7 JNB P1.3,L8 L5: MOV R0,#00H SJMP L1 L6: MOV R1,#00H SJMP L2 L7: MOV R2,#00H SJMP L3 L8: MOV R3,#00H SJMP L4 L1: MOV R7,#14H ;定时1s DJNZ R7, L2: MOV R7,#28H ;定时2s DJNZ R7, L3: MOV R7,#3CH ;定时3s DJNZ R7, L4: MOV R7,#50H ;定时4s DJNZ R7, SEND: MOV P0,#0FFH MOV R0,#0FFH MOV R1,#0FFH MOV R2,#0FFH MOV R3,#0FFH RET CTC0: MOV TL0,#03CH MOV TH0,#0B0H CJNE R0,#00H,K1 CJNE R1,#00H,K2 CJNE R2,#00H,K3 CJNE R3,#00H,K4 K1: CPL P0.0 LJMP M1 K2: CPL P0.1 SJMP M1 K3: CPL P0.3 LJMP M1 K4: CPL P0.4 LJMP M1 REti OUT: ACALL SEND RETI END |
|
相关推荐
12个回答
|
|
|
|
谢谢原子哥
|
|
|
|
你这个现在有什么问题?需要改
|
|
|
|
把程序仿真达不到效果 程序是有问题的
|
|
|
|
仿真达不到效果 程序达不到效果 不知道怎么让P1.0按下的时候 定时器中断里就让P0.0变成低电平
|
|
|
|
第一,不要用汇编
第二,外部中断真不是用来处理按键的 第三,在定时器里处理灯,定时器倒计时,0关闭灯,非零闪灯同时减时间, 按键只是赋个时间初值而已,一秒就是1000/50,要关闭,就直接把计时值改为0。 |
|
|
|
要求用汇编的
|
|
|
|
用C,编译的时候可以得到汇编代码。
|
|
|
|
用C,编译的时候可以得到汇编代码。
|
|
|
|
我去试试吧~
|
|
|
|
你是想让人给你改程序,还是教你怎么改程序呢
|
|
|
|
程序思路不对,程序结构不对,中断程序里是不能用跳转命令跳出中断的。
说明你对程序如何运行没有概念,这个程序只是你按自己的想法写出来的而已,并没有按程序的思路写。 帮你改这个程序,基本等于重新写一个程序了 |
|
|
|
只有小组成员才能发言,加入小组>>
3275 浏览 9 评论
2950 浏览 16 评论
3454 浏览 1 评论
8982 浏览 16 评论
4043 浏览 18 评论
1092浏览 3评论
564浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
561浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2297浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1854浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 10:36 , Processed in 1.445622 second(s), Total 102, Slave 83 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号