标题: 不用电脑,编程器,软件就用0和1和单片机对话究竟能不能叫单片机工作起来? [打印本页]
作者: 海阔天空8 时间: 2020-8-17 08:28
标题: 不用电脑,编程器,软件就用0和1和单片机对话究竟能不能叫单片机工作起来?
本帖最后由 海阔天空8 于 2020-8-31 15:32 编辑
各位网友多数认为不能,这或许是单片机技术发展到今天的一般认为。但我还是认为归根结底还是要用0和1与计算机电路(硬件)对话。如果我的电路硬件连接正确,总会有办法使单片机工作起来的!我承认我的单片机基础知识很差(就是想绕过各种繁杂的语言),用数码开关设置好相应的管脚电平,向哪些管脚,如何输入数据?如果有人能告诉我,我还是能听得明白的,,,,,,,
热心的网友不厌其烦的给予我帮助,并且提供了比较详细的电路,解决了我的一些问题,在此致以真诚的谢意!
不好意思,不管我的问题多么荒谬但至今没有100%否定,有朋友说我在戏弄坛友,浪费大家精力,对此在下觉得奇怪?起码我的本意不是如此。如果说是,那责任不在我。如果您看着烦,尽管不看好了。在此也提请管理如果是我在戏弄坛友浪费大家精力尽管依规处理。
,最后,我也反省了我的问题,怎么就不能把问题提得清晰一些?看来就是89C2051单片机的20个引脚功能不清楚,具体怎么使用的问题吧?希望能有高人不厌其烦的讲清楚具体用法,对于真诚帮助我的朋友在此致谢了,耽误大家时间!
单片机功能要比单纯的存储器功能多得多,难道就不能有存储器的功能吗?年轻人玩电脑游戏有几个真懂电脑的?有几个能把电脑能做的事情都作了?只会玩游戏简直就是摧残高科技!
这些天来我也反省自己的看法。根本问题就是不清楚89C2051各引脚的功能,用法。有关资料说明也讲不清楚,这或许是我想象的用法特殊的原因吧?不过网友提供的电路图(数据端,地址端,单脉冲产生电路等)提供了不用晶体产生振荡89C2051完成数据输入,储存,输出的可能性。
作者: hbcqd 时间: 2020-8-18 09:22
可以用PLC,PLC内有成百上千个可供用户使用的编程元件,有很强的功能,可以实现非常复杂的控制功能。
作者: 海阔天空8 时间: 2020-8-18 11:15
谢谢,您又提供了我一种器件。我的目的是从纯硬件电路考虑用0和1怎样教89C2051动起来。在什么状态下,0和1往哪些引脚上加。有具体电路图最好!
作者: xstong 时间: 2020-8-18 12:13
“绕开各种繁杂的语言”,我想你是想多了,设计编程语言目的就是为了“绕开复杂的0和1”!!!
0和1是数字电路的灵魂,单片机本身就是一个庞大而复杂的数字电路而已!!!
只要你有足够的耐心、认知,你可以通过大规模的开关连接设计出自己的X86!!
作者: xstong 时间: 2020-8-18 12:24
有些问题,只能个人没事儿时,想想就好!不要太过当真,好比为了砍点柴火,需要把斧子,没必要从盘古开天辟地开始,采矿、炼铁做斧子!!
作者: 海阔天空8 时间: 2020-8-18 12:45
不好意思,我一看见外国字母就晕!^_^,PLC?我好像见过?是什么?忘了,可编程器件吗?
作者: toyboy 时间: 2020-8-18 12:58
楼主,建议你暂时放弃这个想法!玩玩电子开关电路吧!先玩三极管开关电路,再加入‘门电路’,、、然后再来玩你现在的想法!轻车路熟不敢说,但至少你思路会宽很多!
作者: Roy-2010 时间: 2020-8-18 15:40
可以啊,用播碼开关来拨码或者用电键来按的也有啊
作者: 海阔天空8 时间: 2020-8-18 17:09
我就认识0和1,语言是别人规定的规则,太繁琐
作者: 海阔天空8 时间: 2020-8-18 17:11
语言产生于0和1以后没错吧?我还是从基础开始吧?
作者: 海阔天空8 时间: 2020-8-18 17:14
^_^,我相信你的话!但你就是不告诉我?没关系。或许你也没这样做过?
作者: 海阔天空8 时间: 2020-8-18 17:19
我就不相信89C2051一共20个引脚我就弄不明白它的基本功能!只是关键的地方卡住了,我大胆猜想回帖的朋友还是没这样做过得多,
作者: 海阔天空8 时间: 2020-8-18 17:29
谢谢。系统学习我是不可能了。我就相信从存储器6116到简单单片机距离并不是太远,只是对计算机语言不懂,人家一用符号说我就蒙头转向了!没关系,不就是再冲刺一回嘛!承蒙各位的热情我还是有进步的^_^在此一并致谢!尤其是“XTXB"师傅,谢谢您!
作者: breakhero 时间: 2020-8-18 19:01
没忍住回帖了,抱歉~
那个芯片是一共20个引脚,但是引脚少就意味着有些简单的东西要复杂了,单片机作为计算机设计需要按程序运行,所以首先你要用开关电路(假设你用开关与CPU互动)模拟程序指令,把指令写进片内存储器(这部分需要先学习编程器的工作原理),为了配合你的速度,你需要让单片机工作在极低的的频率,比如你用一个开关触发它的时钟,然后,然后。。。然后我写不下去了。精神可嘉!其实这和“给我一个支点我能撬动地球”是一回事,理论上对,就是实现起来需要“穷其一生”的精神。#^_^#
作者: 海阔天空8 时间: 2020-8-18 19:44
为了配合你的速度,你需要让单片机工作在极低的的频率,比如你用一个开关触发它的时钟,然后,然后。。。然后我写不下去了-------------------关键的地方就是不说?输出数据的时候保持什么节奏?寻初期6116可以根据地址变化的速度输出,单片机是按什么节奏输出数据的呢?4-5脚接的是6MH的晶体。
作者: 海阔天空8 时间: 2020-8-18 19:48
你讲的最后一段我听不懂了。不过很多资料讲手动编程的方法是存在的呀?
作者: 海阔天空8 时间: 2020-8-18 20:24
这不是手动编程步骤吗?不过我5步以后就看不懂l了。
-
编程步骤3.jpg
(929.92 KB, 下载次数: 66)
作者: hhdsdy 时间: 2020-8-19 00:49
以0和1输入的是单片机的机器码,你想让单片机按你的意愿输出对应的电平,那么就必不可少必须涉及到单片机语言!!!对单片机进行写入涉及到的是编程器,你既不想学单片机语言又不想用编程器,却要让单片机按你的想法输出,早就被坛友们给否定了,所以一年多了一直无法让89C2051点亮LED,却在论坛上以各种主题发新帖,觉得这样浪费坛友们的精力有意义吗?
作者: hhdsdy 时间: 2020-8-19 00:57
别说89C2051一共20个引脚,就说和三极管8050外形一样的DS18B20,仅3个引脚,不去学程序你研究一辈子还是会用不起来的,还是醒醒吧,也别一直发新帖了,这样下去,不说你已经浪费的一年多的时间,再浪费十年、二十年的你依旧是玩不转2051的。
作者: cy009 时间: 2020-8-19 01:04
2051需要写入程序才能工作,你不想编程,怎么可能。建议你用16个开关,手动拨0或1玩玩
作者: toyboy 时间: 2020-8-19 02:46
做过!30年前读书的时候,用的是8031单片机,简单的点亮一个灯泡,来来回回的拨开关,按按钮、、搞了整天,按到手起泡。
作者: 海阔天空8 时间: 2020-8-19 07:01
那请你解释一下:AT89C2051编程步骤“是怎么回事?
作者: 海阔天空8 时间: 2020-8-19 07:03
”建议你用16个开关,手动拨0或1玩玩“-----这是什么意思?16个开关和编程器什么关系?
作者: 海阔天空8 时间: 2020-8-19 07:05
2051需要写入程序才能工作,----------写入程序只有编程语言的唯一方法吗?
作者: Y_G_G 时间: 2020-8-19 10:17
莫生气,楼主并不是想学单片机,他只想和别人抬扛,有人回复了他就高兴,不管你说什么,他总能跟你抬扛
所以呢,看看就好了,我会经常看楼主的帖子,我觉得楼主是一个有理想的人
他要做的,是整个人类历史上从来没有人做过的事:用按键去给单片机编程(虽然他不知道怎么区分编程和烧录这两个东西)
而且,他已经认定是以前就是用按键来输入的(虽然他不知道这个是错误,而且他可能会问:不是用按键编程那用什么来编程?难道不是0和1吗)
从1944年人类开始编程以来,从来就没有过用按键输入的,穿孔纸带从1944年就开始使用了,它严格的规定是哪个是时钟孔,哪个是信号孔,有孔就是1,没孔就是0
如果楼主学会了单纯用按键输入程序,将会是整个中国的半导体行业的第一人
而且,楼主还有信心搞定2051,这也是可以的,2051内部好像只有4万多个晶体管而已,对于现在动不动就上千万的晶体管的CPU是要简单很多的,难度并不大
对于这种帖子,要么不回复,要么直接沉了
作者: 阡_陌 时间: 2020-8-19 10:33
0和1组成的机器码太过晦涩难懂。
作者: hhdsdy 时间: 2020-8-19 12:39
AT89C2051编程步骤坛友早就回答过了,只是你自己不学基础,连地址都理解不了,叫人怎么和你解释?另外,别转移话题,我发现你转移话题的能力还是不错的,在别的帖子里一再转移话题。
还有,你的问话“写入程序只有编程语言的唯一方法吗?”让人怎么理解?还是踏踏实实学好基础才有办法和人沟通,否则就像我之前说的,连ABCD都不认识也不想学就想去米国学英语,人家怎么教你?你真当坛友好愚弄,坚持辩称2+3等于9就会成为事实?
作者: hhdsdy 时间: 2020-8-19 12:42
没生气,我只是觉得他这样一再戏弄坛友看不过去,和他辩一辩让大家看清事实,没想到老帖被辩得无话可说就连开两个新帖了,要是我是版主根本就不让他通过发帖。
作者: 1692483014 时间: 2020-8-19 14:00

