项目二任务2-2 汽车转向灯控制_第1页
项目二任务2-2 汽车转向灯控制_第2页
项目二任务2-2 汽车转向灯控制_第3页
项目二任务2-2 汽车转向灯控制_第4页
项目二任务2-2 汽车转向灯控制_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汽车单片机技术——项目二项目二

任务2-2汽车转向灯控制一、目的与要求通过单片机控制,使相应的LED灯在对应的按钮按下时闪亮;在按钮松开时熄灭。由此了解C语言的程序设计、延时程序应用等。设计要求:当连接到单片机P5.5口的按钮S1按下时,通过单片机检测并控制连接到P3.7口的LED灯L2闪亮,按钮S1松开时L2熄灭;当连接到单片机P3.2口的按钮S2按下时,通过单片机检测并控制连接到P3.6口的LED灯L3闪亮,按钮S2松开时L3熄火。项目二

任务2-2汽车转向灯控制1.电路设计项目二

任务2-2汽车转向灯控制2.源程序设计项目二

任务2-2汽车转向灯控制3.程序流程图项目二

任务2-2汽车转向灯控制二.相关知识1.关键指令分析

(1)for指令for指令的一般形式:for(循环变量赋初值;循环继续条件;循环变量增值){循环体语句组;}项目二

任务2-2汽车转向灯控制for指令执行流程图项目二

任务2-2汽车转向灯控制(2)dowhile指令格式:do{循环体语句组;}while(循环继续条件);do-while指令用来实现“直到型”循环。执行过程:先无条件执行一次循环体,然后判断条件表达式,当表达式的值为真(非0)时,返回执行循环体直到条件表达式为假(0)为止项目二

任务2-2汽车转向灯控制(3)unsignedinti,j该指令定义变量“i”“j”为无符号整型,取值范围为0~65535,双字节存储,单片机程序设计过程中常见的变量定义还有以下几种形式:unsignedinti=5,j=100;—定义变量的同时给变量赋初值i=5,j=100,程序在后面执行时i和j的值即为5和100。如果在定义时不赋初值,初值为0。unsignedchari;—定义变量i为无符号字符型,取值范围为0~255,单字节存储。项目二

任务2-2汽车转向灯控制

unsignedlongi;—定义变量i为无符号长整型,取值范围为0~4294967295,四字节存储。.biti;—定义变量i为位变量,取值范围为0或1。2.算术运算符+(加法运算)-(减法运算)*(乘法运算符)/(除法运算符)%(求余运算符,或称模运算符)如:4%2=0两个整数相除的结果为整数,如8/5的结果为1,会舍去小数部分。如果参加运算的两个数中有一个数为实数,则结果是实型的。求余运算要求%两侧都是整数。项目二

任务2-2汽车转向灯控制3.自增、自减运算自增运算符为“++”,和自减运算符为“--”。(1)前置运算++变量;--变量;即先增减、后运算。(2)后置运算变量++;变量--;即先运算、后增减。项目二

任务2-2汽车转向灯控制4.逻辑运算符!(逻辑非)&&(逻辑与)||(逻辑或)注意:逻辑运算符与位操作运算符是有区别的。逻辑运算符可将一个或多个表达式连接起来,进行逻辑运算。假设有a=1,b=2,c=3,x=4,y=3,则下列各个表达式的值均为0:项目二

任务2-2汽车转向灯控制5.运算优先级项目二

任务2-2汽车转向灯控制6.位运算(1)与运算按位与运算符:&格式:x&y;规则:对应位均为1时才为1,否则为0。例如:i=i&0x0f;//若i=0x38,执行本语句后i=0x08。主要用途:取(或保留)1个数的某(些)位,其余各位置0。项目二

任务2-2汽车转向灯控制(2)或运算按位或运算符:|格式:x|y;规则:对应位均为0时才为0,否则为1。例如:i=i|0x0f;//若i=0x38,执行本语句后i=0x3f。主要用途:将1个数的某(些)位置1,其余各位不变。项目二

任务2-2汽车转向灯控制(3)异或运算按位异或运算符:^格式:x^y;规则:对应位相同时为0,不同时为1。例如:i=i^0x0f;//若i=0x38,执行本语句后i=0x37。主要用途:使1个数的某(些)位翻转(即原来为1的位变为0,为0的变为1),其余各位不变。项目二

任务2-2汽车转向灯控制(4)按位取反运算按位取反运算符:~格式:~x;规则:各位翻转,即原来为1的位变成0,原来为0的位变成1。例如:i=~i;//若i=0x38,执行本语句后i=0xC7。主要用途:间接地构造一个数,以增强程序的可移植性。项目二

任务2-2汽车转向灯控制7.移位运算(1)左移运算符“<<”功能:把“<<”左边的操作数的各二进制位全部左移若干位,移动的位数由“<<”右边的常数指定,操作数的高位丢弃,低位补0。例如:a<<4;本语句可把a的各二进制位向左移动4位。如a=00000011B,左移4位后为00110000B。项目二

任务2-2汽车转向灯控制(2)右移运算符“>>”功能:把“>>”左边的操作数的各二进制位全部右移若干位,移动的位数由“>>”右边的常数指定。进行右移运算时,如果操作数是无符号数,则总是在其左端补“0”。例如:>>4;//本语句可把a的各二进制位向右移动4位。如a=01100011B,右移4位后为00000110B。项目二

任务2-2汽车转向灯控制8.空指令格式:_nop_();空指令包括在库函数intrins.h中,表示空循环一个机器指令的时间,一个_nop_();函数延时一个机器周期的时间。具体要通过指令周期和晶振来看:如使用805112M晶振时一个机器指令的时间约1μs。注意:要运行空指令,在程序开头时应当包含头文件intrins.h,具体为:#include<intrins.h>。项目二

任务2-2汽车转向灯控制9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论