登录
首页
单片机论坛
回帖
发帖
正文
主题:我自己的一点想法,清高人帮帮忙看可以这样做不!!!
点击:2711 回复:22
楼主
编辑
引用
管理
woodyxue
我初学单片机,我在看书时发现堆栈操作指令有时也可以用来传递数据,例如:
PUSH DPH;
POP A;
我个人觉得这样也可以把DPH中的数据传到A中,请那位高手指点,我这样认为对不对??要是可以的话,是不是可以在编程中使用的!要是这样可以是不是就可以把原先不能MOV指令转移的数据用堆栈来完成!
06-02-07 17:00
1楼
编辑
引用
管理
85880527
我觉得51单片机的内部任何一个地址都可以转移数据啊,有这必要吗,就象书上说的R0,R1之间不能直接转移,需要MOV A,R0然后MOV R1,A,其实你可以用MOV 01H,00H完成的,你那条POP A可能会编译错误
06-02-07 19:59
2楼
编辑
引用
管理
robotmcu
我有单片机实验板,需要请和我联系
robotmcu@126.com
价格优惠
06-02-08 08:08
3楼
编辑
引用
管理
woodyxue
我的意思就是在一些不可以直接传输数据的地方用堆栈,这样还可以有一定的保护作用,就是没有机器试一下看这个想法可以不!!
另外我还有自己写的程序段,大侠要是有时间了就帮我看看,指点一下啊!!小弟先谢谢了啊!!
06-02-08 11:44
4楼
编辑
引用
管理
85880527
80H以上的寄存器单元都可以用我说的方法直接传输数据,00H-FFH没有一个地方到不了的!!
06-02-08 12:10
5楼
编辑
引用
管理
woodyxue
我的意思是可以象我说的那样做不??
你说的我还不是很明白,我在看书找一下!
谢谢你了!!
06-02-08 12:56
6楼
编辑
引用
管理
85880527
我不知道51的什么地方不能传递数据,比如你要往SBUF1赋值#01H,可你的汇编软件又不认这个SBUF1,在MOV SBUF1,#01H时出错,你可以查资料得知SBUF1的地址是C1,你用MOV C1H,#01H就可实现。又比如我们给SP赋值#070H,你可以用MOV SP,#070H,也可以用MOV 81H,#070H,结果都是一样的,这个有点象用机器码来直接写程序的味道,真的是指哪打哪:)
06-02-09 20:47
7楼
编辑
引用
管理
woodyxue
你给我回的这几个贴子我看了,多我的帮助还是很大的,十分感谢你啊!!
我是自己以前在学校学的不怎么样,现在要用了就拿起来重学的,大哥你有什么好的办法可以给我介绍一下啊!!以后我在这方面有什么不懂的还请前辈多多指点!!!
06-02-11 19:53
8楼
编辑
引用
管理
85880527
woodyxue,谢谢你的信任,学这个我也没什么好的方法,我觉得就是多动手吧。身边烧写器应该有吧,没这个就进度太慢了,也可能永远都学不好,经济紧张的话仿真机可以不要的,大不了多烧几次片子。我现在公司的大部分东西都是需要控制步进、伺服电机之类的,发脉冲时我觉得用C有点来不及(个人观点),汇编知道每一个单元都在做什么心里踏实,没事时可以对程序精雕细琢,当然这种时候少:)所以习惯了用汇编。他们都说汇编不好,但我觉得在入门时汇编还是应该要学好的,多加点注释还是比较好用的。你学好了汇编就去学学C吧,学好了来告诉我C有多好多好:)
06-02-12 20:36
9楼
编辑
引用
管理
woodyxue
其实我也是觉得汇编好一些,更根本,可是看有些人说c好,具体我也没有用过!!其实我也知道自己多编程,多试学的快,可是我这里现在没有什么可以用的器材来让我学习,因为我们单位并不是专门搞单片机的,不过我想买该实验扳,看了网上的抱价有100左右的!不知道你用过keil软件没有,我看到网上的解说这个软件可以当实验 板来用,而且汇编和c好象都可以用,你要是用过的话以后小弟就靠你教我这个软件了,你要是没用过,感兴趣的话可以试一下!!!
不知道你是在那里工作啊|???
06-02-13 17:27
上一页
下一页
工控新闻
埃斯顿控股子公司拟将所持扬州曙光48%股权转让给鑫宏业
智微工业发布嵌入式AI视觉控制器:PAS-2310与PAS-6101
总投资近14亿,机器人精密减速器智能制造基地奠基!
巴斯夫在中国首次切入机器人赛道,携手傅利叶评估开发机器人新材料
AI 催化智能制造市场百亿扩容,ICT 厂商估值抬升逻辑显现
德承Cincoze工控机DI-1200:提升无人机侦测与反制系统效能的关键解决方案
2025 倍福自动化新技术研讨会
图尔克质量中枢:RFID BUS MODE赋能电池智造新时代
更多新闻资讯