AVR单片机在柴油机转速测量中的应用.docx

上传人:安*** 文档编号:17787715 上传时间:2022-05-26 格式:DOCX 页数:8 大小:19KB
返回 下载 相关 举报
AVR单片机在柴油机转速测量中的应用.docx_第1页
第1页 / 共8页
AVR单片机在柴油机转速测量中的应用.docx_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《AVR单片机在柴油机转速测量中的应用.docx》由会员分享,可在线阅读,更多相关《AVR单片机在柴油机转速测量中的应用.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、AVR单片机在柴油机转速测量中的应用zhaohy导语:利用ATMEL新一代AVR单片机AT90S2313实现对柴油机转速的测量,最后给出了AT90S2313与AT89C2051在转速测量中使用效果的比拟摘要:利用ATMEL新一代AVR单片机AT90S2313实现对柴油机转速的测量,在C语言程序设计中引入了消息的概念,最后给出了AT90S2313与AT89C2051在转速测量中使用效果的比拟。关键词:单片机转速测量柴油机消息柴油机的转速是一个较为重要的运行参数,也有很多种用于测量转速的仪表,如:机械软轴式转速表、频率-电压转换式转速表、数字式转速表等,它们中间有的本钱很高而且精度较差、有的工艺复

2、杂而且可靠性不高。本文介绍了一种利用单片机技术制成的智能转速表,不仅精度高、工艺简单、线路简洁,而且可靠性高、功能强。其不仅可以测量转速,而且可以统计机器运行的累计时间,当柴油机超速时,还可发出报警信号,切断油路,保护机器不发生飞车事故。1测量原理在测量柴油机转速时我们采用了电磁感应式传感器,这种传感器可将转速信号转变成一个脉冲信号输出,而脉冲信号的频率与柴油机的转速是一种线性的正比关系。因此对柴油机转速的测量,本质上是对脉冲信号的频率的测量,可以采用闸门法进展测量。2线路设计智能转速表的框图如图1所示IMG=智能转速表的框图/uploadpic/tech/2020/1/20200105090

3、01220683X.jpg/IMG智能转速表主要由脉冲放大及整形电路、单片机AT90S2313、多路动态扫描LED显示电路和报警信号输出电路组成。在设计中我们采用了ATMEL的AVR系列单片机中的AT90S2313,该单片机有如下特点:1片内有2K字节可在线编程ISP编程的FLASH存贮器。2片内有128字节SRAM和128字节EEPROM存贮器。3精简指令集构造单片机,尤其内部32个存放器全部与ALU直接连接,打破传统瓶颈限制,每MHZ时钟具有1MIPS的性能。4内含带预分频的8位和16位的定时器各一个,16位定时器还具有捕捉、比拟及PWM功能。5一个片内WatchDog定时器。6除具有普通

4、UART串行口外,还具有高速SPI接口。7AVR的输出端口可直接驱动LED。AT90S2313的定时器08位工作于定时器方式,用来产生定时闸门信号;而定时器116位工作于计数器方式,对整形电路送来的脉冲信号进展计数;片内的EEPROM用于保存机器运行累计时间,在断电时可以保持数据不丧失。3程序设计在AVR单片机的程序设计中,我们采用了ImageCraft的C语言编译器ICCAVR,并在单片机程序设计中引入了WINDOWS系统中消息的概念。主要程序流程图如图二所示。主程序中断效劳程序IMG=主程序中断效劳程序/uploadpic/tech/2020/1/2020010509002425462J.

5、jpg/IMG定时器0以中断方式工作,其负责收集定时器1的计数值、对运行时间累计和发送消息。由于在仪表中对收集到的定时器1的计数值,需要进展一些处理,如:判定是否超过额定速度、将16位二进制数转换成BCD码、为动态LED显示电路进展软件译码及扫描控制等等。假如所有工作全部放在中断程序中完成,就会导致中断效劳程序执行时间过长。由于仪表还要完成运行时间的累计工作,尽管中断效劳程序执行时间过长对转速的测量不会有太大影响,但势必会给时间累计造成过大的累积误差,影响累计时间的精度。为理解决这个问题,我们采取了下面的方法:借鉴windows编程的原理,在单片机编程中引入消息的概念,将中断产生的标志作为消息

