单片机c语言简明,单片机C语言简明教程(吴加国20140104).doc

本文简要介绍了C51语言在单片机开发中的应用,涵盖了C51语言特点、程序结构、数据类型、运算、流程控制、数据结构、函数和实际应用实例。通过实例演示了如何利用KeilC51开发环境编写和调试LED点亮程序,以及C51如何简化指令、提高代码组织和可读性。
摘要由CSDN通过智能技术生成

单片机C语言简明教程(吴加国20140104)

单片机C51程序设计简明教程

温州职业技术学院 吴加国 编著

二〇一四年一月

目 录

第1章单片机C语言开发环境的建立1

1.1C51语言的特点及其程序结构1

1.2单片机C语言开发环境的建立6

习题一24

第2章C51数据类型与运算25

2.1C51数据类型25

2.2C51数据存储类型25

2.3C51定义SFR(特殊功能寄存器)27

2.4C51定义并行口27

2.5C51定义位变量28

2.6C51运算符、表达式及其规则28

习题二31

第3章C51流程控制语句32

3.1选择语句32

3.2循环语句34

习题三37

第4章C51构造数据类型38

4.1数组38

4.2指针39

4.3结构体(struct)40

4.4共用体(union)42

4.5枚举(enum)44

习题四45

第5章C51函数47

5.1函数的定义与分类47

5.2函数的调用47

5.3函数的嵌套调用与递归调用48

5.4指向函数的指针变量49

5.5C51的库函数50

习题五52

第6章C51应用编程53

6.151系列单片机内部资源编程53

6.251系列单片机扩展资源编程54

6.351系列单片机接口技术资源编程55

习题六60

第7章项目开发实例—电子钟的设计61

7.1功能要求61

7.2方案论证61

7.3系统硬件电路设计61

7.4系统程序设计63

7.5调试及性能分析64

7.6控制源程序清单64

习题七68

单片机C语言开发环境的建立

C51语言的特点及其程序结构

C语言是一种通用的计算机程序设计语言,在国际上十分流行,它既可以用来编写计算机的系统程序,也可以用来编写一般的应用程序。

C51是在51系列单片机上使用的C语言。

C51程序结构与一般的C语言没有什么差别。一个C51程序大体上是一个函数定义的集合,在这个集合中仅有一个名为main的函数(主函数)。主函数是程序的入口,主函数中的所有语句执行完毕,则程序执行结束。

C51中使用的编译器(开发环境)有多种,而Keil C51是其中的佼佼者; Keil C51完全支持C的标准指令,并有很多用来优化8051指令结构的C的扩展指令。本课程也采用它来进行教学。

C51的特点

1.和汇编语言相比,对处理器的指令集不必了解,8051CPU的基本结构可以了解,但不是必须的。

2.寄存器的分配以及各种变量和数据的寻址由编译器完成。

3.程序拥有了正式的结构(C语言带来的),并且能被分成多个单独的子函数。这使整个应用系统的结构变得清晰,同时让源代码变得可重复使用。

4.具有选择特定操作符来操作变量的能力,提高了源代码的可读性。

5.可以运用和人的思维接近的词汇和算法表达式。

6.编写程序和调试程序的时间得到了很大程度的缩短。

由于程序的模快结构技术,使得现有的程序段可以很容易的包含到新的程序中去。

C51的程序结构

C51程序结构与一般C语言没有什么区别。一个C51程序大体上是一个函数定义的集合,在这个集合中仅有一个名为main的函数(主函数)。主函数是程序的入口,主函数中的所有语句执行完毕,则程序执行结束。

C51程序结构一般如下所示:

简单的C51程序介绍

例1.1 让接在P1.0引脚上的LED发光。程序如下:

#include

sbit P1_0=P1^0;

void main()

{

P1_0=0;

}

程序分析:这个程序的作用是让接在P1.0引脚上的LED发亮。下面来分析一下这个C51程序所包含的信息。

1. “文件包含”处理

程序的第一行是一个“文件包含”处理。

所谓“文件包含”是指一个文件将另一个文件的内容全部包含进来。

这个程序看起来只有短短的4行,但C51编译器在处理这段程序时却要处理几十行。

这段程序包含reg51.h文件的目的是为了要使用P1这个符号,即通知C编译器,程序中的P1是指8051单片机的P1端口而不是其他。这是如何做到的呢?让我们打开reg51.h文件看看究竟如何?

/*----------------------------------------------------------------------------------------

REG51.H

Header file for generic 80C51 and 80C31 microcontroller.

Copyright (c) 1988-2002 Keil Elektronik GmbH and

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值