当前位置:文档之家› 单片机的程序设计【精选】

单片机的程序设计【精选】

C51作为一种非常方便的语言得到了广泛的支持, 目前已经成为单片机开发的主要编程语言。
2. 简单的C51程序
【例】 如下图所示,在P1.0口上接有一个LED发光二极 管,要求让发光二极管发光。
程序如下:
程序的开始是一个文件包含处理。这段程 序中包含的是reg51.h文件,以.h为后缀的 称为头文件,该头文件的作用是把特殊功
(4) 每个语句必须以分号结束。
(5) C51中的注释可以采用两种符号。第一种是“/*…*/”符 号,从“/*”开始直到“*/”为止,中间的内容都是注释。第 二种是“//”引导的注释语句,这种注释只对本行有效。
2.1 C语言的程序结构
在结构上可以把C51程序分为3类,即顺序结构、 选择结构和循环结构。
C51语言的特点
编程者不需要了解单片机的指令系统,仅要求对 单片机的存储器结构有初步的了解,至于存储器的分 配、寻址方式及数据类型等完全由编译器管理。
程序有规范化的结构,可以分为不同的函数,这 种方式可以使程序结构化,将可变的选择与特殊操作 组合在一起,增强程序的可读性。
编程和程序的调试时间显著缩短,从而提高了编 程的效率,提供的库函数包含许多标准的子程序,具 有较强的数据处理能力,可以将编好的程序很容易地 移植到新程序。
2、掌握开发软件的使用方法 3、编写程序代码并进行编译、运行 拓展:1、同时点亮几盏LED灯 2、设计流水灯
程序代码
#include<reg51.h> main() {
P1=0xF7; }
请用C语言编写程序计算234+78的和
main( ) {
int a, b, c; a = 234; b = 78; c = a+b; printf(“234+78=%d”, c); }

程序最后是主函数, 每一个C51程序有且 只有一个主函数,函 数后面使用一对大括 号“{}”,在“{}”中书
写具体内容。
由此可见:
(1) 一个C51程序从main函数开始执行,不管main函数 在什么位置。
(2) C51中字母区分大小写,如定义是sbit P1_0,若后面 写成p1_0,在编译时就会出现错误。 (3) C51书写自由,一行可以写几个语句,一个语句也能 写在几行上。
是和最近的if配对
2、switch语句
实际问题中,往往遇到以一个变量或表达式的值为判 断条件,将此变量或表达式的值分成几段,每一段对应一 种选择或操作,这种情况用if语句来嵌套非常麻烦,于是, C51提供了switch语句。
switch语句的一般结构如下: switch (表达式) { case 常量表达式1:语句1,break;
能寄存器中的符号和地址对应起来,这里 主要是应用到P1这个符号,如果没有包含 reg51.h文件,C51编译器不知道P1具体指
什么,在编译过程中就会发生错误。
#include <reg51.h> sbit P1_0=P1^0; void main( ) {
P1_0=0; }
给P1.0取名为P1_0, 是通过编译器中增加 的关键字sbit来定义
else P1^0=1;
} }
(3) if(表达式1) 语句1
else if(表达式2) 语句2
else if(表达式3) 语句3
……
else if(表达式m) 语句m
else 语句m+1
如:
if (a>10) b=1;
else if (a>6) b=2;
else if (a>2) b=3;
else b=4;
项目2 单片机的程序设计
2.1 C语言的程序结构 2.2 C51的运算符及表达式 2.3 C51的数据 2.4 C语言的函数 2.5 C语言的数组 2.6 程序设计实例
单片机的开发实例——点亮一盏LED灯
问题描述:通过C语言编程,实现单片机开发板上点亮一盏 LED灯。 实验所需软件:Keil、Progisp 实验步骤:1、熟悉硬件电路
2.1.2 选择结构 1、if语句
(1) if(表达式) 语句 如果表达式为“真”,则执行语句,否则执行if语句后 面的语句,如:
if (a<5)
b=3;
假 条件表达式
真 语句
(2) if(表达式) 语句1 else 语句2
如果表达式为“真”,则执行 语句1,否则执行语句2,如:
if (a<5) b=3;
case 常量表达式2:语句2,break;
case 常量表达式n:语句n,break; default:语句n+1,break; }
条件表达式 1 真
假 条件表达式 2真Leabharlann 假条件表达式 3 真
语句 1
语句 2
语句 3

条件表达式 m 假

语句 m
语句 m+1
(4) if语句的嵌套
if(表达式1) if (表达式2) 语句1 else 语句2
else if (表达式3) 语句3 else 语句4
使用if嵌套语句特别要注 意if和else配对,else总
else b=-3;
条件表达式
真 语句 1
假 语句 2
例2.1 单片机的P1.0接一小灯,P1.1接一开关,当开关闭合时,小灯亮; 当开关断开时,小灯灭。请画出硬件电路图,并写出程序代码。
#include <reg51.h> void main( ) {
while(1) {
if(P1^1= =0) P1^0=0;
2.1.1 顺序结构 顺序结构是一种最基本、
最简单的编程结构,在这种结 构下,程序按低地址向高地址 顺序逐条执行指令代码,如右 图所示。
过程A 过程B 过程C
请用C语言编写程序计算234+78的和
main( ) {
int a, b, c; a = 234; b = 78; c = a+b; printf(“234+78=%d”, c); }
1. C51语言
C语言编译调试工具效率高,数据类型及运算符 丰富,经过不断完善,能满足单片机的开发要求,形 成了单片机C语言。把51单片机C语言称为C51语言。
用C51编写单片机程序时,需要根据单片机存储 结构及内部资源定义相应的数据类型和变量,而标准 的C语言不需要考虑这些问题。另外,C51包含的数据 类型、变量存储模式、输入输出处理、函数等方面与 标准的C语言也有一定的区别。其他的语法规则、程 序结构及程序设计方法则与标准的C语言相同。
相关主题