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

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

?? main.lst

?? 遙控避障尋線開發板
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V7.50   MAIN                                                                  11/10/2010 15:11:26 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE main.c BROWSE DEFINE(XTAL=19660800) DEBUG OBJECTEXTEND

line level    source

   1          #include <stdio.h>
   2          #include <intrins.h>
   3          #include "STC12C5202AD.H"
   4          #include "sio.h"
   5          
   6          typedef struct PID
   7          {
   8          
   9              int p;         //  比例常數 Proportional Const  
  10              int i;         //  積分常數 Integral Const  
  11              int d;         //  微分常數 Derivative Const  
  12          
  13              int position; 
  14              int hisPosition;   
  15              int lastPosition[3];
  16          } PID; 
  17          
  18          static PID idata pid;
  19          static int GAIN;
  20          
  21          #define MIN9MS (XTAL/2L/256L*9L/1000L*9L/10L)       //9ms脈寬*90%
  22          #define MAX9MS (XTAL/2L/256L*9L/1000L*11L/10L)       //9ms脈寬*110%
  23          
  24          #define MIN45MS (XTAL/2L/256L*45L/10000L*9L/10L)       //4.5ms脈寬
  25          #define MAX45MS (XTAL/2L/256L*45L/10000L*11L/10L)
  26          
  27          #define MIN225MS (XTAL/2L/256L*225L/100000L*9L/10L)    //2.25ms脈寬
  28          #define MAX225MS (XTAL/2L/256L*225L/100000L*11L/10L)
  29          
  30          #define MIN056MS (XTAL/2L/256L*56L/100000L*6L/10L)     //0.56ms脈寬*60%,下限
  31          #define MAX056MS (XTAL/2L/256L*56L/100000L*14L/10L)
  32          
  33          #define MIN168MS (XTAL/2L/256L*168L/100000L*6L/10L)   //1.68ms脈寬*60%
  34          #define MAX168MS (XTAL/2L/256L*168L/100000L*14L/10L)
  35          
  36          sfr ISP_CUNTR = 0xE7;
  37          
  38          sbit LED1 = P3^0;
  39          sbit LED2 = P3^1;
  40          
  41          sbit AD_LED1 = P2^0;
  42          sbit AD_LED2 = P2^1;
  43          sbit AD_LED3 = P2^7;
  44          
  45          sbit IR_FRONT = P3^2;
  46          sbit IR_LEFT = P3^3;
  47          sbit IR_RIGHT = P2^6;
  48          sbit IR_BACK = P3^7;
  49          
  50          sbit IR_OUT = P3^5;
  51          
  52          sbit MOTO_IN_B1 = P2^5;
  53          sbit MOTO_IN_B2 = P2^4;
  54          
  55          sbit MOTO_IN_A1 = P2^3;
C51 COMPILER V7.50   MAIN                                                                  11/10/2010 15:11:26 PAGE 2   

  56          sbit MOTO_IN_A2 = P2^2;
  57          
  58          static unsigned char idata ad_datas[8];  //8路光電管采樣電壓
  59          static unsigned char idata ad_datas_check[8];  //8路光電管采樣電壓校驗值,軌道的白色背景的采樣值
  60          
  61          bit power_stat;
  62          static unsigned char car_stat;  //小車狀態:0,停止;1,前進;2,后退;3,左轉;4,右轉;5,尋線模式;ff,自控避障模式
  63          static unsigned int now;
  64          
  65          static unsigned char code led_mod_table[3][20] = {
  66             {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  67             {1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0},
  68             {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0}
  69          };
  70          unsigned char idata led_mod = 0;
  71          static unsigned char idata led_tick = 0;
  72          static unsigned char idata led_ptr = 0;
  73          
  74          
  75          static bit test;
  76          
  77          static unsigned char tick = 0;
  78          static unsigned int pwm38k = 0;
  79          static unsigned char check;
  80          
  81          static unsigned char pwm_moto = 0;
  82          static unsigned char pwm_moto_left = 0;
  83          static unsigned char pwm_moto_right = 0;
  84          static bit moto_left_forward = 1;
  85          static bit moto_right_forward = 1;
  86          
  87          
  88          #define IR_SINGAL_DELAY 11    //接收管輸出延遲載波數量
  89          #define TEST_PERIOD 1620      //評估周期,這個不同的接收管差別很大.
  90          #define IR_SINGAL_PERIOD 76   //持續發射紅外線載波數量
  91          #define IR_VALID_THROLD 70    //判斷是否前方有障礙的閥值
  92          
  93          /*
  94          #define IR_SINGAL_DELAY 1    //接收管輸出延遲載波數量
  95          #define TEST_PERIOD 200      //評估周期,這個不同的接收管差別很大.
  96          #define IR_SINGAL_PERIOD 10   //持續發射紅外線載波數量
  97          #define IR_VALID_THROLD 8    //判斷是否前方有障礙的閥值
  98          */
  99          static unsigned char idata front_signal = 0;
 100          static unsigned char idata back_signal = 0;
 101          static unsigned char idata left_signal = 0;
 102          static unsigned char idata right_signal = 0;
 103          
 104          static bit front_obj = 0, back_obj = 0, left_obj = 0, right_obj = 0;
 105          
 106          /* 
 107           * PCA中斷計數,根據位置判斷信號區域和定義,位置0表示初始,1代表引導碼信號,2表示引導碼間隔,
 108           * 3表示第一個bit的信號,4表示第一個bit的間隔,以次類推...
 109           * 更具體見對應的紅外線協議.
 110          */
 111          static unsigned int idata pca_tick;
 112          static unsigned char idata pca_int_count;
 113          static unsigned char data pca_int_total;    /* 根據引導頭確定總長度 */
 114          static unsigned int idata period;   /* 紅外信號占或空周期計數 */
 115          static unsigned char idata data_buf[6];  /* 紅外線協議數據緩沖區 */
 116          static unsigned int idata ccap1;        //PCA0上一次的的計數
 117          static unsigned char idata frame_dog;  //紅外幀看門狗,限定時間未接收完成清除工作
C51 COMPILER V7.50   MAIN                                                                  11/10/2010 15:11:26 PAGE 3   

 118          
 119          static void delay_ms(unsigned int v) {
 120   1        unsigned int wait = pca_tick + v / 7 + 1;
 121   1        while (wait != pca_tick) {
 122   2            PCON |= 0x01;
 123   2        }
 124   1      }
 125          
 126          static void delay_100us(unsigned char v) {
 127   1          unsigned char wait = tick + v * 2; //每tick約50us
 128   1          while (wait != tick) {
 129   2              ;//PCON |= 0x01;
 130   2          }
 131   1      }
 132          
 133          void pid_init(PID *pid)
 134          {
 135   1          pid->position = 0;
 136   1          pid->hisPosition = 0;
 137   1          pid->lastPosition[0] = 0;
 138   1          pid->lastPosition[1] = 0;
 139   1          pid->lastPosition[2] = 0;
 140   1          pid->p = 2;
 141   1          pid->i = 0;
 142   1          pid->d = 8;
 143   1      }
 144          
 145          void read_sensors(unsigned char sensors[]) {  //讀光電傳感器的采樣值
 146   1          unsigned char i;
 147   1      
 148   1          for (i = 0; i < 8; i++) {  //LED熄滅狀態測量一次電壓
 149   2              ADC_CONTR = 0xE0 | i; //設置AD通道, 快速AD采樣.
 150   2              delay_100us(5);          //延遲等待電壓穩定
 151   2              ADC_RES = 0;
 152   2              ADC_CONTR = 0xE8 | i;;   //啟動AD
 153   2              while (!(ADC_CONTR & 0x10)) {
 154   3      
 155   3              }
 156   2              ADC_CONTR &= 0xE7;
 157   2              sensors[i] = ADC_RES;
 158   2          }
 159   1      
 160   1          AD_LED1 = 0;
 161   1          AD_LED2 = 0;
 162   1          AD_LED3 = 0;
 163   1      
 164   1          for (i = 0; i < 8; i++) {  //LED打開再測量一次電壓,用于消除環境光的差異.
 165   2              ADC_CONTR = 0xE0 | i; //設置AD通道, 快速AD采樣.
 166   2      
 167   2              delay_100us(5);          //延遲等待電壓穩定
 168   2      
 169   2              ADC_RES = 0;
 170   2              ADC_CONTR = 0xE8 | i;;   //啟動AD
 171   2              while (!(ADC_CONTR & 0x10)) {
 172   3      
 173   3              }
 174   2              ADC_CONTR &= 0xE7;
 175   2      
 176   2              if (ADC_RES > sensors[i])
 177   2                  sensors[i] = ADC_RES - sensors[i];
 178   2              else
 179   2                  sensors[i] = ADC_RES;
C51 COMPILER V7.50   MAIN                                                                  11/10/2010 15:11:26 PAGE 4   

 180   2          }
 181   1          AD_LED1 = 1;
 182   1          AD_LED2 = 1;
 183   1          AD_LED3 = 1;
 184   1      }
 185          
 186          static void read_sensors_check() { //從flash中讀取光電傳感器的校驗值,結構是8byte的值+1字節的crc
 187   1          unsigned char i, crc = 0;
 188   1          IAP_ADDRH = 0;
 189   1          IAP_CONTR = 0x80;  //允許ISP/IAP操作
 190   1          IAP_CMD = 0x01;  //讀flash
 191   1      
 192   1          for (i = 0; i < 8; i++) {
 193   2              IAP_ADDRL = i;
 194   2              IAP_TRIG = 0x5A;
 195   2              IAP_TRIG = 0xA5;  //啟動IAP操作
 196   2              _nop_();
 197   2              ad_datas_check[i] = IAP_DATA;
 198   2              crc += IAP_DATA;
 199   2      //com_putchar(IAP_DATA);
 200   2          }
 201   1          IAP_ADDRL = 8;
 202   1          IAP_TRIG = 0x5A;
 203   1          IAP_TRIG = 0xA5;  //啟動IAP操作
 204   1          _nop_();
 205   1      
 206   1          if (crc != IAP_DATA) {  //crc驗證錯誤,flash數據失效
 207   2              for (i = 0; i < 8; i++) {
 208   3                  ad_datas_check[i] = 0xff;
 209   3              }
 210   2          }
 211   1      
 212   1          IAP_CONTR = 0;    //禁止IAP,防止誤操作
 213   1          IAP_CMD = 0;
 214   1          IAP_TRIG = 0;
 215   1          IAP_ADDRH = 0xff;
 216   1          IAP_ADDRL = 0xff;
 217   1      }
 218          
 219          static void write_sensors_check() { //將光電傳感器的校驗值寫入flash,結構是8byte的值+1字節的crc
 220   1          unsigned char i, crc = 0;
 221   1          IAP_ADDRH = 0;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美人妇做爰xxxⅹ性高电影| 五月天亚洲精品| 久久男人中文字幕资源站| 欧美日韩精品欧美日韩精品| 欧美三区免费完整视频在线观看| 一本一道波多野结衣一区二区| 不卡一区二区三区四区| 99久久精品免费| 色婷婷国产精品综合在线观看| 99久久精品国产导航| 国产xxx精品视频大全| 成人午夜碰碰视频| 日本韩国一区二区三区视频| 欧美综合在线视频| 91精品国产综合久久精品麻豆 | 日韩欧美国产精品一区| 欧美精品一卡二卡| 26uuu色噜噜精品一区| 欧美人妇做爰xxxⅹ性高电影| 欧美一级在线视频| 精品国产乱码久久久久久影片| 久久久不卡网国产精品一区| 亚洲女人的天堂| 丝袜亚洲另类欧美综合| 麻豆精品国产传媒mv男同 | 国产不卡在线播放| 色狠狠综合天天综合综合| 69久久夜色精品国产69蝌蚪网| 欧美xxxxxxxx| 亚洲另类一区二区| 青青草精品视频| 成人动漫一区二区三区| 欧美亚洲动漫制服丝袜| 久久综合狠狠综合久久综合88| 亚洲日本电影在线| 日本怡春院一区二区| 国内久久精品视频| 97精品国产露脸对白| 91高清视频免费看| 久久亚洲一区二区三区明星换脸 | 国产91精品露脸国语对白| 99国产精品久久久| 欧美精品一区二区久久久| 一区二区在线观看视频| 国精产品一区一区三区mba视频 | 日日夜夜精品视频免费| 成人成人成人在线视频| 日韩视频一区在线观看| 日韩美女啊v在线免费观看| 国内成+人亚洲+欧美+综合在线 | 精品国产一区a| 亚洲黄色片在线观看| 国产一区二区三区四区五区入口 | 久久精品久久精品| 91电影在线观看| 欧美国产精品一区二区| 三级成人在线视频| 91视频在线观看| 久久九九国产精品| 免费人成在线不卡| 成人av网址在线| 国产精品麻豆视频| 国产激情视频一区二区在线观看| 欧美一区二区三区白人| 亚洲亚洲精品在线观看| 色婷婷av一区二区三区gif | 欧美视频日韩视频| 国产欧美一区二区三区沐欲| 另类中文字幕网| 欧美色图第一页| 亚洲欧美精品午睡沙发| 成人免费毛片app| 久久综合久久99| 洋洋av久久久久久久一区| 一本到一区二区三区| 一区二区三区四区亚洲| 91黄色免费观看| 香蕉久久夜色精品国产使用方法| 色综合激情久久| 午夜精品福利在线| 欧美丰满一区二区免费视频| 午夜天堂影视香蕉久久| 日韩视频免费观看高清在线视频| 久久精品国产77777蜜臀| 欧美一区二区三区免费| 狠狠色综合色综合网络| 欧美激情一区三区| 97精品电影院| 天堂成人免费av电影一区| 欧美一区永久视频免费观看| 秋霞电影网一区二区| 国产亚洲视频系列| 一本到三区不卡视频| 亚洲一二三四在线观看| 日韩视频免费观看高清完整版 | 亚洲国产视频一区二区| 欧美吻胸吃奶大尺度电影| 爽好久久久欧美精品| 精品99久久久久久| 成人av在线看| 免费观看日韩av| 中文字幕成人av| 欧美日韩五月天| 国产成人午夜片在线观看高清观看| 国产女主播在线一区二区| 日本精品一区二区三区高清 | 亚洲精品国产视频| 3d成人动漫网站| 成人美女视频在线看| 亚洲成人在线免费| 久久久久久久久99精品| 欧美唯美清纯偷拍| 国产一区 二区 三区一级| 亚洲综合自拍偷拍| 久久综合九色综合97婷婷| 91国产成人在线| 国产精品中文字幕日韩精品 | 日韩欧美一级精品久久| 国产99精品视频| 免费在线观看日韩欧美| 亚洲欧美日韩系列| 久久午夜羞羞影院免费观看| 欧美日韩一区不卡| 国产精品中文字幕日韩精品| 日韩激情视频在线观看| 国产精品电影一区二区三区| 日韩欧美国产高清| 在线亚洲高清视频| av在线不卡网| 国产一区二区不卡| 美女视频黄久久| 夜夜操天天操亚洲| 综合亚洲深深色噜噜狠狠网站| 久久精品视频一区| 日韩一二在线观看| 91精品麻豆日日躁夜夜躁| 精品视频资源站| 在线日韩一区二区| 99在线热播精品免费| 国产又粗又猛又爽又黄91精品| 视频一区欧美精品| 午夜久久电影网| 亚洲一级二级三级在线免费观看| 中文字幕日韩一区| 中文字幕一区二区三区视频| 国产亲近乱来精品视频| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 亚洲欧洲精品一区二区三区不卡| 日韩欧美一级二级三级久久久 | 国产在线一区二区综合免费视频| 天天射综合影视| 久久精品久久精品| 日韩av高清在线观看| 日韩av高清在线观看| 日本亚洲最大的色成网站www| 肉丝袜脚交视频一区二区| 午夜精品久久久久久久蜜桃app| 亚洲综合免费观看高清完整版在线 | 久久久精品综合| 精品国产百合女同互慰| 精品久久人人做人人爽| 日韩女优制服丝袜电影| 精品国产免费视频| 亚洲国产精品ⅴa在线观看| 国产精品福利一区| 夜夜爽夜夜爽精品视频| 蜜臀av国产精品久久久久| 美女mm1313爽爽久久久蜜臀| 国产麻豆成人传媒免费观看| 成人精品国产福利| 91丨国产丨九色丨pron| 欧美高清精品3d| 久久久久久久综合狠狠综合| 国产精品三级电影| 亚洲国产aⅴ成人精品无吗| 裸体在线国模精品偷拍| 成人精品在线视频观看| 欧美无砖砖区免费| 欧美v国产在线一区二区三区| 日本一区免费视频| 亚洲国产精品久久艾草纯爱| 国产在线国偷精品免费看| 99亚偷拍自图区亚洲| 欧美精品成人一区二区三区四区| 2024国产精品| 亚洲精品中文在线| 奇米在线7777在线精品| 高清不卡一区二区在线| 欧美色成人综合| 国产婷婷一区二区| 亚洲欧美偷拍另类a∨色屁股| 图片区小说区国产精品视频| 高清av一区二区| 欧美福利视频导航| 国产精品美女久久福利网站| 老司机一区二区| 欧美艳星brazzers| 国产精品每日更新在线播放网址| 日本 国产 欧美色综合| 色综合天天综合在线视频|