电光源跟踪系统软件设计 - 图文(4)

2019-09-01 22:29

图3-4 工程显示界面

工程创建完毕后就能加载程序,直接按F7编译程序,程序出现的错误会显示出来,修改至无误后将程序现在到单片机中连接好仿真器和开发板。打开电源后就能进行程序调试了。

3.3主程序模块

程序开始工作之后,首先系统进行参数设置,然后系统分别扫描四路A/D输入,把采样数据寄存在单片机RAM中,然后进行判断。如果矩形面板沿X轴方向两对边的光电传感器采样数据不相等,说明这两对边与光入射方向不垂直,此时驱动电机使面板绕X轴方向 朝光强较强的一侧旋转:如果矩形面板沿Y轴方向两对边的 光电传感器采样数据不相等,则驱动电机使面板绕Y轴方向 朝光强较强的一侧旋转,直到面板的四条边都与光入射方向垂直。

沿X两侧采样值是否相等?进行AD转换N参数设置开始采集四个方向光信号Y调整X轴方向步进电机 沿Y两侧采样值是否相等?N 调整Y轴方向步进电机Y结束

图3-5主程序流程图

第 12 页

#include void main

WDTCTL = WDTPW + WDTHOLD;

P2SEL=0x00 //P2口所有引脚设置为一般的IO口 P2DIR=0x0f //pP2.0,P2.1,P2.2,P2.3为输出方向 P2OUT=0X00 //P2口先输出低电平 P2IE=0xf0 //p2.4,p2.5,p2.6,p2.7允许中断 P2IES=0xf0 //p2.4,p2.5.p2.6,p2.7下降沿触发中断

P6OUT|=BIT3=a P6OUT|=BIT4=b P6OUT|=BIT5=c P6OUT|=BIT6=d { If a>b else

P2OUT|=BIT0 P2OUT&=~BIT1 If a

P2OU|T=BIT1 P2OUT&=~BIT0 If c>d else

P2OU|T=BIT2 P2OUT&=~BIT3

第 13 页

If C

P2OU|T=BIT3 P2OUT&=~BIT2 }

3.4信号采集模块

信号采集主要的主要过程是光敏三极管采集光信号,通过MSP430单片机进行AD转换,将模拟信号转换成数字信号的过程。MSP430 MSP430 中ADC12 模块提供了4 种转换模式,,本设计采用多通道转换模式,每次定时器A到来时读取A/D转换采集得到的数据,读数前停止A/D转换,读取完毕后继续启动。

#include

第 14 页

结束AD转换完成?YNADC是否忙?NY发送通道地址开始采集初始化开始启动AD转换 图3-6信号采集流程图

ADCl2CTLO=ADCl20N+SHTO8+MSC;//打开ADC,设置采样样时间

ADCl2CTLl=SHP+CONSEQ-3;//使用采样定时器 ADCl2MCTL0=INCH_0 ADCl2MCTLI=INCH一1 ADCl2MCTL2=INCH_2

ADCl2MCTL3=INCH_3+EOS//确定四路A/D通路 ADCl2IE=0x08//使能ADC中断 ADCl2CTL0 I=ENC//使能转换

ADC 12CTL0I=ADCl2SC//开始转换 }

3.5LCD显示模块

本设计采用12864液晶显示器。通过显示器我们能直观的看到光敏三极管采集到的光信号的强弱。 开始

LCD初始化设置 LCD设置为基本指令动作设置显示数据地址Y读状态忙?N写入显示数据N数据是否写完? Y

第 15 页

结束图3-7 LCD显示流程图

#include \#include \#include \#include \#include \#include \#include \#include \#define uint unsigned int #define uchar unsigned char void short_delay(uint i) { uint j;

for(j=0;j<=i;j++); }

void delayms(uchar tickms) { uchar count,i; _NOP(); _NOP(); _NOP();

for(i=tickms;i>0;i--)

{ for(count=0;count<=58;count++) {;}

第 16 页


电光源跟踪系统软件设计 - 图文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: