当前位置:文档之家› 单片机应用系统安装与调试

单片机应用系统安装与调试

{case 常量表达式1:语句1 case 常量表达式2:语句2 … case 常量表达式n:语句n default :语句n+1 }
举例:
要求按照考试成绩的等级输出百分制分数段,用 switch语句实现: switch(grade) { case ′A′∶printf(″85~100\n″); case ′B′∶ printf (″70~84\n″); case ′C′∶ printf (″60~69\n″); case ′D′∶ printf (″<60\n″); default∶( printf ″error\n″); }
循环控制
用while语句实现循环 while语句用来实现“当型”循环结构。
一般形式: while (表达式) 语句 当表达式为非0值时(为真), 执行while语句中的内嵌语句。其特 点是:先判断表达式,后执行语句。
举例
求1到100的和存入变量sum中。
#include <stdio.h> void main() {int i,sum=0; i=1; while (i<=100) { sum=sum+i; i++; } }
计算机中0和1也用于表示逻辑真和假,常要 进行逻辑运算。 逻辑运算只有3种:与(逻辑乘)、或(逻辑 加)、非(取反) 0与0=0;0与1=0; 0或0=0 ;0或1=1 1取非=0 ;0取非=1
我们采用模拟软件进行学习。 模拟软件为:Protues 需要结合AVR的程序编辑软件共同完成软件模 拟。 AVR的程序编辑软件有:ICCAVR、WinAVR、 AVR studio
变量在程序中是一个名字,这名字称为标识符,对应内存中 的一个存储空间,这个空间可以存放一个值,并且这个值是 可以变化的。 变量在程序中先声明后使用。 格式如下: 修饰符 类型 变量表; 变量表是一个或多个标识符名, 每个标识符之间用","分隔。 标识符是以字母开头后跟下划线、数字,中间不能有空格。
A 2 a1 3 b1 5 a2 6 c 44 d 5
1. C源程序的一般形式
包含文件 子函数类型说明 全程变量定义 main() //主函数,程序运行的入口 { 局部变量定义 <程序体> } sub1() { 局部变量定义 <程序体> } sub2() { 局部变量定义 <程序体> }
. . . subN() { 局部变量定义 <程序体> }
2.变量
单片机重要指标:
(1)位数:是单片机能够一次处理的数据宽度,常用 8位、16位、 32位。 (2)存储器:包括程序存储器和数据存储器 程序存储器存储空间较大,几KB到几十KB字节,有不同的类型 ROM、EPROM和FlashROM等。 数据存储器RAM,通常为几十字节到上百字节 (3)I/O口:输入输出口,一般有几个到几十个。 (4)速度:CPU的处理速度,以每秒执行多少条指令衡量,单位 是MIPS(百万条指令/秒) (5)工作电压:通常电压是5V,也有3.3V和1.5V电压的产品 (6)功耗:单片机静态电流可以低至微安(μA)或纳安(nA) 级 (7)使用温度:民用级:0~70℃,工业级-40~+85℃,军用级:55~+125℃。
用for 语句实现循环
for(表达式1;表达式2;表达式3) 语句 for语句的执行过程: (1) 先求解表达式1。 (2) 求解表达式2,若其值为真(值为非0) ,则执 行for语句中指定的内嵌语句,然后执 行下 面第(3)步。若为假(值为0),则结束 循环, 转到第(5)步。 (3) 求解表达式3。 (4) 转回上面第(2)步骤继续执行。 (5) 循环结束,执行for语句下面的
3)浮点型(float)
float 单浮点数。字长为4 个字节共32 位二进制数, 数的范围是3.4x10-38E~3.4x10+38E。 double 双浮点数。字长为 8个字节共 64 位二进制 数, 数的范围是1.7x10-308E~1.7x10+308E。 说明:
浮点数均为有符号浮点数, 没有无符号浮点数。
联合操作 <变量>=<变量><操作数><表达式> 相当于 <变量><操作数>=<表达式> 例如: a=a+b 可写成 a+=b a=a&b 可写成 a&=b a=a/(b-c) 可写成 a/=b-c
顺序结构程序设计举例
程序从上到下顺序运行,这种结构为顺序结 构程序。 C默认程序运行是从main()主函数的内部语 句按照从上到下的顺序运行。 例如:给变量a存入长方形的长,给变量b存 入长方形的宽,然后将长方形的面积值存入 到变量c中。
{t=a;a=c;c=t;} if(b>c) {t=b;b=c;c=t;}
复杂if语句
if(表达式1)语句1 else if(表达式2)语句2 else if(表达式3)语句3 …… else if(表达式m)语句m else 语句n
switch语句选择语句
switch语句的格式: switch (表达式)
3.数据类型
1)整型 signed short int 有符号短整型数说明。简写为short 或int, 字长为2,字节共16位二进制数, 数的范围是32768~32767。 unsigned int 有符号整型 由CPU字长决定 unsigned short int 无符号短整型数说明。简写为 unsigned int, 字长为2字节共16位二进制数, 数的范 围是0~65535。 unsigned int 无符号整型
4)字符型(char) 加上不同的修饰符, 可以定义有符号和无符号两种类型的字 符型变量, 例如: char a; /*a被定义为有符号字符变量*/ unsigned char l; /*l被定义为无符号字符变量*/ 字符在计算机中以其ASCII码方式表示, 其长度为1个字节, 有 符号字符型数, 取值范围为-128~127, 无符号字符型数到值范 围是0~255。 因此在C语言中,字符型数据在操作时将按整型数处理, 如果某 个变量定义成char, 则表明该变量是有符号的, 即它将转换成 有符号1到100的各个数相加求和存入sum中。 Void main() { for(i=1;i<=100;i++) sum=sum+i; }
2)关系运算符
━━━━━━━━━━━━━━━ 操作符 作用 ───────────────────────────── > 大于 >= 大于等于 < 小于 <= 小于等于 == 等于 != 不等于 ━━━━━━━━━━━━━━━
3)逻辑运算符
━━━━━━━━━━━━━━ 操作符 作用 ───────────────────────────── && 逻辑与 || 逻辑或 ! 逻辑非 ━━━━━━━━━━━━━━
举例: 2>3 &&4>2 5>2&&3>1 5>7||8>2 !12>7
5)按位运算符
━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 操作符 作用 ──────────────────────────── & 位逻辑与 | 位逻辑或 ^ 位逻辑异或 位逻辑反 >> 右移 << 左移 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 按位运算是对字节或字中的实际位进行检测、设置或移位, 它只适用于字符 型和整数型变量以及它们的变体, 对其它数据类型不适用。 经过移位后, 一端的位被"挤掉", 而另一端空出的位以0 填补
例如: int a[16]; unsigned long a[20]; char str[8];
6.运算符 1)算术运算符
━━━━━━━━━━━━━━ 操作符 作用 ──────────────────────────── + 加, 一目取正 减, 一目取负 * 乘 / 除 % 取模 -减1 ++ 加1 ━━━━━━━━━━━━━━
1 1 1 1 1
2)二进制转换成十进制 二进制的权,是以2为底以位置为幂的指数。 个位数幂次为0,权值向高位逐一递增1。 个位数的权值为:20,倒数第二位权值为21
转换方法为各个位的值乘以权值加在一起的 和为十进制值。 如:1101 1×23+1×22+0×21+1×20=13
二进制十进制转换简便方法。 单片机寄存器多为8位寄存器,在存储数据的时候多 是以8位二进制为一组,一个字节就是一个8位二进 制数胡,因此常进行的8位二进制的转换操作。 转换中权值非常重要,我们可以记住从各位到第8位 的权值。
说明:(1)循环体如果包含一个 以上的语句,应该用花括弧 括起来,以复合语句形式出 现.(2)在循环体中应有使循 环趋向于结束的语句。
用for 语句实现循环
C语言中的for语句使用最为灵活,不仅可以用 于循环次数已经确定的情况,而且可以用于 循环次数不确定而只给出循环结束条件的情 况,它完全可以代替while语句。 一般形式: for(表达式1;表达式2;表达式3) 语句
2)二进制和十六进制转换 (1)二进制转十六进制
将二进制数从个位开始,四位一组分组,高 位不够四位补0,然后将每组的四位二进制数 转换成十进制,在转换为一位十六进制数。 例如:1101 0011
(2)十六进制转换为二进制
将一位十六进制数转换为对应的十进制,然 后转换成4为二进制数,然后组合在一起就构 成对应的二进制数。 如:F8
选择结构程序设计
根据某个表达式的逻辑真假值决定执行哪条 语句,这个结构叫做选择结构。 流程如图所示
表达式 真(非0)
语句1
假 ( 语句 2 0)
相关主题