找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖
楼主: 海阔天空8
打印 上一主题 下一主题
收起左侧

老调重弹:还是请老师说明白第一步 AT89C2051怎么和电脑USB口连接下载必要的程序

  [复制链接]
81#
ID:460466 发表于 2026-3-12 18:11 | 只看该作者
fei2008 发表于 2026-3-6 21:49
不使用单片机单用存储器辅以一些外围电路,或者把单片机当存储器使用,也能实现很多功能,比如凸轮控制器, ...

“”或者把单片机当存储器使用“”---------------------------我所谓的
“手动编程“”是不是把单片机当存储器用了?这样说对吗?和单片机的主流用法是两回事!
回复

使用道具 举报

82#
ID:460466 发表于 2026-3-12 18:12 | 只看该作者
dj3365191 发表于 2026-3-7 11:28
一定要死磕到底!死犟到底!直到没人理他,被管理员踢出去!

着什么急呀?
回复

使用道具 举报

83#
ID:1152952 发表于 2026-3-12 19:07 | 只看该作者
海阔天空8 发表于 2026-3-12 18:11
“”或者把单片机当存储器使用“”---------------------------我所谓的
“手动编程“”是不是把单片机 ...

用单片机指令编程,以前矿坛的人也教过你了,喜欢学也没问题,脑子不够用不学就好了
c2051如果当存储器用和6116或者是2716什么的还是有差别,因为没地址线,功能就更有限
至于什么是手动自动编程的,没必要纠结这些,自己玩的开心就好,玩什么不都是玩
有人坐在山坡上看火车来回跑能看一天
回复

使用道具 举报

84#
ID:460466 发表于 2026-3-12 20:38 | 只看该作者
人中狼 发表于 2026-3-9 08:54
找一些计算机的基本原理看看吧,要找8、90年代的书籍,编程是按指定的规则排列0和1,不存在什么手动编程, ...

“”不存在什么手动编程“”--------------------把0和1按一定的顺序加到某些引脚,这个过程叫什么?0和1的一定的顺序不叫程序吗?
回复

使用道具 举报

85#
ID:592807 发表于 2026-3-12 20:48 | 只看该作者
可以的,单片机上电以后会从指定地址开始执行程序。

情况1:单片机上电后直接从0x8000 0000(假设的地址)执行程序,这个程序是我用软件写好烧到单片机里的,你可以理解成是单片机品编程。


情况2:我要升级单片机程序怎么办?我在开机前直接按住boot按键(这个按键功能是我一开始就写好的,用于告诉单片机我要升级了,不要跑听我指挥。如果没有按下boot按键程序会直接跳转到0x8000 1000处开始执行程序),在我按下boot按键后程序会从存储器地址0X08000 0000处执行(此时0X8000 0000~0x8000 10000这个地址之间的程序是我的升级单片机程序所用的程序),然后我可以手动一个个二进制代码手敲到存储器里都可以,因为我写了代码,我拿一个8位的拨码开关 0101 1010的输入然后按下确认按键,单片机读取到8个二进制后将它写到0X8000 1000处,然后一步一个地址往下写(这里调用了单片机存储器读写程序),然后你知道的如果我不按下boot按键程序就是从0X8000 1000开始运行的,我现在利用我的升级程序改写了这部分内容。这个其实就是你所说的手动编程。然后单片机升级程序就是单片机编程。你要手动编程的前提是有人(可能是厂商也可能是我或者任何一个人)在单片机里面给你留了后门(有个升级程序),让你能够手动的去改写存储器。



上面说的有点乱。这么说吧。单片机的地址分为三个部分:
0x00-0x100:里面存的是单片机底层代码,底层你懂吧

0X101-0X200:这个部分单片机有,部分不是所有。是升级空间,也就是让你写升级升级代码的。正常情况是进不来这里的,开机后单片机就会跳过这一部分,除非你用程序强制跳进来,例如按住boot按键,或你调用了跳转程序。有些单片机这部分被厂家写死了,升级程序厂家写好了,你动不了,只能按照厂家的方式升级程序(你也可以自己写一个升级程序,但是要砍掉一部分内存给升级程序腾空间),你能手动编程就是厂家给你留了这个后门。你那个用拨码编程就是厂家在这里给留了,一秒一下改写存储器的功能。我这里说一点,这个功能如果是自己写的(厂家写的也一样)要求占用内存尽量小,原因你知道的,它占内存的,所以一般直接调用底层代码里面的串口接收功能或者其他能快速通信的功能(升级程序要求必须快),串口接收功能是有波特率要求的,也就是通信速度要求的。所以很多人和你说现在的单片机手动编程没意义,要特地给你写一个升级程序,还不能调用串口,速度慢不说,还占内存,现在随便一个单片机程序就要2k起步,手动累死了,除非是填空题,就是功能早就写好了,例如我的功能是单片机8个引脚输出:?,你用手动编程将输出内容0101 1010写进去。我功能写死了,只是让你写个内容而已。


0X201-??:就是正常程序。






回复

使用道具 举报