我想楼主应该看看微机原理相关书籍,了解MCU的架构组成以及工作原理,了解内核和外设分别是怎么运行的。那么语言的作用自然就清楚了。如果再买一些ARM架构的开发板和FPGA/CPLD的开发板实践一下,然后会更加清晰。如果作者是啥也不想干,只想讨论问题,我建议不要在这个行业混,因为时间会让你越来越后悔,以至于青春已逝后,再无回天之力。
作者: 海阔天空8 时间: 2020-8-19 21:06
“如果楼主学会了单纯用按键输入程序,将会是整个中国的半导体行业的第一人”--------------你说的有孔就是1没孔就是0。有孔和没孔为什么就不能用微动开关代替?
作者: 海阔天空8 时间: 2020-8-19 21:11
既然我说得行不通,请教一下图中的编程方法指的是什么
-
2051编程.jpg
(369.42 KB, 下载次数: 88)
作者: jhczy 时间: 2020-8-19 23:09
楼主,你所说的“图中编程方法”,那是编程器向单片机烧录程序时的工作步骤,也可以说是编程器烧录程序时的过程,就是这样一步一步的将程序烤进了单片机内的(如89C2051等)
作者: 海阔天空8 时间: 2020-8-20 07:23
谢谢,你说的或许是对的。步骤里1-3都是对单片机引脚的电平设置这可以用微动开关完成。第4步0001地质单元在哪?P1,0-P`1,7(12-19脚)也好找,“输入数据代码”是不是对P1,0-P1,7引脚设置电位的0或1?第5步应该是把输入的数据固定下来(激活编程)的意思?第6步,使6脚(P3,2口)跳变一次是不是地置加一的意思?,,,,
他这个编程步骤很难理解?
作者: 海阔天空8 时间: 2020-8-20 08:07
你说的是真的假的呀?我这个问题遭到众多人的反对了!^_^,,,,,,,,,,,,,,,,
作者: 海阔天空8 时间: 2020-8-20 08:09
“你既不想学单片机语言又不想用编程器,却要让单片机按你的想法输出”--------------不是按我的想法输出。我是“手动编程”步骤的想法,我理解错了吗?
作者: 海阔天空8 时间: 2020-8-20 08:10
“建议你用16个开关,手动拨0或1玩玩”----能达到什么效果呢?
作者: 海阔天空8 时间: 2020-8-20 08:14
说了一年你也说不到点子上!一味的指责我的无知!这不要紧,麻烦你认真的解释一下“手动编程步骤”是怎么回事?如果你能解释清楚,免得别人被我浪费时间、也不乏是一件善事!。还是说点有用的吧
作者: 海阔天空8 时间: 2020-8-20 08:16
“连地址都理解不了,”-那就麻烦你解释2051的地址在哪?比一味的指责我没有基础好些!
作者: 海阔天空8 时间: 2020-8-20 08:18
请问现在会编程的有几个明白电脑原理的?就会根据提示软件按键那叫懂单片机?这个我也会!
作者: 海阔天空8 时间: 2020-8-20 08:19
那就是说还得有编程器?或许我理解错了
作者: yzwzfyz 时间: 2020-8-20 10:57
楼主是个电子、电器爱好者,且经验丰富,动手能力强,思路独特,善动脑。
但单片机是楼主的软肋。
如果能按楼主说是达成目的,那只能叫简单的逻辑电路。几乎不能叫程控。
单片机是为复杂逻辑而设的,如果硬要用简单的方式,来处理复杂的事件。请考虑是否合适。
花点功夫学会单片机不是很好吗,当你掌握了单片机之后,你会发现它能轻松地能解决许多你以前很解决的复杂问题。
作者: 海阔天空8 时间: 2020-8-20 12:00
说真的单片机我下了几十年的功夫就是看不懂!不知卡在哪里?总认为设置好电路状态改变某些引脚的0和1就算输入“程序”了?总拿存储器6116的模子套单片机,至于程序语言嘛真的不学了,行将就木之人当作消遣了
作者: xstong 时间: 2020-8-20 12:46
咱们将别人辛勤研究的成果用好,就够了!
世界真的很大,即便是你倾尽一生也只能看到冰山一角!专业的事,让专业的人去做吧,咱不纠结!
学会使用单片机真心不复杂,但是,单片机的每个硬件组成模块,都有很多人用着毕生的精力在研究。
用好他人的成果就是对他人最大的支持和肯定,也是对你个人的肯定,不要再折磨自己,
条条大道通北京,何必非要选最远的一条路走!!!
作者: 海阔天空8 时间: 2020-8-20 12:54
你说的是有道理,我就认准了从存储器RAM6116到单片机,不远了?(存储器的使用作为单片机的基础,可以吗?)为什么就这么困难?6116的输入/读出数据不复杂呀(CD4060-CD4520提供6116的地址)?单片机输入/读出数据为什么就这么困难?可能还是没有正确的电路图及其设置方法?
作者: angmall 时间: 2020-8-20 14:57
遵循此电路图连接, 就是89C2051的手动编程
作者: 海阔天空8 时间: 2020-8-21 08:05
谢谢您!我相信。但一时难以消化,,,,,,,,
作者: 海阔天空8 时间: 2020-8-21 08:12
二进制数据和地址显示分开了?555第3脚输出是显示输出节奏吗?需要两个电源?12V和5V。12V用作“激活编程”?74LS245做数据输入转换?,,,,,,,,,,,,
作者: 海阔天空8 时间: 2020-8-22 18:09
2051的第5脚做地址计数脉冲输入吗?同时CD4040显示地址,K5-K12做数据输入?
作者: breakhero 时间: 2020-8-22 23:15
ATMEL_89C2051.pdf
(329.49 KB, 下载次数: 7)
这个是2051的资料,你找的截图中文翻译估计也是来源于此,从第8到第11页就是有关编程方法部分,你配合44楼(在此感谢44楼有心,换我真的没有信心耐心写下去)的古董资料图理解。
如果你一定要只用外接开关实现编程(你想用2051正常工作就得先给它编程,这个不以你的意志为转移),那么按如下准备试试(我没试过,也不准备试,因为我有编程器,所以现在是纸上谈兵,我按个人理解复述资料):
20脚VCC接个常开单掷开关(叫K1)到5V电源+,10脚GND接5V电源-(电源共地)。
1脚RST接个100欧3瓦的电阻到地,再接一个常开开关(K2)到一个双掷开关(K3)动触点,K3常闭触点接5V+,常开触点接12V+。
5脚XTAL1接个4.7K电阻到地,再接个常开开关(K4)到5V+。
6、7、8、9、11脚P3.2~P3.5、P3.7分别接个1K电阻到地,再分别接常开开关(K5~K9)到5V+。
12~19脚P1.0~P1.7分别接个1K电阻到地,再分别接常开开关(K10~K17)到5V+。
然后按你截图步骤操纵开关。
唉,我困得不行了,写不下去了。就这样吧。
作者: 海阔天空8 时间: 2020-8-23 16:55
谢谢您的图!这个图和6116存储器有很多类似之处,地址显示和数据显示,手动地址输入计数(发单脉冲?)进入单片机的第5脚(XATL2)使地址进行累加1的计数(555第3脚是否是数据输出时自动完成有节奏的输出?)。按键K1-K4对单片机P3-3,P3-4,P3-5,P3-7送入高电位是完成什么功能?是不是完成功能设置?这个电路没有接入晶体?是不是单片机的简化应用?基本就是存储器6116的实验电路?恐怕写入的“程序”,也不能脱离这个电路才能显示,但是它克服了6116存储器断电就失去程序的弊端?
以上理解是否正确?望指正,谢谢。
-
裁剪_15.jpg
(100.21 KB, 下载次数: 315)
作者: 海阔天空8 时间: 2020-8-23 17:51
谢谢!说明手动编程还是可以的(只要单片机动起来即可,要求不高)。“常开触点接12V+”就是给1脚(复位端)加一个+12V脉冲把输入数据固定下来的意思吗?
我可能硬件连接没什么问题,我觉得44楼(我真的谢谢他的热情帮助!)提供的图对我帮助很大。原因是先入为主我总用存储器6116的模式去套单片机,^_^。他的图单片机并没接入晶体振荡器,估计脱离了这个电路单片机也运行不起来?是这样吗?谢谢。
作者: breakhero 时间: 2020-8-23 20:36
13. Flash Programming Modes
Notes: 1. The internal PEROM address counter is reset to 000H on the rising edge of RST and is advanced by a positive pulse at XTAL1 pin.
2. Chip Erase requires a 10 ms PROG pulse.
3. P3.1 is pulled Low during programming to indicate RDY/BSY.
注:上面三处下划线原本应该是上划线;▔╲▁╱▔代表低电平脉冲。
作者: breakhero 时间: 2020-8-23 21:12
2051可以工作在时钟0赫兹,所以不使用晶振的情况下,5脚可以输入脉冲,单步运行。
我认为你没有看我上面贴的2051的PDF手册。摘录一段:
11. Programming The Flash
The AT89C2051 is shipped with the 2K bytes of on-chip PEROM code memory array in the erased state (i.e., contents = FFH) and ready to be programmed. The code memory array is pro-grammed one byte at a time. Once the array is programmed, to re-program any non-blank byte, the entire memory array needs to be erased electrically.Internal Address Counter: The AT89C2051 contains an internal PEROM address counter which is always reset to 000H on the rising edge of RST and is advanced by applying a positive going pulse to pin XTAL1.Programming Algorithm: To program the AT89C2051, the following sequence is recommended.
1. Power-up sequence:
Apply power between VCC and GND pins
Set RST and XTAL1 to GND
2. Set pin RST to “H”
Set pin P3.2 to “H”
3. Apply the appropriate combination of “H” or “L” logic
levels to pins P3.3, P3.4, P3.5, P3.7 to select one of the programming operations
shown in the PEROM Programming Modes table.
To Program and Verify the Array:
4. Apply data for Code byte at location 000H to P1.0 to P1.7.
5. Raise RST to 12V to enable programming.
6. Pulse P3.2 once to program a byte in the PEROM array or the lock bits. The byte-write cycle is self-timed and typically takes 1.2 ms.
7. To verify the programmed data, lower RST from 12V to logic “H” level and set pins P3.3 to P3.7 to the appropriate levels. Output data can be read at the port P1 pins.
8. To program a byte at the next address location, pulse XTAL1 pin once to advance the internal address counter. Apply new data to the port P1 pins.
9. Repeat steps 6 through 8, changing data and advancing the address counter for the entire 2K bytes array or until the end of the object file is reached.
10. Power-off sequence:
set XTAL1 to “L”
set RST to “L”
Turn VCC power off
然后百度机翻如下:
11闪存编程
AT89C2051配备了2K字节的片内PEROM代码存储阵列,处于擦除状态(即,内容=FFH),可随时编程。代码存储阵列一次编程一个字节。一旦数组被编程,为了重新编程任何非空白字节,整个内存数组需要被擦除电气。内部地址计数器:AT89C2051包含一个内部PEROM地址计数器,该计数器总是在RST的上升沿重置为000H,并通过向引脚XTAL1施加正向脉冲来推进。编程算法:至对AT89C2051进行编程,建议采用以下顺序。
1、通电顺序:
在VCC和GND引脚之间通电
将RST和XTAL1设置为GND
2、将引脚RST设置为“H”
将插脚P3.2设置为“H”
3、应用“H”或“L”逻辑的适当组合
电平至插脚P3.3、P3.4、P3.5、P3.7,以选择编程操作之一
如PEROM编程模式表所示。
要对阵列进行编程和验证,请执行以下操作:
4、在位置000H到P1.0到P1.7处应用代码字节的数据。
5、将RST升高至12V以启用编程。
6、脉冲P3.2一次,在PEROM数组或锁位中编程一个字节。字节写入周期是自定时的,通常需要1.2ms。
7、为验证编程数据,将RST从12V降低至逻辑“H”电平,并将插脚P3.3至P3.7设置到适当的电平。可在端口P1引脚处读取输出数据。
8、为了在下一个地址位置编程一个字节,脉冲XTAL1管脚一次,使内部地址计数器前进。将新数据应用到端口P1引脚。
9、重复步骤6到8,更改数据并为整个2K字节数组前进地址计数器,或者直到到达目标文件的末尾。
10、断电顺序:
将XTAL1设置为“L”
将RST设置为“L”
关闭VCC电源
注意手册里芯片5脚标记为XTAL1。
写在最后:虽然你一直在感谢这个感谢那个,但是你似乎并不去深入思考别人的帮助,我认为我已经解释得足够清楚,“渔”已经给你了,后面的鱼还得靠你自己。提示一下,你所说的“节奏”太过艰涩。关于2051和6116的比较,不合适。坚持写下来了,措辞如有冒犯,见谅。#^_^#
作者: breakhero 时间: 2020-8-23 22:01
我假设的那个K3为双掷开关是为了切换高电平“H”和编程电压+12V的。flash存储器存储数据0是靠高压向存储单元的mos管绝缘栅极注入电荷,所以这个+12V(高压)VPP需要在编程操作时引入,2051设计为VPP和RST复用,也就是1脚。
作者: hhdsdy 时间: 2020-8-24 01:23
又被忽悠上了一个,朋友,楼主根本就不是想学单片机,他早就说明了,不学任何的单片机语言,不想使用编程器,只想像6116那样用开关输入什么输出就是什么,所以,你也别费尽心思去指导了,就一个2051单片机重复发帖(你可以认真搜索看一下他发的涉及单片机的帖子),一年多了还在原地踏步。我就发两个楼主的帖子吧,你自己看看
http://www.51hei.com/bbs/dpj-192587-1.html
http://www.51hei.com/bbs/dpj-194066-1.html
作者: 海阔天空8 时间: 2020-8-24 07:26
“我认为我已经解释得足够清楚,”--------您说得不错!但是会者不难难者不会。还是要谢谢您!
7、为验证编程数据,将RST从12V降低至逻辑“H”电平,并将插脚P3.3至P3.7设置到适当的电平。可在端口P1引脚处读取输出数据。
“设置到适当的电平”?是什么电平?
“关于2051和6116的比较,不合适”?但我却觉得有不少类似之处呢?
作者: 海阔天空8 时间: 2020-8-24 07:32
“所以这个+12V(高压)VPP需要在编程操作时引入,”?如果您这样说“输入数据之后升高1脚电压到12V可以固定(激活)数据数据完成一个地址的编程”。我不就明白了嘛!是不是这样理解?^_^谢谢~
作者: 海阔天空8 时间: 2020-8-24 08:08
“2051可以工作在时钟0赫兹,所以不使用晶振的情况下,5脚可以输入脉冲,单步运行。”---------这话解除我的疑惑了。越发觉得和存储器6116相似之处了。谢谢!
作者: 海阔天空8 时间: 2020-8-24 08:11
12V(高压)我还似乎懂,出来个"VPP"?是不是“峰-峰值”的意思?外国字是我最大的障碍!^_^,,,,,,,,,,,
作者: breakhero 时间: 2020-8-24 21:27
统一回答:
1、set pins P3.3 to P3.7 to the appropriate levels百度机翻为 将插脚P3.3至P3.7设置到适当的电平。因为我51楼摘录的手册里解释了P3.3、P3.4、P3.5和P3.7它们四个引脚的不同二进制组合决定编程操作中对应的工作模式。电平就是我让你接了4个开关可以通过拨动开关让这四个引脚电压为0或者+5V,以实现上面说的不同二进制组合即适当的电平。你要让2051听你话,你就得告诉它,这4个引脚的逻辑组合对应不同命令,具体命令是啥,看表格第一列,不认识就复制下来去翻译。
2、关于那个比较合不合适,你以后如果明白了就明白了,始终不明白那就当他合适吧。
3、多看一些书、资料,就理解了术语了,用术语是因为该严谨的地方必须严谨。
4、编程操作翻着花变能差到哪,不是相似,本来就一回事。但这俩东西本来就不是一回事。这句就别再问我了,参照上面第二条。
5、我解释了,1脚是复用引脚,重复使用引脚,因为引脚少,厂家会把一些不冲突的功能引脚合并,那么地1脚就是RST(Reset input)(复位)和VPP(Programming Enable Voltage)(编程使能电压)的复用,资料标示为RST/VPP,是不是峰峰值我也不知道,不知道不能瞎说,但确定它是编程电压,而且是+12V(要求范围11.5~12.5),所以是不是峰峰值并无必要吧。
感谢54楼的善意提醒,我早已知道。其实我用这么大篇幅回复楼主就是希望能帮到楼主最好,帮不到也希望楼主体会到坛友的热心,尽量多自学一些,听听劝,放下执念。
楼主再有疑问把那个PDF完整翻译了,都在里面,不亲自动手动脑永远无解。
我的回复收工了,完结。#^_^#
作者: 海阔天空8 时间: 2020-8-25 07:20
不是一年多原地踏步,是几十年原地踏步!为什么?一是我笨,二是还没有人能具体的讲清楚!按电路图如何接线?如何操作?多是用“正规”的单片机语言说话,就用0和1和电路直接对话。看来多是没有这样做过的?有不少朋友认为是可以这样做的!也有不少人认为我是捣乱!实际不是这样的。
作者: 黄youhui 时间: 2020-8-25 08:23
你的理论上是可行,但是理论终究只是理论,实现起来很难的,很多器件你只要给他一个电平信号他就能工作,你用拨码开关没问题,但是很多器件和单片机之间的通讯是有通讯协议的,例如外加存储器的读和写,往里面写一个数字你可能要按半天开关,而且按错一个全白费
作者: XTXB 时间: 2020-8-25 09:06
他说他是“新将就木之人”,猜想他年纪大了,仅仅是希望有人能跟他说话而已,只是可伶了那些热情的认真的网友,越认真越受伤..........
作者: TTQ001 时间: 2020-8-25 09:54
没有程序,微处理器将无法工作。
作者: xianfajushi 时间: 2020-8-25 11:49
这种思路只适合玩数字电路,不适合玩蛋骗鸡,数字电路与蛋骗鸡相去甚远。数字电路与蛋骗鸡各自体系,否则为何要花费时间和精力去研究、开发、学习蛋骗鸡。
作者: 海阔天空8 时间: 2020-8-25 12:49
0001表示10进制的1,0010表示2,,,,,,任意数也可以用二进制表示,小学2年级也知道几十个亿怎么表示了,但他不一定用过,,,,,
作者: mengzhixinheng 时间: 2020-8-25 12:50
海阔天空8 发表于 2020-8-18 20:24
这不是手动编程步骤吗?不过我5步以后就看不懂l了。
这个是做下载器需要考虑的过程,不是手工编程。程序还是电脑写好的,只是需要按照这些步骤去写入单片机。
作者: hhdsdy 时间: 2020-8-25 13:45
不是因为笨,而是你自己确定的错误的学习方法和态度而造成的。
电路图如何接线,众多坛友们一而再再而三地说明了,自己基础不过关,反倒认为坛友们“没有人能具体的讲清楚!按电路图如何接线?如何操作?”了,有点倒打一耙的感觉。
“多是用“正规”的单片机语言说话,就用0和1和电路直接对话。看来多是没有这样做过的?”----------有些术语、单词或者名称等肯定是按规范的或者约定俗成的说法来表达,对成年人说话难道还要用婴幼儿的语言说?难道数学师傅上课得把2的4次方说成2*2*2*2?手工编程对于近几年学单片机的人来说是几乎没有人做过,淘汰的东西有什么值得津津乐道的?你要去隔壁城市出差办公事,放着车、船和飞机不用非要走路去,偏又说走路累脚痛,让大家帮你想办法到隔壁城市去,你说谁傻?
“有不少朋友认为是可以这样做的!”----------------你搞清楚大家回复的是什么,是可以手工编程,而不是不用编程就可以给单片机编程输入;可以用机器码输入让单片机运行,但不是可以不用学单片机语言玩单片机
作者: 海阔天空8 时间: 2020-8-25 14:25
归根结底还还是向单片机引脚加入0或1吧?其他引脚电平如何设置?(写入,保存,读出,,,,各引脚状态如何设置?)向哪些引脚加数据(数据的组合不就是程序吗?)?
作者: 海阔天空8 时间: 2020-8-25 19:08
人家都提供电路图了!你就不能,,,,,,,,
作者: 海阔天空8 时间: 2020-8-25 19:11
这就是您对“语言”的理解吗?我还是认为,最终单片机就认识0和1.不管什么语言就是一种规则,最终也要用0和1与单片机引脚对话,这样说对吗?
作者: 海阔天空8 时间: 2020-8-25 19:14
“烧录程序”?你解释一下好吗?
作者: 海阔天空8 时间: 2020-8-25 19:17
我想象的“玩单片机”无非就是利用电脑,编程器等和特定软件根据电脑提供的对话框输入各种计算机语言的代码,点鼠标而已
作者: 海阔天空8 时间: 2020-8-25 20:42
就说地址吧?地址不就是存储数据的地方吗?不对吗?说了100遍“不懂基础”了,那就麻烦您举1--2个基础的例子好吗?如果您认为我愚弄坛友,那就干脆别理我好了。
作者: 海阔天空8 时间: 2020-8-25 20:51
您假设的那个K3是不是44楼图中的T1(9012)导通后就把12V送到1脚(RST)了。
作者: hhdsdy 时间: 2020-8-25 22:48
你这么认为也对,但是你不能回避一点,你想让单片机输出00000010,给单片机编程输入00000010是绝对不行的,因为单片机运行的是程序而不是存储数据,对于这一点你就不用再争论了。
作者: 海阔天空8 时间: 2020-8-26 11:35
“给单片机输入00000010”后,那它输出的是什么?
作者: 海阔天空8 时间: 2020-8-26 11:38
数据和程序是什么关系?我还真不懂!请教了,,,,,,,,
作者: 海阔天空8 时间: 2020-8-26 11:49
初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间要有一个切换的过程,或者说要有一条指令,事实上,各端口的第二功能完全是自动的,不需要用指令来转换。如P3.6、P3.7分别是WR、RD信号,当微处理机外接RAM或有外部I/O口时,它们被用作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从P3.6或P3.7送出,不需要事先用指令说明。事实上‘不能作为通用I/O口使用’也并不是‘不能’而是(使用者)‘不会’将其作为通用I/O口使用。你完全可以在指令中按排一条SETB P3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么去做,因为这通常会导致系统的崩溃。
作者: 海阔天空8 时间: 2020-8-26 17:56
单片机的各个引脚输出的是不是0或1变化的电位?
作者: 海阔天空8 时间: 2020-8-26 18:44
抱歉,我的目的不是单片机的实际应用,只是想了解一下单片机的最基本,最简单原理,能输入输出数据就满足了,某坛友提供的电路图越看越像存储器6116的写入,输出数据的过程呢?显示地址,显示数据,单脉冲改变地址,写入-输出的转换设置,,,,,看来我是思想被存储器6116限制住了?不过单片机89C2051完全可以胜任6116的功能是毫不奇怪的。89C2051单片机如果断电后输入的数据能不能保存呢?这个我不知道?
作者: 海阔天空8 时间: 2020-8-26 18:45
数据和程序的关系我不清楚?
作者: 海阔天空8 时间: 2020-8-26 21:02
单片机可不可以存储,运行输出数据?
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |