51单片机入门教程.pdf
《51单片机入门教程.pdf》由会员分享,可在线阅读,更多相关《51单片机入门教程.pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、51 单片机入门教程请允许我假设你已经掌握基本的模拟与数字电路知识、基本的计算机理论知识(比如知道二进制是怎么回事,RAM 和 ROM 是什么东西)与操作知识(比如会装载与使用应用软件)、明白C语言的基本规则与语句。同时,我默认你有一本经典51 教材(哪个版本都可以)、一本51 单片机应用教材(内容为给出硬件电路和源程序的单片机开发实例)、一块51 单片机实验板(含一条串口线)、一块具有ISP(在系统编程)功能的单片机、某个版本的KEIL 软件、某个版本的ISP烧写软件、一台性能一般的PC电脑。如果不具备上述任何一项,请不要继续阅读本教程,收起你的书本,回家吧,你无法学会单片机。知识方面的欠缺
2、请自己尽快弥补。教材与应用书籍可以借阅,但是我建议各买一本,因为它们属于工具书,需要随时翻看,版本我就不推荐了,各种版本内容基本都一样,这个投资需要数十元。实验板可以使用我提供的这一款,硬件功底好的也可以自制,成本在100 元以内,网上有很多这方面的资料,且基本配置都大同小异。具有ISP 功能的 51 单片机我推荐使用飞利浦系列,本实验板就是针对P89C51RD2系列(价格40 元左右)设计的(周立功单片机公司全面代理飞利浦单片机,可以联系邮购)。其他ISP 功能的单片机也行,如华邦的W78E系列,AVR哈佛结构(不是 51 内核)高速系列,不过我都没有使用过。具有 ISP 功能的单片机虽然比
3、AT89C51之类(10 元左右)贵很多,但是配置很强(仅ROM 容量就有 64K,是 AT89C51的 16 倍),而且相对于数百元的编程器或者仿真器来说,性价比还是很高的,有利于降低硬件投资给初学者造成的门槛。KEIL 软件网上随处都可以下载到(搜索 KEIL 下载即可),当然尽量使用高版本的。ISP编程软件周立功单片机的网站可以下载,名称为ZLGISP,飞利浦的WINISP也可以。不算PC电脑的话,200 元的投资足够开始学习51 单片机了(实验板+串口线+单片机+教材)。OK,这是一份面向对单片机一无所知的初学者的入门教程。单片机技术就如同一张窗户纸,这份肤浅的教程就是来戳穿它的,呵呵
4、。就如同你来到一个陌生的城市,我送你一张地图不是我水平高,是我比你来得早,就这么点优势,呵呵。它的作用仅仅是帮助你在茫然的情况下顺利上手,至于上手之后的进展,就全靠你自己的辛勤钻研了。你要明白,没有任何路标能够代替你走完脚下的路。显然,我不想你们再像我一样在入门上花费过多宝贵时间。你们当然会感谢我,这是可以理解的,因为我也曾感谢过在我入门的时候给过我帮助的朋友。好了,我们开始学习单片机的旅程。第一章:单片机开发的基本流程不是所有人都学过地理,但是几乎每个人都能找到回家的路,学习单片机也是如此。我们先不要看什么教材,我们直接进入开发过程的介绍与学习,争取在最短的时间内获得最多的感性认识。千万不要
5、像学英语那样学单片机,就像背了十年单词却没见着一回老外看一年教材也没见过单片机什么样的话,那就不可能学会了。针对我们前言中的软硬件,基本开发流程是这样的:1、在 PC电脑上安装并启动KEIL 软件,建立一个单片机工程项目,调整设置,使项目输出时生成 HEX格式(INTERL公司规定的一种二进制格式)烧写文件。具体操作详见第二章。2、新建程序文件,将其加入项目。用汇编或者C51语言编写一个程序,编译,纠错,再编译,再纠错,直到错误全部消失,编译成功,系统会自动生成HEX格式文件,保存在项目所在的文件夹里。3、在实验板断电的情况下(如果带电容易击穿PC机串口),用串口线连接单片机与PC机串口。接通
6、实验板电源,选择ISP 编程(红色发光管亮),复位,进入编程状态。启动ISP 编程软件ZLGISP,选择需要擦除的FLASH块(初学编程代码不会很大,擦除第一块BLOCK8K 足够)。点击设置选项,VECTOR 为 FC不要改动,STATUS改为 00,点击写入。然后点击读出,确认VECTOR 确实为 FC,而 STATUS确实为 00,如果不是,重新写入,然后退出ISP 状态,则设置完成。也就是说每次退出ISP 功能之前,必须确认向量为FC,否则下次将无法进入ISP 状态,就好比你把钥匙放在屋子里却从外边锁上了门一样。因为 VECTOR 和 STATUS 是同时被改写的,所以改写 STATU
7、S的时候 VECTOR 可能发生误码或丢失等错误,一旦发生这种情况,只能使用支持P89C51RD2的并行编程器将VECTOR 的入口地址FC重新烧入,等于破门而入拿钥匙,比较麻烦了。注意,这一步非常关键,STATUS 不为 00 程序将不能正常运行程序,原理下文再做介绍。打开编译好的HEX格式烧写文件。点击编程选项,不必做任何选择,等待编程自动结束。4、切换到运行状态(绿色发光管亮),按下复位键。此时程序开始运行,实验板的器件会有相应的反应。至此一次完整的单片机开发流程成功结束。第二章:KEIL 软件使用方法如何安装与启动KEIL 软件我就不说了,这个软件的功能有三个:编辑程序源代码,编译源程
8、序为目标文件(目标文件就是翻译过来的机器码),软件仿真运行结果。作为初学者,你要明白编辑和编译的区别就像你要明白秘书和翻译的区别一样。启动软件以后,点击PROJECT(工程),在下拉菜单中选择NEW(新建),在对话框中设置项目文件的保存位置,具体位置随你便了。给该工程项目命名,随你便,但是要把扩展名设为.UV2,比如可以命名为LED.UV2,保存。此时弹出单片机设备选择对话框,针对我们的实验板请选择 ATMEL公司的 AT89C51 或者 PHILIPS 公司的 8XC51RD2,点击确定。点击 FILE(文件)中的NEW,此时会出现一个文本界面,点击FILE 中的 SAVE(保存),在对话框
9、中设置保存路径(最好与刚才的工程文件在一个文件夹中)。给该源程序文件命名,扩展名要根据你使用的编程语言确定,如果使用汇编语言,就命名为.ASM,如果使用C51语言,就命名为.C。对于没有学过C51 的初学者来说,应使用.ASM,比如 LED.ASM,保存。在左面的工程窗口里用右键点击TARGET1,选择 OPTIONS FOR TARGET TARGET 1,在对话框中选择OUTPUT 选项,在 CREAT HEX FILE选项前打勾,点击确定,这样编译之后,在工程项目所在的文件夹中就能够生成HEX格式的烧写文件了。点击 TARGET1 前面的加号,用右键点击SOURSE GROUP 1,选择
10、ADD FILES TO GROUP SOURSE GROUP 1,将刚才新建的源程序文件加入。此时SOURSE GROUP 1 之前也有加号了,点击会看到你新建的文件。双击进入你建立的文件,现在可以编写你的第一个程序了。第三章:你的第一个单片机程序文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S
11、3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L
12、3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7
13、O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H
14、5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A1
15、0L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3
16、J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3源程序如下:O
17、RG 00HMOV P0,#55HLOOP:SJMP LOOPEND什么?这么简单?!是不是在搞笑?!没错,虽然简单,但这就是一个完整的单片机程序。具体语句我先不作解释,你要先把这个程序在实验板上跑起来才行。点击编译按钮(项目窗口上面那三个蛋糕一样的按钮中间或者右边那个),也可以选择PROJECT 选项中的BUILD TARGET 选项,编译就自动开始。如果有错误或者警告,下面的编译输出栏将会显示,如果你编译过C语言的程序,就会比较熟悉,所以要求你具有一定的C语言基础。如果没有错误和警告,系统将显示代码量,DATA表示占用内部RAM空间的大小,XDATA表示占用外部RAM 空间的大小,CODE
18、 表示占用片内ROM 空间的大小。P89C51RD2HBP 本身有 1K 内部数据存储器RAM,64K内部程序存储器ROM,本实验板没有扩展外部RAM,所以暂时不能做有关外部RAM 存储的实验。至于你使用AT89C51+编程器的话,资源就比较少了,只有128B(1 字节=8 位)RAM 和 4K 大小的ROM,不过对于初学者,足够使用了。好的,对于你这样一个一点成就感都没有的初学者来说,激动人心的时候就要到了:我们要把这个程序固化到单片机的ROM 里了。连接好串口线,写入STATUS为 00(切记!写一次就行了,频繁擦写有可能导致向量丢失,那麻烦就大了),擦除,固化,复位哈,程序运行了吗?8
19、个 LED发光管隔一个亮一个吗?如果是的话,恭喜你啊!你已经成为一名单片机的开发人员啦!呵呵,虽然这个程序没有什么实用价值,你也不明白语句的意义,但是它给你带来了成就感和自信心,这才是作为初学者最最需要的,有了信心与兴趣,一切都不再成为负担和难题。是不是开始跃跃欲试了?好的,我们继续讲下去。第四章:程序解释与软件仿真功能的介绍现在我们回过头来解释这个程序。ORG 是一个伪指令。不懂?呵呵,正常,当初我也不懂。伪指令就是一条没有真正操作的指令,说白了就是什么活也不干,耍耍嘴皮子而已。ORG 是个定位伪指令,告诉系统程序从00地址开始执行,至于执行什么,怎么执行,它不管。就像一次扫雪任务,一个领导
20、来了,指着脚下说:从这里开始扫。至于具体怎么扫,那是你的事情,呵呵。还有几条伪指令,去看教材。MOV P0,#55H是这个程序的核心指令,工作全部都是它做的。参照教材,它的意思是将十六进制数55 输出给寄存器P0,而 P0 口的状态由8 个 LED显示。我知道你会对这个十六进制数字感到糊涂,因为我们长了10 手指头。这里的 55 不是十进制转换来的,它实际是二进制数字的一种压缩写法,写成二进制就是01010101,这样 P0 口接的 8 个 LED就会隔一个亮一个。55 屁股后面的H表示它是十六进制数,如果去掉H就表示 55 是十进制数了。十进制数55 转换为十六进制数是37,二进制数是001
21、10111,就不是01010101 了,不信可以试试看,去掉55 后文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9
22、A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1
23、Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:
24、CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 H
25、M9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 ZE1Q3J7O1Q3文档编码:CL7H5S3X4N3 HM9A10L3Z8T1 Z
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 入门教程
限制150内