C语言循环语句实现单片机延时函数.docx

上传人:b****5 文档编号:3600345 上传时间:2022-11-24 格式:DOCX 页数:6 大小:20.61KB
下载 相关 举报
C语言循环语句实现单片机延时函数.docx_第1页
第1页 / 共6页
C语言循环语句实现单片机延时函数.docx_第2页
第2页 / 共6页
C语言循环语句实现单片机延时函数.docx_第3页
第3页 / 共6页
C语言循环语句实现单片机延时函数.docx_第4页
第4页 / 共6页
C语言循环语句实现单片机延时函数.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

C语言循环语句实现单片机延时函数.docx

《C语言循环语句实现单片机延时函数.docx》由会员分享,可在线阅读,更多相关《C语言循环语句实现单片机延时函数.docx(6页珍藏版)》请在冰豆网上搜索。

C语言循环语句实现单片机延时函数.docx

C语言循环语句实现单片机延时函数

C语言循环语句实现单片机延时函数

徐雷;孙长智

【摘要】延时是单片机教学中最常用的概念之一,因此延时函数是单片机控制程序中的一个重要函数。

分别利用while循环语句、do-while循环语句、for循环语句以及while和for循环语句组合实现tms延时点亮一个按照一定频率闪烁的LED灯,以此为例,总结了C语言循环语句实现单片机延时函数的方法,帮助学生在掌握C语言知识的基础上,增强了对单片机延时概念的理解,提高了教学效果。

【期刊名称】《安庆师范学院学报(自然科学版)》

【年(卷),期】2013(000)004

【总页数】4页(P117-120)

【关键词】单片机;C语言;延时函数;循环语句

【作者】徐雷;孙长智

【作者单位】亳州师范高等专科学校理化系,安徽亳州236800;亳州师范高等专科学校理化系,安徽亳州236800

【正文语种】中文

【中图分类】基础科学

20131:

辛11月第19卷第4期安庆师范学院学报(自然科学版)Nov.2013Vol.19No.4JournalofAnqingTeachersCollege(NaturalScienceEdition)网络出版时间:

20日-12-1920:

16网络出版地址:

http:

//ki.neνkcms/detaiν34.1150.N.20131219.2016.030.htmlC语言循环语句实现单片机延时函数徐雷,孙长智(毫州师范高等专科学校理化系,安徽毫州236800)摘要:

延时是单片机教学中最常用的概念之一.因此延时函数是单片机控制程序中的一个重要函数。

分别利用while循环语句、do-while循环语句、“r循环语句以及while和for循环语句组合实现tms延时点亮一个按照一定频率闪烁的LED灯,以此为例,总结了C语言循环语句实现唯片机延时函数的方法,帮助学生在掌握C语言知识的基础上,增强了对单片机延时概念的理解,提高了数学效果。

关键词:

单片机;C语言;延时函数;循环语句中图分类号:

TP312文献标识码:

A单片机具有体积小可靠性高、功耗低、控制功能强、扩展灵活、微型化和使用方便、容易产品化等优点[I],因此,在当今社会中被广泛应用于生产自动化、智能仪器仪表、家用电器、实时监控、医用设备、计算机网络和通信、航空航天、国防现代化等领域[川。

在这些应用设备中,延时函数是控制程序中必不可少的程序之一。

单片机延时就是让单片机在一段时间内做一些空操作,使其在这段时间内输出端口的信号不发生任何的变化。

单片机课程为了让学生了解单片机最小系统而设置了一个点亮LED灯的学习任务,使其按照一定的频率闪烁[3]。

该任务中闪烁的要求是LED灯亮一段时间,接着灭一段时间,接着再亮一段时间,接着再灭一段时间,如此循环下去。

此任务牵涉到延时的问题,在该任务中延时函数通常是采用C语言中的循环语句实现。

按照C语言程序设计教材中循环语句的分类,延时函数分成四大类,分别为while循环语句实现延时、do-while循环语句实现延时、for循环语句实现延时、for语句和while语句配合使用实现延时,其中第四类中又分成了两类。

点亮一个LED灯,使其按任务要求的频率闪烁,其电路如图1所示:

*收稿日期:

2013-07-10文章编号:

1007-4260(2013)04-0117-04图ILED灯控制电路图while循环语旬实现tms延时while循环语句的一般格式如下[4,5]:

while(表达式)循环体语句其执行过程如下:

l)求出while后括号内表达式的值,若值为“真”(非0),执行2);若值为“假”(0),执行4);2)执行循环体内语句,如果循环体由一个以上的语句组成,则应用“||”将循环体括起来形成复合语句;3)转向执行l);基金项目:

高职lT专业校内实训基地建设研究(JDlOIOI),物电实验实训中心项目和安徽省优秀青年人才基金项目(2012SQRL274)资助。

