- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机C语言轻松入门教程.pdf
本文由francisliumsi贡献
pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看
。
单片机的 C 语言轻松入门
随着单片机开发技术的不断发展, 目前已有越来越多的人从普遍使用汇编语言到逐
渐使 用高级语言开发,其中主要是以 C 语言为主,市场上几种常见的单片机均有其
C 语言开发 环境。这里以最为流行的 80C51 单片机为例来学习单片机的 C 语言编
程技术。 本书共分六章,每章一个专题,以一些待完成的任务为中心,围绕该任务介
绍 C 语言 的一些知识,每一个任务都是可以独立完成的,每完成一个任务,都能掌
握一定的知识,等 到所有的任务都完成后,即可以完成 C 语言的入门工作。
第1章
C 语言概述及其开发环境的建立
学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好。Keil 软件
是目 前最流行开发 80C51 系列单片机的软件,Keil 提供了包括 C 编译器、宏汇编
、连接器、库 管 理 和 一 个功 能 强 大 的仿 真 调 试 器等 在 内 的 完整 开
发 方 案, 通 过 一 个集 成 开 发 环境 (μVision)将这些部份组合在一起。
在学会使用汇编语言后,学习 C 语言编程是一件比较容易的事,我们将通过一系列
的 实例介绍 C 语言编程的方法。图 1-1 所示电路图使用 89S52 单片机作为主芯片
,这种单片 机性属于 80C51 系列,其内部有 8K 的 FLASH ROM,可以反复擦写,并有
ISP 功能,支 持在线下载,非常适于做实验。89S52 的 P1 引脚上接 8 个发光二极
管,P3.2~P3.4 引脚上接 4 个按钮开关,我们的任务是让接在 P1 引脚上的发光二极
管按要求发光。
+5V PZ1 1K D1 P1.0 VCC
+5V
E1 10U
+ D8
89×××
RST R1 10K CY EA/VPP
27P
27P
XTAL2 XTAL1 GND
图 1-1 接有 LED 的单片机基本电路
1.1
简单的 C 程序介绍
例 1-1: 让接在 P1.0 引脚上的 LED 发光。 /*******************************
************************************************/
用是让接在 P1.0 引脚上的 LED 点亮。 下面来分析一下这个 C 语言程序包 含了哪
些信息。 1) “文件包含”处理。 程序的第一行是一个“文件包含”处理。 所谓“
文件包含”是指一个文件将另外一个文件的内容全部包含进来,所以这里的程序 虽然
只有 4 行, C 编译器在处理的时候却要处理几十或几百行。 但 这里程序中包含 R
EG51.h 文件的目的是为了要使用 P1 这个符号,即通知 C 编译器,程序中所写的 P
1 是指 80C51 单 片机的 P1 端口而不是其它变量。这是如何做到的呢? 打开 reg5
page 1
8; sfr SBUF = 0x99; */
xA8; */ = 0xBC; = 0xBB; = 0xBA; = 0xB9; = 0xB8;
sbit INT1 = 0xB3; sbit INT0 = 0xB2; sbit TXD = 0xB1;
sbit RXD
= 0xB0;
悉 80C51 内部结构的读者不难看出,这里都是一些符号的定义,即规定符号名与地
址的对应关系。注意其中有 sfr P1 = 0x90; 这样的一行(上文中用黑体表示) ,即
定义 P1 与地址 0x90 对应,P1 口的地址就是 0x90 (0x90 是 C 语言中十六进制数
的写法,相当于汇编语言中写 90H) 。 从这里还可以看到一个频繁出现的词:sfr
sfr 并标准 C 语言的关键字,而是 Keil 为能直接访问 80C51 中的 SFR 而提供了一
个新 的关键词,其用法是: sfrt 变量名=地址值。 2)符号 P1_0 来表示 P1.0 引
脚。 在 C 语言里,如果直接写 P1.0,C 编译器并不能识别,而且 P1.0 也不是一个
合法的 C 语言变量名,所以得给它另起一个名字,这里起的名为 P1_0,可是 P1_0
是不是就是 P1.0 呢?你这么认为,C 编译器可不这么认为,所以必须给它们建立联
系,这里使用了 Keil C 的关键字 s
您可能关注的文档
最近下载
- 灯盏生脉胶囊配合康复训练对脑梗死患者肢体功能影响的临床观察.pdf VIP
- (高清版)-B-T 19973.1-2023 医疗保健产品灭菌 微生物学方法 第1部分:产品上微生物总数的确定.pdf VIP
- 西门子PLC与配方功能.pptx VIP
- 高中毕业生登记表(完整A4版).pdf VIP
- XX年春运驾驶员安全培训试题(有答案) .pdf VIP
- 2023年同等学力申硕全国统考计算机科学与技术真题与答案.pdf VIP
- 供应商管理:供应商行为准则的内容.doc VIP
- 机械设备行业矿山机械深度报告:千亿美元高端赛道,中国龙头迈向全球.docx
- 《黑水》完整中英文对照剧本.doc
- TOSHIBA东芝复合机e-STUDI02006产品说明书.pdf
文档评论(0)