【8-25更新】51单片机入门提高,新手必看,老鸟飘过~
本帖最后由 E08610225 于 2012-12-6 23:33 编辑大家好,我是爱板网MCU版版主.论坛只是是爱板网的一个子版块,但同样是一个举足轻重的板块.本论坛有不少的开发板可以免费提供,希望各位多多支持本论坛~! 几天前应军哥之邀,做此板块版主,苦奈时间如隙,才疏学浅,只能在有限范围内尽力为之,深感惭愧. 这篇文章属于51单片机入门文章,老鸟飞过~~~ 单片机到底难不难?我想在这里首先给欲学习单片机的同志们一个底:不难!当然咯,入门不难,精通可就得真下功夫啦! 本篇文章系LZ本人学习过程中关于单片机入门的步骤以及自己学习过程中的经验,希望对大家有所帮助,文中有纰漏之处,欢迎各位雅正(给偶发站内信哦).
下面言归正传.一.什么是单片机? 单片机这个东西,范围说广也广,说窄也窄,即是有广义和窄义之分,到底来,区分这些东西并没有什么实际的意义.用我的言语来描述一下单片机就是这么个东西:单片机就是一块芯片,我们可以通过编程来控制它内部的资源(资源—单片机资源指的是单片机内部的功能),通过内部的控制从而控制外围的电路,最终达到一定的效果.二.单片机编程 单片机采用汇编和C语言来编程.现今的单片机大多数采用C语言来编程,极少数或极少部分会涉及到汇编编程(为什么必要的时候用汇编?因为有些时候,一些直接的机器指令的执行速度,判断方式会C语言简洁且快速,对于一些重要的核心的程序,汇编无可代替). 注意: 1.不同单片机的汇编指令是不同的.51,pic,8088(可以看做为单片机),它们的汇编并不相同.当然,它们的基本原理相同,仅仅是指令不同仅此而已. 2.C语言可以看做是汇编语言的升级版.C语言的出现大大简化了程序设计的难度.C语言写好的程序需要经过编译和链接等步骤,最终还是要被”翻译”成汇编语言(这里不太严谨,不伤大雅).不论是何种语音,它们的本质就是二进制0101010...三.C语言不会可不可以学习单片机? 完全可以.但会比较吃力,学习进度比较慢.
新手学习流程:
1.C语言的学习:
建议首先学习C语言,推荐谭浩强老师的C语言学习.当然,边学单片机的同时学习C语言也可以.(谭浩强老师的C语言教程讲的是计算机C语言,它与单片机C语言有些许差别.因为我们写单片机C语言是要操作这块芯片的,所以会涉及到芯片).
2.单片机入门教材选定:
LZ当时学习单片机的时候,是直接从PIC18系列入手的,当时的情况,简直是糟透了,什么都不知道,连单片机是什么,PIC是什么,开发板是什么都弄不清楚.现在算是弄清楚了,PIC也是单片机的一种,开发板就是学习一块芯片而特地做的一块板子.话说回来,LZ当时学习PIC的时候,完全就是白痴一个,但LZ绝对不是一个知难而退的人,不会硬着头皮也要上,慢慢的在一些学长的帮助和自己,同伴的努力摸索学习之下(不会不要紧,不要怕自己不会,不要遇到困难就被困难打了下去。不会,我们可以去问,要是没有人问,可以百度!百度是一个很好用的学习工具~一点要学会用百度!),终于在一个假期不到的时间内初步学会了单片机,并设计了智能交通灯系统.
现在回想看来,一个假期初步学会简直就是太慢了(LZ有C语言基础的,考试97高分吧~哈哈!).因为当时不懂得路怎么走,所以今天,LZ把最简洁的路给大家说说. 如今所流行的入门级单片机当属51单片机,51单片机的学习推荐郭天祥老师<十天学会单片机>教程.这个教程做的非常好,郭天祥老师对单片机入门的贡献也是非常之大的!在这里感谢郭老师. 郭天祥老师书籍以及教程使用技巧. 对于视频来说,就是咱们学习的很好的工具,看会,不多说.郭天祥老师的书,这里有电子版,大家一定要保存好,书里面的内容有很好的参考价值,包括:各种元件驱动程序和一些基础的电路图等.
视频: 郭天祥老师51视频教程原版13课:
http://pan.baidu.com/share/link?shareid=3896&uk=2033151475
书籍:
《新概念51单片机C语言教程》:
http://pan.baidu.com/share/link?shareid=9235&uk=2284828655
光盘资料:
对应学习板资料[无论有没有实物,这个是必备的。里面很多资料。]:
http://pan.baidu.com/share/link?shareid=4217&uk=2284828655
建议:该开发板并不贵,淘宝挺便宜的。如果经济充裕,可以考虑购买一个。采用Protues仿真学习也同样是一种很好的选择。LZ学习初期,用的就是Proteus仿真。
3.仿真软件proteus 这几日一直没有空,今日早起了把这篇51的入门教材再继续的完善一下~ 有些时候,我们并没有足够的money去购置各种开发板、芯片和其他的电子元器件。所以,很多时候,单片机仿真给我们提供了一种不用花额外money而学习单片机和各种芯片的机会。当然,有些东西没法仿真就只能掏掏我们的腰包了。 小E学习单片机的时候,首要的仿真软件就是proteus啦,它是目前最好的仿真单片机及外围器件的工具。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。 proteus上手比较容易,学的时候也没怎么花力气,一般的电路来说,搭建起来也比较简单。但对于一些简单的实用的操作,还是有不会的。 LZ当初学习的时候就是通过这个视频教程学习的。视频是由湖北工业大学(还是学院?记忆中好像是这个学校的,这个不是重点,LZ翻阅了一下原视频,开头她也没有介绍,LZ干脆就不管了。哪位看到以后,如果不对,请message我一下~)的一位老师录制的。LZ真的很感激这位老师~!虽然这位老师讲课的声音不敢恭维,可这是一部非常难得的proteus视频教程。LZ当时收集的时候也颇为不易呀!嘿嘿~希望大家多顶多支持我们的论坛~!
proteus视频教程: proteus入门到精通01-05
proteus入门到精通06-10
proteus入门到精通11-15
proteus入门到精通16-20
proteus入门到精通21-25
proteus入门到精通26-29
proteus文本教程: proteus文本pdf教程
此文本教程包含两部分内容:一部分是长江大学的一部教程,另一部是《嵌入式系统设计仿真与开发平台研讨会专刊》的特稿教程。后一部分LZ看过,挺不错的。现在而言proteus中文教程并不是很丰富,其Help比较难读懂,所以,是教程LZ见到就收集来了。如果诸位有更好的教程,可以推荐一下哦~
proteus软件下载: proteus软件汉化破解
(LZ不建议汉化哦~~~,如果英文真的一窍不通,那么就汉化吧~)
4.C51开发系统keil keil,LZ就不多做介绍了。就是用来写51程序的软件。具体使用方式会在郭天祥老师的视频教程里出现。 keil C51 v9.00下载 :keil C51破解版
5.如虎添翼
在这一部分,LZ主要会讲一些方便我们学习开发的一些方法和有用的软件等。
①proteus与keil级联
对于这一部分,新入手的朋友们可能会不懂是怎么回事。简单说明一下,keil是我们开发C51程序的系统,我们写好的程序经过编译连接以后可以加入到proteus仿真电路图中进行仿真(前提是你已经通过proteus搭建好了仿真电路图)。而写程序,将程序加入仿真电路图,这是分开的过程,现在,如果将两者级联在一起,那么,我们就可以直接通过keil,并且通过proteus仿真电路图,直接调试我们的程序了。废话不多说。
方法如下:
第一步:首先你要下载安装这两个软件了。本站链接见上面。还有你需要这个dll文件:
第二步:安装完毕,把C:\Program Files\Labcenter Electronics\Proteus 6 Professional\MODELS\目录下的 VDM51.dll文件复制到 C:\Keil\C51\BIN文件夹下。(目录名都是默认的,你可以根据你实际安装的目录进行复制。) 第三步:用记事本(其它的编辑软件也可以,如Ultra Edit)打开Keil 根目录下的 TOOLS.INI 文件,在 栏目下加入 TDRV3=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver" ) ,其中“TDRV3” 中的 “3”要根据实际情况写,不要和原来的重复。(我的这个文件中已经有了从TDRV1到TDRV4, 所以我用的是TDRV5) 第四步:keil的设置。为了让读者更好的了解这个过程,笔者以Proteus自带的例子来说明。把"C:\Program Files\Labcenter Electronics\Proteus 6 Professional\SAMPLES"的"8051 LCD Driver”文件夹复制到新建的Proteus文件夹下。运行keil程序,在"8051 LCD Driver"文件夹下建立一个新的名为8051 LCD Driver工程。单片机的型号选择AT89C52就可以,把LCDDEMO 文件加到"Source Group 1"组里。点击工具栏的"option for target"按钮,在出现的对话框里点击"Debug",在右栏上部的下拉菜单里选中" Proteus VSM Monitor-51 Driver",还要点击一下Use前面的小圆点。 再点击"Setting"设置通信接口,在Host后面添上"127.0.0.1",如果你是用的不是同一台电脑,在这里添上另一台电脑的IP地址(另一台电脑安装Proteus)。 在Port后面添上"8000"。点击"OK"按钮即可。最后把工程编译一下。 第五步:Proteus的设置。运行Proteus的ISIS,鼠标左键点击菜单"DEBUG",选中"use romote debuger monitor"。下面我们用鼠标左键点击菜单"File",再点击"Load Design",导入"8051 LCD Driver"文件夹下的LCDDEMO.design文件。注意,一定要把keil的工程和Proteus的文件放到同一个目录下(这里所说的Keil的工程指工程的目录,即Proteus的工程文件要和Keil工程的那个文件夹在同一层目录下)。好了,我们现在就可以试试我们的成果了!打开keil,按Ctrl+F5进入调试界面或者点击工具栏的调试按钮。如果不能进入调试界面,可能设置有误,按照上面的步骤再重新设置一下。进入了调试界面,按F5或者点击工具栏的调试按钮,全速运行,再看看ISIS,有什么变化了吗?你可以调整一下你的屏幕,让两个程序同时出现显示器上。 连接成功以后,你可以在keil调试你的程序了,单步、全速都可以;也可以进行设置断点、观察变量的值等。你也可以在Proteus做硬件方面的模拟,如按按键、改变可调电阻的阻值等,这个时候keil都会有反应的;我们还可以在Proteus加上一些仪表,如示波器、电表、频率发生器等。试试看,你会对Proteus爱不释手的。
②常用51辅助小软件集合
此处我就不再多写了。这些软件已经由翔宇会员给我们提供了,再此感谢他对论坛和大家的贡献。同时,我们也希望大家能够积极踊跃的给予我们论坛最大的支持~~~
下载地址:学单片机常用的软件软件集合
本帖所有软件教程统一解压密码:www.eeboard.com
如有问题,请尽快指出,以便修改~~~谢谢各位~~~
LZ没有长篇大论,而且事实也是如此的简洁和简单,资料就这么多,大家只要一步一个脚印,这些东西吸收以后,定能轻松起步,然后飞黄腾达~~~哈哈! 还有一些东西未来得及补充,以后时间内LZ会尽快补上。如有纰漏错误,恳请各位慧眼雅正并不吝message偶一下!
(本帖软件视频均搜集于互联网,本站所有资讯内容均来自互联网收集而来,版权归原作者所有。如果侵犯了您的权益,请通知我们,我们会及时删除侵权内容,谢谢合作!)最后打一个广告:打个广告,百度网盘只有5G大小,各位兄弟姐们,能帮忙的就通过这个链接注册一下,注册一次512M空间,最多8G~~~这样子网盘最大可以15G~这样可以有更多的资料上传。我的网盘推广链接:http://pan.baidu.com/disk/beinvited?uk=2033151475 回帖就有铜板啊,呵呵我还没想到。第一手体验,小E辛苦咯!
PS:你目前学什么单片机呢? 说个题外话,小E你文笔不错啊,呵呵,顺走一铜板。 小鸟愤怒 发表于 2012-8-20 21:09 static/image/common/back.gif
回帖就有铜板啊,呵呵我还没想到。第一手体验,小E辛苦咯!
PS:你目前学什么单片机呢? ...
哈哈~多谢军哥夸赞啦~取之于论坛用之于论坛呢~~~ 还得继续完善啧啧~过几天完善好呢~~~ 楼主很棒,过来顺个铜板。 版主很强,赞一个!:victory: 铜板很多啊! QQ哥 发表于 2012-8-26 17:08 static/image/common/back.gif
铜板很多啊!
哈哈~小手一抖,2分到手~ 非常强大,好贴:D 来顺个铜板吧