新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > AVR单片机和Matlab串口通信的计时器系统

AVR单片机和Matlab串口通信的计时器系统

作者:时间:2013-11-12来源:网络收藏

引言

  本文设计了一种基于,本可以满足体育竞赛中精确计时的要求。在该设计中,主要以Atmel公司ATmega16单片机作为信号采集系统,通过串口和上位机的通信,自定义了一项通信协议,使上位机接收到不同的信号,可以实现对中计时器的控制。[1]利用Matlab软件提供的GUI设计出一套友好的人机界面。[2]本系统中,可以有多个单片机作为下位机,通过串口连接ZigBee无线传输模块,与上位机进行通信。无线传输模块的接入可以实现远程多点信号采集,使系统更加灵活,可扩展性大大增强。

1 系统总体设计

  本系统包括多个以ATmega16单片机为主控制器的信号采集系统和一个上位机Matlab软件编写的计时器程序。多个下位机和上位机之间通过串口接ZigBee无线通信模块,实现数据传输功能。ATmega16捕捉到的对射型光电开关信号传输给上位机Matlab,控制计时器的开始、中断和结束功能。系统的整体框图如图1所示。

AVR单片机和Matlab串口通信的计时器系统

图1 系统的整体框图

2 信号采集系统的设计

  信号采集系统主要由对射型光电开关、信号电平转换电路和单片机组成。

  对射型光电开关由发射器和接收器组成,结构上是相互分离的,在光束被中断的情况下会产生一个开关信号变化。本文使用的对射型光电开关的特征是:能辨别不透明的反光物体;有效距离大,检测距离可达10 m;不易受干扰,可以可靠地在野外或者有灰尘的环境中使用。

  光电开关信号的高电平输出+12 V数字信号,而ATmega16 I/O口电平为TTL电平,电压范围为0~+5 V,因此,在光电开关和单片机之间必须设计一个电平转换电路。本设计考虑使用光电耦合器件TLP521-2,它提供了两个孤立的光耦8引脚塑料封装,不仅能够实现+12~+5 V电压的转换,还能隔离两端信号,提高电路的稳定性。信号电平转换电路示意图如图2所示。

AVR单片机和Matlab串口通信的计时器系统

图2 信号电平转换电路示意图

  ATmega16单片机的外部中断通过引脚INT0、INT1触发。只要使能了中断,即使引脚INT0、INT1配置为输出,当电平发生了合适的变化,中断也会触发。通过设置ATmega16控制寄存器MCUCR和控制与状态寄存器MCUCSR,中断可以由下降沿、上升沿或者是低电平触发。[3]本文使用E3FDS10C4的对射光电开关,输出方式为NPN常开型,当其光线被遮挡时,则信号输出由高电平跳变为低电平,即输入ATmega16外部中断引脚的中断信号为下降沿。本设计中,两路光电开关信号接ATmega16的外部中断INT0、INT1引脚,外部中断相关寄存器设置如下:

MCUCR=0x0A;//INT0、INT1下降沿触发中断

GICR=0xC0;//使能INT0、INT1

  当光电开关出现下降沿时,则程序进入相应的外部中断处理程序,将外部中断标志位置位。单片机主程序流程图如图3所示。

单片机相关文章:单片机教程


单片机相关文章:单片机视频教程


单片机相关文章:单片机工作原理


通信相关文章:通信原理


光电开关相关文章:光电开关原理

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