您现在所在的是:

单片机论坛

回帖:7个,阅读:860 [上一页] [1] [下一页]
717
zhgw2000
文章数:12
年度积分:50
历史总积分:717
注册时间:2010/12/25
发站内信
发表于:2010/12/25 22:40:41
#0楼
本人初学菜鸟,自学51单片机,看的是何利民教授那本书,最近正做到LED显示器的实验,书上有些东西看不懂,网上搜到了这个论坛,貌似人气还不错,希望各位高手指示指示哈大概是51连8155,然后8位7段显示,图和程序都在附件里边。红字是我的问题希望高手指点,谢啦O(∩_∩)O~








附件
[此贴子已经被作者于2010/12/25 22:52:37编辑过]
717
zhgw2000
文章数:12
年度积分:50
历史总积分:717
注册时间:2010/12/25
发站内信
发表于:2010/12/25 22:41:48
#1楼
还有2个问题:①我不知道怎么把要显示的数字装入78H开头的缓冲区
②就是这个程序的效果是不是把要显示的数字显示到8个位上,然后就一下熄灭了?因为他有句是:判断八位显示完,然后就直接RET了
717
zhgw2000
文章数:12
年度积分:50
历史总积分:717
注册时间:2010/12/25
发站内信
发表于:2010/12/25 23:30:10
#2楼
那个LD1的RET是返回到哪里去??理论上应该回到第四行程序,重复刷新以保持LED常亮啊,但是这时候SP肯定不是在那里吧,因为前面调用ACALL改了SP
19260
pqsh 版主
文章数:7424
年度积分:1090
历史总积分:19260
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2010/12/27 11:02:29
#3楼
不知道例子的前后具体情况.
LD1:ret应该是返回到调用这个子程序的下一句.这只是个显示的子程序,应该在主程序或别的子程序调用的.不过,再次调用要不要初始化8155,具体不知了.
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
700
li_zhen7623287
文章数:1
年度积分:50
历史总积分:700
注册时间:2010/12/28
发站内信
发表于:2010/12/28 16:18:33
#4楼
表情
717
zhgw2000
文章数:12
年度积分:50
历史总积分:717
注册时间:2010/12/25
发站内信
发表于:2010/12/29 10:06:44
#5楼
谢谢
那怎么把要想显示的东西放入缓冲区呢
直接在前面MOV 78H,#1
              MOV 79H,#2
              ............
              MOV 84H,#7

这样可以么
19260
pqsh 版主
文章数:7424
年度积分:1090
历史总积分:19260
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2010/12/29 13:25:45
#6楼
还是那句话,不知道具体情况,前因后果.
很多写书的老师,觉得学生都懂,写出来的都是分段的子程序,又交代不清承前启后,很少给出完整的可编译执行的程序.我在学校的时候,也觉得理解很费劲,搞不明白,这么一段,怎么能执行呢?真希望那些当教授的,从初学的出发写书.简单的逻辑--我要会了,干嘛还买您老的书来看啊?
不过也帮你回答一下.你可以在代码里mov;也可以在数据段或者数据块里db,编译器自动给你填入,填入的数据也可以在反汇编里或者内存里查看到.
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
717
zhgw2000
文章数:12
年度积分:50
历史总积分:717
注册时间:2010/12/25
发站内信
发表于:2010/12/29 17:13:25
#7楼
嗯嗯。。。。谢谢谢谢啦

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004