- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工程学
第 22 卷第 8 期 徐 州 工 程 学 院 学 报 2 007 年 8 月
V ol . 22 No . 8 Jo ur nal of Xuzhou In stitu t e o f Technolog A U G1 2 007
在 单 片 机 Keil C 开 发 环 境 中 设 计 精 确 的 延 时 函 数
张 宏 ,邢文生
(焦作大学 , 河南 焦作 454000)
【摘 要 】 Keil C 语言是开发单片机系统常用 的语言 ,但不能象汇编语言一样预测代码执行
的指令周期 ,对外 围元件实现精确 的延时控制比较困难. 文章从 Keil C 的编译原理 出发 ,分析几种
延时函数 ,实现了精确 的延时效果 .
【关键词 】 单片机 ; Keil C 语言 ;延时
【中图分类号 】 TP3 68 . 1 【文献标识码 】A 【文章编号】167 320 704 (2 007) 0820064204
单片机的编程语言有汇编语言和 Keil C 语言等 . 相对汇编来说 , Keil C 具有代码编写方便 、易于维护 、
便于理解的优点 ,适合编写大的项 目, 已被广泛使用. 但它不能够象汇编代码那样直接计算 出每条语句 的执
行周期 ,无法预测代码执行的指令时间 ,在实时性方面不易保证. 如果某个外 围元件需要比较精确 的延时 ,用
计时器会浪费宝贵的单片机资源 ,那么如何在 Keil C 语言中编写出可 以实现精确延时的延时函数就具有很
重要的实用意义.
1 单片机工作原理及 Keil C 语言实现延时的机制
51 单片机系统由单片机 、晶振 、外围元件等组成. 使用时需要在单片机的时钟 引脚 X TA L 1 、X TAL 2 接
上石英 晶振或有源晶振 ,晶振的作用是 向单片机提供外部 的振荡脉冲. 单片机 内部有指令寄存器 PC ,在晶振
脉冲的作用下单片机一步步地执行指令寄存器所指 的命令 ,这就是单片机语言的执行过程.
单片机延时程序就是让单片机执行许多空操作. 单片机 Keil C 语言实现延时程序的实现机制如图 1 所
示. 由图 1 可 以看 出 , Keil C 编译器翻译器 的功能是将标准的 Keil C 语言生成单片机能够认识 的汇编指令 .
Kei l C 环境中 ,如果想查看 Keil C 语言生成 的汇编指令 ,需要在程序编译成功后 ,启动菜单下 D ebu g 命令下
的 sta rt/ stop deb ug ses sion 项 ,系统就会 出现编译后对应 的汇编语句 ,并可以根据汇编语句计算 出延时的时
间. 51 单片机机器周期的是晶振频率的 1/ 12 ,每条汇编指令执行使用的所 占的机器周期不 同. 延时时间的计
算公式是 :总机器周期数 ×晶振频率/ 12 . 为了计算方便 ,假定本系统使用 的晶振是 12M Hz .
2 Keil C 语言实现延时程序分析
2 . 1 常见的延时代码 的分析
Keil C 语言实现延时一般使用循环语句 ,下面是经常使用 的延时代码 :
voi d del a (u nsigned c har i)
{
for ( ; i ! = 0 ; i - - ) ;
}
Keil C 将循环体 for ( ; i ! = 0 ; i - - ) 转换成的汇编代码及其机器周期数如表 1.
收稿 日期 : 21
( )
作者简介 : 张 宏 19662 ,男 ,河南焦作人 ,副教授 ,主要从事计算机 自动控制技术研究.
·64 ·
©
张宏 ,等 : 在单片机 Keil C 开发环境中设计精确的延时函数
图 1 Keil C 语言延时的实现机制
您可能关注的文档
最近下载
- 电磁波在水-空气两层媒质中的传播特性研究.pdf VIP
- 2024年新华师大版数学七年级上册全册课件(新版教材).pptx
- 化工技术服务合同8篇.docx VIP
- 人教版七年级下册Unit 4 Don't eat in class. 单元测试卷(含答案).doc VIP
- 特种设备安全监察条例新修订内容概述 .pptx VIP
- 2025北京朝阳劲松街道招聘城市协管员3人笔试备考试题及答案解析.docx VIP
- 附件1:广东省中等职业学校学生国家免学费申请表.xls VIP
- 牙科防辐射工程施工方案(3篇).docx
- 2024年江苏省南京市中考数学真题卷(含答案与解析).pdf VIP
- 广东省佛山市H7教育共同体2024-2025学年高二上学期12月联考数学试题.docx VIP
文档评论(0)