86#
ID:460466 发表于 2026-3-13 17:50 | 只看该作者
Y_G_G 发表于 2026-3-4 15:02
这们仁兄他是固执的认为: 只要我能连接上单片机,并只要能通过一个按键进行0和1的机器码编程,单片机就算是 ...

我为什么不按主流办法学单片机?
主流办法学单片机离不开电脑,软件和计算机语言,最大的障碍就是计算机语言,我根本就不想学!
我为什么对手动编程如此固执?主要原因就是它不需要上述3个条件。
究竟“手动编程”算不算使用单片机?我还是搞不明白。有位老师对这3个问题的回答很有启发:“------不用电脑 ?对,的确不用电脑”。
“-----不用编程器?不对,那个东西本身就是编程器,只不过是“半自动”的”。这句话也基本能理解。“-----不要用计算机语言 ? 不对,用的是汇编语言”。用0和1与单片机存储器对话就是汇编语言?
我通过这3个步骤也能使单片机的输出端按要求输出0/1电平。这是不是把单片机当存储器用了?算不算单片机运行?(单片机没接晶振)。
您对我的帖子关注了好多年!表示感谢!对我的固执表示歉意。也希望您能对这个问题(是不是把单片机当存储器用了?算不算单片机运行?)进一步解释。
回复

使用道具 举报

87#
ID:460466 发表于 2026-3-13 17:53 | 只看该作者
xiaocake 发表于 2026-3-5 13:17
手动编程或者自动编程,都是把一堆0和1写进单片机,只是方法和快慢的区别。
手动或自动编程里面的“编程 ...

手动或自动编程里面的“编程”用词其实不太合适,准确叫法是“烧写”--------------------------也就是把5V电压提高到12V的过程吗?
回复

使用道具 举报

88#
ID:384109 发表于 2026-3-13 18:58 | 只看该作者
海阔天空8 发表于 2026-3-12 20:38
“”不存在什么手动编程“”--------------------把0和1按一定的顺序加到某些引脚,这个过程叫什么?0和1 ...

找个好点的图书馆,找找8、90年代或者更早的介绍计算机的书看看吧。不同的CPU、单片机有不同的0、1排列规则,按某个规则排列0、1,就编程,即使写在纸上也叫编程,现在把数据写入芯片,有的芯片还有如何写入的规则,那是烧录,跟编程没关系,只是按芯片要求的写入规则排列0、1,把数据存入芯片而已。
回复

使用道具 举报

89#
ID:1152952 发表于 2026-3-13 20:15 | 只看该作者
海阔天空8 发表于 2026-3-13 17:53
手动或自动编程里面的“编程”用词其实不太合适,准确叫法是“烧写”--------------------------也就是把 ...

你说的没错把数据写到单片机叫烧写或烧录,洋文叫burn,因为最开始的单片机存储器里面是熔丝
通过电流把熔丝熔断存入0,未熔断表示存入1,后来即便不用熔丝了,这个叫法却保留了下来
而你决定要写进去什么内容,那叫编程,比如你决定要烧写进去11110000,那么你排列组合这01的过程就是编程
回复

使用道具 举报

90#
ID:460466 发表于 2026-3-29 19:21 | 只看该作者
fei2008 发表于 2026-3-13 20:15
你说的没错把数据写到单片机叫烧写或烧录,洋文叫burn,因为最开始的单片机存储器里面是熔丝
通过电流把 ...

“”你排列组合这01的过程就是编程”------------------------------我觉得你这样说对!把0和1按你需要的组合编成组输入(或称烧写)到存储器里面不叫编程那个叫什么?
回复

使用道具 举报

91#
ID:71233 发表于 2026-3-29 20:25 | 只看该作者
请问楼主手头有多少AT89C2051,这些非得拿出来用?有坛友说想玩就用上STC,说实在的,入门用STC是最好不过的
回复

使用道具 举报

92#
ID:88256 发表于 2026-3-29 20:50 | 只看该作者
lmn2005 发表于 2026-3-29 20:25
请问楼主手头有多少AT89C2051,这些非得拿出来用?有坛友说想玩就用上STC,说实在的,入门用STC是最好不过 ...

一片足以,因为他并不是真的要学单片机,而是想“手动编程”,证明不需要电脑、不需要学C语言、不需要写程序也能玩转单片机。
回复

使用道具 举报

93#
ID:460466 发表于 2026-3-30 11:29 | 只看该作者
hhdsdy 发表于 2026-3-29 20:50
一片足以,因为他并不是真的要学单片机,而是想“手动编程”,证明不需要电脑、不需要学C语言、不需要写 ...

想“手动编程”,证明不需要电脑、不需要学C语言、不需要写程序也能玩转单片机。--------------就是这个意思!好像也要有程序吧?叫P1口何时输出0还是1也能叫程序吧?
回复

使用道具 举报

94#
ID:460466 发表于 2026-3-30 12:43 | 只看该作者
lmn2005 发表于 2026-3-29 20:25
请问楼主手头有多少AT89C2051,这些非得拿出来用?有坛友说想玩就用上STC,说实在的,入门用STC是最好不过 ...

你说的是用。我的是玩,性质不同。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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