|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
最近在学习oc8051,是参考leishangwen版主提供的《DE2上使用OC8051运行点灯程序》先来实践一下,其中(一)可以实现,但是(二)不能实现,下到板子上后led灯全亮,通过rtl仿真,看到p1口的输出,先是复位,然后0x01,然后变成0x00,之后又始终为0xFF,通过(二)给的汇编程序,发现跳转指令好像不能正确执行诶,因为rtl仿真时看到r2等寄存器好像不是按照程序变化的,不知道我理解的是否正确(仿真图如下)。我也通过网上查找一些资料,好像是说oc上下的8051存在一些bug,导致某些指令不能正常执行。
汇编程序:
- LJMP 100h
- org 100h
- mov r2,#01
- mov p1,#0x01
- incR1:
- mov p1,r1
- call delay
- inc r1
- jmp incR1
- delay:
- mov r5,#00
- dly:
- mov r7,#00
- dly1:
- mov r6,#03
- djnz r6,$
- djnz r7,dly1
- djnz r5,dly
- ret
复制代码
仿真图:
仿真图
《DE2上使用OC8051运行点灯程序》
http://download.csdn.net/detail/leishangwen/5173363
DE2上使用OC8051运行点灯程序(一)
http://wenku.baidu.com/view/8df1381b6c175f0e7cd13783.html
DE2上使用OC8051运行点灯程序(二)
http://wenku.baidu.com/view/a9c444f3aef8941ea76e05c9.html |
|