加载中请稍候......
科学技术的飞速发展为减少电气電子项目和电路的尺寸成本和复杂性提供了使用集成电路,微处理器微控制器,嵌入式芯片等的诸多优势由于其简单性和优势,越來越多地使用这些嵌入式芯片和微控制器可以对微控制器进行编程,以根据电路操作的要求执行各种任务因此,仅通过改变程序指令僦可以在不改变项目的任何硬件电路的情况下由单个电路执行各种任务因此,微控制器在科学技术中的应用正在迅速增加
微控制器通瑺用于电气和电子项目 /电路。有各种类型的微控制器例如8051系列微控制器,PIC微控制器等但是,由于8051微控制器与其他微控制器相比具有优勢因此经常用于各种应用中。在本文中让我们讨论微控制器8051在科学技术中的应用,但首先让我们看一下什么是微控制器
微控制器是什么?微控制器可以简单地定义为包含可编程输入/输出外围设备处理器和存储器的微芯片或微计算机或集成电路。存在各种类型的微控淛器其中微控制器8051被频繁使用。
微控制器8051由四个输入/输出端口组成每个端口由八个引脚组成,这些引脚根据逻辑状态被配置为输入/输絀如果将逻辑零(0)施加到适当的输入/输出端口位,则微控制器引脚将用作输出引脚并且该适当的引脚上的电压将为零。同样如果將逻辑一(1)应用于适当的输入/输出端口位,则微控制器引脚将用作输入引脚并且该适当的引脚上将有5V电压。
嵌入式单片机8051的应用
微控淛器在汽车航空,航天机器人,电子国防应用,移动通信铁路运输,工业加工和医疗应用等各个领域的使用正在迅速增加让我們讨论一下微控制器8051在上述某些领域中的实际应用。
8051嵌入式单片机在机器人技术中的应用
运输技术的进步正在开发可以在没有驾驶员的情況下用于运输的高效机器人车辆这种避障机器人车辆(原型)是微控制器在机器人技术中的主要应用之一。
的避障机器人车辆项目框图
洇此基于从电动机驱动器IC接收到的信号,电动机可以改变机器人车辆的方向(左右,向前和向后)以避免障碍物(如果有障碍物被超声波传感器检测到)。可以使用脉冲宽度调制(PWM)技术控制电动机的速度
8051在医疗领域的应用
微控制器8051在医疗应用中的应用在医疗领域發生了革命性的变化。具有基于GSM的GPS的位置详细信息的患者健康监控系统是基于微控制器应用的电子项目该项目旨在跟踪患者的位置,以便在紧急情况下使设施能够快速到达患者的位置通过该项目,可以使用GPS无线监控患者的体温并可以使用GSM将消息发送给相关/授权人员。
通过GPS进行GPS定位的患者健康监测系统其位置信息通过的EVM电子投票机框图
上图显示了该项目的框图,该框图由各种模块组成例如电源模块,按钮微控制器模块,LCD显示屏蜂鸣器,EEPROM和晶体管警务人员批准的表决可以通过蜂鸣器发出的声音来表示,并且所投票的表决结果存儲在EEPROM中使用与微控制器连接的LCD显示屏显示投票给每个参赛者的投票总数。
同样8051微控制器在科学技术中有大量应用,下面列出了其中的┅些应用
使用微控制器和GSM调制解调器的预付费电表
可通过Internet远程监控变压器/发电机的运行状
使用GSM窃电并与控制室建立联系
使用SCADA控制远程工厂
避免为工业和商业机构支付过多的电费
使用Arduino的感应电动机速度控制
使用智能手机控制的基于密度的交通信号系统
使用螺旋桨驱动器LED虚拟显礻消息
基于数字传感器的温度控制
使用一对SCR桥的高功率双转换器
类似于多个微控制器的局域网设置
使用遥控器定位碟形天线
基于I2C协议的防盜检测自动拨号
您是否想自己设计和实现微控制器的创新应用程序然后,请随时与我们联系以获取有关基于8051微控制器项目的实施的任何技术帮助
就是怎么样在学校把理论基础的東西学好我们如今学校开的课好像什么都涉及一点,我们有学过数电、模电、信号与系统、通信原理下学期要学dsp、图像处理、eda、通信電子线路、电磁波、信息论等等。
关于这些理论的课程我都须要一一用心地去掌握吗,还是要用到的时候再去学习上学期一直都在自學tcp/ip(由于当时没找到方向。所以随便先学点东西)差点儿全部的课都没去上。并且tcp/ip也没学得怎么样如今打算以后往单片机、硬件这方媔发展。专搞硬件有空也自己弄弄程序、软件
可是听楼主的话还有网上的帖子都有说到要把理论基础打扎实,可是就是不知道怎么走这┅步什么理论应该深入,什么不必深究这一点我实在非常费解(习惯了逃课自学,课堂上的东西的确难以吸收我怕像上学期一样逃課结果会什么都学不了,可是专心理论的学习我又会没时间学好单片机)还有楼主说高数要学好。我高数非常烂
。不知道要怎么学好高数project数学这些也算是高数吗,要学到什么程度才干够把单片机和这些理论东西结合起来呢
思绪有点乱,望楼主能解答一二答::仅仅偠上课认真去听,能听多少就多少考试可以80分就够了。
。关于这些理论的课程我都须要一一用心地去掌握吗?
硬件电路也不是你在学校一下子就荇掌握的,要以后在做项目中慢慢积累慢慢消化。
可是单片机C语言是战略高地,你仅仅要占据了这个高地你就有了向外围电路扩展嘚资本。
你不是说你看过郭天祥的书吗你也可以看看他网上的《十天学会单片机》的视频,超级经典我当初就看了他的第一课,他说叻一句超级经典的话顿时让我认为他是单片机教育普及的第一人。大意是先掌握单片机与C语言。“以后缺什么补什么”这个双引號裏面就是他的原话。
其细致看了chenyao3612和吴坚鸿在《》一贴中的对话chenyao3612也是一个十分坚持和有韧劲的电子学习者。他由于看了吴坚鸿的帖子就講述了自己学习的一些经历。我相信他的分享可以给非常多电子学者一些启示非常多时候学习并非一件非常easy的事情,在学习中我们也有洣茫和看不到方向的时候可是关键在于你是否可以像chenyao3612一样坚持下去。
我一直都相信人生无论是什么,都是一种学习仅仅要经历了,僦是学习了;学习的话无论你学什么。你都会进步你知道了你曾经不知道的东西,这就是一种进步以下先是chenyao3612的讲述,之后有吴坚鸿嘚回复
看了半天。最终从第一页看到了如今我曾经是学机械的。
毕业了一直打杂开车床,还不是数控的
我为什么想学电子。
发现搞机械非常不受人尊重人人认为机械不就那点东西。(事实上我认为机械比什么都要深奥仅仅是中国不重视基础,不重视基础材料
所以永远差日本德国十万八千里)。
再就是如今国内懂电子的基本不懂机械
懂机械的基本不懂电子。我想会机械又会电子所以我想学电子。所以我从去看五月份就開始在网上摸索由于我高中物理学的还比較好。对基础知识理解还比較清晰。
所以尽管不专业但總能说出点大概的味道来。
譬如说什么信息传输除了有线的。基本就是波(分为机械波和光波)
全部的东西都离不开这个东西。什么測距啊
什么无线电啊。什么光啊所以我自认为我的理论还比較清晰。而且和比較喜欢这些基础的原理(尽管不能从专业的角度非常懂但我能从物理角度有自己的理解)。而且我认为这些东西非常重要对以后开发项目非常有帮助。
对各种传感器能更好的理解
这些东西我仅仅能理解但总不知道应该怎么去学电子。
去年我遇到一个贵人我非常喜欢和他谈这些大道理,基础知道原理再就是把自己的想法也告诉他。他就问我你说你想学,你究竟想学什么?
你总不能说什么都想学你想学硬件还是软件?我说我什么都想学。我想学硬件也想学软件什么都想学。想学电子想学机械
想学管理。他说好吧好吧无论你以后想学硬件还是软件。你先学单片机吧你能够先从51单片机学起。 那是去年的五月份
我那时什么叫单片机都不知道。在我心理一直以为硬件就是收音机数模电路
这是我去年的理解。但我如今回忆學的又可笑又有点道理。 从他说那些话给后
那个星期的周末我就去书店买了本21天学通51单片机。由于那书店里计算机类里关于单片机的書真的不多
。都是些高级的非常高深的东西。
买了那本书后我那一个月就天天看前面单片机的内部结构。
和后面的中断计时器。 偅点还是单片机结构再就是看了一点点汇编的操作指令。由于你懂一点点内部结构了再看汇编的指令感觉还算比較好理解由于中断和計时器。
我认为有理解了可是那些寄存器太多怎么都记不住啊。所以没看了再就是中间的C51我一点都没有看。看啊看啊迷迷糊糊的看。開始一点看不懂再看第二遍。
再看第四遍一个月后。
当时仅仅看前面的单片机结构
和后面的中断,计时器重点还是单片机結构。
由于中断和计时器我认为有理解了。
可是那些寄存器太多怎么都记不住啊
再就是中间的C51我一点都没有看。(如今才发现事实上非常个单片机都是不同的。
好吧開始自己动手做程序了
就想学一门语言啊。就在网上搜啊搜啊。有说先C的有说先学汇编的。
由于我認为学东西就要从老东西学起什么新东西不是老东西抽象来的。
二个月就这么过去了又開始迷茫了。
就在网上搜啊找啊最终知道了什么叫ISP,什么叫仿真什么叫仿真器什么叫开发板。
好吧为了学东西钱算什么。花了两三百买了个开发板和仿真器电子发烧友电子的。可是还是不能动手
最多点两个灯。所以搞来搞去就是会几个跳转。会让P1.0=0//灯亮了P1.0=1//灯熄了。
要是有三四个跳转自己就头都大了唉,叒买了本王爽的汇编语言天天看,天天看还跟着在DOS里面操作。妈的这个东西也太基础了点吧,我认为这么下去不是个办法再就是發现怎么说的和我曾经在21天学通51单片机里说的有点不同。无论是汇编语言还是CPU,RAM,ROM结构。 我又開始想了。后来才搞明确原来王爽的这本書汇编是X86,我曾经那个是8051.操。全然两个不同的东西啊
不是学写QQ应用软件,或者什么驱动的我如今这点皮毛都没有怎么可能理解那东覀。方向应该错了,立即又停下来了再不停下来和我曾经看的21天学通51单片机要浑了。头都大了。。。
三四个月又过去了。这半年自己还是边在开车床,边在网上搜什么是单片机。什么是三极管什么是运放。 转眼到过春节了什么都不会。
他问我学嘚怎么样??
我说学到非常多东西啊。
他说能做什么东西了没?
我说不能就会点灯。他说你要试着做点复杂的
。但是又不知道怎么下手
但聽说做东西的时候会学到非常多东西的。
我就硬着头皮。但是再硬着头皮也还仅仅是会点个灯而已
程序循环两下就晕了。
。我又偠開始思考了。
//*************这里我特点建议在求学的道路上迷茫的人啊,当你们迷茫的时候不能放弃在学什么东西还是接着学。重点来了这时僦要把自己抽离出来。要把自己当一个局外人。站在一个非常高的平台想自己的处境********************// 当时我就把自己抽离出来。又開始想问题了。
當时就想程序肯定不是这么写出来的
妈的那么复杂。谁搞的明确啊就算花结构图也画不明确啊。
肯定得学门高级语言。别人说高级語言什么结构什么模块的
应该那样才有头绪。 好吧我又买了本谭浩强的C语言。妈的好难看懂啊。就像高中的教材书一样。
慢慢看是看的懂。但懂了又怎么样? 天天算加减乖除那又是个什么意思?
真真假假。假假真真 再就是什么数据什么算法什么运算符,什么表达式
。。这些有什么意义啊。
又在网上查这个查那个。
他*的。看到一个广告所以又买了个学习资料。。
里面有视频。说什么从万能板学单片机。。
又看了一个星期就学会了在外面接晶振。
再就是教你怎么下载了他写好的程序。能够有音乐。
事实仩这些我曾经就会了。好吧再接着往下学吧。
開始讲C51了。但是一点听不懂。
我就翻我电脑里的东西。
不小心翻出了一个好东西
。这时就到了2012年7月份就是前半个月。。
原来第一个开发板送的光盘里里有个 郭天祥的十天学会单片机C语言。
最终原来就是这么简單。
他讲的我居然都听的懂了。为什么。
为什么我也不知道为什么。是他讲的好还是怎么了?确实是他讲的好
傻子都能看明确。。但这时我又想了一个问题假设我不是由于前面我看了汇编我会这么easy看懂了。我想我不能。原来WHILE IF FOR就是汇编里抽的JNC JMP等两三个指令组合嘚。。这时我豁然开朗了。。 这半个月来。
在我看到视频五的时候我辞职了找了一份非常轻松的工作。在一个电子厂做流水线嘚事一天六个小时。
工资非常低一个月一千块钱。我知道我要的是时间我要的是接触电子。
我要的是学会认各种基本元器件拟我什么都无论了。
由于曾经的机械天天加班没时间学东西
再说我认为我自信我已经能自学了。我已经入门了。我会敲代码了。峩掌握了LCD1602。 原来一切就是这么回事
什么IIC协议(这里说一下。我认为IIC协议非常重要非常多东西都是IIC协议或者是类似的人为定的协议。就像湔面楼主说的那个三个单片机通信的问题
事实上就是IIC协议的DIY。尽管没有真正的搞懂也不会。
但我是这么理解的) 我如今要做的就是学精C语言的语法。学精通51单片机试着去驱动一些IC。
我如今就在过着这种生活。
晚上看周天祥看C语言基础。把语法规范。(这时候看嘚懂C语言了)。
我把我摸索的过程在这里和大家分享到这里。我认为我每一步都走的非常曲折。可是我认为真是这每一步曲折才让我到洳今这个状态我想要的状态。我如今对硬件。软件MCU。windows,嵌入式也有了自己的理解
所以我来发表一下我的两个观点:
1.假设你想真囸的学东西,想学精想学的长远。还是先学汇编再学C
尽管学汇编有点难。可是你花两个月时间就像我去年五六月份一样的。了解一丅单片机结构和汇编语言假设你仅仅想玩一玩不求甚解的话就直接学C吧。
但我警告你学了C再学汇编就会认为非常难非常难了。我不知噵为什么
反正网上别人学了C的再学汇编的人都这么说。
说太难了不要学。但我当初什么都不会的时候都认为汇编非常easy。。
仅仅是編不了大程序。但会点灯。。
想点哪个就点哪个。。
要谁亮谁就亮要谁熄谁就熄。
2.先学单片机不要学嵌入式系统单片機和嵌入式系统的关系就和汇编与C语言的关系一样的。
所以楼主的全部观点我都支持赞同,顶可是楼主说不要学汇编我就不能理解了。
那你为什么又要人家学单片机不要学嵌入式呢???
在我大脑里你对知识对真理的看法是矛盾的。
事实上非常多人都非常难入门入门叻就好了。事实上非常多人就陪MCU和CPU的关系都不知道就连寄存器和存储器的关系都不知道。就连RAM,ROM的差别都不知道就连I/O口与寄存器的关系嘟不知道。所以我建议从零的入门步骤是先花一两个月学51单片机内部结构和汇编
一定是51单片机的结构。和针对51的汇编由于汇编有非常哆种汇编。
单片机有非常多种单片机会了51.其他基本就会了。
但就是由于大同小异的异当一点都不懂的人遇到了这些不同的单片机头就會大。就会迷糊
所以一定是学51单片机的结构。和针对51的汇编
学到什么程度呢。能点灯即可了。
然后就是周天祥的十天学会单片机C语訁
。你就到我这个水平了。。我的水平就是小学一年级的水平这半个月来我仅仅会驱动1602CD。
视频里的一些视频由于我是电子发烧友電子电子的开发板
所以有点不同。试验基本都做不了。
。由于1602还是被我整会了。这里还有点建议。去学外围的IC的时候什么都昰假的就是看IC的手冊。
看时序图时序图非常关键。
-------------------------------------------------唉事实上知识原来都非常easy的。就是被人一层层的抽像了所以我们就认为好难恏难了。从麦克思维方程抽像出元器件。从元器件抽像出数字电路和模拟电路 数字电路抽象就到CPU了。再抽象就到计算机了高低电平抽像就到了抽象就到了汇编。
汇编再抽象就到了各种高级语言。一切都是抽象一切都是浮云。
要轻蔑一切知识。要重视一切知识非淡泊无已明志,非寂静无已志远
。楼主非常宁静所以能够志远可是把钱看的太重。非淡泊所以无法明志。
楼主教个朋友希朢你能加我QQ.太我学习的道路上指点一下我。我不会拿一些详细的问题来问你的。
我仅仅是想有时候我有我的一些理解我想问一下你我理解的对不正确
我不会拿一些详细的问题来问你的。我仅仅是想有时候我有我的一些理解我想问一下你我理解的对不正确由于这对我非瑺重要。
再次谢谢。吴工搞技术的人是相吸的, 先讲到这里我要拉屎了。
我要吃饭了 吴工。吴总吴师傅一定要加我啊。不然我會非常失望非常遗憾的。
我非常感动,看到你写了那么多东西给我我细致所有看完了。你这个回复非常有參考意义会给后面非常哆新人启示。你的观点我都认同由于我们的学习体会都非常相似。你提到“楼主说不要学汇编我就不能理解”我当初说这句话的时候。仅仅是想告诉大家一个信息真正做项目的时候还是要用C语言,一旦用了C语言单片机看起来就没有那么复杂了。你对汇编语言的理解非常不错我当时在学校的时候。一開始就是专门学X86的汇编当时我就想,这个东西有什么用
最后一个学期,才学到单片机当时就是鼡汇编来教学的,我那时候还不知道C语言也能够编写单片机的程序
正由于一開始用汇编教学,我们班里除了我和少数几个人之外大部汾的同学都没有坚持下去。
我们学校的实验室里面的设备没有仿真器,没有烧录器仅仅能敲入十六进制的代码。
所以我们做实验的时候就是先编写汇编程序,然后自己把汇编程序翻译成十六进制代码然后一个个敲进去实验室的仪器里。我当初就是这样过来的
后来畢业工作之后,我才知道能够用C语言编写单片机程序用了C语言之后,一切都So easy!,当然非常可能就是你说到的原因,由于我已经有了汇编的基础
我也想破例加你的QQ,可是我也有我的原则有什么问题能够在我的帖里交流,我们还是做网友吧
恩。事实上我说的也有點过了
我仅仅是站在我的地方说一些问题。事实上当我成家了
我想我应该也会有这些现实问题。无论怎么样
。你能够加我QQ吗???由于我洎己会理解非常多东西但我不知道我理解的对不正确。再就是我今后的学习目标。
我想跟您说一下您也帮我指导和參考。主要还是長远的一年两年三年五年。
呵呵原来高手也是这么来的。
你一说我们的经历好像哦。可些如今我的水平还是六七年前你水平
泹有点不同的是你还敲过十六进制的代码。
那你和那个60的牛Xproject师一样的啊你敲的16进制。他敲的是0101.
怎么把HEX文件直接敲进去啊?
我会把你當-朋友。可是不要加我QQ有什么问题直接在我的帖里交流。
那是非常古老的设备了假设你开发过烧录器。你也能够明确它的原理
峩就开发过AT89S52单片机与SST89E516RD单片机的烧录器,烧录器的原理就是类似于操作一个EERPOM你仅仅要把这些十六进制的数据存入到有固定地址的程序存储器里面,就完毕了烧录的过程非常easy。
详细的烧录时序单片机的芯片的资料上有。当然也有一些国产的单片机不会公开这些时序,由於它要防别人破解
仅仅要您能指导一下我的学习。在哪里都一样我如今请教关于关于IIC协议的几个问题。
第一个就是那个第9帧数据嘚时候是从机自己主动把电平接低是吧?
?所以我主机在8帧数据完了我就要把数据线拉好好检測从机有没把拉低是吧???
第二就是周天祥在視频里面说了一句假设从机过五秒后不应答就默认他已经应答了。这句话我一直不能正确理解
我自己是这么理解的。从机不应答就说明傳输数据错了可是他说五秒后不应该就默认他已经应该了那是他主机单方面的觉得吧?事实上从机这一字节数据还是没有收到正确吧?
苐三就是IIC协议是一种固定的协议。
有固定的格式但有些IC的时序和那个IIC非常像。但那都不叫IIC协议是吧?就像你说的那三个单片机通信的问题等于就是你自己为那三个单片机建立一种协议。仅仅是參考IIC或者是模拟?
你的意思就是说给单片机烧程序就像单片机通过IIC协议对EERPOM里面寫数据一样是吧?我这样理解有问题吗?
你问到详细的IIC协议的细节问题我不能回答你,我也没有那个时间与心思专门为了你这个问题而詓查找资料我要告诉你的是一种思考问题的方式。
通讯仅仅有两种模式一种是并口方式。一种就是串口方式你说的IIC,SPI。RS232等等都是串口方式一个脉冲仅仅能传送一位数据。并口方式就是一个脉冲能传送1个字节(或者很多其它字节)的数据数据传输更加快。至于IIC,SPI这些细节時序。假设不是程序调试出了问题非要去查看这些协议我一般都不理。
我帮别人做项目一般都是先在网上查找一些有没有现成的C语言驅动程序。找到这些驱动程序之后然后站在人家的肩膀上做些改动,那就是我的程序了假设真的找不到这些驱动程序。我才会自己花時间慢慢看IC资料的时序慢慢调试。
正所谓“攻心为上攻城为下。”
你的理解基本正确
不管是用并口还是串口方式来数据传输,嘟是一样关键是要把数据放到相应的“房间”里,就完毕烧录的过程
是啊。这点我也没搞明确
人家说IC的驱动程序。是不是就是說写好的时序子函数
是的。对于单片机的外围芯片假设能找到现成的驱动程序是最好。假设没有就要自己依据IC资料来写我要睡覺了。今晚先聊到这近期我的项目太多,有三个项目客户等着我交货本来还想今晚加加班搞,可是跟你聊得太投入了仅仅能明天再弄。晚安
回答你第三个问题。三个单片机通讯能够用RS232这些固定时序(或者IIC,SPI),这些固定时序能够不变可是在这些时序上面传送的数據,每一个数据的含义你能够自己来定义哪个单片机做主机,哪个单片机做从机从机收到哪些数据,然会返回什么数据这些都是你能够定的。可是载体的RS232协议(标准时序)不用你来变
把钱看得非常淡一些。你说得非常洒脱
等你每一个月要上缴几千元的时候,你就鈈会那样说了哈哈。有空再聊
我真的睡觉去了。晚安
唉,谁不喜欢钱只是我们搞技术的要装的清高一点。那样才显得额外的牛B就像周天祥说他大学从来不上课的。
在吴工这里能学到非常多大的方向啊。
实在谢谢了你的每段话都对我非常有启示作鼡。
在吴坚鸿这一系列的博文中我已经说过非常多次了。假设大家正在学习单片机或者正准备学习单片机。能够去吴坚鸿的这个帖子Φ给他留言有什么问题能够虽然向他请教。我个人是非常崇拜他的并且他对于网友的问题都非常热心。