没有合适的资源?快使用搜索试试~ 我知道了~
很实在的51单片机入门教程
需积分: 0 13 下载量 85 浏览量
2009-07-16
00:55:12
上传
评论 1
收藏 83KB DOC 举报
温馨提示
试读
14页
最基本的学习单片机的入门知识,适合最初入手的人。
资源详情
资源评论
资源推荐
51 单片机入门教程
请允许我假设你已经掌握基本的模拟与数字电路知识、基本的计算机理论知识(比如知道二进
制是怎么回事,RAM 和 ROM 是什么东西)与操作知识(比如会装载与使用应用软件)、明白
C 语言的基本规则与语句。同时,我默认你有一本经典 51 教材(哪个版本都可以)、一本 51
单片机应用教材(内容为给出硬件电路和源程序的单片机开发实例)、一块 51 单片机实验板
(含一条串口线)、一块具有 ISP(在系统编程)功能的单片机、某个版本的 KEIL 软件、某个
版本的 ISP 烧写软件、一台性能一般的 PC 电脑。xx
如果不具备上述任何一项,请不要继续阅读本教程,收起你的书本,回家吧,你无法学会
单片机。知识方面的欠缺请自己尽快弥补。教材与应用书籍可以借阅,但是我建议各买一本,
因为它们属于工具书,需要随时翻看,版本我就不推荐了,各种版本内容基本都一样,这个投
资需要数十元。实验板可以使用我提供的这一款,硬件功底好的也可以自制,成本在 100 元以
内,网上有很多这方面的资料,且基本配置都大同小异。具有 ISP 功能的 51 单片机我推荐使用
飞利浦系列,本实验板就是针对 P89C51RD2 系列(价格 40 元左右)设计的(周立功单片机
公司全面代理飞利浦单片机,可以联系邮购)。其他 ISP 功能的单片机也行,如华邦的 W78E
系列,AVR 哈佛结构(不是 51 内核)高速系列,不过我都没有使用过。具有 ISP 功能的单片
机虽然比 AT89C51 之类(10 元左右)贵很多,但是配置很强(仅 ROM 容量就有 64K,是
AT89C51 的 16 倍),而且相对于数百元的编程器或者仿真器来说,性价比还是很高的,有利
于降低硬件投资给初学者造成的门槛。KEIL 软件网上随处都可以下载到(搜索 KEIL 下载即
可),当然尽量使用高版本的。ISP 编程软件周立功单片机的网站可以下载,名称为 ZLGISP,
飞利浦的 WINISP 也可以。不算 PC 电脑的话,200 元的投资足够开始学习 51 单片机了(实验
板+串口线+单片机+教材)。
xxxOK,这是一份面向对单片机一无所知的初学者的入门教程。单片机技术就如同一张窗户
纸,这份肤浅的教程就是来戳穿它的,呵呵。就如同你来到一个陌生的城市,我送你一张地图
——不是我水平高,是我比你来得早,就这么点优势,呵呵。它的作用仅仅是帮助你在茫然的
情况下顺利上手,至于上手之后的进展,就全靠你自己的辛勤钻研了。你要明白,没有任何路
标能够代替你走完脚下的路。显然,我不想你们再像我一样在入门上花费过多宝贵时间。你们
当然会感谢我,这是可以理解的,因为我也曾感谢过在我入门的时候给过我帮助的朋友。
x好了,我们开始学习单片机的旅程。
第一章:单片机开发的基本流程
x不是所有人都学过地理,但是几乎每个人都能找到回家的路,学习单片机也是如此。我们
先不要看什么教材,我们直接进入开发过程的介绍与学习,争取在最短的时间内获得最多的感
性认识。千万不要像学英语那样学单片机,就像背了十年单词却没见着一回老外——看一年教
材也没见过单片机什么样的话,那就不可能学会了。
针对我们前言中的软硬件,基本开发流程是这样的:
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 软件使用方法
x如何安装与启动 KEIL 软件我就不说了,这个软件的功能有三个:编辑程序源代码,编译
源程序为目标文件(目标文件就是翻译过来的机器码),软件仿真运行结果。作为初学者,你
要明白编辑和编译的区别——就像你要明白秘书和翻译的区别一样。
启动软件以后,点击 PROJECT(工程),在下拉菜单中选择 NEW(新建),在对话框中
设置项目文件的保存位置,具体位置随你便了。给该工程项目命名,随你便,但是要把扩展名
设为.UV2,比如可以命名为 LED.UV2,保存。此时弹出单片机设备选择对话框,针对我们的
实验板请选择 ATMEL 公司的 AT89C51 或者 PHILIPS 公司的 8XC51RD2,点击确定。
点击 FILE(文件)中的 NEW,此时会出现一个文本界面,点击 FILE 中的 SAVE(保
存),在对话框中设置保存路径(最好与刚才的工程文件在一个文件夹中)。给该源程序文件
命名,扩展名要根据你使用的编程语言确定,如果使用汇编语言,就命名为.ASM,如果使用
C51 语言,就命名为.C。对于没有学过 C51 的初学者来说,应使用.ASM,比如 LED.ASM,保
存。
xxx在左面的工程窗口里用右键点击 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 选项,编译就自动开始。如果有错误或者警告,下面的编译输出栏将会显示,如果你
编译过 C 语言的程序,就会比较熟悉,所以要求你具有一定的 C 语言基础。如果没有错误和警
告,系统将显示代码量,DATA 表示占用内部 RAM 空间的大小,XDATA 表示占用外部 RAM
空间的大小,CODE 表示占用片内 ROM 空间的大小。P89C51RD2HBP 本身有 1K 内部数据存
储器 RAM,64K 内部程序存储器 ROM,本实验板没有扩展外部 RAM,所以暂时不能做有关外
部 RAM 存储的实验。至于你使用 AT89C51+编程器的话,资源就比较少了,只有 128B(1
字节=8 位)RAM 和 4K 大小的 ROM,不过对于初学者,足够使用了。
好的,对于你这样一个一点成就感都没有的初学者来说,激动人心的时候就要到了:我们
要把这个程序固化到单片机的 ROM 里了。连接好串口线,写入 STATUS 为 00(切记!写一次
就行了,频繁擦写有可能导致向量丢失,那麻烦就大了),擦除,固化,复位——哈,程序运
行了吗?8 个 LED 发光管隔一个亮一个吗?如果是的话,恭喜你啊!你已经成为一名单片机的
开发人员啦!呵呵,虽然这个程序没有什么实用价值,你也不明白语句的意义,但是它给你带
来了成就感和自信心,这才是作为初学者最最需要的,有了信心与兴趣,一切都不再成为负担
和难题。
是不是开始跃跃欲试了?好的,我们继续讲下去。
第四章:程序解释与软件仿真功能的介绍
现在我们回过头来解释这个程序。
ORG 是一个伪指令。不懂?呵呵,正常,当初我也不懂。伪指令就是一条没有真正操作
的指令,说白了就是什么活也不干,耍耍嘴皮子而已。ORG 是个定位伪指令,告诉系统程序从
00 地址开始执行,至于执行什么,怎么执行,它不管。就像一次扫雪任务,一个领导来了,指
剩余13页未读,继续阅读
Jerry82
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- F103-霸道开发板2.8寸电阻触摸屏例程.rar
- Google(高德)地图瓦片python代码下载
- Python实现输出杨辉三角形
- polsarpro官方教程、操作说明 PolSARpro v5.0 Software Training Course
- STM32 TouchGFX的使用二图片显示
- buildx镜像文件,也可以通过网上其他方式获取
- 【中级软件设计师】上午题12-软件工程(2):单元测试、黑盒测试、白盒测试、软件运行与维护
- 免费计算机毕业设计-医院住院管理系统的设计与实现(包含代码+论文)
- tt100k数据转换yolo格式
- 免费计算机毕业设计-学生在线网络考试系统的设计与实现(包含论文+源码)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0