没有合适的资源?快使用搜索试试~ 我知道了~
51 單片機C語言入門教程
需积分: 10 14 下载量 110 浏览量
2008-05-16
23:10:22
上传
评论
收藏 605KB PDF 举报
温馨提示
试读
18页
51 單片機C語言入門教程
资源推荐
资源详情
资源评论
http://www.ispdown.com 电子在线编程网站 51 单片机 C 语言入门教程
第1页
51 单片机 C 语言入门教程
学习单片机前的准备
学习单片机实在不是件易事,一来要购买高价格的编程器,仿真器,二来要学习编程语言,
还有众多种类的单片机选择真是件让人头痛的事. 传统的单片机学习方案是"编程器+仿真
器+试验板", 采用此方案的弊端是一次性投入太高,在学习或开发项目时,需要反复不停地
拔插电缆、芯片、电源等。这样将大大降低学习和开发效率,如稍有不慎就有可能造成器件
和设备的损坏,给使用者带来不必要的麻烦或损失。
现在这些问题都得到了比较好的解决。如在众多单片机中 51 架构的芯片风行很久,学习
资料也相对很多,是初学的较好的选择之一.典型的芯片是 AT89S51,这种芯片的特点是可以
实现在系统编程(In-System-Programming),即 ISP,这样,学习单片机就不需要购买高价
格的编程器了,只要一根价格低廉的下载线即可,方法是在电路板上留下一个 10 芯的下载
线插座,把相关的 io 口与之相连即可。如下图所示:
本下载线可以自制,网路上有很多原理图,是用 244 芯片的。这里介绍的是用 CPLD
芯片制造的多功能的下载线,本产品不但可以下载 ATME L 的单片机,还可以下载 PIC 的部
分单片机以及 CPLD/FPGA,ARM9 等等的后继学习芯片,性价比一流,并申请了“并口盒
内的多功能免跳线 ISP 下载线”专利技术。相关资料,请浏览网页
http://www.ispdown.com/showoneproduct.asp?productid=15
51 的编程语言常用的有二种,一种是汇编语言,一种是 C 语言.汇编语言的机器代码生成
效率很高但可读性却并不强,复杂一点的程序就更是难读懂,而 C 语言在大多数情况下其机器
代码生成效率和汇编语言相当,但可读性和可移植性却远远超过汇编语言,而且 C 语言还可以
嵌入汇编来解决高时效性的代码编写问题.对于开发周期来说,中大型的软件编写用 C 语言的
开发周期通常要小于汇编语言很多. 因此,我们以 C 语言来讲解单片机的开发方法。
本文介绍一种单片机学习开发系统,它将控制软件、单片机实验板、串行下载编程器进
行完美的结合。试验过程中无需拔插任何电缆和芯片,也无需切换电源。配合专门开发的
ispdown 下载线和配套程序可轻松地将编绎好的代码下载到实验板上进行验证或演示,整个
过程只需利用鼠标操作即可,方便快捷。该开发系统摆脱了传统、繁锁的单片机学习方式,
http://www.ispdown.com 电子在线编程网站 51 单片机 C 语言入门教程
第2页
将当今最流行、最经济有效的学习方案完美地集成在了同一个系统中,是一个快捷、高效、
灵活的单片机学习、开发方案。有了这个开发系统就同时拥有了学习实验板、串行编程器,
具有非凡的性价比,是单片机爱好者快速掌握 51 系列单片机不可多得的工具。实验板如图:
本实验板已经预留了isp下载插
座,处于上方中部的 10 芯插座即是。
详细资料请浏览网页:
http://www.ispdown.com/showoneproduct.asp?productid=32
在这里,还给各位单片机初学者提供了实验板上的所有源程序(C 语言),力求让初学
者快速入门。下载地址为:
http://www.ispdown.com/SoftView.asp?SoftID=196
(含实验板原理图和 PCB 版图)
第一课 建立您的第一个 C 项目
使用 C 语言肯定要使用到 C 编译器,以便把写好的 C 程序编译为机器码,这样单片机才能
执行编写好的程序.KEIL uVISION2 是众多单片机应用开发软件中优秀的软件之一,它支持众
多不同公司的 MCS51 架构的芯片,它集编辑,编译,仿真等于一体,同时还支持,PLM,汇编和 C
语言的程序设计,它的界面和常用的微软 VC++的界面相似,界面友好,易学易用,在调试程序,
软件仿真方面也有很强大的功能.因此很多开发 51 应用的工程师或普通的单片机爱好者,都
对它十分喜欢.
以上简单介绍了 KEIL51 软件,要使用 KEIL51 软件,必需先要安装它.KEIL51 是一个商业
的软件,对于我们这些普通爱好者可以到 KEIL 中国代理周立功公司的网站上下载一份能编
译2K的 DEMO版软件,基本可以满足一般的个人学习和小型应用的开发.(安装的方法和普通
软件相当这里就不做介绍了)
安装好后,您是不是迫不及待的想
建立自己的第一个 C 程序项目呢?下面
就让我们一起来建立一个小程序项目吧.
或许您手中还没有一块实验板,甚至没
有一块单片机,不过没有关系我们可以
通过 KEIL 软件仿真看到程序运行的结
果. 首先当然是运行 KEIL51 软件.怎么
打开?噢,天!那您要从头学电脑了.呵呵,
开个玩笑,这个问题我想读者们也不会提的了:P.运行几秒后,出现如图 1-1 的屏幕.
http://www.ispdown.com 电子在线编程网站 51 单片机 C 语言入门教程
第3页
接着按下面的步骤建立您的第一个项目:
(1)点击Project菜单,选择弹出的下拉式菜单中的New Project,如图 1-2.接着弹出一个标准
Windows 文件对话窗口,如图 1-3,这个东东想必大家是见了 N 次的了,用法技巧也不是这里要
说的,以后的章节中出现类似情况将不再说明.在"文件名"中输入您的第一个 C 程序项目名称,
这里我们用"test",这是笔者惯用的名称,大家不必照搬就是了,只要符合 Windows 文件规则的
文件名都行."保存"后的文件扩展名为 uv2,这是 KEILuVision2 项目文件扩展名,以后我们可以
直接点击此文件以打开先前做的项目.
(2)选择所要的单片机,这里我们选择常用的 Ateml 公司的 AT89C51.此时屏幕如图 1-4
所示.AT 8 9 C 5 1 有什么功能,特点呢?不用急,看图中右边有简单的介绍,稍后的章节会作较
详细的介绍.完成上面步骤后,我们就可以进行程序的编写了.
(3)首先我们要在项目中创建新的程序文件或加入旧程序文件.如果您没有现成的程序,
那么就要新建一个程序文件.在 KEIL 中有一些程序的 Demo,在这里我们还是以一个 C 程序
为例介绍如何新建一个 C 程序和如何加到您的第一个项目中吧.点击图 1-5 中 1 的新建文件
的快捷按钮,在 2 中出现一个新的文字编辑窗口,这个操作也可以通过菜单 File-New 或快捷键
Ctrl+N 来实现.好了,现在可以编写程序了,光标已出现在文本编辑窗口中,等待我们的输入了.
第一程序嘛,写个简单明了的吧.下面是经典的一段程序,呵,如果您看过别的程序书也许也有
类似的程序:
#include<reg51.h>
void main(void)
{
SCON = 0x50; //串口方式 1,允许接收
TMOD = 0x20; //定时器 1 定时方式 2
TCON = 0x40; //设定时器 1 开始计数
TH1 = 0xE8; //11.0592MHz 1200 波特率
TL1 = 0xE8;
TI = 1;
TR1 = 1; //启动定时器
while(1)
{
printf ("Hello World!\n"); //显示 Hello World
http://www.ispdown.com 电子在线编程网站 51 单片机 C 语言入门教程
第4页
}
}
这段程序的功能是不断
从串口输出"Hello World!"
字符,我们先不管程序的语
法和意思吧,先看看如何把
它加入到项目中和如何编
译试运行.
(4)点击图 1-5 中的 3 保
存新建的程序,也可以用菜
单File-Save或快捷键Ctrl+S
进行保存.因是新文件所以
保存时会弹出类似图 1-3 的
文件操作窗口,我们把第一个程序命名为
test1.c,保存在项目所在的目录中,这时您
会发现程序单词有了不同的颜色,说明
KEIL 的 C 语法检查生效了.如图 1-6 鼠标
在屏幕左边的 Source Group1 文件夹图标
上右击弹出菜单,在这里可以做在项目中
增加减少文件等操作.我们选"Add File to
Group 'Source Group 1'"弹出文件窗口,选
择刚刚保存的文件,按ADD按钮,关闭文件
窗, 程序文件已加到项目中了.这时在
Source Group1 文件夹图标左边出现了一
个小+号说明,文件组中有了文件,点击它
可以展开查看.
(5)C 程序文件已被我们加到了项目中了,下面就剩下编译运行了.这个项目我们只是用做
学习新建程序项目和编译运行仿真的基
本方法,所以使用软件默认的编译设置,
它不会生成用于芯片烧写的 HEX 文件,
如何设置生成 HEX 文件就请看下面的
第三课.我们先来看图 1-7 吧,图中 1,2,3
都是编译按钮,不同是 1是用于编译单个
文件.2 是编译当前项目,如果先前编译
过一次之后文件没有做动编辑改动,这
时再点击是不会再次重新编译的.3 是重
新编译,每点击一次均会再次编译链接
一次,不管程序是否有改动.在 3 右边的
是停止编译按钮,只有点击了前三个中
的任一个,停止按钮才会生效.5 是菜单
中的它们,我个人就不习惯用它了.嘿嘿,
这个项目只有一个文件,您按 123中的一
个都可以编译.在 4 中可以看到编译的错误信息和使用的系统资源情况等,以后我们要查错就
剩余17页未读,继续阅读
资源评论
zhuyongqing12
- 粉丝: 1
- 资源: 22
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功