基于AVR单片机转速测量和行程测量系统的设计.doc_第1页
基于AVR单片机转速测量和行程测量系统的设计.doc_第2页
基于AVR单片机转速测量和行程测量系统的设计.doc_第3页
基于AVR单片机转速测量和行程测量系统的设计.doc_第4页
基于AVR单片机转速测量和行程测量系统的设计.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于AVR单片机的转速测量和行程测量系统一 设计目的,思想和功能通过设计转速测量系统,熟悉AVR单片机的使用和利用ICC软件编程,设计出一种具有一定实用价值的转速测量系统,并用于行程测量和超速报警等仪器。通过实用光电开关,将外界的转动信号,转化为电信号,来触发单片机内部的计时中断,结合内部的定时系统,就可以测出外部信号(转动)的频率,换算成转速。然后将转动次数累加,转换成行程。 我们的仪器可以实现对风扇等器物的转速的测量,也可以应用于对汽车等交通工具行程和速度的测量。二 硬件设计思想和电路原理图(1)、硬件电路流程光电开关ATmeaga16转速显示超速警报行程显示三 电路原理图三 如何使用硬件资源 光电开关使用时,将其接地端接在单片机某个输出低电平的引脚上,信号输出端接在单片机的输入引脚上。四 软件设计流程系统初始化T0外部中断,100个外部脉冲中断一次T2内部计时中断,每504us中断一次扫描断数码管清零并初始化T2计数器,赋值转速,圈数自加,就绪标志置位计时变量自加进入主函数判断刷新标志是否为1是否求出转速,行程并送显示区,判读是否需警报,清零就绪标志等待五 程序/ICC-AVR application builder : 2008-5-31 7:42:42/ Target : M16/ Crystal: 1.0000Mhz#include #include flash unsigned char led_710=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;flash unsigned char position8=0x08,0x04,0x02,0x01,0x80,0x40,0x20,0x10;unsigned char dis_buff8;/ 显示缓冲区,存放要显示的8个字符的段码值unsigned char posit;intok = 0;unsigned char new;long int freq;unsigned long int zhuansu,xingcheng=0,a=0,b=0;void port_init(void) PORTA = 0x00; DDRA = 0xFF; PORTB = 0xf0; DDRB = 0xf0; PORTC = 0x00; /m103 output only DDRC = 0xFF; PORTD = 0xff; DDRD = 0xFF;/call this routine to initialize all peripheralsvoid init_devices(void) /stop errant interrupts until set up CLI(); /disable all interrupts port_init(); MCUCR = 0x00; GICR = 0x00; TIMSK = 0x00; /timer interrupt sources SEI(); /re-enable interrupts /all peripherals are now initializedvoid display(void)PORTD = 0x00;PORTA = led_7dis_buffposit;if (posit=1|posit=5) PORTA = PORTA | 0x80; PORTD = positionposit; if (+posit =8) posit = 0;/ T/C0 比较匹配中断服务,100个计数脉冲中断一#pragma interrupt_handler int2_isr:20 void int2_isr(void)new = TCNT2;TCNT2 = 0;TIFR |= 0x02;zhuansu= freq;xingcheng=a; /a用来累计行程xingcheng+;freq = 0;ok = 1;/ T/C2 比较匹配中断服务,504us一次#pragma interrupt_handler int0_isr:4 void int0_isr(void)freq+; SEI();/ 开中断,允许中断嵌套,T/C0中断可打断该中断服务display();void to_disbuff(void)/ 频率,行程值转化为BCD码送显示缓冲区unsigned char i,j=3;unsigned char x,y=7;for (i=0;i=3;i+)dis_buffj-i = zhuansu% 10;zhuansu = zhuansu/ 10; /在PD0到PD3输出转速的值for(x=0;x=3;x+)dis_buffy-x=xingcheng%10;xingcheng=xingcheng/10; /在PD4到PD7输出行程的值void main(void) unsigned char i;port_init();init_devices(); DDRA=0xFF;/ LED数码管 DDRD=0xFF; / T/C2初始化 TCCR2=0x0A;/ 内部时钟,8分频(1.0000M/8=125KHz),CTC模式, TCNT2=0x00;/ 基时为8us OCR2=0x3E;/ OCR2 = 0x3E(62),(62+1=63)/125 = 0.504ms/ T/C0初始化 TCCR0=0x0E;/ 外部T0脚下降沿触发计数,CTC模式 TCNT0=0x00; OCR0=0x63;/ OCR0 = 0x62(99),(99 + 1) = 100 TIMSK=0x82;/ 允许T/C2、T/C0比较匹配中断 for (i=0;i400)PORTB&=0x0f; /超速警报灯显示 if (b=400) PORTB|=0xf0; 五 测试过程和测试数据第一次测试 2008年6月6日 12号宿舍楼123宿舍 测试对象 电风扇数据:转速 3.97 4.52 4.53 4.53 4.53 4.53 4.52 4.52 行程 0.31 0.62 0.94 1.26 1.57 1.88 2.20 2.51报警 无 有 有 有 有 有 有 有第二次测量 2008年6月7日 12号宿舍楼123宿舍 测试对象 电风扇转速 2.01 4.53 4.53 4.52 4.53 4.53 4.52 4.53 行程 0.31 0.62 0.94 1.26 1.57 1.88 2.20 2.51报警 无 有 有 有 有 有 有 有第三次测量 2008年6月7日 12号宿舍楼123宿舍 测试对象 电风扇转速 4.02 5.53 5.54 5.53 5.54 5.52 5.53 5.54行程 0.31 0.62 0.94 1.26 1.57 1.88 2.20 2.51报警 无 有 有 有 有 有 有 有数据解释:开始时由于各器件尚未就绪,开机后不能直接进入测试状态,故,测试数据偏低。形成测量时,默认为半径为0.5米。对于不同的器件,可以按实际情况稍作修改。六 分析相应指标参数(1)测量的绝对误差:由于TC2计数器有1的误差,所以测量周期的绝对误差为+/-(8us/63),若考虑中断响应事件的影响,若考虑中断响应时间,则绝对误差为+/-(812)/63us.,即周期测量的绝对误差。可见测量的时间越长相对误差越小。(2)最低转速测量值0r/sfreg长度为32位.最大计数值为4294967295.可以记录的100个脉冲之间的时间间隔为34359738360us。频率值为0.00029hz,则响应的转速值为0.00097r/s.。(3)最高测量转速70r/s左右我们令数码管在转33圈时刷新一次,如果一秒钟刷新两次,我们无暇分辨的话,最高测量的转速应为70r/s左右。(3)使用资源2个定时器,2个中断。(4)筮待改进之处: 我们的产品针对只有三个叶片的风扇或车轮设计,如果要测量其他叶片数目的车轮速度时,需换算。 我们行程测量设计针对的是半径0.5米的车轮,适应其他轮子,需换算。 解决方案:可以外加一个键盘扫描程序,将其叶片数和半径输入。 不过,我们的作品可以用来嵌入某个固定参数的产品中,因此,对普适性的要求也不是必须的。七 设计所需的全部资源和成本ATmega16单片机一个16元G

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论