矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 1159|回复: 16

同样的程序不同电路怎么会变?

[复制链接]
     
发表于 2024-1-8 17:54:02 | 显示全部楼层 |阅读模式
本帖最后由 海阔天空9 于 2024-1-8 18:33 编辑

89C2051写入数据后,读出正常。但同一芯片放到只有读出的电路上程序却变了?实物图是P1口不同电位驱动两组LED,可与看出相反亮灭情况。(P1-0,P1-1的上拉电阻使输出LED关闭不彻底,采用0电位LED亮)。

补充内容 (2024-1-13 18:02):
问题解决了:原来是5脚地址脉冲宽度的问题,串接一个RC并联回路变为短脉冲就行了,在没发现程序变了的问题。谢谢各位的关注!
执行电路.jpg
1704706146821.jpg
     
发表于 2024-1-9 15:20:00 | 显示全部楼层
89C2051的P1口是通用的准双向 I/O 口。输出高电平时,能向外提供拉电流负载,不必再接上拉电阻。当口用作输入时,须向口锁存器写入1。
尝试不用外部上拉电阻,或者改变LED的接法,低电平时LED亮,程序做相应的改动。
回复 支持 反对

使用道具 举报

     
发表于 2024-1-9 15:22:41 | 显示全部楼层
什么时候写入程序了??
回复 支持 反对

使用道具 举报

     
发表于 2024-1-9 15:39:07 | 显示全部楼层
dzxw 发表于 2024-1-9 15:20
89C2051的P1口是通用的准双向 I/O 口。输出高电平时,能向外提供拉电流负载,不必再接上拉电阻。当口用作输 ...

抱歉,我搞错了,AT89C2051的P1.0和P1.1端口是漏极开路。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-1-9 20:57:52 | 显示全部楼层
乙猪 发表于 2024-1-9 15:22
什么时候写入程序了??

      您说我这叫不叫写入程序了?设置好各引脚电位,把P1输出口设置成相应的0,1组合(1表示该引脚高电位,输出LED亮,0表示该引脚低电位输出LED灭)。1脚设置为12V(擦,写状态),设置好8个输出口哪个亮哪个灭。然后按一下6脚的负脉冲输入按键(数据写入)随后转换为下一个地址(5脚输入一个正脉冲)按两次按键就输入了一个字节(8位2进制数)然后在新的地址输入新的数据(一个字节)如此循环,一直到数据写入完成。引脚设置成读出状态(1脚5V,7,8,9,11脚为LLHH电平),闭合校验开关(也就是接入输出口线的8路LED),开启地址脉冲为连续自动状态,LED即可观察到上述输入的数据随地址的变化而改变LED亮暗状态。
      这不能理解为把程序写进了2051吗?
回复 支持 反对

使用道具 举报

     
发表于 2024-1-9 22:33:21 来自手机 | 显示全部楼层
我认为不是。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-1-10 07:53:12 | 显示全部楼层
本帖最后由 海阔天空9 于 2024-1-10 09:00 编辑


我有点明白了:对于您出的题如果用输出电位时序图来看就一目了然了,
表示第一个LED先点亮,后隔一秒8路LED依次点亮,全部熄灭8秒后第1至第8路LED各自隔0,1,2,3,4,5,6,7秒依次点亮1秒。,,,,不知道计算机语言如何表示?
各个字节在不同地址,不同时间的组合,不叫程序吗?
时序图.jpg
回复 支持 反对

使用道具 举报

     
发表于 2024-1-10 10:47:02 | 显示全部楼层
海阔天空9 发表于 2024-1-10 07:53
我有点明白了:对于您出的题如果用输出电位时序图来看就一目了然了,
表示第一个LED先点亮,后隔一秒8 ...

您知道冯-诺伊曼结构吗?
您知道计算机由哪些部分组成的么?
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-1-10 11:05:08 | 显示全部楼层
fshwen 发表于 2024-1-10 10:47
您知道冯-诺伊曼结构吗?
您知道计算机由哪些部分组成的么?

