搪瓷杯 发表于 2020-8-19 14:24 好了,不说了。归根结底是各引脚功能没说具体,没说明白,,,,,, |
海阔天空8 发表于 2020-8-18 17:46 5.不用管0001h单元,是在P1口上加八位二进制数。 6.12v是直接加到1脚。 7.P3.2由高电位跳到低电位再跳回高电位,低电位保持时间不小于1.2ms。 8.读出写入的数据,具体步骤XTXB网友已经给出了。既然是手工编程器,校验只能是肉眼进行了,将第5步写入的数据和读出的数据进行比对。 9.没法显示地址的变化,看了下手册,没有看到编程时读内部地址计数器的方法。 10.悬空其它脚是个保护性的做法,我估计你就是直接下电也不会有什么问题,但是再次上电时要注意下。 P3口在编程时就是做控制脚用,无法做输出端。P1口在编程时就是做输入端口的。 题外话 楼主你这个电路不适合做编程器电路,改也比较麻烦。这个电路本身还有些小毛病。还是按 XTXB网友提供的方案再做一个好。电路不复杂,制作容易,成本也很低。 你上面的这些问题,之前就有网友给你解答过了,其实没必要纠结这些,先把电路做出来,按步骤一步一步操作,有些疑惑在实践过程中就会慢慢弄明白。 建议楼主找本模电、数电的基础教材看看。 74系列可能更符合你的要求。 回复到此为止,不给论坛添麻烦了。 |
版主还是把这个主题给关闭了吧,这和大家争论2+3=9没什么两样的 |
TTQ001 发表于 2020-7-13 06:37 直接对某些引脚加0和1电平不可以吗? |
XTXB 发表于 2020-8-13 19:54 ^_^,过誉了!我哪有那么高的层次?风烛残年具有消遣的意思。只是固执的认为我说的方法具有可能性没有?现在看来有不少朋友认为是有可能的(只涉及原理不谈难易和效率)!只是不知道具体如何操作罢了, |
wwh2382 发表于 2020-8-13 16:37 您是理解我的意思了!至于有没有意义?对我来说绕开了语言就是最大的意义!语言,我是绝对不学了,,,,,, |
XTXB 发表于 2020-8-13 14:04 “激活就是:RST从5V升为12V”-----------谢谢!激活的目的是不是就是固定输入的数据?如是,这是关键的一步!我还没做过!或是症结所在! |
XTXB 发表于 2020-8-12 14:34 “焊上钮子开关3挡的那种(因为涉及到悬空),”----见笑了,我还真没见过右4个挡位的微动开关。各脚还有悬空状态吗? |
XTXB 发表于 2020-8-11 11:00 “就是在芯片管脚接上开关,人工逐个按机器码拨动开关,设置地址,设置数据,写入,”----------我也是这个意思:设置好相关引脚电平,数码开关改变相关引脚电平,然后是不是要确认一下输入的数据?或许就是升高复位引脚(1脚)电压为12V?来固定一下输入的数据?存储器6116就是这样的。 |
刀刀见红 发表于 2020-7-16 18:59 没错,说得对!问题就是指令(应该是0或1)往哪加?加上如何固定?叫单片机记住?(是不是就是“激活”?) |
Y_G_G 发表于 2020-8-16 15:01 不用电脑,编程器,软件就用0和1和单片机对话究竟能不能叫单片机工作起来?---对于这个问题您的最正确回答就是“不知道”!别的就别多说了,,,,,,,,,,,,,,, |
hsl32 发表于 2020-7-14 08:30 “这个我干过,用拨码开关输入,编程电压12V,结果是——芯片烧坏两颗不敢弄了”-----------我怕的也是这个呀!值得借鉴。 |
Y_G_G 发表于 2020-8-15 11:30 你说的是方法问题。方法只有一个吗? |
hhdsdy 发表于 2020-8-16 10:26 您反复强调“基础知识”,基础知识就是绝对绕不开的各种计算机语言吗?我还是认为不一定!语言,程序用0和1跟单片机对话,通过拨码开关就不能了吗? 我没有认为这里是包教包会的培训网站呀?网友也没有这样的义务。愿意回就回不愿回就不回,自便。只要我不违规,发了您可以不看。谁能保证发的都是绝对正确的? 这样说吧:至今我还是认为通过一个正确的硬件电路,用拨码开关对单片机相关引脚设置不同的0和1组合可以叫单片机动起来! |
海阔天空8 发表于 2020-8-16 18:10 现在买小车比以四十几年前买自行车容易了,可是你能拿当初修自行车的工具来修小车吗?这已经不是效率的问题了,正视现实吧。 |
hhdsdy 发表于 2020-8-16 10:00 您说的基础知识就是绝对无法绕开的各种计算机语言吗?这样说吧:我就是探讨一下用0和1直接和电路对话的可能性有没有? |
海阔天空8 发表于 2020-8-16 18:11 别光说不练,先争口气,用我的方法,3个月之内把89C2051的P3.4点亮就算你赢! 可以人肉编程的单片机都是古老的型号,没啥现实意义,纯粹玩玩而已, 回帖到此为止,咱们也别给平台添麻烦了。 |
TTQ001 发表于 2020-7-13 06:37 说的太绝对了 |
众多的计算机语言实际就是人和电路对话的一种规则,工具。是人为规定的。归根结底是用0和1和电路对话。不考虑效率直接用0和1 与电路对话就不可以吗? |
XTXB 发表于 2020-8-15 18:55 哥们,你不要再回复这个帖子好吗?你说的和楼问的,压根就不是一个东西!楼主在一年半以前就开始想手动搞这个了,如今还是在在原地,你知道为什么吗?因为他觉得单片机就是他想象中的那个样子,然后就完全按着他自己的路去走,而且,还要别人教他怎么去走他"自己认为的"这条路 回到正题:楼主是想着不用学任何编程语言,任何编程语言!任何编程语言!包括机器语言!他只想通过对着单片机某个引脚加电压,然后再对着另一个引脚输入0或者1就可以实现某个功能的!可单片机根本就不是这样子运行的呀! 单片机是一定要编写好代码,然后把代码烧录到单片机的程序存储器中,然后,单片机才会按照程序存储器中的代码来运行的.不管是C语言还是汇编都是要先烧录到程序存储器中才能运行的,单片机不是通过外部IO来运行的呀!! 而你一直在教他的是汇编指令的指令码,这个也是要先烧录才能运行的,楼主却以为通过你给的代码,在单片机外部输入0或者1就能运行的 他连烧录器都不想用呀!!他通过手动0或者1就可以了,没有烧录器的时钟,都没有办法和单片机握手的! 你就不要再跟着楼主闹腾了,你答的和他问根本搭不上边好吗? 你们帖子回复多了,帖子就会排到前面了,把那些真正有意义有难住的帖子挤下去了,给别人一点空间吧,楼主在一年之后依然还是学不会单片机的 |
我用手机烧录过arduino |
以前没有电脑,只有一块开发板,板上有数码管和十六进制键盘,程序用RAM保存,断电就没。有一个ROM只支持基本的操作,程序都是汇编,自己在纸上写好,再对照指令表人工转成机器码,用键盘输入到开发板,运行排错,那是一个怎样的场景啊,现在回头看看,你们可真幸福!。 |
搪瓷杯 发表于 2020-8-15 19:12 忘了复述楼主的一句话,“我不得不说了!如果书上都能说明白(这就要看作者的对象和写书的水平了),现在99%的学校都是多余的了?!顶尖名校也多是按书上的内容讲吧?创新的有几个?我这不是抬杠!一切都用”看书去“回答,这个网站也没什么意义了?”,楼主认为自个儿看书是看不明白的,有点基础知识都要论坛给解释的意思,更把这个论坛当成了包教包会的培训网站了,他认为单片机书籍都是不洋不中的翻译有问题,我真不知道他看了哪些单片机上的书籍,或许可以认为根本就没有看过。我后面的几个回帖语气都偏重了,楼主真应该脚踏实地从头学起,而不是ABCD都还没学会就想去米国学英语了。 |
搪瓷杯 发表于 2020-8-15 19:12 是这样的,他坚持不学单片机语言,却没意识到,他所说的给单片机输入0和1,实际上是涉及到了机器码,但是不学单片机语言,仅凭别人给几个机器码,他就算是玩了单片机了吗? 本贴标题“不用电脑,软件,编程器就不能玩单片机吗?”可知,楼主是想在不用电脑的情况下玩转单片机,但他这么久了还不听网友的劝,基础知识都没去掌握,软件不涉及,硬件不了解,光“动嘴”怎么玩?大家给他说的一些东西他根本就听不懂,最后也只能是依葫芦画瓢整几个出来,而不是自己玩出来的(不对,或许他认为经过他自己的手完成了就是他完成的了)。 这是他在另一个帖子的回复,“纯硬件就不能使用单片机吗?”,这是后面的回复以及楼主的回复(为了方便解读,将楼主说的话用蓝色字表示), wwh2382 发表于 2020-8-12 08:35 纯硬件就是不能玩单片机,哪怕你只想改变一个引脚的电平(0或1),也要通过程序来实现。因为单片机是软硬 .. 你这话我不太相信!哪个软件不是通过硬件完成的? 还有,“哪怕你只想改变一个引脚的电平(0或1),也要通过程序来实现”--------------------------这话说的,不敢苟同! 只会坚持自己认为正确的观点,却不说出理由,只会说 “交流有时很困难:提问的要叫解答的明白问的什么(这叫会问),解答的也应该理解要问的问题(这叫会答)否则就是“隔靴搔痒”,很难达到迎刃而解的效果。”,却不知道,自己因为没认真学基础知识,提出的问题让坛友费解误解,又怎能有针对性的答复呢?而且答复了很多东西因为缺乏基础知识而不能理解,所以一年多了只能原地踏步。他根本就没有意识到,一个人说他错,不一定是他的错,但大部分人说是他的错,他就可能是真的错了。 我不知道楼主为什么坚持不依赖编程器、不学单片机语言偏要玩单片机,虽然他说过要返璞归真重走长征路,可这不是拒绝学习基础知识的理由啊。 他说不想对单片机编程,我曾经回复说单片机外面挂载存储器,只对存储器编程就简单了,不过他没有回复,不知道怎么想的,现在论坛发帖很慢,有些顺序都颠倒了,其实这件事归根到底还是他不去掌握基础知识。 |
怎么会有这样的想法?觉得你很奇怪哦!在单面机没发明前,电脑就更不用说先发明了!是先有单片机,后来逐步演化发明了电脑,所以说最早的单片机并不是用电脑写出的程序。只是现在我们用电脑写程序,觉得更方便一些,才用着电脑。 |
搪瓷杯 发表于 2020-8-16 01:33 (7),“使6脚(P3,2口)跳变一次”如何操作?“写字节周期1.2MS”(自定时)什么意思? 你看之前是不是在P3.2脚加了高电平,这步就是要给P3.2脚加一个低电平,保持一定时间后回到高电平,从高电平到低电平再回高电平是不是跳变。 实际操作就是把你的拨码开关从接电源拨到接地保持1.2ms后拨到接电源。 -----------谢谢!1.2mS眨眼间的事可视为自动。 |
XTXB 发表于 2020-8-11 20:17 激活电压+12V也就相当于我那6116“写入”微动开关按下才能把数据写入(白LED亮一下显示数据已经写入了),不然输入的数据白费了 |
XTXB 发表于 2020-8-11 20:21 如果地址自动加一那就好了(无需搞清原理了)激活电压+12V是必须要加的(1脚复位端),不然就不能固定住输入的数据?我这样理解对吗? |
谢谢“XTXB”网友对我提供了最现实最真诚的帮助!增强了我的信心,至少说明我的想法不完全是胡说八道。而不是像那位只会说风凉话的资深专家。 |
本帖最后由 搪瓷杯 于 2020-8-16 02:21 编辑 海阔天空8 发表于 2020-8-15 19:00 (5),“在000H单元对P1,0-P1,7口加入数据代码”---是不是对P1,0-P1,7口加入0或1的电平 确实就是在P1.0-P1.7加上0或1的电平,以 XTXB 网友提供的P3.3口亮灯代码B2 B3为例,需要写两次 第一次10110010 ,P1.7-P1.0依次是 高-低-高-高-低-低-高-低 第二次10110011 ,P1.7-P1.0依次是 高-低-高-高-低-低-高-高 我看你之前对000H迷惑,000H是内部存储器的起始地址,单片机复位,内部的地址计数器就会指向这个地址,编程过程中会根据XTAL脚的操作自动计数。 (7),“使6脚(P3,2口)跳变一次”如何操作?“写字节周期1.2MS”(自定时)什么意思? 你看之前是不是在P3.2脚加了高电平,这步就是要给P3.2脚加一个低电平,保持一定时间后回到高电平,从高电平到低电平再回高电平是不是跳变。 实际操作就是把你的拨码开关从接电源拨到接地保持1.2ms后拨到接电源。 这个1.2ms是器件的固有特性,你可以理解为写一个字节至少要这么长时间。P3.2加低电平的时间不能比它小。 最后,你应该好好谢谢 XTXB 网友,是他提供了最完整的解决方案,有实际电路图,有操作步骤,有简单的机器码。按他的方案,实现手工编程应该是没有问题的。 |
hhdsdy 发表于 2020-8-15 17:09 楼主就是想在各引脚上人工施加高低电平来达到对单片机编程的目的。 但是他没有想过,这就是用机器语言编程,机器语言也是单片机语言的一种。 目前楼主的问题在于 无法根据手册提供的编程方法和时序构造出实际电路; 对单片机的工作原理和内部组成不了解,无法用机器码写出程序。 当然,仅仅是了解恐怕远远达不到用机器语言编程的地步。 现在已经有网友给他提供了实际电路,也提供了简单的机器码。不知楼主能否实现手工编程愿望。 |
搪瓷杯 发表于 2020-8-15 11:42 (5),“在000H单元对P1,0-P1,7口加入数据代码”---是不是对P1,0-P1,7口加入0或1的电平? (7),“使6脚(P3,2口)跳变一次”如何操作?“写字节周期1.2MS”(自定时)什么意思? 第5步和第7步是难点!请赐教。 |
海阔天空8 发表于 2020-8-15 08:15 引脚高低电平的设置取决于你要实现什么功能: 如: 要让P3.5口输出1,就设置为1101 0010 1011 0101 要让P3.5口输出0,就设置为1100 0010 1011 0101 要问我是怎么知道这个天书的,请看下表: ![]() |
Y_G_G 发表于 2020-7-28 08:49 之前没看到你的帖子 ![]() |
海阔天空8 发表于 2020-8-15 08:15 问千遍万遍不如实物上操作一遍,讲真此图当年情经玩过所言不虚,如想学又怕麻烦只能原地踏步消磨时光啦 |
海阔天空8 发表于 2020-8-15 08:15 楼主一直说不明白相关各脚电平如何设置,写状态和读状态如何设置。 那我们回到起点,回到顶楼那张图,这八步楼主到底哪里不清楚、不明白,我们可以帮你一条一条分析。 |
海阔天空8 发表于 2020-8-15 08:15 1.上电次序: 在Vcc和GND引脚之间加上电源。 设置RST和XTALl为GND电平。 其它引脚置空,等 待至少10ms以上。 2.置RST引脚为高电平,置P3.2引脚为高电平。 3.编程和校验方法如下: 3-A.write 写状态 P1设置数据 p3.3 = Low p3.4 = high p3.5 = high P3.7 = high reset/vp =12v p3.2/PROG =負脈波(Low) 3-B Read 读状态 p3.3= Low p3.4= Low p3.5= high P3.7= high reset/vp = 5v p3.2/PROG = High 3-C Chip Erase p3.3 =High p3.4 =Low p3.5 =Low P3.7 =Low reset/vp=12v p3.2/PROG= 負脈波(Low) 在000H地址单元 4.对P1.0-P1.7输入数据代码字节。 5.置RST端为+12V,激活编程。 6.使P3.2跳变一次来编程PEROM阵列中的一字节或者加密位,写字节周期是自身定时的,一般需时 1.2ms。 7.当校验已编程的数据,使RST从+12V降到逻辑电平“H”,置P3.3-P3.7引脚到正确的电平即可 从Pl口读取数据。 8.对下一地址单元编程字节,使XTALl引脚正脉冲跳变一次使地址计数器加1,在P1口输入新的数 据字节。 9.重复4至8,可对整个2k字节阵列全部编程,直到目标文件结束。 |
搪瓷杯 发表于 2020-8-15 07:22 我的话只对"搪瓷杯 你说的 你充满期待?我呵呵,我经常在这论坛活动的,因为之前有问题在这帮我解决了,我想我也应该帮一下别人,所以就注册了ID 当年我看到楼主的问题的时候也是想帮的,结果呢?这楼主压根不是想学东西,他是想你按照他的要求和方法做一个单片机给他,他不是没有电脑,他只是不想学编程,在他的想法中:只要按一下0或者1就可以进行延时,ADC,等等的操作了 你回答的,和他问的,压根就不是一个东西 他是想通过一个开关按按几下就可以让单片机动起来,不要编程语言的 而是你在教他怎么用下载器下载已经编程好的HEX文件,HEX文件是记录指令和指令地址的,它是要烧录到单片机之后才能运行的,不是你对着P3.0,P3.1按按几下就可以了,请你认真看一下下面这个,一年多过去了,楼主依然还是和以前一样:他有他自己认为知识,他的知识都是对的,你要用他的知识来教他,凡事都要按着他的想法来 一年多以前我就说过楼主学不会单片机,现在我只是来验证一下我曾经过说对不对而已 "http://www.51hei.com/bbs/dpj-151022-1.html |
写状态和读状态需要如何设置? write 写状态 p3.3 = Low p3.4 = high p3.5 = high P3.7 = high reset/vp =12v p3.2/PROG =負脈波(Low) Read 读状态 p3.3= Low p3.4= Low p3.5= high P3.7= high reset/vp = 5v p3.2/PROG = High Chip Erase p3.3 =High p3.4 =Low p3.5 =Low P3.7 =Low reset/vp=12v p3.2/PROG= 負脈波(Low) |