作者简介:

徐霄,男,安徽毫州人,毫州师范高等专科学校理化系教师,专业方向为单片机及EDA应用技术。

20131:

辛11月第19卷第4期安庆师范学院学报(自然科学版)Nov.2013Vol.19No.4JournalofAnqingTeachersCollege(NaturalScienceEdition)网络出版时间:

20日-12-1920:

16网络出版地址:

http:

//ki.neνkcms/detaiν34.1150.N.20131219.2016.030.html要:

延时是单片机教学中最常用的概念之一.因此延时函数是单片机控制程序中的一个重要函数。

分别利用while循环语句、do-while循环语句、“r循环语句以及while和for循环语句组合实现tms延时点亮一个按照一定频率闪烁的LED灯,以此为例,总结了C语言循环语句实现唯片机延时函数的方法,帮助学生在掌握C语言知识的基础上,增强了对单片机延时概念的理解,提高了数学效果。

单片机具有体积小可靠性高、功耗低、控制功能强、扩展灵活、微型化和使用方便、容易产品化等优点[I],因此,在当今社会中被广泛应用于生产自动化、智能仪器仪表、家用电器、实时监控、医用设备、计算机网络和通信、航空航天、国防现代化等领域[川。

在这些应用设备中,延时函数是控制程序中必不可少的程序之一。

单片机延时就是让单片机在一段时间内做一些空操作,使其在这段时间内输出端口的信号不发生任何的变化。

单片机课程为了让学生了解单片机最小系统而设置了一个点亮LED灯的学习任务,使其按照一定的频率闪烁[3]。

该任务中闪烁的要求是LED灯亮一段时间,接着灭一段时间,接着再亮一段时间,接着再灭一段时间,如此循环下去。

此任务牵涉到延时的问题,在该任务中延时函数通常是采用C语言中的循环语句实现。

按照C语言程序设计教材中循环语句的分类,延时函数分成四大类,分别为while循环语句实现延时、do-while循环语句实现延时、for循环语句实现延时、for语句和while语句配合使用实现延时,其中第四类中又分成了两类。

点亮一个LED灯,使其按任务要求的频率闪烁,其电路如图1所示:

图ILED灯控制电路图while循环语旬实现tms延时while循环语句的一般格式如下[4,5]:

while(表达式)循环体语句其执行过程如下:

l)求出while后括号内表达式的值,若值为)执行循环体内语句,如果循环体由一个以上的语句组成,则应用“||”将循环体括起来形成复合语句;•118•安庆师范学院学报(自然科学版)2013年4)结束while循环,去执行while语句后的其)求出while后括号内表达式的值,若值为他语句。

“真”(非O),则重复执行1);整个电路控制程序如下,其中延时函数延时)若值为“假”(O),则结束循环,去执行do量为0.5s,即LED灯亮的持续时间为0.5s,灭的-while循环语句后的其他语句。

持续时间也为0.5s,其执行流程图如图2所示:

其执行流程图如图3所示:

图2while循环语句程序流程图#includeshitpOρ=PO吼:

voiddelay_tms(unsignedintt)while(t-一)unsi伊1edintx=120;wbile(x--);main()while

(1)PO_O=0;delay_tms(500);pO_O=l;delay_tms(500);2do-while循环语旬实现tms延时do-while循环语句的一般形式为[4,5]:

do循环体语句Iwhile(表达式);I)先执行do-while之间的循环体语句:

循环语句图3do-while循环语句程序流程图把电路的控制程序中延时函数换成由do-while循环语句实现内容如下,同样可以实现任务的要求。

voiddelay_tms(unsignedintt)dounsignedintx=120;while(x--);Iwhile(t一一);do-while循环语句的执行过程是先执行循环体之间的循环语句,后判断while()后括号内的表达式,导致上面延时函数中数值的设置会略大于tms。

3for循环语旬实现tm延时循环语句的一般格式[4.5]:

for(循环初值设定表达式E循环终止条件表达式:

循环变量更新表达式)循环体for循环语句中的三个表达式之间用“:

”隔开,其执行过程为:

I)计算循环初值设定表达式1的值;)计算循环终止条件表示式的值,若值为“真”(非的,执行3);若值为“假”(O),执行6);3)执行循环体中的语句;的计算循环变量更新表达式的值;5)转回2)继续执行;6)结束循环,执行for循环语句后的其他语•118•while循环语句程序流程图#includeshitpOρ=PO吼:

voiddelay_tms(unsignedintt)while(t-一)unsi伊1edintx=120;wbile(x--);main()while

(1)PO_O=0;delay_tms(500);pO_O=l;delay_tms(500);do-while循环语旬实现tms延时do-while循环语句的一般形式为[4,5]:

while(表达式);do-while循环语句程序流程图把电路的控制程序中延时函数换成由do-while循环语句实现内容如下,同样可以实现任务的要求。

voiddelay_tms(unsignedintt)unsignedintx=120;while(x--);do-while循环语句的执行过程是先执行循环体之间的循环语句,后判断while()后括号内的表达式,导致上面延时函数中数值的设置会略大于tms。

3循环语旬实现tm延时循环体循环语句中的三个表达式之间用“:

”隔)计算循环终止条件表示式的值,若值为“真”(非的,执行3);若值为“假”(O),执行6);)执行循环体中的语句;的计算循环变量更新表达式的值;5第4期句。

徐雷,孙长智:

C语言循环语句实现单片机延时函数·119·其执行流程图如图4所示:

循环语句青草草疆环变量更新表达式的值图4for循环语句程序流程图把电路的控制程序中延时函数换成由for循环语句实现,内容如下,同样可以实现任务的要求。

voiddelay_tms(unsignedintt)for(;t>0;t一-)unsignedintx;for(x=120;x>O;x一-)4for语旬和while语旬配合使用实现tms延时利用for循环语句和while循环语句配合使用实现延时。

既然两种循环语句配合使用,那么就要分谁作用于外循环,谁作用于内循环的情况,即要分两种情况讨论:

一种是for循环语句为外循环函数,while循环语句为内循环函数实现的延时;另外一种是for循环语句为内循环函数,while循环语句为外循环函数实现的延时。

下面分别来介绍两种延时函数的实现。

4.Ifor语句为外循环函数,while语句为内循环函数实现tms延时voiddelay_tms(unsignedintt)for(;t>0;t--)unsignedintx=120;while(x--);4.2for循环语句为内循环函数,while循环语句为外循环函数实现tms延时voiddelay_tms(unsignedintt)while(t一-)unsignedintx=120;for(;x>O;x--);5总结本文根据学生C语言程序设计课程中掌握的知识点,分别用while循环语句、do-while循环语句、for循环语句以及while和for循环语句组合实现tms延时点亮一个按照一定频率闪烁的LED灯,使学生很快掌握了延时的概念,并能把巳学的C语言知识运用到单片机课程中,取得了很好的教学效果。

文中实现的tms的延时是一个经验值,存在一定的误差,在精确度要求不高的情况下,可以认为是tm。

由于C程序具有可移植性,所以本文中提到的延时函数在单片机的其他应用,如流水灯设计、模拟交通灯设计、多位数码管显示器设计、点阵显示、调速小车等多种设计中均可使用。

参考文献:

[I]赵全利,肖兴达-单片机原理及应用教程[M].北京:

机械工业出版社,2007:

16一17.[2]任Hi!

富,李学平单片机原理与应用项目化教程[M].北京:

中国建材工业出版社,2013:

23[3]陈王平.单片机应用技术(第二版)武汉·华中科技大学出版社,2012,3.[4]斩梳,邬芝权,李骤,等基于51系列单片机的LED显示屏开发技术[M].北京:

北京航空航天大学出版社,2009:

7780.[5]谭浩强,C程序设计(第3版)[M].北京:

清华大学出版丰士,2005:

114-121.期句。

·119·青草草疆环变量更新表达式的值循环语句程序流程图把电路的控制程序中延时函数换成由for循环语句实现,内容如下,同样可以实现任务的要求。

voiddelay_tms(unsignedintt)for(;t>0;t一-)unsignedintx;for(x=120;x>O;x一-)4语旬和while语旬配合使用实现ms延时利用循环语句和while循环语句配合使用实现延时。

既然两种循环语句配合使用,那么就要分谁作用于外循环,谁作用于内循环的情况,即要分两种情况讨论:

一种是for循环语句为外循环函数,while循环语句为内循环函数实现的延时;另外一种是for循环语句为内循环函数,while循环语句为外循环函数实现的延时。

下面分别来介绍两种延时函数的实现。

4.I语句为外循环函数,while语句为内循环函数实现tms延时voiddelay_tms(unsignedintt)for(;t>0;t--)unsignedintx=120;while(x--);4.2循环语句为内循环函数,while循环语句为外循环函数实现tms延时voiddelay_tms(unsignedintt)while(t一-)unsignedintx=120;for(;x>O;x--);总结本文根据学生C语言程序设计课程中掌握的知识点,分别用while循环语句、do-while循环语句、for循环语句以及while和for循环语句组合实现tms延时点亮一个按照一定频率闪烁的LED灯,使学生很快掌握了延时的概念,并能把巳学的C语言知识运用到单片机课程中,取得了很好的教学效果。

文中实现的tms的延时是一个经验值,存在一定的误差,在精确度要求不高的情况下,可以认为是tm。

