找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6154|回复: 93
打印 上一主题 下一主题
收起左侧

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

  [复制链接]
跳转到指定楼层
楼主
ID:460466 发表于 2026-3-2 13:44 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
AT89C2051怎么和电脑USB口连接下载必要的程序吧?现在才明白不完成这一步单片机用不了?重走长征路,,,,,,,,,,
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶顶 踩踩
回复

使用道具 举报

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

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

使用道具 举报

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

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

使用道具 举报

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

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

使用道具 举报

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

使用道具 举报

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

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

使用道具 举报

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

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

使用道具 举报

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

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

使用道具 举报

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

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

使用道具 举报

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

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

使用道具 举报

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

着什么急呀?
回复

使用道具 举报

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

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

使用道具 举报

82#
ID:460466 发表于 2026-3-12 18:07 | 只看该作者
黄youhui 发表于 2026-3-6 17:03
回答你第一个问题:”手动编程“算编程吗?
算,你知不知道有个东西叫做模拟串口,就是用两个普通的单片 ...

“”第二个问题:存储器手动编程”和单片机编程有本质的区别(单片机需要软件运行存储器不需要)”---------------------------------这句话的意思是不是我所谓的“手动编程”实际上是对单片机里的存储器编程?也能完成一些简单功能?
回复

使用道具 举报

81#
ID:460466 发表于 2026-3-12 18:01 | 只看该作者
发表于 2026-3-9 14:06
又看了一遍,我大概明白楼主想要表达什么了:在单片机流行之前,很多逻辑问题人们通过数字集成电路解 ...

您说的大概就是效率问题了。从实用性来讲您说的没错。如果从硬件电路原理来讲似乎“手动编程”曾经有过?
回复

使用道具 举报

80#
ID:460466 发表于 2026-3-12 13:11 | 只看该作者
发表于 2026-3-5 14:08
这个贴能火的原因在于楼主的固执和僵化。放过单片机吧。就好比前面一条大河,单片机已经给你搭好了阳光大 ...

“”这个贴能火的原因在于楼主的固执和僵化“”----------------------O(∩_∩)O哈哈~您说对了一半。那么多老师用软件思维跟我讲硬件编程我怎么能听得懂?还是用“隔靴搔痒”比较合适!请老师别介意,我没有否定老师们的善意。
回复

使用道具 举报

79#
ID:460466 发表于 2026-3-11 19:31 | 只看该作者
Y_G_G 发表于 2026-3-5 15:05
手动编程,你不能
下载一个单片机程序最多就是5秒钟,你7年都还没能干成,人生有几个七年?
单片机原理,数 ...

你是最关注我的老师。谢谢你!单片机“手动编程”究竟存不存在?似乎有了进一步的认识?单片机就是一种工具,工具的使用方法应该不止一种。我觉得单片机的基本使用方法无非就是按某种需要控制它的输出端(2051有8个输出端)电位的高低再去驱动执行电路。现在的主流方法我不懂(大概需要电脑,编程器和计算机语言?)而“手动编程”不需要这些(甚至不需要晶振),就用几个按键,开关的组合也能达到输出端电位的高低按需要输出。我觉得这也是单片机的一种使用方法?至于众多老师对我讲的方法基本都是现在单片机学习的主流方法,因为没有必要的基础我很难听懂。
回复

使用道具 举报

78#
ID:283207 发表于 2026-3-9 14:06 | 只看该作者
又看了一遍,我大概明白楼主想要表达什么了:在单片机流行之前,很多逻辑问题人们通过数字集成电路解决,比如译码器,分频器甚至一些ROM等等,用外围的引脚配合拨码开关实现一些简单的功能,比如简单的数字计时器,频率计,甚至抢答器等等....等等。楼主就一厢情愿的认为这就和现在的单片机一样,那单片机也可以通过简单的拨码开关,通过拨开关编程。楼主,我说的对吗?那我可以给你讲个故事了:地主花大价钱给他的儿子请了教书先生,第一天,先生画了一横告诉他这是一,第二天画了两横,告诉他这是二,待第三天先生画了三横,告诉他这是三。然后儿子告诉地主他都学会了,可以开除先生了。直到某天地主要他写张请帖给叫万 xx的人,第二天他儿子还趴在桌上写呢,抱怨道:这家伙姓什么不好偏偏姓万,到现在我连他的姓还没写完呢!这就是说,你想通过数字电路的方式解决现在单片机的问题是不对的,趁早回头是岸,就像你搭过积木,不代表你就能成为建筑设计师,世间万物,不劳而获没有可能,你只能通过不断学习才能掌握新东西。
回复

使用道具 举报

77#
ID:384109 发表于 2026-3-9 13:45 | 只看该作者
网上有一些手搓4位和8位单片机的视频,估计那个是你要的答案
回复

使用道具 举报

