




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机应用技术单片机应用技术函数函数的定义及分类函数是一个完成一定相关功能的执行代码段。在高级语言中,函数与另外两个名词“子程序”和“过程”用来描述同样的事情。在C51语言中使用的是函数这个术语。C51语言中函数的数目是不限制的,但是一个C51程序必须至少有一个函数,以main为名,称为主函数,主函数是唯一的,整个程序从这个主函数开始执行。从结构上分,C51语言函数可分为主函数main()和普通函数两种。而普通函数又划分为两种:标准库函数和用户自定义函数。标准库函数标准库函数是由C51编译器提供的。编程者在进行程序设计时,应该善于充分利用这些功能强大、资源丰富的标准库函数资源,以提高编程效率。用户可直接调用C51库函数而不需为这个函数写任何代码,只需要包含具有该函数说明的头文件即可。例如调用输出函数printf时,要求程序在调用输出库函数前包含以下的include命令:
#include<stdio.h>用户自定义函数用户自定义函数是用户根据需要所编写的函数。从函数定义的形式分为:无参函数、有参函数和空函数。1.无参函数此种函数在被调用时,既无参数输入,也不返回结果给调用函数,只是为完成某种操作而编写的函数。无参函数的定义形式为:返回值类型标识符函数名(){ 函数体;}无参函数一般不带返回值,因此函数的返回值类型的标识符可省略。例如:main(),为无参函数,返回值类型的标识符可省略,默认值是int类型。用户自定义函数返回值类型标识符函数名(形式参数列表)形式参数说明{ 函数体;}2.有参函数调用此种函数时,必须提供实际的输入函数。有参函数的定义形式为:用户自定义函数【例】定义一个函数max(),用于求两个数中的大数。inta,bintmax(a,b){ if(a>b)return(a); elsereturn(b);}程序段中,a、b为形式参数。return()为返回语句。用户自定义函数返回值类型标识符函数名(){}例如:floatmin(){} /*空函数,占好位置*/3.空函数此种函数体内是空白的。调用空函数时,什么工作也不做,不起任何作用。定义空函数的目的,并不是为了执行某种操作,而是为了以后程序功能的扩充。先将一些基本模块的功能函数定义成空函数,占好位置,并写好注释,以后再用一个编好的函数代替它。这样整个程序的结构清晰,可读性好,以后扩充新功能方便。空函数的定义形式为:函数的调用函数调用的一般形式在一个函数中需要用到某个函数的功能时,就调用该函数。调用者称为主调函数,被调用者称为被调函数。函数名{实际参数列表};若被调函数是有参函数,则主调函数必须把被调函数所需的参数传递给被调函数。传递给被调函数的数据称为实际参数(简称实参),必须与形参的数据在数量、类型和顺序上都一致。实参可以是常量、变量和表达式。实参对形参的数据是单向的,即只能将实参传递给形参.函数的调用函数调用的方式函数调用语句把被调用函数的函数名作为主调函数的一个语句。例如:print_message();此时,并不要求函数返回结果数值,只要求函数完成某种操作。主调用函数对被调用函数的调用有以下3种方式。(1)函数调用语句函数的调用函数结果作为表达式的一个运算对象,例如:
result=2*gcd(a,b);被调用函数以一个运算对象出现在表达式中。这要求被调用函数带有return语句,以便返回一个明确的数值参加表达式的运算。被调用函数gcd为表达式的一部分,它的返回值乘2再赋给变量result。(2)函数结果作为表达式的一个运算对象函数参数即被调用函数作为另一个函数的实际参数。例如:
m=max(a,gcd(u,v));其中,gcd(u,v)是一次函数调用,它的值作为另一个函数的max()的实际参数之一。(3)函数参数单片机与矩阵键盘接口电路单片机与矩阵键盘接口电路ATM机键盘POS机键盘门禁机键盘独立按键是否按下的电平变化:当独立按键没被按下时,与其相连的单片机P1.0口的电平状态为高电平;当独立按键被按下时,与其相连的单片机P1.0口的电平状态,由高电平变为低电平。单片机与矩阵键盘接口电路矩阵键盘是单片机外部设备中所使用的排布类似于矩阵的键盘组单片机与矩阵键盘接口电路4X4矩阵键盘16个独立按键的接口电路4X4矩阵键盘实物图4X4矩阵键盘原理图单片机与矩阵键盘接口电路4X4矩阵键盘原理图单片机与矩阵键盘接口电路单片机与矩阵键盘接口电路在技能竞赛中的应用矩阵键盘的接口电路设计是单片机应用技术课程的重要知识点。在很多的单片机应用技术相关的技能竞赛中,都有矩阵键盘的应用。在学习过程中,可以为相关的技能竞赛夯实基础。单片机与矩阵键盘接口电路定时器计数器相关寄存器TMOD定时/计数器的工作过程1、设定定时/计数器的工作方式2、设定定时/计数器的初值3、启动定时/计数器4、等待定时/计数器溢出那么工作方式的设定怎么来实现呢?定时/计数器的结构TH0TL07700(0x8C)(0x8A)TH1TL17700(0x8D)(0x8B)定时器T1定时器T0TCON(0x88)TMOD(0x89)作用:TMOD用来确定两个定时/计数器的工作方式。低半字节设置定时/计数器T0,高半字节设置定时/计数器T1。定时/计数器的方式寄存器TMOD字节地址:0x89,不可以位操作。TMOD(0x89)GATEM1M0GATEM1M0C/TC/T定时/计数器T1定时/计数器T0D7D6D5D4D3D2D1D0定时/计数器的方式寄存器TMODTMOD(0x89)GATEM1M0GATEM1M0C/TC/T定时/计数器T1定时/计数器T0M1,M0:方式选择位。可以选择为方式0、1、2、3之1。M1M0工作方式功能说明
00方式013位计数器
01方式116位计数器10方式2自动再装入8位计数器11方式3定时器0:两个各自独立的8位计数器定时器1:停止计数定时/计数器的方式寄存器TMODTMOD(0x89)GATEM1M0GATEM1M0C/TC/T定时/计数器T1定时/计数器T0C/T:定时/计数器功能选择位。
C/T=0,设置为定时功能。
定时/计数器对内部机器周期计数。
C/T=1,设置为计数功能。定时/计数器对来自T0(P3.4)或T1(P3.5)端
的外部脉冲计数。
定时/计数器的方式寄存器TMODTMOD(0x89)GATEM1M0GATEM1M0C/TC/T定时/计数器T1定时/计数器T0计数器溢出标志TF达到计数次数脉冲源启动控制TR0GATE&1>1INT0(P3.2)10111GATE:门控位。GATE=0:只要软件控制TR0或TR1置1即可启动定时器开始工作,称软件启动;定时/计数器的方式寄存器TMODTMOD(0x89)GATEM1M0GATEM1M0C/TC/T定时/计数器T1定时/计数器T0计数器溢出标志TF达到计数次数脉冲源启动控制TR0GATE&1>1INT0(P3.2)11011GATE:门控位。1GATE=1:只有TR0或TR1置1且INT0或INT1引脚为高电平时,才能启动相应的定时器开始工作。也称硬件启动。定时/计数器T1定时/计数器T0
TMOD(0x89)功能选择0—定时功能1—计数功能工作方式00—方式001—方式110—方式211—方式3门控位0—软件启动,不受INT1控制
1—硬件启动,受INT1控制门控位0—软件启动,不受INT0控制
1—硬件启动,受INT0控制GATEM1M0GATEM1M0C/TC/T工作方式00—方式001—方式110—方式211—方式3功能选择0—定时功能1—计数功能定时/计数器的方式寄存器TMOD将定时/计数器0设定为工作方式1下的定时功能,启动方式为软件启动,该如何设置TMOD?TMOD=0x01定时/计数器T1定时/计数器T0
TMOD(0x89)GATEM1M0GATEM1M0C/TC/T01000000定时/计数器的方式寄存器TMOD定时/计数器的TMOD寄存器是单片机应用技术课程必须要熟练掌握的知识点。在很多的单片机应用技术相关的技能竞赛中,都会用到定时/计数器,只有正确的设置TMOD寄存器,才能实现想要的定时/计数效果。在学习过程中,可以尝试设置不同的定时/计数效果,以熟练TMOD寄存器的使用,为参加技能竞赛蓄力。在技能竞赛中的应用赋值、关系和逻辑运算赋值、关系和逻辑运算赋值运算赋值运算的作用是把某个常量或变量或表达式的值赋值给另一个变量。符号为‘=’。这里并不是等于的意思,只是赋值,等于用‘==’表示。赋值语句左边必须是变量或寄存器,且必须先定义。常量不能出现左边。简单的赋值运算符:
=复合的赋值运算符:赋值运算i+=2等价于i=i+2a*=b+5等价于a=a*(b+5)x%=3等价于x=x%3赋值、关系和逻辑运算&& (逻辑与) 相当于其他语言中的AND|| (逻辑或) 相当于其他语言中的OR! (逻辑非) 相当于其他语言中的NOT例: a&&b:若a,b为真,则a&&b为真。 a||b: 若a,b之一为真,则a||b为真。 !A: 若a为真,则!a为假。逻辑运算符及其优先次序从高到低的优先次序:! 算术运算符关系运算符&&||赋值=赋值、关系和逻辑运算赋值、关系和逻辑运算逻辑表达式用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。逻辑表达式的值应该是一个逻辑量“真”或“假”。例:假设a=4,b=5:!a的值为0a&&b的值为1a||b的值为1!a||b的值为1 4&&0||2的值为1赋值、关系和逻辑运算逻辑运算使用注意:在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。例如:a&&b&&c只有a为真时,才需要判断b的值,只有a和b都为真时,才需要判断c的值。a||b||c只要a为真,就不必判断b和c的值,只有a为假,才判断b。a和b都为假才判断c。赋值、关系和逻辑运算&:按位与<<:左移
~:取反∧:按位异或|:按位或>>:右移C语言提供的位运算符有注意:位运算符中除~以外,均为二目(元)运算符,即要求两侧各有一个运算量。运算量只能是整型或字符型的数据,不能为实型数据。赋值、关系和逻辑运算与操作按位与操作符:&格式:x&y规则:对应位均为1时才为1,否则为0。主要用途:取(或保留)1个数的某(些)位,其余各位置0。按位或操作符:|格式:x|y规则:对应位均为0时才为0,否则为1例如。主要用途:将1个数的某(些)位置1,其余各位不变。或操作赋值、关系和逻辑运算异或操作按位异或操作符:^格式:x^y规则:对应位相同时为0,不同时为1。主要用途:使1个数的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 牛津译林版七年级英语上册教学计划(含进度表)
- 2025年党章党史国史国情知识竞赛题库及答案(共220题)
- 新型家庭医生签约服务对促进辖区孕产妇管理的效果分析
- 节能环保居间服务合同范例
- 道路交通规划方案介绍
- 低空经济行业报告
- 医院装修大包合同参考范本
- 投资可行性分析报告包括哪些内容
- 低空经济涉及的行业
- 汽车租赁股权转让居间合同
- qc工作岗位职责
- 【体能大循环】聚焦体能循环-探索运动奥秘-幼儿园探究体能大循环有效开展策略课件
- 采购人员廉洁从业课件培训
- 2024年单招计算机试题题库及答案
- XX药业公司受试者日记卡
- 多组学数据的整合与分析
- 小学安全教育《平安校园 拒绝欺凌》刘伟【省级】优质课
- 静脉输液的不良反应及处理原则考核试题及答案
- 水利设施维护投标方案(技术标)
- 《建筑概论》期末考试试卷附答案
- 中国银行供应链融资
评论
0/150
提交评论