智能车制作

 找回密码
 注册

扫一扫,访问微社区

楼主: qxwu1982
打印 上一主题 下一主题

[编程类] OV6620数字摄像头汇编/C语言程序急寻

  [复制链接]

0

主题

61

帖子

0

精华

高级会员

Rank: 4

积分
623
威望
445
贡献
162
兑换币
16
注册时间
2009-8-23
在线时间
8 小时
21#
发表于 2010-3-28 11:49:31 | 只看该作者
回复

使用道具 举报

1

主题

76

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
347
QQ
威望
276
贡献
53
兑换币
16
注册时间
2010-4-3
在线时间
9 小时
22#
发表于 2010-4-3 17:39:36 | 只看该作者
dsrg
回复

使用道具 举报

1

主题

76

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
347
QQ
威望
276
贡献
53
兑换币
16
注册时间
2010-4-3
在线时间
9 小时
23#
发表于 2010-4-3 17:39:39 | 只看该作者
dsrg
回复

使用道具 举报

1

主题

76

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
347
QQ
威望
276
贡献
53
兑换币
16
注册时间
2010-4-3
在线时间
9 小时
24#
发表于 2010-4-3 17:39:43 | 只看该作者
dsrg
回复

使用道具 举报

1

主题

76

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
347
QQ
威望
276
贡献
53
兑换币
16
注册时间
2010-4-3
在线时间
9 小时
25#
发表于 2010-4-3 17:39:46 | 只看该作者
dsrg
回复

使用道具 举报

0

主题

61

帖子

0

精华

高级会员

Rank: 4

积分
623
威望
445
贡献
162
兑换币
16
注册时间
2009-8-23
在线时间
8 小时
26#
发表于 2010-4-7 14:13:54 | 只看该作者
回复

使用道具 举报

0

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
130
威望
173
贡献
27
兑换币
0
注册时间
2010-3-26
在线时间
1 小时
27#
发表于 2010-4-7 15:32:54 | 只看该作者
dddddd
回复

使用道具 举报

11

主题

41

帖子

0

精华

高级会员

Rank: 4

积分
772
威望
297
贡献
293
兑换币
0
注册时间
2010-1-16
在线时间
91 小时
28#
发表于 2010-4-7 19:07:47 | 只看该作者
#include <hidef.h>      /* common defines and macros */
#include <mc9s12dg128.h>     /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"

///////////////////////////////////////////////////////////////
//行同步中断输入捕捉1管脚.
//场同步中断IRQ
//Yn分别对应PORTMn

///////////////////////////////////////////////////////////////

#define SYNE_SETTING 2
#define REFDV_SEETTING 1     // PLLCLK =2*OSCCLK*(SYNR + 1)/(REFDV + 1) busclk=32M
#define delay {_asm nop;}
#define M 71
#define N 61
unsigned char buff[N][M];
byte Tclk_ready;

byte one_sample;

void delayms()
{
    byte i,j;
    for(i=0;i<255;i++)
        for(j=0;j<255;j++)
           delay;delay;delay;
        
}
void init_CRG(byte para1,byte para2)
  {
      SYNR=para1;
      REFDV=para2;
      while(!CRGFLG_LOCK);
      CLKSEL_PLLSEL=1;   
  }
  
  
void init_interupt()
  {
     INTCR_IRQE=1;         //下降沿触发
     INTCR_IRQEN=1;        //场同步中断IRQ中断,初始化开启
            
     TIOS=0x00;          //行同步中断,外部输入捕捉0,1通道,初始化不开启
     TCTL4=0x01;         //通道0上升沿触发,通道1下降沿触发
     TSCR2=0X01;         //分频
   
     TSCR1=0x80;
     TIE=0X00;           //初始化定时器关闭
  }
  
void init_port()
  {
      DDRB=0XFF;
      PORTB=0Xaa;
      DDRA=0X00;
      PUCR=0x03;
    //  DDRT=0x00; //shu ru shezhi
      
  }
  
  void init_sys(byte p1,byte p2)
  {
    init_CRG(p1,p2);
    init_interupt();
    init_port();
   
  }
  