冯,诺依曼结构这个词倒是知道,只是这4个字而已
回复 支持 反对

使用道具 举报

     
发表于 2024-1-10 11:39:32 | 显示全部楼层
本帖最后由 fshwen 于 2024-1-10 11:44 编辑
海阔天空9 发表于 2024-1-10 11:05
冯,诺依曼结构这个词倒是知道,只是这4个字而已


冯-诺伊曼提出了现代计算机的大体结构框架;
具体说现代计算机是由运算器、存储器、控制器、输入设备、输出设备几大部分组成;
51单片机就是冯-诺伊曼结构,运算器就是中央处理器,可做算术运算和逻辑运算;存储器有两个,一个是程序存储器,保存用户写入的程序,断电不丢数据;另一个是随机存储器,用来保存零时数据如中央处理器计算产生的数据,断电数据就会丢失;控制器是用来根据程序中的指令控制各个部分进行各种操作和协调自动工作的;输入和输出设备在单片机上就是端口,可作输出也可作输入。

就您现在的操作,如果需要用两个从端口输入的数据作算术运算您怎么弄?且这两个输入的数可能是大于255的,如果要把这两个数的计算结果从输入的端口输出呢?
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-1-10 12:44:06 | 显示全部楼层
fshwen 发表于 2024-1-10 11:39
冯-诺伊曼提出了现代计算机的大体结构框架;
具体说现代计算机是由运算器、存储器、控制器、输入设备 ...

运算过程我一点也听不懂!您最好举例说明
回复 支持 反对

使用道具 举报

     
发表于 2024-1-10 13:15:35 | 显示全部楼层
海阔天空9 发表于 2024-1-10 12:44
运算过程我一点也听不懂!您最好举例说明

您被困在了6116里,自己给自己的思维建立了一堵围墙,就像井底的青蛙一样,怎么看单片机也只看得到程序存储器,这就是原因所在,所以您的问题始终在电路层面,您要问电路层面,那么运算放大器是怎么算出结果的呢?您最好忘记您的6116,从0开始重新理解单片机,否则无法冲破障碍。
单片机里的一切都是设计好的,对应着相应的指令,就像人体内的器官一样各有各的用处各有各的工作方式,您的问题就象喝水了会撒尿,这中间的过程不理解,这需要很理解吗?

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-1-10 13:46:04 | 显示全部楼层
本帖最后由 海阔天空9 于 2024-1-10 14:11 编辑
fshwen 发表于 2024-1-10 13:15
您被困在了6116里,自己给自己的思维建立了一堵围墙,就像井底的青蛙一样,怎么看单片机也只看得到程序存 ...


说了半天还是讲不联系实际的道理。不涉及具体电路。您举个计算的例子?
回复 支持 反对

使用道具 举报

     
发表于 2024-1-10 14:20:41 | 显示全部楼层
本帖最后由 fshwen 于 2024-1-10 14:28 编辑
海阔天空9 发表于 2024-1-10 13:46
说了半天还是讲不联系实际的道理。不涉及具体电路。您举个计算的例子?


您要什么具体电路呢?单片机的内部电路?操作运算器的外部电路?这两样都没有;
计算的例子,小学生都会的,比如5+3=8,单片机二进制就是00000101+00000011=00001000;
但是我猜测您应该是想知道这个加是怎么控制的,个人知识有限这我也不知道,我只知道给它相应的指令就会有相应的正确结果就行
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-1-10 14:33:08 | 显示全部楼层
fshwen 发表于 2024-1-10 14:20
您要什么具体电路呢?单片机的内部电路?操作运算器的外部电路?这两样都没有;
计算的例子,小学生都 ...

就像计算器一样,123乘以456结果56088一下就出来了,怎么算的?会按键的人不少,知道怎么算的人不多。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-5-3 07:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表