76#
ID:384109 发表于 2026-3-9 08:56 | 只看该作者
网上也有手搓4位、8位单片机的视频,那个应该才是你想要的答案
回复

使用道具 举报

75#
ID:384109 发表于 2026-3-9 08:54 | 只看该作者
找一些计算机的基本原理看看吧,要找8、90年代的书籍,编程是按指定的规则排列0和1,不存在什么手动编程,将数据或编程好的代码写入到存储器或单片机叫烧录或下载,跟编程不是同一个概念,现在很多不同的概念是混在一起说的,不同的阶段和流程也是混在一起说的,不学习基础知识,是没法理解的
回复

使用道具 举报

74#
ID:1152330 发表于 2026-3-9 08:53 | 只看该作者
海阔天空8 发表于 2026-3-9 08:07
哈哈,我没有装睡,听不懂倒是真的,因为和我问的相去甚远。

这么跟您说吧,很久之前的手动烧写、现在的自动烧写其基本道理都是一样的。问题在于,现在的产品与早年的产品相比已经不可能同日而语,集成度、功能已大大提升,于是乎,手动烧写已经不太可能,因为那样效率极低极低极低极低,以至于近乎不可能完成。再比如,如今一个人从A地到B地去完成某个任务,会选择驾车、乘飞机等方式,几个小时几、十几个小时就能完成,如果您一定要选择步行,是不是效率极低,近乎不可能或者就是完不成?
回复

使用道具 举报

73#
ID:460466 发表于 2026-3-9 08:07 | 只看该作者
BD7RL 发表于 2026-3-8 08:32
你永远叫不醒装睡的人

哈哈,我没有装睡,听不懂倒是真的,因为和我问的相去甚远。
回复

使用道具 举报

72#
ID:1159343 发表于 2026-3-8 08:32 | 只看该作者
你永远叫不醒装睡的人
回复

使用道具 举报

71#
无效楼层,该帖已经被删除
70#
ID:460466 发表于 2026-3-7 13:17 | 只看该作者
本帖最后由 海阔天空8 于 2026-3-7 14:43 编辑
黄youhui 发表于 2026-3-6 17:03
回答你第一个问题:”手动编程“算编程吗?
算,你知不知道有个东西叫做模拟串口,就是用两个普通的单片 ...

“”存储器手动编程”和单片机编程有本质的区别“”-----------------明白了!我也不懂“手动编程“到底是怎么回事?认为就是不用电脑,不用编程器,不需要计算机语言什么的
回复

使用道具 举报

69#
ID:460466 发表于 2026-3-7 13:09 | 只看该作者
本帖最后由 海阔天空8 于 2026-3-7 13:55 编辑
黄youhui 发表于 2026-3-6 17:03
回答你第一个问题:”手动编程“算编程吗?
算,你知不知道有个东西叫做模拟串口,就是用两个普通的单片 ...

“”存储器手动编程”和单片机编程有本质的区别“”-----------------明白了!我也不懂“手动编程“到底是怎么回事?认为就是不用电脑,不用编程器,不需要计算机语言什么的
“手动编程”到底是怎么回事?我也不知道!我理解就是不用电脑,不用编程器,不用C语言什么的叫单片机运行起来(现在看来难度和大,效率太低),它和系统学单片机区别大了!很多老师都是告诉我单片机怎么用,手动编程和这个差别大了!所以我基本听不懂,并不是炒话题,抬杠。


回复

使用道具 举报

68#
ID:1152952 发表于 2026-3-7 11:30 | 只看该作者
其实c2051当存储器编程来用执行速度更快,一个时钟几十纳秒就能输出结果
用指令编程,执行速度就慢了,一个指令周期得好几个时钟周期
回复

使用道具 举报

67#
ID:143767 发表于 2026-3-7 11:28 | 只看该作者
hhdsdy 发表于 2026-3-7 11:08
你到底是想学单片机还是和人争论单片机能否手动编程?看你的回帖根本就是在炒话题而不是真心想学。
在矿 ...

一定要死磕到底!死犟到底!直到没人理他,被管理员踢出去!
回复

使用道具 举报

