微波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;       
}


有没有人帮忙呀,心好累,

15263669501,可以联系我

对硬件没要求啊

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

网站地图

Top