版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
作者:牛俊英任务1.2上电蜂鸣器鸣叫一声BuzzerControlCONTENTS01.认识蜂鸣器03.认识变量02.设计蜂鸣器驱动电路04.认识运算符与表达式05.认识程序设计结构及流程图绘制06.认识分支结构01.认识蜂鸣器蜂鸣器广泛应用于各种电子产品的一种发声元器件,它用于提示、报警、音乐等许多应用场合。一般蜂鸣器只有两个引脚,其中一个引脚用来接地,另外一个引脚则用来接驱动信号。通常蜂鸣器是连接至控制芯片的输出器件,控制芯片通过输出高、低或者脉冲信号控制蜂鸣器的发声。01.认识蜂鸣器蜂鸣器电磁式蜂鸣器无源蜂鸣器:交流信号通过绕在支架上的线包在支架的芯柱上产生一交变的磁通,交变的磁通和磁环恒定磁通进行叠加,使膜片以给定的交流信号频率振动并配合共振腔发声有源蜂鸣器:由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声压电式蜂鸣器在压电陶瓷上通过一定频率的电流,就会引起压电陶瓷微小形变,这一形变带动空气发生振动,如果频率适当,就可以被人耳所听见,也就是产生了蜂鸣声01.认识蜂鸣器名称有源蜂鸣器无源蜂鸣器驱动信号01.认识蜂鸣器参数说明工作电压电磁式:1.5V-24V;压电式:3V-220V;消耗电流电磁式蜂鸣器的消耗电流可以从几十到上百毫安。对于压电式,几毫安就可以正常的动作,且在蜂鸣器启动时,瞬间需消耗约三倍的电流。驱动方式对于有源蜂鸣器的,只要接上直流电(DC)即可发声。对于无源蜂鸣器则必须设定特定的驱动频率,使用方波信号驱动。尺寸蜂鸣器的尺寸会影响到音量的大小,频率的高低。电磁式的最小从7mm到最大的25mm压电式的从12mm到50mm甚至更大连接方式一般常见的有插针(DIP),焊线(Wire),贴片(SMD),压电式还有以锁螺丝方式的封装音压蜂鸣器常以10cm的距离作为测试的标准,距离增加一倍,大概会衰减6dB,反之距离缩短一倍则会增加6dB。电磁式蜂鸣器大概能达到85dB/10cm的水平,压电式可以做到很大声,常见的警报器大都是以压电蜂鸣器制成02.设计蜂鸣器驱动电路端口拉电流端口灌电流NPN三极管驱动PNP三极管驱动有源:低电平无源:脉冲有源:低电平无源:脉冲有源:高电平无源:脉冲需要端口有恰当的拉电流有源:高电平无源:脉冲依赖端口拉电流的最大值依赖端口灌电流的最大值能提供较大的蜂鸣器工作电流驱动方式端口要求工作电流03.认识变量基本概念概念作用用法计算机语言中是一段有名字的连续存储空间,在程序运行过程中,其值会发生变化通过定义变量来申请并命名这样的存储空间,并通过变量的名字来使用这段存储空间每个变量在使用前必须进行定义03.认识变量定义[存储种类]数据类型[存储器类型]变量名表;
//[内容]为非必需内容自动(auto)、外部(extern)、静态(static)、存储器(register)后续章节介绍,,默认为自动变量有些单片机在变量定义时需要说明变量存储在内存具体分区可以定义单个变量,也可同时定义同一类型的多个变量,多个变量同时定义是要用“,”分割,一句变量定义的语句结束要使用“;”,可以为变量赋予初始值03.认识变量定义[存储种类]数据类型[存储器类型]变量名表;
//[内容]为非必需内容unsignedcharV1;//定义一个unsignedchar类型的变量,没有赋初始值unsignedcharV2=1,V3;//定义两个unsignedchar类型的变量,其中一个赋了初始值unsignedintV4=5;//定义一个unsignedint类型的变量,赋予初始值03.认识变量内涵unsignedcharV1;//定义一个unsignedchar类型的变量,没有赋初始值unsignedcharV2=1,V3;//定义两个unsignedchar类型的变量,其中一个赋了初始值unsignedintV4=5;//定义一个unsignedint类型的变量,赋予初始值内存地址空间名称内存内容(每个空间为一个字节)0x80V10x81V20x010x82V3
0x83V40x000x840x050x85000001010000000000000001123变量定义:按照数据类型在RAM区申请特定的内存空间为存储空间命名并用初始值填充空间03.认识变量使用V1=25;V4=V1+V2;变量定义后在程序中通过赋值语句修改变量的值03.认识变量注意每个变量必须有一个名字,变量名是标识符变量名不能是关键字变量必须先定义再使用,在一个程序段中,变量定义一定要放在执行语句之前变量不能重复定义变量赋值时数值范围超出了数据类型的规定,则可能丢失数据变量的初始化不能使用连等,如以下表示不正确unsignedchara=b=c=3;变量是有作用范围(Scope)的,也即作用域03.认识变量注意AB在程序中,变量一定会被定义在某一对大括号中,该大括号所包含的代码区便是这个变量的作用域变量也可以定义在主函数之前,则变量在该.c文件全程有效变量的作用域03.认识变量注意03.认识变量注意变量的数据类型与其数值范围二者要匹配如果数值范围超出了数据类型的规定,则可能丢失数据03.认识变量注意变量的数据类型与其数值范围二者要匹配如果数值范围超出了数据类型的规定,则可能丢失数据unsignedchara=258;03.认识变量注意变量的数据类型与其数值范围二者要匹配如果数值范围超出了数据类型的规定,则可能丢失数据unsignedchara=258;03.认识变量注意变量的数据类型与其数值范围二者要匹配如果数值范围超出了数据类型的规定,则可能丢失数据unsignedchara=258;000000101204.认识运算符与表达式基本概念5Tmp=AD_Value+5a=(2+b/3)/5最简单的表达式即一个单独的操作数,以此作为基础可以建立复杂的表达式表达式(expression)是由运算符和操作数组合构成的,操作数是运算符操作的对象语句(statement)是组成C的基本单位,并且大多数语句由表达式构成04.认识运算符与表达式基本概念每个表达式都有一个值,按照运算符优先级描述的顺序来完成运算0102若表达式中有“=”的赋值操作,则表达式的值为“=”左边变量的值。“m=2*5”1004.认识运算符与表达式基本概念单目运算符i++;双目运算符 Tmp=AD_Value+5;三目运算符 C=(a>b)?a:b;04.认识运算符与表达式基本概念共分为15级,1级最高,15级最低优先级即左结合性(自左至右)和右结合性(自右至左)结合性04.认识运算符与表达式运算符其功能是把表达式的运算结果强制转换成类型说明符所表示的类型(类型说明符)(表达式)(unsignedchar)a把a转换为字节型强制类型转换运算符04.认识运算符与表达式运算符算术运算符加法运算符“+” 双目运算,即应有两个量参与加法运算。如a+b,4+8等。具有右结合性。减法运算符“-” 双目运算。但“-”也可作负值运算符,此时为单目运算,如-x,-5等具有左结合性。乘法运算符“*”双目运算,具有左结合性。除法运算符“/”双目运算,具有左结合性。参与运算量均为整型时,结果也为整型,舍去小数。求余运算符模运算符“%”双目运算,具有左结合性。要求参与运算的量均为整型。求余运算的结果等于两数相除后的余数。自增、自减运算符“++”,“--”单目运算,自增或者自减104.认识运算符与表达式运算符算术运算符加法运算符“+” 双目运算,即应有两个量参与加法运算。如a+b,4+8等。具有右结合性。减法运算符“-” 双目运算。但“-”也可作负值运算符,此时为单目运算,如-x,-5等具有左结合性。乘法运算符“*”双目运算,具有左结合性。除法运算符“/”双目运算,具有左结合性。参与运算量均为整型时,结果也为整型,舍去小数。求余运算符模运算符“%”双目运算,具有左结合性。要求参与运算的量均为整型。求余运算的结果等于两数相除后的余数。自增、自减运算符“++”,“--”单目运算,自增或者自减1++ii自增1后再参与其它运算。--ii自减1后再参与其它运算。i++i参与运算后,再自增1。i--i参与运算后,再自减1。04.认识运算符与表达式运算符算术运算符加法运算符“+” 双目运算,即应有两个量参与加法运算。如a+b,4+8等。具有右结合性。减法运算符“-” 双目运算。但“-”也可作负值运算符,此时为单目运算,如-x,-5等具有左结合性。乘法运算符“*”双目运算,具有左结合性。除法运算符“/”双目运算,具有左结合性。参与运算量均为整型时,结果也为整型,舍去小数。求余运算符模运算符“%”双目运算,具有左结合性。要求参与运算的量均为整型。求余运算的结果等于两数相除后的余数。自增、自减运算符“++”,“--”单目运算,自增或者自减1++ii自增1后再参与其它运算。--ii自减1后再参与其它运算。i++i参与运算后,再自增1。i--i参与运算后,再自减1。unsignedchari=3,j;j=i++;j=3;i=404.认识运算符与表达式运算符<小于<=小于或等于>大于>=大于或等于==等于!=不等于“0”
假非“0”
真运算得出的“真”用“1”表示结果是“真(1)”和“假(0)”双目运算符关系运算符左结合比较两个量的大小关系04.认识运算符与表达式运算符结果是“真(1)”和“假(0)”双目运算符关系运算符左结合比较两个量的大小关系5>0(a=3)>(b=5)1004.认识运算符与表达式运算符结果是“真(1)”和“假(0)”双目运算符逻辑运算符左结合计算逻辑关系与运算&&1参与运算的两个量都为真时,结果才为真,否则为假。5>0&&4>21或运算||2参与运算的两个量只要有一个为真,结果就为真5>0||5>81非运算!3参与运算量为真时,结果为假;参与运算量为假时,结果为真。!(5>0)004.认识运算符与表达式运算符双目运算符(&、^、|)
单目(~、>>、<<)位运算符左结合按位二进制逻辑运算04.认识运算符与表达式运算符双目运算符(&、^、|)
单目(~、>>、<<)位运算符左结合每位二进制逻辑运算按位与
&9&5
按位或
|9|5按位异
^9^5求反
~
~255
左移
<<3<<4右移
>>15>>200001001(9的二进制码)&00000101(5的二进制码)00000001(1的二进制码)04.认识运算符与表达式运算符双目运算符(&、^、|)
单目(~、>>、<<)位运算符左结合每位二进制逻辑运算按位与
&9&51按位或
|9|513按位异
^9^512求反
~
~2550左移
<<3<<448右移
>>15>>2304.认识运算符与表达式运算符寄存器或变量的位段数值设置设置运算符例子位段置1|位或P0第三位置1P0=P0|0x08;(P0位或00001000)位段置0&位与P0第五、六位置0P0=P0&0x9F;(P0位与10011111)位段取反^异或P0第二位取反P0=P0^0x04;(P0位与00000100)04.认识运算符与表达式运算符unsignedchara=2;unsignedcharc=3;unsignedcharb=(a>c)?a:c;3先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果<表达式1>?<表达式2>:<表达式3>三目运算符条件运算符04.认识运算符与表达式运算符unsignedchara1,a2,b=2,c=7,d=5;a1=(++b,c--,d+3);整个表达式的值是最后一个表达式的值多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算逗号运算符804.认识运算符与表达式运算符优先级运算符名称或含义使用形式结合方向1
()圆括号(表达式)/函数名(形参表)
.成员选择(对象)对象.成员名
->成员选择(指针)对象指针->成员名
2
-负号运算符-表达式右到左(类型)强制类型转换(数据类型)表达式
++自增运算符++变量名/变量名++
--自减运算符--变量名/变量名--
*取值运算符*指针表达式
&取地址运算符&左值表达式
!逻辑非运算符!表达式
~按位取反运算符~表达式
3
/除表达式/表达式左到右*乘表达式*表达式
%余数(取模)整型表达式%整型表达式
4+加表达式+表达式左到右-减表达式-表达式
5<<左移表达式<<表达式左到右>>右移表达式>>表达式
6>大于表达式>表达式左到右>=大于等于表达式>=表达式
<小于表达式<表达式
<=小于等于表达式<=表达式
优先级运算符名称或含义使用形式结合方向7
==等于表达式==表达式左到右!=不等于表达式!=表达式
8&按位与整型表达式&整型表达式左到右9^按位异或整型表达式^整型表达式左到右10|按位或整型表达式|整型表达式左到右11&&逻辑与表达式&&表达式左到右12||逻辑或表达式||表达式左到右13?:条件运算符表达式1?表达式2:表达式3右到左14
=赋值运算符变量=表达式右到左/=除后赋值变量/=表达式
*=乘后赋值变量*=表达式
%=取模后赋值变量%=表达式
+=加后赋值变量+=表达式
-=减后赋值变量-=表达式
<<=左移后赋值变量<<=表达式
>>=右移后赋值变量>>=表达式
&=按位与后赋值变量&=表达式
^=按位异或后赋值变量^=表达式
|=按位或后赋值变量|=表达式
15,逗号运算符表达式,表达式,…左到右05.认识程序设计结构及流程图绘制程序结构顺序结构1完成一条语句进行下一条语句,是最简单的程序设计方式分支判断结构2依据判断条件选择不同的分支结构执行程序采用if语句和switch语句实现循环结构3满足循环执行的条件时,反复执行同一段代码(循环体),直到条件不满足采用for语句、while语句、dowhile语句05.认识程序设计结构及流程图绘制流程图顺序结构06.认识分支结构if语句根据给定的条件进行判断,以决定是否执行某个分支程序段单分支结构多分支结构双分支结构06.认识分支结构if语句单分支结构形式:if(表达式)语句语义:如果表达式的值为真,则执行其后的语句,否则不执行该语句unsignedchara=2,b=1;if(a>5)b=a;b=106.认识分支结构if语句双分支结构形式:if(表达式)
语句1;else
语句2;语义:如果表达式的值为真,则执行语句1,否则执行语句2if(a>b)c=a;elsec=b;c取a、b中最大者06.认识分支结构if语句多分支结构形式:
if(表达式1)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;elseif(表达式4)语句4;else
语句5;语义:如果表达式的值为真,则执行语句1,否则执行语句2多段控制程序y按照x数值范围取不同数值/***************//y=1x<3//y=23<=x<10//y=310<=x<20//y=4x>=20***************/if(x<3)y=1;elseif(x<10)y=2;elseif(x<20)y=3;elsey=4;06.认识分支结构if语句注意事项if(a>b){a++;b++;}else{a=0;b=10;}常见逻辑错误初学者在进行关系判断时容易误写语句(if(a==5)写为if(a=5)),导致判断恒真if(表达式)后加“;”,如if(a==5);b=3;语义变为a为5时执行空语句,无论条件是否成立b=3都将执行PART.1当if语句中的执行语句又是if语句时,则构成了if语句嵌套的情形,else总是与它前面最近的if配对PART.3养成良好的编程习惯,用{}括起执行语句段,避免不必要错误PART.4如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。但要注意的是在}之后不能再加分号PART.2if(a>b) {if(a>c)d=a;elsea=c;} else{if(b>c)d=b;elsed=c;}if(a>b) if(a>c)d=a;elsea=c;elseif(b>c)d=b;elsed=c;06.认识分支结构switch语句switch(表达式){case常量表达式1:语句1;case常量表达式2:语句2;…case常量表达式n:语句n;default:语句n+1;}计算表达式的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026南平市建阳公证处编外人员招聘3人笔试模拟试题及答案详解
- 2026广东韶关市始兴县统计局招聘统计人员1人笔试备考试题及答案详解
- 2025年农业发展银行(广西壮族自治区分行)校园招聘笔试考试试题及答案详解
- “国资赣将”赣州发展投资控股集团2026年第一批公开招聘笔试备考题库及答案详解
- 2025年杭州银行(舟山分行)校园招聘笔试考试试题及答案详解
- 2026四川凉山州美姑县应急管理局招聘工作人员1名笔试参考题库及答案详解
- 2026贵州黔东南州从江县中医医院招聘编外合同制工作人员5人笔试备考题库及答案详解
- 2026甘肃定西岷县人民医院康复技师招聘2人笔试备考题库及答案详解
- 2026中国工商银行湖北省分行星令营暑期实习笔试模拟试题及答案详解
- 2026四川省中医药科学院中医研究所招聘11人笔试备考试题及答案详解
- 《西方哲学智慧》第十四讲:黑格尔哲学课件
- 2024年中智集团招聘笔试参考题库含答案解析
- 《相见欢无言独上西楼》课件
- 医院网络信息安全ppt
- DB13T 5714-2023 道路运输企业安全生产风险分级管控规范
- 建筑工程项目汇报ppt
- 2023年江苏第二师范学院招聘工作人员17人笔试备考试题及答案解析
- 输电线路工程组塔施工质量控制
- 最新人教部编版六年级下册语文《古诗词诵读:春夜喜雨》教学课件
- 公共伦理学(第三版)-课件
- 国家电网有限公司十八项电网重大反事故措施(修订版)
评论
0/150
提交评论