6、,而数据处理那么放在消息循环中进展。在这个例子中中断效劳程序中只进展数据的收集和标志位的设置发送消息,而将数据的处理放到运行时间要求不很准确的中断效劳程序之外的主程序循环中消息循环。这样一方面减少了中断效劳程序的长度,缩短了中断效劳程序执行的时间,进步了中断处理的实时性,另一方面又不影响数据的处理。进而很好地解决了数据收集的实时性和数据处理耗时多而影响时间累计之间的矛盾。和PC机相比,单片机资源特别有限。因此,单片机系统不可能象windows系统那样建立庞大的消息循环机制,将消息分发给各个程序并行处理。在基于消息的单片机编程中,采取一种简化的方式,消息可以这样来定义:当某个事件例如中断发生时,

7、事件处理程序例如中断效劳程序设置相应的标志,不同的标志即代表不同的消息;而主程序所进展的消息循环就是主程序不断地判定这些标志,以决定启动哪一个处理函数即将消息发送给特定的消息处理函数。这种方法在多中断系统中使用,可以明显地进步中断的实时性;另外,由于在中断效劳程序中不需要调用数据处理程序,也有效地防止了代码重入带来的问题。如下面的T0中断效劳程序,发送消息:voidtimer0iftimercount=0TCCR1B=0x00;count=TCNT1;/收集数据second+;/运行时间累计flag=1;/发送消息WDR;TCNT1H=0x00;TCNT1L=0x00;/去除T1TCCR1B=

8、0x06;timercount=20;TCNT0=76;/重装T0而下面这段程序是主程序消息循环中一局部,对T0发送的消息进展检查,假如没有消息产生那么跳过数据处理局部:ifflag=1/检查是否有消息产生hextobcdcount;/16位二进制数转换成BCD码数ifcount1134/当转速超过1134转/分时,输出报警信号asmcbi0x12,4;elseasmsbi0x12,4;flag=0;/去除消息4总结比拟我们这个系列的转速表是在上一代转速表采用AT89C2051单片机的根底上改造过来的,经过比拟我们以为AVR单片机有以下优点:1AVR是一种功能强大、集成度较高的新型单片机。譬如

9、在这个例子中,一片AT90S2313代替了AT89C2051、AT24C01EEPROM和外置WatchDog三片集成电路,进而大大地简化了装配工艺和流程。由于AT90S2313与AT89C2051单片机的管脚根本兼容,最终我们把前者做成为后者的增强型,在同一个转速表上可以做成两个版本的产品。2AVR支持在线编程ISP下载,对芯片的编程可以放在整机装配完成后进展。这样不仅节省了购置万用编程器的费用,而且为现场调试及以后的软件晋级带来了极大的便利。3AVR的运行速度快、处理才能强。在这个例子中,中断效劳程序执行时间更短了,中断的实时性进步了,对时间累计的累积误差也变小了。4AVR对采用C语言编程提供了较好的支持。当我们将原来用KEIL51写的程序转换成AVR的C程序时,只需要修改有关硬件操纵局部和KEIL51中bit及sbit类型的数据操纵,其余均不需修改。另外,在单片机的编程中引入消息的概念,一方面进步了中断处理的实时性,另一方面也解决了中断效劳程序中代码重入的问题。参考文献:1宋建国.AVR单片机原理及其应用.北京:北京航空航天大学出版社,19982耿德根.AVR高速嵌入式单片机原理与应用,20013ATMEL.ATMEL数据光盘,19994MickeyWilliams.VisualC+5自学通.北京.机械工业出版社,19980

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