亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cam.lst

?? 基于單片機的串口攝像頭模塊的讀寫C語言源程序
?? LST
?? 第 1 頁 / 共 5 頁
字號:
C51 COMPILER V8.16   CAM                                                                   05/23/2009 21:20:21 PAGE 1   


C51 COMPILER V8.16, COMPILATION OF MODULE CAM
OBJECT MODULE PLACED IN CAM.obj
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE SRC\CAM.c BROWSE DEBUG OBJECTEXTEND CODE PRINT(.\CAM.lst) OBJ
                    -ECT(CAM.obj)

line level    source

   1          #include <SST89x5xxRD2.h>
   2          #define uchar unsigned char
   3          #define uint unsigned int
   4          #define Width 10         //圖像的寬80(8*10)個像素
   5          #define Height 32        //圖像的高
   6          uchar lcd_x;//lcd的x坐標
   7          uchar lcd_y;//lcd的y坐標
   8          
   9          sbit cs=P3^3;   //定義LCD的D/#C控制口
  10          sbit std=P3^5;  //定義LCD的串行數據端口
  11          sbit sclk=P3^7; //定義LCD的串行時鐘端口                   
  12          sbit rst=P3^6;                  
  13          sbit key=P2^0;
  14          
  15          uchar code SYNC_ID[]=           {0xaa,0x0d,0x00,0x00,0x00,0x00}; 
  16          uchar code INITAL_ID[]=         {0xaa,0x01,0x00,0x01,0x01,0x01};        //2位灰度圖160*120,4800B
  17          uchar code BAUDRATE_ID[]=       {0xaa,0x07,0xbf,0x01,0x00,0x00};        //baudrate=9600
  18          uchar code SNAPSHOT_ID[]=       {0xaa,0x05,0x01,0x00,0x00,0x00};
  19          uchar code GETPICTURE_ID[]=     {0xaa,0x04,0x01,0x00,0x00,0x00};
  20          uchar code RESET1_ID[]=         {0xaa,0x08,0x01,0x00,0x00,0x00};//狀態寄存器復位
  21          uchar code RESET2_ID[]=         {0xaa,0x08,0x00,0x00,0x00,0x00};//完全復位
  22          uchar code SLEEP_ID[]=          {0xaa,0x09,0x00,0x00,0x00,0x00};
  23          uchar code ACK1_ID[]=           {0xaa,0x0e,0x0d,0x00,0x00,0x00};
  24          uchar code ACK2_ID[]=           {0xaa,0x0e,0x0a,0x00,0x00,0x00};
  25          
  26          //定義兩個隊列用來緩存圖片數據
  27          uchar xdata Picture_Dat1[256]; //內部擴展數據RAM(00H~2FFH)
  28          uchar xdata Picture_Dat2[256];
  29          uchar idata front=0,rear=0;//隊列的隊頭指針和隊尾指針
  30          bit bank;//bank=0指向Picture_Dat1,否則指向Picture_Dat2
  31          
  32          uint idata countr;//已接受的數據(byte)
  33          
  34          bit error;//傳輸出錯
  35          
  36          void delay(uchar mm)
  37          {
  38   1              uchar idata i;
  39   1              for(i=0;i<mm;i++)
  40   1                      ;
  41   1      }
  42          
  43          void delay_1ms()
  44          {
  45   1              uchar idata i;
  46   1              for(i=0;i<255;i++)
  47   1                      ;
  48   1              for(i=0;i<42;i++)
  49   1                      ;
  50   1      }
  51          
  52          void delay_ms(uchar t)
  53          {
  54   1              uchar idata i;
C51 COMPILER V8.16   CAM                                                                   05/23/2009 21:20:21 PAGE 2   

  55   1              for(i=0;i<t;i++)
  56   1                      delay_1ms();
  57   1      }
  58          
  59          void wr_lcd (uchar dat_comm,uchar content)
  60          {
  61   1              uchar idata a,i,j;
  62   1              delay(50);
  63   1              a=content;
  64   1              cs=1;
  65   1              sclk=0;
  66   1              std=1;
  67   1              for(i=0;i<5;i++)
  68   1              {
  69   2                      sclk=1;
  70   2                      sclk=0;
  71   2              }
  72   1              std=0;
  73   1              sclk=1;
  74   1              sclk=0;
  75   1              if(dat_comm)
  76   1                      std=1;//data
  77   1              else
  78   1                      std=0;//command
  79   1              sclk=1;
  80   1              sclk=0;
  81   1              std=0;
  82   1              sclk=1;
  83   1              sclk=0;
  84   1              for(j=0;j<2;j++)
  85   1              {
  86   2                      for(i=0;i<4;i++)
  87   2                      {
  88   3                              a=a<<1;
  89   3                              std=CY;
  90   3                              sclk=1;
  91   3                              sclk=0;
  92   3                      }
  93   2                      std=0;
  94   2                      for(i=0;i<4;i++)
  95   2                      {
  96   3                              sclk=1;
  97   3                              sclk=0;
  98   3                      }
  99   2              }
 100   1      }
 101          
 102          void init_lcd (void)
 103          {
 104   1              rst=0;
 105   1              delay(100);
 106   1              rst=1;
 107   1              wr_lcd(0,0x30);  //30---基本指令動作   
 108   1              wr_lcd(0,0x01);  //清屏,地址指針指向00H
 109   1              delay(100);
 110   1              wr_lcd(0,0x06);  //光標的移動方向
 111   1              wr_lcd(0,0x0c);  //開顯示,關游標
 112   1      }
 113          
 114          
 115          
 116          
