《项目三 流水灯的制作与实现电子课件 中职 单片机c语言程序设计及仿真.pptx》由会员分享,可在线阅读,更多相关《项目三 流水灯的制作与实现电子课件 中职 单片机c语言程序设计及仿真.pptx(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、项目三 流水灯的制作与实现电子课件 高教版 中职 单片机c语言程序设计及仿真项目三、流水灯的制作与实现项目三、流水灯的制作与实现任务任务1 1 点亮发光二极管点亮发光二极管任务描述任务描述:单片机P0.0端口连接一个发光二极管D1,编写程序点亮D1。1.发光二极管简介发光二极管简介知识链接知识链接知识链接知识链接位(位(BitBit)位是指一个二进制位,它是计算机中所能表示的最小数据单位。用b表示。字节(字节(ByteByte)由8位二进制数构成。字(字(WordWord)及字长)及字长若干个字节定义一个字。一个字所包含的二进制位数称为字长,字用W表示。一般一个字长为2个字节。常量常量在程序执
2、行过程中,其值不发生改变的量称为常量。变量变量在程序执行过程中,取值可变是量称为变量。2.单片机常用术语单片机常用术语3.头文件头文件调用头文件的格式:调用头文件的格式:#include格式:引用标准头文件,编译器从标准库目录开始搜索。#include”格式:引用非标准头文件,编译器从用户的工作目录开始搜索。知识链接知识链接4.位定义位定义sbitsbitsbit的用法有种:的用法有种:sbit 位变量名=地址值;sbit 位变量名=SFR名称变量位地址值;sbit 位变量名=SFR地址值变量位地址值。知识链接知识链接5.C语言编程的基本语法和格式要求语言编程的基本语法和格式要求括号的用法:语
3、言中常用的4种括号。它们分别是大括号“”、圆括号“()”、方括号“”、尖括号“”。C语言中逗号“,”和分号“;”的用法。知识链接知识链接单片机单片机P0.0P0.0端口输出端口输出0 0点亮发点亮发光二极管输出光二极管输出1 1熄灭发光二极熄灭发光二极管。管。任务实施任务实施1.任务分析任务分析2.程序流程图程序流程图任务实施任务实施3.程序编写程序编写#include /调用头文件 sbit D1=P00;/位定义 void main(void)/主程序 /开始 while(1)/死循环,防止程序跑飞 D1=0;/点亮发光二极管 /结束任务实施任务实施4.4.程序电路仿真程序电路仿真绘制电路
4、图绘制电路图元件清单元件清单任务实施任务实施绘制完成的电路图绘制完成的电路图 加载加载HEX文件文件任务实施任务实施4.4.程序电路仿真程序电路仿真加载加载HEXHEX文件文件程序电路仿真程序电路仿真4.4.程序电路仿真程序电路仿真仿真仿真任务任务2 2 发光二极管的闪烁控制与实现发光二极管的闪烁控制与实现 单片机的P1.0端口连接发光一个发光极管,通过编写程序实现发光二极管的闪烁。任务描述任务描述:1.C语言的基本数据类型语言的基本数据类型知识链接知识链接2.变量的定义和声明变量的定义和声明变量的定义变量的定义变量定义的一般形式:变量类型变量名;如:unsigned char i;/定义无符
5、号字符型变量i。变量的声明变量的声明一种是需要建立存储空间。如:int a在声明的时候,就已经建立了存储空间。另一种是不需要建立存储空间。如:extern int a 其中变量a在别的文件中定义的。知识链接知识链接3.函数函数库函数库函数为了简化代码编写的难度,通常C编译器会将一些相对固定功能程序事先编写成函数,以库形式存储起来,这一类函数称为库函数。自定义函数自定义函数用户根据自已需要编写的完成相应功能的程序段,这一类函数称为自定义函数。其格式如下:类型标识符函数名(形式参数列表)声明部分;语句部分;知识链接知识链接4.宏定义宏定义宏定义的作用是用一个标识符(宏名)来表示一个字符串,其格式为
6、:#define 标识符(宏名)字符串#define uint unsigned int /用uint 来表示unsigned int#define uchar unsigned char /用uchar 来表示unsigned char知识链接知识链接任务实施任务实施lP1=0 xfe;P1=0 xfe;/发光二极管发光二极管D1D1亮亮lP1=0 xff;P1=0 xff;/发光二极管发光二极管D1D1灭灭1.任务分析任务分析2.程序流程图程序流程图任务实施任务实施3.程序编写程序编写void mian()while(1)P1=0 xfe;/发光二极管D1亮 delay_ms(500);/
7、延时500ms P1=0 xff;/发光二极管D1灭 delay_ms(500);/延时500ms 任务实施任务实施4.4.程序电路仿真程序电路仿真绘制电路图绘制电路图绘制完成的电路图绘制完成的电路图任务实施任务实施4.4.程序电路仿真程序电路仿真仿真仿真程序电路仿真程序电路仿真任务任务2 2 流水灯的控制与实现流水灯的控制与实现 单片机P1端口连接8个发光二极管,通过对发光二极管点亮时间及顺序的控制,产生“流水灯”循环效果。任务描述任务描述:1.运算符(算术运算符)运算符(算术运算符)知识链接知识链接1.运算符(赋值运算符)运算符(赋值运算符)知识链接知识链接赋值运算符在C51中它的功能是给
8、变量赋值。它的作用是将一个数据赋给一个变量。如:a=3;/把常数3赋给变量a赋值表达式一般格式为:变量赋值表达式表达式1.运算符(自增、自减运算符)运算符(自增、自减运算符)知识链接知识链接自加运算符:自加运算符:i+ii+ii+使用完i的值以后,再让i的值加1;+i 使用i的值之前先使i加,然后再使用i的值;自减运算符:自减运算符:i-ii-使用完i的值以后,再让i的值加1;-i 使用i的值之前先使i减1,然后再使用i的值;1.运算符(关系运算符)运算符(关系运算符)知识链接知识链接1.运算符(位运算符)运算符(位运算符)知识链接知识链接位运算优先级位运算优先级1.运算符(复合运算符)运算符
9、(复合运算符)知识链接知识链接复合赋值运算符就是在赋值运算符“=”的前面加上其它运算符。2.程序(程序的构成)程序(程序的构成)知识链接知识链接 一个完整的C程序可由一个主函数和若干个函数组成,由主函数调用其他函数,其他函数也可互相调用。同一个函数可以被一个或多个函数调用任意多次。C语言中的主函数为main()函数。3.循环语句循环语句知识链接知识链接 在实际应用中经常会遇到一个操作需反复执行的情况,而循环流程结构就能实现重复性操作控制,充分利用计算机运行速度快的特点高效完成大量重复的运算任务。循环结构分为当型循环和直到循环两类,构成循环结构的常用语句有:while、dowhile和for等。
10、3.循环语句(循环语句(while语句语句)知识链接知识链接 while语句用来实现“当型”循环结构,其一般形式及执行过程流程图如下:3.循环语句(循环语句(dowhile语句语句)知识链接知识链接 dowhile语句用来实现“直到型”循环,特点是先执行循环体,然后判断循环条件是否成立。其一般形式执行过程流程图如下:3.循环语句(循环语句(for语句语句)知识链接知识链接 表达式模块由3个部分组成:表达式是初始化表达式;第表达式2是关第表达式;表达式3是增量或减量表达式。其一般形式执行过程流程图如下:任务实施任务实施 要使发光二极管产生移动效果,可以让发光二极管亮一段时间后熄灭,然后转要使发光
11、二极管产生移动效果,可以让发光二极管亮一段时间后熄灭,然后转移动下一个发光二极管亮一段时间后熄灭移动下一个发光二极管亮一段时间后熄灭.周而复始。流水灯原理如表所示。周而复始。流水灯原理如表所示。1.1.任务分析任务分析 方法一:顺序结构方法一:顺序结构D1D1亮亮 D2 D2亮亮 D3 D3亮亮 D4 D4亮亮 D5 D5亮亮 D6 D6亮亮 D7 D7亮亮 D8 D8亮。这种方法程序简单容易理解,但程序自执行效率比较低,浪费单片机资源。亮。这种方法程序简单容易理解,但程序自执行效率比较低,浪费单片机资源。方法二:采用位运算符及其循环语句,这样可以简化程序,节约单片机资源,提高程序执行效率。方
12、法二:采用位运算符及其循环语句,这样可以简化程序,节约单片机资源,提高程序执行效率。表达式:表达式:num=num1|0 x01;/定义一个保存移位运算的变量定义一个保存移位运算的变量num。任务实施任务实施2.程序流程图程序流程图任务实施任务实施3.程序编写程序编写任务实施任务实施void main(void)uchar num,i;num=0 xfe;for(i=0;i8;i+)P1=num;delay_ms(500);num=num1|0 x01;/下一个发光二极管点亮 4.4.程序电路仿真程序电路仿真绘制电路图绘制电路图绘制完成的电路图绘制完成的电路图程序电路仿真程序电路仿真程序电路仿真程序电路仿真4.4.程序电路仿真程序电路仿真仿真仿真