注册 登录
编程论坛 单片机编程

初学者请教一个单片机编程题 半天看不懂

有意义啊 发布于 2011-04-19 19:39, 2160 次点击
只有本站会员才能查看附件,请 登录
单片机的P1口经74LS240(8反相缓冲/驱动器)接8只发光二极管,当输出1时,发光二极管点亮,输出0时为暗。试编程实现8个灯由P1.0循环发亮,发亮100ms后熄灭,下一个灯再发亮
22 回复
#2
飘逸的心2011-04-19 19:49
不就是流水灯吗?这个有什么好问的呢?
#3
有意义啊2011-04-19 19:53
回复 2楼 飘逸的心
rg 000h
KAIN:mov led,#00000001b
mov p1,led
rlc led  ;左移
delay (100ms)  ;12M晶振
sjmp KAIN ;循环
MOV  R0,#100
MOV  R1,#250
LOOP: DJNZ R0,LOOP
 DJNZ R1,LOOP  ;100*250*4us=100ms
END


mov r2,#8
mov a,#1
loop:
mov  p1,a
acall delay_100ms
rl  a
djnz r2,loop


delay_100ms:(略)
哪个正确 呀?原谅我这个什么都不懂的人
#4
飘逸的心2011-04-19 19:57
没玩过汇编呢
C语言应该是
LED=1;
delay(100);
LED=~LED;
LED1=1;
delay(100);
LED1=~LED1;
LED2=1;
delay(100);
LED2=~LED2;
LED3=1;
依此类推

[ 本帖最后由 飘逸的心 于 2011-4-19 20:13 编辑 ]
#5
有意义啊2011-04-19 19:59
回复 4楼 飘逸的心
哦 无论怎样 先谢啦 呵呵~
#6
飘逸的心2011-04-19 20:01
我都写的这么明白了你不会还是不懂吧
#7
有意义啊2011-04-19 20:08
回复 6楼 飘逸的心
我想要汇编语言的呀?
#8
飘逸的心2011-04-19 20:09
C语言都看不懂还想看汇编?
#9
有意义啊2011-04-19 20:14
回复 8楼 飘逸的心
我在学汇编 只是上课没认真听 现在管什么C啊
#10
飘逸的心2011-04-19 20:17
汇编是人去适应机器思维C语言是机器适应人的思维
新手什么都不懂就上汇编?现在主流程序都是C语言写的了!汇编太复杂!
就像操作单片机,C语言直接写语句就好。汇编需要你亲自操作寄存器
#11
有意义啊2011-04-19 20:19
回复 10楼 飘逸的心
哎~无法沟通 老早学过C了 老师教汇编 我有什么办法
#12
有意义啊2011-04-19 20:20
回复 11楼 有意义啊
汇编 什么都不懂
#13
曾002011-04-19 20:52
学习中,刚入门,学C
#14
Ryonliu2011-04-20 22:14
接触C已经三年了,汇编也学过,但是单片机不会……
#15
momoan2011-04-21 17:26
我们正在学
#16
Jungle_10242011-04-28 09:21
~~~~~~~~~
#17
goldenriver2011-04-28 13:09
这个太简单了,楼主随便看看关于单片机的资料都可以找到,比如有一篇文档《给初学单片机的40个实验》里就有,既有汇编又有c语言,如果没有的话留个邮箱,我给你发一份
#18
flyingcloude2011-05-02 23:15
第二个是对的啊
#19
certain2011-05-04 17:11
10楼太有见地了,说的一点没错。现在的主流程序就是C。
#20
llp1332011-05-05 13:15
确实很多
#21
yhx0012011-05-06 11:06
这样改看是否可以用??
rg 000h
sjmp start
;这里可以将IC初始化或写入中断跳转
start:
mov led,#11111110b
KAIN:
mov p1,led
rlc led  ;左移
call delay_100ms  ;12M晶振
sjmp KAIN ;循环
delay_100ms:
MOV  R0,#100
LOOP0:
MOV  R1,#250
LOOP: DJNZ R0,LOOP
DJNZ R1,LOOP0  ;100*250*4us=100ms
ret
END



[ 本帖最后由 yhx001 于 2011-5-6 11:10 编辑 ]
#22
yulin31922011-06-27 12:43
想要发展的更好,还是学点汇编的好,
#23
杨德金2011-11-02 21:04
我在学汇编 只是上课没认真听 现在管什么
1