66#
ID:283207 发表于 2026-3-7 11:22 | 只看该作者
海阔天空8 发表于 2026-3-5 13:07
您的意思就是会使用电脑不必明白电脑为什么会这样做(它是用软件完成的,弄懂软件的和使用软件的没几个人 ...

就是这个意思!1,会使用电脑不必明白电脑为什么会这样做,设计软件和使用软件本身就是两类人!设计软件和设计操作系统也是两类人,设计操作系统和设计架构的更是两类人,大家各干各的才会产生社会,才有工业化、社会化大生产,这就是小农经济的进步! 2,小学生那叫玩或者学单片机和玩游戏有区别,玩单片机是学习的过程,玩游戏是消遣的过程。工作用单片机叫设计产品,同样不用从最底层开始。一句话:你要是开车上街,没必要先学习怎样开采铁矿石甚至怎样学会探矿!
回复

使用道具 举报

65#
ID:88256 发表于 2026-3-7 11:08 | 只看该作者
海阔天空8 发表于 2026-3-7 10:29
您讲的道理没错。黑白电视被淘汰了,但黑白电视的历史地位永远存在。欧姆定律几百年了电学基础还得学,了 ...

你到底是想学单片机还是和人争论单片机能否手动编程?看你的回帖根本就是在炒话题而不是真心想学。
在矿石被踢了还不检讨自己,口口声声说矿石论坛是被几个人绑架了,那么你看看你在这个论坛最近的这几个帖子,还不是大部分坛友都持反对态度,又有谁是支持你的?想学习就不要把话题歪来歪去的,论坛的热心坛友还是不少的。
回复

使用道具 举报

64#
ID:460466 发表于 2026-3-7 10:29 | 只看该作者
BD7RL 发表于 2026-3-7 08:40
我这么说吧,比如,我们有一首歌的MP3,你没有,你也想听,MP3文件是什么,无非是0和1,这么理解,好象你 ...

您讲的道理没错。黑白电视被淘汰了,但黑白电视的历史地位永远存在。欧姆定律几百年了电学基础还得学,了解这段历史,,,,,,,,
回复

使用道具 举报

63#
ID:460466 发表于 2026-3-7 10:21 | 只看该作者
lxh0508 发表于 2026-3-7 09:55
看到楼主让我想到了一个校友。那时我还用winXP的时候有次我系统崩溃了,因为我是电脑白吃,我朋友给我介绍 ...

你在讲神话吧?用针手工刻光盘?不过和我“手动编程”倒是有点相似,,,,,,,,,,,,,,
回复

使用道具 举报

62#
ID:384109 发表于 2026-3-7 10:17 | 只看该作者
海阔天空8 发表于 2026-3-7 09:50
“”不论是何种方式通过单片机IO口写入或读取数据,都只是对数据的操作,并不涉及编程“=============” ...

其实楼主现在需要的只是要明确自己所纠结的是什么,现在很多的名词都是一个广义概念,很难说明一个特定模式是否属于这个名词,先考虑好自己想要什么,单片机、编程、数字电路现在已经不是特指名词了,都是指一个行业了,而且还相互交叉,已经没法说明单个状态了
回复

使用道具 举报

61#
无效楼层,该帖已经被删除
60#
ID:22119 发表于 2026-3-7 09:55 | 只看该作者
看到楼主让我想到了一个校友。那时我还用winXP的时候有次我系统崩溃了,因为我是电脑白吃,我朋友给我介绍了一个高手来帮我修电脑。
  他看了一下电脑,问我有没有XP的安装盘,我说没有。
  他想了一下,叫我把一张空的DVD刻录盘和一根针拿给他,我想修电脑要刻录盘和针干什么,但人家是高手,我也不好说什么,就把DVD刻录盘拿一张来给他了。
  他把针头对着刻录盘戳,他戳的速度非常快,但是只戳深或浅,我搞不懂这有什么用,但也不敢问,看了半个多小时,他还是不停的戳着DVD刻录盘,我渐渐的有些困,我问他这东西要搞多久,他说要几个小时,我给他倒了杯茶,就一个人去隔壁睡觉了。
  醒来的时候,一看已经过了4个多小时,我起身到隔壁,看见他正在Xp里面调试,还装上了office、photoshop、迅雷、魔兽世界等软件……过了一会儿,他说,你试试,我坐上椅子用了一下,真的好了,我当时也不懂电脑,谢过人家就走了。
  后来我慢慢对电脑有了了解,终于了解,原来当时那位高手是针头刻了一个单面双层的DVD,在里面刻上了Xp、office、photoshop、魔兽世界的安装程序,我后来问我朋友那位高手的下落,我朋友说前几年去了德国之后,杳无音讯....
回复

使用道具 举报

59#
ID:460466 发表于 2026-3-7 09:50 | 只看该作者
人中狼 发表于 2026-3-7 09:26
不论是何种方式通过单片机IO口写入或读取数据,都只是对数据的操作,并不涉及编程,编程是按指定的格式和规 ...

“”不论是何种方式通过单片机IO口写入或读取数据,都只是对数据的操作,并不涉及编程“=============”写入某种“”有规律的数据“”能不能看成一种程序?
回复

使用道具 举报

58#
ID:384109 发表于 2026-3-7 09:26 | 只看该作者
不论是何种方式通过单片机IO口写入或读取数据,都只是对数据的操作,并不涉及编程,编程是按指定的格式和规律编写0和1。单片机程序的运行,是通过单片机内部加法器等其他电路来执行的,这是数字电路的知识。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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