没有合适的资源?快使用搜索试试~ 我知道了~
51单片机入门必读的好文章
![star](https://csdnimg.cn/release/downloadcmsfe/public/img/star.98a08eaa.png)
温馨提示
单片机技术就如同一张窗户纸,这份肤浅的教程就是来戳穿它的,呵呵。就如同你来到一个陌生的城市,我送你一张地图——不是我水平高,是我比你来得早,就这么点优势,呵呵。它的作用仅仅是帮助你在茫然的情况下顺利上手,至于上手之后的进展,就全靠你自己的辛勤钻研了。你要明白,没有任何路标能够代替你走完脚下的路。显然,我不想你们再像我一样在入门上花费过多宝贵时间。你们当然会感谢我,这是可以理解的,因为我也曾感谢过在我入门的时候给过我帮助的朋友。
资源推荐
资源详情
资源评论
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/release/download_crawler_static/3074140/bg1.jpg)
请允许我假设你已经掌握基本的模拟与数字电路知识、基本的计算机理论知识(比如知道二进制是怎么回
事,RAM 和 ROM 是什么东西)与操作知识(比如会装载与使用应用软件)、明白 C 语言的基本规则与
语句。同时,我默认你有一本经典 51 教材(哪个版本都可以)、一本 51 单片机应用教材(内容为给出
硬件电路和源程序的单片机开发实例)、一块 51 单片机实验板(含一条串口线)、一块具有 ISP(在系
统编程)功能的单片机、某个版本的 KEIL 软件、某个版本的 ISP 烧写软件、一台性能一般的 PC 电脑。
如果不具备上述任何一项,请不要继续阅读本教程,收起你的书本,回家吧,你无法学会单片机。知识
方面的欠缺请自己尽快弥补。教材与应用书籍可以借阅,但是我建议各买一本,因为它们属于工具书,需
要随时翻看,版本我就不推荐了,各种版本内容基本都一样,这个投资需要数十元。实验板可以使用我提
供的这一款,硬件功底好的也可以自制,成本在 100 元以内,网上有很多这方面的资料,且基本配置都
大同小异。具有 ISP 功能的 51 单片机我推荐使用飞利浦系列,本实验板就是针对 P89C51RD2 系列(价
格 40 元左右)设计的(周立功单片机公司全面代理飞利浦单片机,可以联系邮购)。其他 ISP 功能的单
片机也行,如华邦的 W78E 系列,AVR 哈佛结构(不是 51 内核)高速系列,不过我都没有使用过。具
有 ISP 功能的单片机虽然比 AT89C51 之类(10 元左右)贵很多,但是配置很强(仅 ROM 容量就有
64K,是 AT89C51 的 16 倍),而且相对于数百元的编程器或者仿真器来说,性价比还是很高的,有利
于降低硬件投资给初学者造成的门槛。KEIL 软件网上随处都可以下载到(搜索 KEIL 下载即可),当然尽
量使用高版本的。ISP 编程软件周立功单片机的网站可以下载,名称为 ZLGISP,飞利浦的 WINISP 也可
以。不算 PC 电脑的话,200 元的投资足够开始学习 51 单片机了(实验板+串口线+单片机+教材)。
OK,这是一份面向对单片机一无所知的初学者的入门教程。单片机技术就如同一张窗户纸,这份肤浅
的教程就是来戳穿它的,呵呵。就如同你来到一个陌生的城市,我送你一张地图——不是我水平高,是我
比你来得早,就这么点优势,呵呵。它的作用仅仅是帮助你在茫然的情况下顺利上手,至于上手之后的进
展,就全靠你自己的辛勤钻研了。你要明白,没有任何路标能够代替你走完脚下的路。显然,我不想你们
再像我一样在入门上花费过多宝贵时间。你们当然会感谢我,这是可以理解的,因为我也曾感谢过在我入
门的时候给过我帮助的朋友。
好了,我们开始学习单片机的旅程。
第一章:单片机开发的基本流程
不是所有人都学过地理,但是几乎每个人都能找到回家的路,学习单片机也是如此。我们先不要看什
么教材,我们直接进入开发过程的介绍与学习,争取在最短的时间内获得最多的感性认识。千万不要像学
![](https://csdnimg.cn/release/download_crawler_static/3074140/bg2.jpg)
英语那样学单片机,就像背了十年单词却没见着一回老外——看一年教材也没见过单片机什么样的话,那
就不可能学会了。
针对我们前言中的软硬件,基本开发流程是这样的:
1、在 PC 电脑上安装并启动 KEIL 软件,建立一个单片机
工程项目,调整设置,使项目输出时生成 HEX 格式(INTERL 公司
规定的一种二进制格式)烧写文件。具体操作详见第二章。
2、新建程序文件,将其加入项目。用汇编或者 C51 语言编写一个程序,编译,纠错,再编译,再纠错,
直到错误全部消失,编译成功,系统会自动生成 HEX 格式文件,保存在项目所在的文件夹里。
3、在实验板断电的情况下(如果带电容易击穿 PC 机串口),用串口线连接单片机与 PC 机串口。接通实
验板电源,选择 ISP 编程(红色发光管亮),复位,进入编程状态。启动 ISP 编程软件 ZLGISP,选择需
要擦除的 FLASH 块(初学编程代码不会很大,擦除第一块 BLOCK8K 足够)。点击设置选项,VECTOR
为 FC 不要改动,STATUS 改为 00,点击写入。然后点击读出,确认 VECTOR 确实为 FC,而 STATUS
确实为 00,如果不是,重新写入,然后退出 ISP 状态,则设置完成。也就是说每次退出 ISP 功能之前,
必须确认向量为 FC,否则下次将无法进入 ISP 状态,就好比你把钥匙放在屋子里却从外边锁上了门一样。
因为 VECTOR 和 STATUS 是同时被改写的,所以改写 STATUS 的时候 VECTOR 可能发生误码或丢失等
错误,一旦发生这种情况,只能使用支持 P89C51RD2 的并行编程器将 VECTOR 的入口地址 FC 重新烧
入,等于破门而入拿钥匙,比较麻烦了。注意,这一步非常关键,STATUS 不为 00 程序将不能正常运行
程序,原理下文再做介绍。打开编译好的 HEX 格式烧写文件。点击编程选项,不必做任何选择,等待编
程自动结束。
4、切换到运行状态(绿色发光管亮),按下复位键。此时程序开始运行,实验板的器件会有相应的反应。
至此一次完整的单片机开发流程成功结束。
第二章:KEIL 软件使用方法
如何安装与启动 KEIL 软件我就不说了,这个软件的功能有三个:编辑程序源代码,编译源程序为目标
文件(目标文件就是翻译过来的机器码),软件仿真运行结果。作为初学者,你要明白编辑和编译的区别
——就像你要明白秘书和翻译的区别一样。
![](https://csdnimg.cn/release/download_crawler_static/3074140/bg3.jpg)
启动软件以后,点击 PROJECT(工程),在下拉菜单中选择 NEW(新建),在对话框中设置项目文
件的保存位置,具体位置随你便了。给该工程项目命名,随你便,但是要把扩展名设为.UV2,比如可以
命名为 LED.UV2,保存。此时弹出单片机设备选择对话框,针对我们的实验板请选择 ATMEL 公司的
AT89C51 或者 PHILIPS 公司的 8XC51RD2,点击确定。
点击 FILE(文件)中的 NEW,此时会出现一个文本界面,点击 FILE 中的 SAVE(保存),在对话框
中设置保存路径(最好与刚才的工程文件在一个文件夹中)。给该源程序文件命名,扩展名要根据你使用
的编程语言确定,如果使用汇编语言,就命名为.ASM,如果使用 C51 语言,就命名为.C。对于没有学过
C51 的初学者来说,应使用.ASM,比如 LED.ASM,保存。
在左面的工程窗口里用右键点击 TARGET1,选择 OPTIONS FOR TARGET ‘TARGET 1’ ,在对
话框中选择 OUTPUT 选项,在 CREAT HEX FILE 选项前打勾,点击确定,这样编译之后,在工程项
目所在的文件夹中就能够生成 HEX 格式的烧写文件了。
点击 TARGET1 前面的加号,用右键点击 SOURSE GROUP 1,选择 ADD FILES TO GROUP
‘SOURSE GROUP 1’ ,将刚才新建的源程序文件加入。此时 SOURSE GROUP 1 之前也有加号了,
点击会看到你新建的文件。
双击进入你建立的文件,现在可以编写你的第一个程序了。
第三章:你的第一个单片机程序
源程序如下:
ORG 00H
MOV P0 , #55H
LOOP: SJMP LOOP
END
什么?这么简单?!是不是在搞笑?!没错,虽然简单,但这就是一个完整的单片机程序。具体语句
我先不作解释,你要先把这个程序在实验板上跑起来才行。点击编译按钮(项目窗口上面那三个蛋糕一样
的按钮中间或者右边那个),也可以选择 PROJECT 选项中的 BUILD TARGET 选项,编译就自动开始。
剩余16页未读,继续阅读
![avatar](https://profile-avatar.csdnimg.cn/e3ba5cdf03ad494796547ce80619548b_raozhe1988.jpg!1)
raozhe1988
- 粉丝: 16
- 资源: 38
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
- 1
- 2
- 3
- 4
前往页