由于C程序具有可移植性,所以本文中提到的延时函数在单片机的其他应用,如流水灯设计、模拟交通灯设计、多位数码管显示器设计、点阵显示、调速小车等多种设计中均可使用。

[]任Hi!

富,李学平单片机原理与应用项目化教程[M].北京:

]陈王平.单片机应用技术(第二版)武汉·华中科技大学出版社,2012,3.斩梳,邬芝权,李骤,等基于51系列单片机的LED显示屏80.[5]谭浩强,C程序设计(第3版)[M].北京:

清华大学出版·120•安庆师范学院学报(自然科学版)ImplementationofDelayFunctionofMicrocontrollerUnitbyUsingCLoopStatementsXULei,SUNChang-zhi(Departmentofchemicalandphysical,BozhouTeachersCollege,Bozhou,Anhui236800China)Abstract:

Delayisoneofthemostcommonlyusedconceptsinmicroconlrollerleaching,anddelayfunctionisanimportantfunctioninthecontrollingprogramsofmicrocontrollerunit.TakeflashingLEDlampsalaconstantfrequencylightedbytmsdelayfunction,whichrealizedusingwhile,do-while,for,andcombinationofwhileandforloopstatemen恼,脑anex.副nple.thedelayfunctionsofmicrocontrollerCloopstatementsaresummarizedtohelpstudentsenhanceunderstanding由edelayconceptsofmicrocontrollerunitbasedontheCknowledgιTheresultsshowtheteachingmethodsareverygood.Keywords:

micr回ontrollerunit,Clanguage,delayfunction,loopstatements吨’+++吨’吨’吨’吨’吨’毛’吨’吨’吨’吨’传’吨’毛’吨’吨’吨’+吨’吃々吨’吨’吨’吨’吨’吨’吨’吨’吨’吨’吨’吨’吨’吨’毛’喝’吨’吨’吨’喝’(上接第78页)3结束语CAE分析可弥补由于试验条件限制而不能测量一些数据缺陷,可大大减少试验经费、缩短试验周期,降低新产品的研发成本,缩短研发周期,提高车轮产品结构设计的一次合格率。

同时实验分析也表明,利用有限元方法来研究车轮结构的动力学问题是可行的,通过CAE建立公司内部的强度评价标准,提高试验合格率,具有十分重要的应用价值。

对于涉及轮胎大变形、轮胎与车轮接触问题以及材料断裂问题的车轮冲击试验,有限元分析结果与实验结果还有一定差距,有限元分析模型相对简单,如能把高弹性的轮胎引人车轮结构的分析模型,利用逆推法或实验测得冲击试验载荷谱作为动响应分析的输入,将能使分析结果更接近于实际,从而取消修正系数,还有待于借鉴更新的CAE技术做进一步研究。

参考文献:

[I]李平化,周华祥,龙华,等铝车轮设计的有限元分析[J].装备制造技术,2006,(4):

“-[2JJ.Stearns,T.S.Srivatsan,A.Prak时,etal.Modelingthemechanicalresponseofanalu山mimalloyautomotiverim[JJ.MaterialsScienceandEngineeringA,2004’366:

262-268.[3]崔胜民.杨占春.汽车车轮疲劳寿命预测方法的研究[J].饥械强度,2002,24(4):

“7-619.[4]HaruyukiKONISHI,AkibumiFUJIWARA,ToshihiroKATSURA,etal.ImpactStrengthofAluminumWheel(Influence。

fDiskandRim阳gidityontheJWLlmpactStrengthofAluminumWheel)[C].日本楼械学会揄文集,l”6,62(7):

2884-2890.]吴永礼.计算固体力学方法[M].北京:

科学出版社,2003.[6]马晓建,等机械装备中跌落物冲击信号的恢复[J].振动与冲击,2001,20

(1):

31-33.[7]K.S.Tan,S.V.Wong,R.S.RadinUm町,etal.Anexpenmentalstudyofdefo,mationbehavwrofmotorcyclefrontwheel-tyreassemblyunderfrontalimpactloading[J].lntemationalJournalofImpactEngineering,2α施,(32):

1554-1572.AnalysisonImpactTestofAutomobileWheelbyCAEandExperimentMethodsYANSheng-zan1,TONGShui-guan矿,ZHUXun-ming3(I.SchoolofComputerandlnfomiation,AnqingTeachersCollege,Anqing,Anhui246133;2.InstituteofProce目EquipmentandControlEngineering,ZhejiangUniversity,Hangzhou,Zhejiang310027;3.ZhejiangWanfengAutoGroup,Xianchang,Zhejiang312500,China)Abstract:

Aimedattheimpacttestofaluminumalloyautomobilewheels,themaximumst陀ssand

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1