C51 COMPILER V8.16   CAM                                                                   05/23/2009 21:20:21 PAGE 3   

 117          
 118          
 119          
 120          //1、換晶振,用22.1184M晶振,在TH1=0xff時,剛好可以產生115200波特率。
 121          
 122          //2、采用6個時鐘周期的單片機(換單片機啊。。。)
 123          
 124          //3、增強型51單片機有定時器2!(幸好偶用的是增強型。。。)
 125          
 126          //就用第三種方法啦!這時的公式如下:
 127          
 128          //波特率=11059200/(32×[65536-(RCAP2H,RCAP2L)])
 129          
 130          //其中的RCAP2H,RCAP2L為自動重裝值,由上式得:
 131          
 132          //RCAP2H,RCAP2L=65536-11059200/(32×波特率)
 133          
 134          void init_UART()
 135          {
 136   1              SCON=0x50; //串口工作方式1,8位UART,波特率可變  
 137   1          TH2=0xFF;           
 138   1          TL2=0xDC;   //波特率:9600 晶振=11.0592MHz 
 139   1          RCAP2H=0xFF;   
 140   1          RCAP2L=0xDC; //16位自動再裝入值 
 141   1      //*****************
 142   1          TCLK=1;   
 143   1          RCLK=1;   
 144   1          C_T2=0;   
 145   1          EXEN2=0; //波特率發生器工作方式
 146   1      
 147   1      //*****************
 148   1              ES=0;//關閉串口中斷
 149   1              EA=1;//開全局中斷
 150   1          TR2=1 ; //定時器2開始
 151   1      }
 152          
 153          void Read_Picture() interrupt 4 using 1
 154          {
 155   1              uchar dat;
 156   1              if(RI)
 157   1              {
 158   2                      dat=SBUF;
 159   2                      RI=0;
 160   2                      if(front==rear+1)//隊列已滿
 161   2                      {
 162   3                              ES=0;
 163   3                              error=1;
 164   3                      }
 165   2                      if(bank)
 166   2                      {
 167   3                              Picture_Dat2[rear]=dat;
 168   3                              bank=!bank;
 169   3                              rear++;
 170   3                      }
 171   2                      else
 172   2                      {
 173   3                              Picture_Dat2[rear]=dat;
 174   3                              bank=!bank;
 175   3                              countr++;
 176   3                              countr++;
 177   3                      }                       
 178   2              }
C51 COMPILER V8.16   CAM                                                                   05/23/2009 21:20:21 PAGE 4   

 179   1      }
 180          
 181          void Send_Cmd(uchar *cmd)
 182          {
 183   1              uchar idata i;
 184   1              for(i=0;i<6;i++)
 185   1              {
 186   2                      SBUF=cmd[i];
 187   2                      while(TI==0)
 188   2                              ;
 189   2                      TI=0;
 190   2                      delay(1);
 191   2              }
 192   1      }
 193          
 194          void Wait_ACK(uchar *cmd)
 195          {
 196   1              uchar idata i;
 197   1              for(i=0;i<6;i++)
 198   1              {
 199   2                      while(RI==0)
 200   2                              ;
 201   2                      cmd[i]=SBUF;
 202   2                      RI=0;
 203   2              }
 204   1              //if(cmd[0]==0xAA&&cmd[1]>=0x01&&cmd[1]<=0x0F)
 205   1              //      return 1;
 206   1              //return 0;     
 207   1      }
 208          
 209          bit CAM_Cmd(uchar *cmd)
 210          {
 211   1              uchar idata temp_cmd[6]; 
 212   1              Send_Cmd(cmd);
 213   1              Wait_ACK(temp_cmd);
 214   1              if(temp_cmd[0]==0xAA&&temp_cmd[1]==0x0E&&temp_cmd[2]==cmd[1])
 215   1              {
 216   2                      delay_ms(50);
 217   2                      return 1;
 218   2              }
 219   1              return 0;
 220   1      }
 221          
 222          bit Send_SYNC_Cmd()
 223          {
 224   1              uchar idata OldTH2,OldTL2;//保存原先的波特率
 225   1              uchar idata cmd1[6];
 226   1              uchar idata cmd2[6];
 227   1              uchar idata i,j,k;
 228   1              //*****************
 229   1              //將波特率調整為115200
 230   1              TR2=0 ; //定時器2停止
 231   1              OldTH2=RCAP2H;
 232   1              OldTL2=RCAP2L;
 233   1              TH2=0xFF;           
 234   1          TL2=0xFD;   //波特率:115200 晶振=11.0592MHz 
 235   1          RCAP2H=0xFF;   
 236   1          RCAP2L=0xFD; //16位自動再裝入值
 237   1              TR2=1 ; //定時器2開始
 238   1              //*****************
 239   1              for(i=0;i<60;i++)
 240   1              {
C51 COMPILER V8.16   CAM                                                                   05/23/2009 21:20:21 PAGE 5   

 241   2                      Send_Cmd(SYNC_ID);
 242   2                      for(j=0;j<255;j++)
 243   2                      {
 244   3                              for(k=0;k<255;k++)
 245   3                              {
 246   4                                      if(RI!=0)
 247   4                                      {
 248   5                                              Wait_ACK(cmd1);
 249   5                                              Wait_ACK(cmd2);
 250   5                                              break;
 251   5                                      }
 252   4                              }
 253   3                      }
 254   2                      if(j==255&&k==255)//350ms內沒有獲得應答
 255   2                              continue;
 256   2                      if(cmd1[0]!=0xAA||cmd1[1]!=0x0E||cmd1[2]!=0x0D)
 257   2                              continue;
 258   2                      if(cmd2[0]!=0xAA||cmd2[1]!=0x0D)
 259   2                              continue;
 260   2                      Send_Cmd(ACK1_ID);
 261   2                      delay_ms(50);
 262   2                      break;
 263   2              }
 264   1              if(i==60)
 265   1                      return 0;
 266   1      
 267   1              //將CAM的波特率設置為9600
 268   1              CAM_Cmd(BAUDRATE_ID);
 269   1      
 270   1              //*****************
 271   1              //恢復原先波特率9600
 272   1              TR2=0 ; //定時器2停止
 273   1              TH2=OldTH2;           
 274   1          TL2=OldTL2;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人激情免费电影网址| 欧美体内she精高潮| fc2成人免费人成在线观看播放| 亚洲国产精品黑人久久久| 亚洲免费观看高清| 国产大片一区二区| 69堂国产成人免费视频| 亚洲精品中文字幕在线观看| 国产一区啦啦啦在线观看| 欧美美女网站色| 日韩理论片网站| 国产高清在线精品| 日韩精品一区国产麻豆| 日韩在线一二三区| 91黄色小视频| 亚洲免费在线观看| 99麻豆久久久国产精品免费| 久久理论电影网| 韩国av一区二区三区四区 | 欧美日韩大陆一区二区| 国产精品麻豆一区二区| 国产美女一区二区三区| 日韩免费观看高清完整版| 午夜欧美在线一二页| 色婷婷精品久久二区二区蜜臀av| 亚洲国产精品99久久久久久久久 | 亚洲免费在线观看视频| 91天堂素人约啪| 国产精品国产三级国产aⅴ入口| 国产精品亚洲一区二区三区妖精| 精品三级av在线| 国内外精品视频| 久久综合99re88久久爱| 国产一区二区在线影院| 国产夜色精品一区二区av| 国产精品影视在线观看| 欧美激情一区二区三区| 菠萝蜜视频在线观看一区| 成人免费在线播放视频| 色香色香欲天天天影视综合网| 综合欧美一区二区三区| 91久久免费观看| 婷婷夜色潮精品综合在线| 制服丝袜亚洲网站| 精品在线免费观看| 欧美国产欧美综合| 91最新地址在线播放| 亚洲一区影音先锋| 91精品婷婷国产综合久久性色| 蜜桃视频在线一区| 国产亚洲欧美日韩俺去了| 99精品国产视频| 亚洲成人激情综合网| 日韩女优制服丝袜电影| 成人一区二区视频| 亚洲一区中文日韩| 日韩精品一区二区三区中文不卡| 国产精品一卡二卡在线观看| 中文字幕在线视频一区| 欧美日韩激情一区| 国产麻豆视频精品| 亚洲色图欧美激情| 91精品国产综合久久久久久漫画| 久久成人羞羞网站| 亚洲老司机在线| 日韩欧美黄色影院| 91在线视频观看| 免费久久99精品国产| 国产精品久久久久影院| 欧美一区二视频| 99这里只有久久精品视频| 青青草国产成人99久久| 国产精品免费免费| 欧美一级在线免费| 色偷偷一区二区三区| 在线影视一区二区三区| 麻豆精品国产传媒mv男同| 成人免费小视频| 精品久久久久久久久久久久久久久| www.亚洲激情.com| 蜜臀精品一区二区三区在线观看 | 91在线国产观看| 日精品一区二区三区| 国产精品乱码久久久久久| 欧美精品1区2区3区| a亚洲天堂av| 国产一区二区三区四区五区美女| 亚洲成人综合网站| 亚洲精品视频免费看| 久久蜜桃香蕉精品一区二区三区| 欧美疯狂性受xxxxx喷水图片| 成人蜜臀av电影| 国产伦精一区二区三区| 日韩精品高清不卡| 亚洲一区二区三区四区在线免费观看 | 欧美美女喷水视频| 色综合久久久网| 波多野结衣一区二区三区| 国产精品99久久久久久有的能看| 日本中文字幕一区| 午夜欧美在线一二页| 一区二区三区美女| 综合激情网...| 国产精品青草综合久久久久99| 精品对白一区国产伦| 日韩欧美电影一二三| 日韩欧美在线影院| 日韩视频一区二区三区| 日韩免费一区二区三区在线播放| 欧美日韩国产一级二级| 欧美性大战久久久久久久蜜臀| 91丝袜美女网| 色哟哟精品一区| 日本精品视频一区二区三区| 97se狠狠狠综合亚洲狠狠| 菠萝蜜视频在线观看一区| 成人妖精视频yjsp地址| 粉嫩欧美一区二区三区高清影视| 国产高清亚洲一区| 成人妖精视频yjsp地址| 成人黄色777网| 91年精品国产| 欧美图区在线视频| 欧美精品v日韩精品v韩国精品v| 欧美日韩精品一区二区天天拍小说| 欧美色老头old∨ideo| 欧美久久久久免费| 日韩欧美在线综合网| 久久精品欧美日韩精品| 亚洲欧洲日韩av| 一区二区免费视频| 婷婷久久综合九色综合伊人色| 香蕉久久夜色精品国产使用方法 | 日本乱码高清不卡字幕| 欧美伦理电影网| 日韩欧美一区在线观看| 国产色一区二区| 亚洲日本丝袜连裤袜办公室| 亚洲一卡二卡三卡四卡五卡| 日日欢夜夜爽一区| 国产成人精品免费| 欧洲在线/亚洲| 日韩欧美国产三级| 日本一二三四高清不卡| 亚洲午夜久久久久| 狠狠色2019综合网| 91香蕉视频mp4| 日韩一级二级三级| 国产精品传媒视频| 喷水一区二区三区| 99精品久久免费看蜜臀剧情介绍| 欧美理论电影在线| 亚洲国产精品精华液2区45| 午夜精品久久久久久久99樱桃| 国产在线视频一区二区| 色爱区综合激月婷婷| 精品国产91乱码一区二区三区| 国产精品传媒入口麻豆| 日韩国产精品久久久久久亚洲| 丰满亚洲少妇av| 在线成人高清不卡| 亚洲色图欧美在线| 国产剧情一区二区| 91.com视频| 一区二区成人在线观看| 国产精品伊人色| 9191久久久久久久久久久| 日本一区二区动态图| 看国产成人h片视频| 欧美亚洲国产bt| 国产精品初高中害羞小美女文| 麻豆久久久久久| 欧美日韩国产免费| 亚洲欧美另类图片小说| 国产精品123区| 日韩精品一区二区三区在线观看| 亚洲美女视频在线观看| 国产精品18久久久久| 欧美一区二区在线免费观看| 亚洲一区二区三区激情| 丁香天五香天堂综合| 精品久久久久久最新网址| 亚洲网友自拍偷拍| 91丝袜呻吟高潮美腿白嫩在线观看| 久久久五月婷婷| 美女任你摸久久| 欧美一区国产二区| 日韩成人一区二区三区在线观看| 91精彩视频在线观看| 亚洲人成网站色在线观看| 国产91富婆露脸刺激对白| 久久午夜羞羞影院免费观看| 麻豆一区二区99久久久久| 欧美日韩你懂的| 亚洲成av人影院在线观看网| 欧美亚洲国产一区二区三区| 亚洲一区影音先锋| 精品视频一区 二区 三区| 亚洲成人免费在线| 91麻豆精品国产无毒不卡在线观看|