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

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

?? 12.lst

?? 由P89V51RB2單片機控制小車在翹翹板上尋找平衡點,裝載傾角傳感器.
?? LST
?? 第 1 頁 / 共 5 頁
字號:
C51 COMPILER V8.02   12                                                                    10/10/2008 16:00:14 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE 12
OBJECT MODULE PLACED IN 12.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 12.c COMPACT BROWSE DEBUG OBJECTEXTEND CODE

line level    source

   1          /**********************************************
   2            顯示和鍵盤都已經正常,鍵盤采用的是中斷方式
   3            
   4            2008.7.2
   5            
   6          **************************************/
   7          #include <P89V51.h>
   8          #include <absacc.h>
   9          #include <intrins.h>
  10          #include <stdlib.h>
  11          #include <stdio.h> 
  12          #define   uchar unsigned char 
  13          //SYSTEM ADDRESS ALLOCATION     ******************
  14          #define KEYCOLUM XBYTE[0xEFFF]
  15          #define KEYROW XBYTE[0xDFFF]
  16          #define ALARM XBYTE[0xCFFF]
  17          #define HC245C1 XBYTE[0xBFFF]
  18          #define HC245C2 XBYTE[0xAFFF]
  19          #define HC573C1 XBYTE[0x9FFF]
  20          #define HC573C2 XBYTE[0x8FFF]
  21          #define HC573C3 XBYTE[0x7FFF]
  22          #define ADCS XBYTE[0x6FFF]
  23          #define DACS XBYTE[0x5FFF]
  24          #define DACLOAD XBYTE[0x4FFF]
  25          //***************************************       
  26          
  27          //static unsigned char keyin=0;
  28          
  29          
  30          /*-------------LCD1602 definitions and functions--------------*/
  31          #define nops() {_nop_();_nop_();_nop_();}
  32          typedef bit BOOL;
  33          
  34          #define FALSE (bit)0
  35          #define TRUE  (bit)1
  36           
  37          sbit lcd_cs = P2^0;            //控制位
  38          sbit lcd_rw = P2^1; 
  39          sbit lcd_rs = P2^2;
  40          #define DataPort      P0 
  41          #define DataDirPort   P0  
  42          #define StatePort     P0   
  43                
  44          #define Busy 0x80 // 忙判別位  
  45          uchar keystate,keyin;
  46          unsigned char ucKeyState,flag,c_0,c_1,c_2;
  47          unsigned int n=0,b_out,tick=0,second=0, minute=0;
  48          unsigned char mai[8]={0x11,0x33,0x22,0x66,0x44,0xcc,0x88,0x99};
  49          
  50          void delay(long t)
  51          {
  52   1          while(t)
  53   1           t--;
  54   1      } 
  55          
C51 COMPILER V8.02   12                                                                    10/10/2008 16:00:14 PAGE 2   

  56          code unsigned char* WrtieLcdErr =  "Display char outof range."; 
  57          
  58          // ------ Private function prototypes --------------------------
  59          static BOOL WaitTillNotBusy();
  60          static BOOL LocateXY(unsigned char posx, unsigned char posy); 
  61          static BOOL LcdWData(unsigned char dataW);
  62          static BOOL LcdWCMD(unsigned char CMD);
  63          BOOL LCDInit() ;
  64          BOOL DisplayOneChar(unsigned char x ,unsigned char y ,unsigned char Wdata) ;
  65          BOOL DisplayString(unsigned char posx, unsigned char posy,  unsigned char*  str);
  66          unsigned char keyscan(void);
  67          unsigned char Gatkey(char keystate);
  68          
  69          BOOL WaitTillNotBusy()
  70          { 
  71   1          unsigned int delay = 0xffff;  
  72   1       
  73   1              DataDirPort = 0xff; 
  74   1                                  
  75   1              lcd_cs = 1;
  76   1              lcd_rs = 0;
  77   1              lcd_rw = 1;
  78   1              while( (StatePort & Busy) && delay)
  79   1                  delay--;
  80   1              lcd_cs = 0;  
  81   1              if (!delay)  
  82   1                  return FALSE ; 
  83   1          
  84   1          return TRUE; 
  85   1      }      
  86          
  87          BOOL LocateXY( unsigned char posx,unsigned char posy)
  88          {
  89   1          posy &= 0x01;
  90   1          if (posy == 1)
  91   1              posx |= 0x40;
  92   1          posx |= 0x80;
  93   1         
  94   1          return LcdWCMD(posx);   
  95   1      }
  96          
  97          
  98          BOOL LcdWCMD(unsigned char CMD) 
  99          {        
 100   1              unsigned char i=1;
 101   1                                  
 102   1              if (!WaitTillNotBusy()) // 檢測忙信號? 
 103   1              return FALSE;    
 104   1                                      
 105   1              DataPort = CMD;
 106   1              lcd_rs = 0;
 107   1              lcd_rw = 0;
 108   1              lcd_cs = 1;
 109   1              while(i++);
 110   1              lcd_cs = 0;  
 111   1          
 112   1             return TRUE;
 113   1      }
 114          
 115          
 116          BOOL LcdWData( unsigned char dataW )
 117          {    
C51 COMPILER V8.02   12                                                                    10/10/2008 16:00:14 PAGE 3   

 118   1           
 119   1              unsigned char i = 1;
 120   1               
 121   1              if (!WaitTillNotBusy()) // 檢測忙信號? 
 122   1                  return FALSE; 
 123   1            
 124   1              
 125   1              DataPort = dataW;
 126   1              lcd_rs = 1;
 127   1              lcd_rw = 0;
 128   1              lcd_cs = 1;
 129   1              while(i++);
 130   1              lcd_cs = 0;   
 131   1      
 132   1             return TRUE;
 133   1      } 
 134          
 135          // LCD輸出用函數
 136          //LCDInit--LCD初始化
 137          //DisplayOneChar(x,y,char) --在指定x,y顯示一個字符
 138          //DisplayString(x,y,str)--在指定位置x,y開始顯示一個字符串
 139          
 140          BOOL LCDInit() 
 141          {
 142   1        
 143   1          // 顯示模式設置,光標移動設置,顯示開及光標設置,顯示清屏 
 144   1          return (LcdWCMD( 0x38) && LcdWCMD( 0x06) && LcdWCMD( 0x0c) && LcdWCMD( 0x01));       
 145   1      
 146   1      }
 147          
 148          BOOL DisplayOneChar(unsigned char x ,unsigned char y ,unsigned char Wdata) 
 149          {
 150   1         
 151   1          if( (x >= 0 && x < 16) && (y >= 0 && y < 2) )
 152   1              return (LocateXY( x, y ) && LcdWData( Wdata )) ;// 定位顯示地址,寫字符 
 153   1          else
 154   1              return ( LCDInit() && DisplayString(0, 0, WrtieLcdErr));    //顯示越界消息    
 155   1      }
 156          
 157          BOOL DisplayString(unsigned char posx, unsigned char posy,  unsigned char*  str)
 158          {    
 159   1          while ( (*str) != '\0' )
 160   1          {
 161   2              if (!DisplayOneChar(posx, posy, (*str)))
 162   2                  return FALSE;
 163   2              str++;
 164   2              posx++;
 165   2              if( posx == 16 )
 166   2              {
 167   3                  posx = 0;
 168   3                  posy++;
 169   3      
 170   3              }
 171   2          }
 172   1          
 173   1          return TRUE;              
 174   1      }
 175          /*--------------End of LCD1602 macros and functions------------------*/
 176          
 177          /*-------------- ----SPI protocols-----------------------------------   */
 178          
 179          void SpiInit(void)
C51 COMPILER V8.02   12                                                                    10/10/2008 16:00:14 PAGE 4   

 180          {
 181   1         SPCR = 0x51;
 182   1         SPSR = 0x00;
 183   1      }
 184          
 185          void SpiClose(void)  {SPCR = 0x00;}
 186          
 187          /*----------------End of SPI protocols---------------------------*/
 188          
 189          //-----------ADC MCP3208 functions--------------------
 190          // ReadAD(chx)讀AD,chx為通道號
 191          //chx=0x00----0x07對應AD0---AD7通道
 192          unsigned int ReadAD(unsigned char chx)
 193          {
 194   1      
 195   1          unsigned int lsb,msb;
 196   1              char sbuf;
 197   1          lsb=0;msb=0;
 198   1              
 199   1              ADCS = 0x00;    
 200   1              sbuf = 0x06 | (chx>>2);
 201   1              SPDAT = sbuf;
 202   1          while(!(SPSR&0x80) );
 203   1              SPSR = 0x00;
 204   1          sbuf = SPDAT;
 205   1              
 206   1              sbuf = (chx&0x03)<<6;
 207   1              SPDAT = sbuf;
 208   1          while(!(SPSR&0x80) );
 209   1              SPSR = 0x00;
 210   1          sbuf = SPDAT;
 211   1              msb = sbuf&0x0F;
 212   1              
 213   1              sbuf = 0x00;
 214   1              SPDAT = sbuf;
 215   1          while(!(SPSR&0x80) );
 216   1              SPSR = 0x00;
 217   1          lsb = SPDAT;
 218   1              
 219   1              XBYTE[0xFFFF] = 0x00;
 220   1              
 221   1          return msb*256+lsb;
 222   1      
 223   1      }  
 224          //------------End ADC MCP3208 functions-----------------        
 225          
 226          //-----------------DAC MCP4922 functions----------------------
 227          void DACout( unsigned char DACH, unsigned int DAValue)
 228          {
 229   1          unsigned char msb,lsb,temp;  
 230   1      
 231   1         XBYTE[0xFFFF] = 0;
 232   1      
 233   1         DAValue&=0x0FFF;
 234   1       
 235   1         temp = (DAValue/256)&0x0F;
 236   1      
 237   1        DACS = 0x00; 
 238   1         
 239   1        if(DACH==1)
 240   1          {
 241   2          msb =0x70|temp;
C51 COMPILER V8.02   12                                                                    10/10/2008 16:00:14 PAGE 5   

 242   2          lsb = (unsigned char)(DAValue & 0xFF) ; 
 243   2          }
 244   1        else if(DACH==2)
 245   1         {
 246   2          msb =0xF0|temp;                       
 247   2          lsb = (unsigned char)(DAValue & 0xFF) ; 
 248   2          }
 249   1        else
 250   1          { }
 251   1         
 252   1       
 253   1         SPDAT = msb;
 254   1         while(!(SPSR&0x80) );
 255   1         SPSR = 0x00;
 256   1      
 257   1         SPDAT = lsb;
 258   1         while(!(SPSR&0x80) );
 259   1         SPSR = 0x00;
 260   1        
 261   1         XBYTE[0xFFFF] = 0;
 262   1         DACLOAD = 0x00;
 263   1         nops();
 264   1         XBYTE[0xFFFF] = 0;
 265   1       
 266   1      }
 267          
 268          
 269          
 270          //**********************按鍵中斷響應**********************
 271          
 272          void Int1_keyscan(  )  interrupt 0       
 273          {   
 274   1          unsigned char ucSKey;
 275   1          unsigned int  uiI;
 276   1              EA=0;
 277   1          for (uiI=0;uiI<100;uiI++);                //延時,去掉抖動 
 278   1          if(INT1==1) 
 279   1              goto end01;                     
 280   1          for (uiI=0;uiI<100;uiI++);                //延時,去掉抖動 
 281   1          if(INT1==1) 
 282   1              goto end01;                                     //關閉外部中斷
 283   1          LcdWCMD( 0x01) ;  //顯示清屏
 284   1          keyscan();   //獲取按鍵狀態
 285   1          ucSKey=Gatkey(keystate);                        
 286   1          ucKeyState=ucSKey;
 287   1          //DisplayOneChar(1,1,keyin);   //顯示按鍵對應的字符
 288   1          //delay(500);  
 289   1              end01:;
 290   1              KEYROW=0xE0;
 291   1              EA=1;  // 開啟中斷
 292   1      
 293   1      }
 294          //********************************平衡************************
 295          void BLB(void)
 296          {
 297   1      int value_buf[8],temp;
 298   1      char j,i;
 299   1      
 300   1      for(i=0;i<8;i++)
 301   1      {
 302   2      temp = ReadAD(0x01);
 303   2      if((temp>10)&&(temp<4500))
C51 COMPILER V8.02   12                                                                    10/10/2008 16:00:14 PAGE 6   

 304   2      {
 305   3      value_buf[i]=temp;        //獲取采樣值
 306   3      }  
 307   2      delay(3);
 308   2      }
 309   1      
 310   1      for(j=0;j<7;j++)   //采樣值由小到大排列,排序采用冒泡法

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本一道本在线视频| 亚洲伊人伊色伊影伊综合网 | 欧美一级夜夜爽| 在线日韩av片| 在线视频你懂得一区| 日本丶国产丶欧美色综合| 一区二区在线观看av| 午夜视黄欧洲亚洲| 日本伊人色综合网| 日本免费新一区视频 | 欧美亚洲动漫精品| 欧美视频日韩视频在线观看| 欧美日韩免费一区二区三区视频| 欧美日韩五月天| 欧美成人欧美edvon| 久久青草欧美一区二区三区| 欧美精品一区二区三区高清aⅴ| 久久久亚洲精华液精华液精华液| 国产精品久久久久久久久图文区 | 91精品国产欧美一区二区成人| 欧美顶级少妇做爰| 久久婷婷综合激情| 亚洲人妖av一区二区| 亚洲午夜在线观看视频在线| 奇米777欧美一区二区| 国产精品综合二区| 色婷婷亚洲精品| 日韩欧美国产一区二区在线播放 | 在线视频你懂得一区| 在线成人av网站| 国产日韩一级二级三级| 伊人婷婷欧美激情| 国内精品伊人久久久久影院对白| 成人夜色视频网站在线观看| 欧美午夜精品久久久| 久久蜜桃香蕉精品一区二区三区| 亚洲视频1区2区| 奇米影视一区二区三区| 99久久综合色| 欧美成人官网二区| 亚洲在线视频网站| 国产激情视频一区二区在线观看| 一本一道波多野结衣一区二区| 日韩欧美在线综合网| 亚洲另类在线制服丝袜| 国产传媒一区在线| 欧美一区二区三区免费| 亚洲精品日日夜夜| 国产成人精品免费| 欧美成人艳星乳罩| 午夜影视日本亚洲欧洲精品| 波多野结衣视频一区| 日韩色在线观看| 香蕉av福利精品导航| av不卡在线观看| 国产欧美精品一区| 九色综合狠狠综合久久| 欧美日韩你懂得| 一区二区三区**美女毛片| 成人免费视频app| 欧美精品一区二区三区蜜桃 | 一本大道久久a久久综合婷婷| 精品国产伦一区二区三区观看方式 | 91黄色小视频| 成人免费一区二区三区在线观看| 国产精品资源网站| 26uuu精品一区二区在线观看| 日本在线播放一区二区三区| 91麻豆精品久久久久蜜臀| 亚洲一区二区欧美| 在线欧美小视频| 亚洲综合999| 在线亚洲精品福利网址导航| 亚洲美女淫视频| 色综合av在线| 亚洲成人激情自拍| 欧美伊人久久久久久午夜久久久久| 亚洲天堂精品视频| 在线观看欧美精品| 亚洲电影视频在线| 欧美精品自拍偷拍| 日本不卡一区二区| 久久综合视频网| 国产成人在线免费| 中文字幕一区二区三| 91免费看片在线观看| 亚洲一二三区在线观看| 欧美精品 日韩| 九一久久久久久| 国产女主播一区| 色婷婷综合在线| 午夜激情综合网| 久久蜜臀精品av| 99精品偷自拍| 日韩激情在线观看| 欧美精品一区二区蜜臀亚洲| 91在线国内视频| 天天免费综合色| 久久久久久久久岛国免费| 波多野结衣在线aⅴ中文字幕不卡| 亚洲免费观看视频| 日韩你懂的电影在线观看| 国产成人免费视频一区| 亚洲宅男天堂在线观看无病毒| 日韩午夜激情免费电影| 成人网在线免费视频| 一区二区三区日韩欧美精品| 欧美成人国产一区二区| 99精品一区二区三区| 麻豆成人在线观看| 亚洲图片另类小说| 日韩女优av电影在线观看| 97国产一区二区| 九九视频精品免费| 亚洲精品视频自拍| 久久精品男人的天堂| 欧美色图激情小说| 成人黄动漫网站免费app| 日欧美一区二区| 亚洲免费观看高清在线观看| 精品伦理精品一区| 欧美揉bbbbb揉bbbbb| 国产成人av电影在线观看| 亚洲成人福利片| 国产精品美女一区二区三区| 日韩欧美成人午夜| 精品视频色一区| 色综合天天做天天爱| 国产精品18久久久久久久网站| 首页综合国产亚洲丝袜| 国产丝袜在线精品| 日韩视频一区二区| 欧美视频中文字幕| 97精品久久久久中文字幕| 粉嫩av一区二区三区粉嫩| 午夜不卡av免费| 亚洲一区二区三区四区的| 日本一区二区视频在线| 日韩视频不卡中文| 欧美一区二区免费| 欧美日韩视频第一区| 91官网在线观看| www.在线欧美| 成人动漫一区二区在线| 久久99精品久久久| 青椒成人免费视频| 亚洲福利一二三区| 一区二区三区 在线观看视频| 国产精品色噜噜| 久久久久久久久久久久久夜| 精品少妇一区二区三区日产乱码 | 精品成人佐山爱一区二区| 91香蕉视频mp4| 久久久久久一二三区| 欧美日韩精品一区二区三区蜜桃 | 成人福利视频在线看| 经典三级视频一区| 久久成人综合网| 秋霞午夜av一区二区三区| 日本不卡中文字幕| 一二三区精品视频| 亚洲免费av网站| 五月综合激情婷婷六月色窝| 亚洲一区免费在线观看| 亚洲一区免费视频| 亚洲欧洲在线观看av| 一区二区三区四区视频精品免费| 亚洲精品一二三四区| 五月激情综合色| 美日韩一级片在线观看| 麻豆久久久久久| 丁香婷婷综合色啪| 日韩欧美高清dvd碟片| 亚洲一二三四在线| 日韩欧美中文字幕公布| 亚洲精品在线电影| 国产农村妇女毛片精品久久麻豆| 国产精品网曝门| 亚洲精品国产成人久久av盗摄 | 在线亚洲精品福利网址导航| 99精品国产热久久91蜜凸| 在线精品视频一区二区| 欧美精品777| 国产午夜精品福利| 中文字幕色av一区二区三区| 五月天中文字幕一区二区| 一区二区三区高清不卡| 青娱乐精品视频| 高清国产一区二区| 色婷婷av一区二区| 亚洲精品在线观看网站| 国产精品乱码一区二区三区软件 | 色噜噜狠狠成人网p站| 欧美一区二区三区免费在线看| 国产亚洲欧美日韩俺去了| 亚洲一区二区不卡免费| 国内精品不卡在线| 在线观看日韩国产| 久久久亚洲高清| 亚洲国产精品视频|