/*-------串口初始化----------------------*/
void SciInit()
{
        SCI0BDL = (unsigned char)((48000000UL /* OSC freq */ / 2) / 19200 /* baud rate */ / 16 /*factor*/);
        SCI0CR1=0;                                        /*normal,no parity*/
        SCI0CR2=0X2C;       /*RIE=1,TE=1,RE=1*/
}


/*-------发射端程序-----单字节发送-----------------*/
void SciTx(unsigned char text)
{
        unsigned char temp;
        temp=SCI0SR1;      /*clear flag*/
        while (!(SCI0SR1&0x80));  /* wait for output buffer empty */
        SCI0DRH=0;
        SCI0DRL=text;
}


/*---------接受部分------------------------*/
char SciRx(void){
  char temp;
  char result;
  temp=SCI0SR1;      /*clear flag*/
  while(!(SCI0SR1&0x20));
  result=SCI0DRL;
  return result;
}


void TestXianshi(void) {
byte i,j;
SciTx(0);
for(i=1;i<61;i++)
{
  for(j=1;j<71;j++)
    {
      SciTx(j*3);
    }
   SciTx(0);
}
   SciTx(0);
//  SciTx(0);
   
}
void Send_piex(void)
{
   
    byte i,j;
    SciTx(0);
    for(i=1;i<N;i++)        //N=61   
    {                       //传到上位机用GUI显示亮度,55 AA分别表示一个行的开始
            
           SciTx(buff[i][j]);
       //    delayms();      
      }
        SciTx(0);

   // }
     //   SciTx(0);

}



void main(void)
{
    DisableInterrupts;
    one_sample=1;

      init_sys(SYNE_SETTING,REFDV_SEETTING);
      SciInit();
      EnableInterrupts;

   
//    unsigned char aa[10]="123456789";
//  SciTx('a');
//  TestXianshi();
      for(;;)
      {
        if(one_sample==2)
         {
            Send_piex();
            one_sample=3;
        }
              
      }
}

#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 8 Port0_interrupt(void)
{
  unsigned char i;
  static int cnt=0x00;
  static byte cnt_HREF=0x1;
  cnt++;                                         
  TFLG1=0x01;                                      //清除行中断标志           
  TIE=0X00;   
  if(cnt>5)
  {
    cnt=1;
    cnt_HREF++;                                   //记录行中断次数,限定60行
  }
   
   i=0;
  
   if(cnt==5)
   {     
      while(PTT_PTT0)
    {
      buff[cnt_HREF][i]=PORTA;
      i++;
    }
   }
  

    if(cnt_HREF>60)
    {
      cnt_HREF=0;
      TIE=0X00;
      one_sample=2;
    }
    else
    {
       TIE=0X01;     
    }


}


#pragma CODE_SEG DEFAULT

/***************************场中断处理******************************************/
  #pragma CODE_SEG __NEAR_SEG NON_BANKED               //场中断
  void interrupt 6 IRQ_interrupt(void)
{
   
       TIE=0X01;                                         //开行中断 /////
       INTCR_IRQEN=0;                                    //关场中断使能
  

}
#pragma CODE_SEG DEFAULT


#pragma CODE_SEG __NEAR_SEG NON_BANKED

void interrupt 20 sci_interrupt(void)
{     
      unsigned char data;
      DisableInterrupts;
      data=SciRx();
      EnableInterrupts;
}
#pragma CODE_SEG DEFAULT
回复

使用道具 举报

1

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
330
QQ
威望
274
贡献
46
兑换币
24
注册时间
2009-12-12
在线时间
5 小时
29#
发表于 2010-4-8 03:33:54 | 只看该作者
好像6620与7620差不多的
回复

使用道具 举报

0

主题

52

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
387
威望
280
贡献
57
兑换币
30
注册时间
2009-3-25
在线时间
25 小时
30#
发表于 2010-4-9 00:13:02 | 只看该作者
kan bao gao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-6 05:21 , Processed in 0.153494 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表