初学者请教汇编

[复制链接]
2806|6
 楼主| zhanglu0929 发表于 2012-4-8 11:28 | 显示全部楼层 |阅读模式
课本上有这样的题目  初学者 请帮忙指教:$
利用单片机内部定时器/计数器T1产生定时时钟,由P1口输出信号控制8个LED指示灯。试编程使8个指示灯一次轮流点亮  每个指示灯点亮时间为50ms   机器周期为1微秒

ORG 0000H
LJMP MAIN

ORG 000BH
AJMP SERT0
ORG 0100H
MAIN: MOV TMOD,   #01H
MOV TH0, #03CH
MOV TL0, #B0H
SETB EA
SETB ET0
SETB TR0
SJMP $
SERT0: MOV TH0, #03CH
MOV TL0, #B0H
CPL P1.0
RETI
END

我只会这么多  求完整解答。
NE5532 发表于 2012-4-8 13:22 | 显示全部楼层
请楼主把每一行加上注释,再来找我们。
tianheyun 发表于 2012-4-8 14:46 | 显示全部楼层
中断加一个计数变量标志50ms加1(1~8)就可以了吧
yifeidengdai 发表于 2012-4-8 15:15 | 显示全部楼层
这里好像只能控制P1.0的亮灭吧
anazel 发表于 2012-4-8 22:16 | 显示全部楼层
mov P1,#01h,然后在中断中做循环移动吧
416775364TP 发表于 2012-4-9 00:03 | 显示全部楼层
在中断里面给P1口赋不同的值就好,给中断计数(1~8)。
lyjian 发表于 2012-4-9 09:24 | 显示全部楼层
ORG     0000H
SJMP    MAIN

ORG    000BH
MOV    TH0, #3CH
MOV    TL0, #0B0H
MOV    P1,A
RL A
RETI

MAIN:
MOV    TMOD,   #01H
MOV    TH0, #3CH
MOV    TL0, #0B0H
MOV    A,#0FEH      ;假设地低电平点亮LED,如果是高电平点亮LED的话,改为MOV A,#01H.  
SETB    EA
SETB    ET0
SETB    TR0
SJMP $
END
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

1

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部