微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 求大神解答,能编写程序的同志可私聊,高奖励。

求大神解答,能编写程序的同志可私聊,高奖励。

时间:10-02 整理:3721RD 点击:
现在需要用89c51单片机控制电磁阀和CCD相机,以及用一个单片机上面的独立开关触发一个外加控制器。电磁阀频率为1HZ ,通电时间为3.52ms。CCD相机帧数率75fps,尺寸8.3um。
控制电磁阀的程序已经写好,现在需要将控制CCD相机的程序加进去,同时控制CCD相机的程序与控制电磁阀的程序之间加一个延迟4.3ms  ,再加一个独立开关触发控制器的程序。
1.电磁阀控制程序(已写)
2.CCD相机拍摄控制程序(与电磁阀程序相似)
3.延迟程序(4.3ms)
4.独立开关程序(控制外部控制器启动,不考虑电路放大的问题)
5。将以上程序汇总成一个程序,实现的功能就是电磁阀能够按照要求(1hz,通电时间3.52ms)触发, 同时CCD 相机启动拍摄电磁阀控制喷射出来的液体,点击独立开关启动运动平台。
(以下是控制电磁阀的程序)我只会这一个,其他的需要你们的帮助呀。
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit PWM1=P1^0;//接IN1 控制正转
sbit PWM2=P1^1;//接IN2 控制反转
sbit LED=P1^2;
uint time=0;
void main()
{
        TMOD=0x01;//定时器0工作方式1
        TH0=0xff;//(65536-10)/256;//赋初值定时
        TL0=0xf7;//(65536-10)%256;//0.01ms
        TCON=0X00;
        EA=1;//开总中断
        ET0=1;//开定时器0中断
        EX0=1;// 开外部中断0
        EX1=1;// 开外部中断1
        TR0=1;//启动定时器0
        PT0=1;//设置定时器中断优先级高
        while(1)
        {                        
        }                        
}
void int0() interrupt 0
{
            LED=0;
}
void int1() interrupt 2
{
         LED=1;
}
void tim0() interrupt 1
{
        TR0=0;//赋初值时,关闭定时器
        TH0=0xff;//(65536-10)/256;//赋初值定时
        TL0=0xf7;//(65536-10)%256;//0.01ms
        TR0=1;//打开定时器
        time++;
        if(time>=100000) time=0;//1khz
        if(time<=352) PWM1=1;//点空比%80
        else PWM1=0;
        PWM2=0;        
}


CCD相机的控制方式怎么样            QQ 2364071594

CCD相机同样用单片机控制触发,用pwm波形触发,和控制电磁阀波形配套。频率1Hz.曝光时间最小0.01ms。帧速率75fps,尺寸8.5umx8.5um。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top