(中职)单片机技术应用项目教程项目三任务一电子课件.pptx
-
资源ID:71819693
资源大小:4.25MB
全文页数:30页
- 资源格式: PPTX
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
(中职)单片机技术应用项目教程项目三任务一电子课件.pptx
(中职)单片机技术应用项目教程项目三任务一电子课件汽车运用与维修专业单片机应用技术项目三 流光溢彩单片机控制流水彩灯本项目要求制作一个按照指定要求能够完成流水任务的彩灯控制器。首先,制作一个单向的流水彩灯,然后在此基础上制作一个双向流水彩灯,最后制作个性化的流水彩灯。通过本项目的学习,可以初步掌握C51语言编程的基本方法。项目描述要求8个彩灯依次循环点亮,使用单片机控制流水的方向与速度,完成单向流水任务。任务一制作单向流水彩灯1.了解C51语言的运算符、基本语句结构。2.掌握C51语言的选择语句用法知识准备任务实施1)了解C51语言的运算符、基本语句结构。2)掌握C51语言的选择语句用法。知识目标1)会编写及修改简单的C51程序2)能够熟练使用KeilC51软件进行编程3)能够熟练掌握Proteus仿真方法技能目标一、C51运算符1.算术运算符算术运算符的含义如下表3-1所示。表3-1 算术运算符算术运算符含义算术运算符含义+加法或单目取正值/除法-减法或单目取负值%求余运算*乘法乘幂-减1+加1一、C51运算符表3-2 加1减1运算符的含义运算符运算符含义含义y=x+y=x+先先y=x,然后,然后x=x+1y=x-y=x-先先y=x,然后,然后x=x-1y=+xy=+x先先x=x+1,然后,然后y=xy=-xy=-x先先x=x-1,然后,然后y=x一、C51运算符2.关系运算符关系运算符的含义如下表3-3所示。表3-3 关系运算符关系运算符含义关系运算符含义=大于等于大于=测试等于=小于等于!=不等于一、C51运算符3.逻辑运算符逻辑运算符的含义如下表3-4所示。表3-4 逻辑运算符逻辑运算符逻辑运算符含义含义&与与|或或!非非一、C51运算符4.位运算符表3-5 C51语言位运算符位运算符含义位运算符含义&与异或|或右移一、C51运算符5复合赋值运算符复合赋值运算符就是在赋值运算符“=”的前面加上其他运算符。复合赋值运算符如表3-6所示:表3-6 C51复合赋值运算符运算符含义运算符含义+=加法赋值=右移位赋*=乘法赋值&=逻辑与赋值/=除法赋值|=逻辑或赋值%=取模赋值=逻辑异或赋值一、C51运算符5复合赋值运算符 复合运算的一般形式为:变量复合赋值运算符表达式 其含义就是变量与表达式先进行运算符所要求的运算,再把运算结果赋值给参与运算的变量。其实这是C语言中一种简化程序的一种方法,凡是二目运算都可以用复合赋值运算符去简化表达。例如:a+=56等价于a=a+56 y/=x+9 等价于 y=y/(x+9)二、C51语言的语句 一个完整的C51语言程序是由若干条语句按一定的方式组合而成的。C51语言的语句大致可分为五类:表达式语句、函数调用语句、控制语句、复合语句、空语句。1.表达式语句 表达式语句由表达式加上分号“;”组成。其一般形式为:表达式;2.函数调用语句 由函数名、实际参数加上分号“;”组成。其一般形式为:函数名(实际参数表);例如 printf(Hello!);二、C51语言的语句 3.控制语句 控制语句用于控制程序的流程,以实现程序的各种结构方式。它们由特定的语句定义符组成。C语言有九种控制语句,可分成以下三类:(1)条件判断语句:if语句、switch语句;(2)循环执行语句:do while语句、while语句、for语句;(3)转向语句:break语句、goto语句、continue语句、return语句。4.复合语句 把多个语句用括号括起来组成的一个语句称复合语句。5.空语句 只有分号“;”组成的语句称为空语句。三、选择语句 一个完整的C51语言程序是由若干条语句按一定的方式组合而成的。C51语言的语句大致可分为五类:表达式语句、函数调用语句、控制语句、复合语句、空语句。(1)基本 if 语句格式if(表达式)语句组;(2)ifelse语句格式 if(表达式)语句组一;else语句组二;三、选择语句(3)if else if 多条件分支语句 if(表达式1)语句组一;else if(表达式2)语句组二;else if(表达式n)语句组n;else 语句组n+1;if else if语句应用举例:/如何实现考生成绩的划分(100-90分记A,89-70分记B,69-60分记C,60以下记D)if(score89)grade=A;else if(score69)grade=B;else if(score59)grade=C;else grade=D;三、选择语句(3)if else if 多条件分支语句 if(表达式1)语句组一;else if(表达式2)语句组二;else if(表达式n)语句组n;else 语句组n+1;if else if语句应用举例:/如何实现考生成绩的划分(100-90分记A,89-70分记B,69-60分记C,60以下记D)if(score89)grade=A;else if(score69)grade=B;else if(score59)grade=C;else grade=D;三、选择语句 switch(表达式)case常量表达式1:语句组一;case常量表达式2:语句组二;case常量表达式n:语句组n;default:语句组n+1;该语句执行过程如下:首先计算表达式的值,并逐个与case语句后的常量表达式的值相比较,当表达式的值与某个常量的值相等时,则执行对应该常量表达式后的语句组,并继续执行其他case语句。若表达式的值与所有case的值都不相等时,则执行default后面的语句组n+1。/用switch实现单向流水效果(延时函数同上,省略)#include reg51.h#define uint unsigned int#define uchar unsigned charvoid delay(uchar ms);void main(void)uint i=0;while(1)三、选择语句 i+;switch(i)case 1:P1=0 xfe;break;case 2:P1=0 xfd;break;case 3:P1=0 xfb;break;case 4:P1=0 xf7;break;case 5:P1=0 xef;break;case 6:P1=0 xdf;break;case 7:P1=0 xbf;break;case 8:P1=0 x7f;break;delay(500);if(i=8)i=0;活动一:梳理编程思路任务一制作单向流水彩灯方法一:直接赋值,用顺序结构实现方法一:直接赋值,用顺序结构实现图 3-2流水彩灯显示示意图活动二:绘制程序流程图任务一制作单向流水彩灯 图3-3为顺序程序实现单向流水彩灯控制程序流程图。方法一:直接赋值,用顺序结构实现方法一:直接赋值,用顺序结构实现活动三:利用KeilC51软件编写程序任务一制作单向流水彩灯 本任务的仿真电路图可参照项目二任务二,如图2-21。由学生自己动手进行软件仿真,并调试程序。活动四:使用Proteus软件仿真,调试程序活动五:将程序下载到单片机中,验证其实际功能方法一:直接赋值,用顺序结构实现方法一:直接赋值,用顺序结构实现活动一:梳理编程思路任务一制作单向流水彩灯方法二:用位操作和选择程序结构实现方法二:用位操作和选择程序结构实现 (1)P1口输出一个8位二进制数“11111110”,将LED1点亮,延时一段时间。(2)使用位操作中的左移命令左移一位(高位溢出,低位补0)。(3)使用“或”运算将最低位置“1”,然后继续进行延时操作。(4)延时结束后,使用if语句判断P1口数据是否为“01111111”(即最高位是否为低电平),如果P1口数据不等于“01111111”,则循环执行2、3步;如果为“01111111”说明已经完成了7次移位操作,延时后将P1口数据重置为“11111110”(最低位为低电平)。(5)循环执行上述操作。活动二:绘制程序流程图任务一制作单向流水彩灯方法二:用位操作和选择程序结构实现方法二:用位操作和选择程序结构实现 用位操作和选择结构实现单向流水彩灯程序流程图如图3-7所示。活动三:利用KeilC51软件编写程序任务一制作单向流水彩灯 本任务的仿真电路图可参照项目二任务二,如图2-21。由学生自己动手进行软件仿真,并调试程序。活动四:使用Proteus软件仿真,调试程序活动五:将程序下载到单片机中,验证其实际功能方法二:用位操作和选择程序结构实现方法二:用位操作和选择程序结构实现【任务拓展】【任务拓展】根据下列要求,绘制程序流程图,用Keil编写C源程序,并用Proteus进行仿真调试。1.改变流水的方向(从下向上)2.改变流水的速度,要求彩灯依次闪亮,每100ms变化一次。3.变速流水,一开始慢,然后逐渐加快。(500ms,400ms,300ms,200ms,100ms)4.首先每秒依次闪亮,然后再1、3、5、7闪亮,2、4、6、8闪亮。(重复上述过程)任务一制作单向流水彩灯感谢聆听感谢聆听