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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? ad.#2

?? 這是c8051F005的AD轉(zhuǎn)換程序
?? #2
字號(hào):
//C8051F005的AD驅(qū)動(dòng)程序(C語(yǔ)言)
//-----------------------------------------------------------------------------
// Includes
//-----------------------------------------------------------------------------
#include<C8051F000.H>
#include<STDIO.H>

//-----------------------------------------------------------------------------
// Function PROTOTYPES
//-----------------------------------------------------------------------------
#define  uchar unsigned char
#define  uint  unsigned int
void SYSCLK_Init (void);
void delaynus(unsigned int q) ;      //N us延時(shí)函數(shù)
void PORT_Init (void);
void SPI0_Init (void);
void LCD_Init(void);
void SendSPIByte(unsigned char ch);
void delaynms (unsigned int j);
void writecom(unsigned char com);
void writedata(unsigned char d);
void writechar(unsigned char ua);
void lcd_Net(void);
void Write_COM(uchar ins);
void SendSPIByte(uchar disdata);
void lcden(datad);
void LCD_set_xy( unsigned char x, unsigned char y );
void lcd_xhl(void);
void LCD_write_string(unsigned char n);
void lcd_adc(void);
void UART0_Init (void);
void ADC (void);
sbit lcdcs=P3^0;
//-----------------------------------------------------------------------------
// Global CONSTANTS
//-----------------------------------------------------------------------------
#define BAUDRATE     115200              // Baud rate of UART in bps
#define SYSCLK       11059200          // SYSCLK frequency in Hz
#define SAMPLE_RATE  50000             // Sample frequency in Hz
#define INT_DEC      4096              // integrate and decimate ratio

sfr16 DP       = 0x82;                 // data pointer
sfr16 TMR3RL   = 0x92;                 // Timer3 reload value
sfr16 TMR3     = 0x94;                 // Timer3 counter
sfr16 ADC0     = 0xbe;                 // ADC0 data
sfr16 ADC0GT   = 0xc4;                 // ADC0 greater than window
sfr16 ADC0LT   = 0xc6;                 // ADC0 less than window
sfr16 RCAP2    = 0xca;                 // Timer2 capture/reload
sfr16 T2       = 0xcc;                 // Timer2
sfr16 DAC0     = 0xd2;                 // DAC0 data
sfr16 DAC1     = 0xd5;                 // DAC1 data
unsigned char xdata      ADC1Data[4];
unsigned  int xdata     ad_arr[50];
unsigned char datad ,comd,kk,sdf,ppca;
unsigned char virt_port,v,b,m;
unsigned char lcd_data_count;
unsigned char *lcdpoint;
unsigned char   qqq; 
unsigned char  data8;
unsigned int   i;
unsigned  int         AD_MAXT;
unsigned  int       AD_MINT;
long        AD_VAL,AD_VAL_TEST;
unsigned char YYY;
long result;
long fff;
long  hhh; 
int j,w,z;                   // temperature in hundredths of a
unsigned int  fff_int, fff_frac;  
unsigned char p=0,a=0,s,d,f,g=0; 
//-----------------------------------------------------------------------------
// MAIN Routine
//-----------------------------------------------------------------------------
void main(void){
  WDTCN = 0xde;                       // disable watchdog timer
  WDTCN = 0xad;
        SYSCLK_Init ();
  PORT_Init ();
  UART0_Init() ;                      // initialize crossbar and GPIO
  SPI0_Init ();
        LCD_Init() ;
        delaynms(100);
        Write_COM(0x00);
        delaynms(100);
  delaynms(100);
        Write_COM(0x01);
        delaynms(100);
        delaynus (100);
        LCD_set_xy(0X00,0);
        delaynus (200);
        lcd_adc();
        delaynus (200);
        LCD_write_string(5);
        delaynms (100);
        while (1)
         { 
            delaynms (100);
            ADC ();
          }
}
//-----------------------------------------------------------------------------
// Initialization Subroutines
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
// ADC
//-----------------------------------------------------------------------------
void ADC (void)
    {
 AMX0CF = 0x60; // AMUX Configuration Register
 AMX0SL = 0x00; // AMUX Channel Select Register
 ADC0CN = 0x00; // ADC Control Register
    REF0CN = 0x03;  
    ADC0CN |= 0x80;
    AD_VAL=0;
    AD_VAL_TEST = 0;
    for( YYY = 0;YYY<50;YYY++)
    {
    ad_arr[YYY]=0;
    } 
    YYY=0; 
    ADCINT = 0;
    for(YYY= 0;YYY<50;YYY++)     //AD_TIMES=50  
    {  
    ADBUSY = 1;
    while (!ADCINT);
  ADCINT = 0; 
    nop_();
    nop_();
    nop_();            //*AD_POINTER = ADC0
    ad_arr[YYY]=ADC0;  
     }
    for(YYY=0;YYY<50;YYY++)//  for(i = 0;i     
	{ 
  AD_VAL_TEST += ad_arr[YYY];
     }
  AD_VAL = (int)(AD_VAL_TEST/50);
  nop_();
  nop_();
  nop_();
  nop_();
    hhh=AD_VAL*5;
    hhh=hhh*5;
    hhh=hhh*100;
    hhh=hhh/4096;
    ADC1Data[0]=hhh/1000;        //將A/D轉(zhuǎn)化值存到顯示數(shù)組
    ADC1Data[1]=(hhh-1000*ADC1Data[0])/100;
    ADC1Data[2]=(hhh-1000*ADC1Data[0]-100*ADC1Data[1])/10;
    ADC1Data[3]=hhh-1000*ADC1Data[0]-100*ADC1Data[1]-10*ADC1Data[2];
    delaynus (100);
    LCD_set_xy(0X05,0);
    delaynus (200);
    for(qqq=0;qqq<4;qqq++)        
    { 
    data8=ADC1Data[qqq];
    if(data8>=0x0a) data8 += 0x37;    
    else data8 += 0x30;
    delaynms (200);
    writechar(data8);
     }
     AD_VAL=0;
     } 
    
//-----------------------------------------------------------------------------
// PORT_Init
//-----------------------------------------------------------------------------
void PORT_Init (void)
{
     XBR0 = 0x27;                     // XBAR0: Initial Reset Value
     XBR1 = 0x00;                     // XBAR1: Initial Reset Value
     XBR2 = 0x5c;                     // XBAR2: Initial Reset Value
     PRT0CF = 0x14;                      // Output configuration for P0 
       PRT1CF = 0x10; // Output configuration for P3 
        PRT3CF = 0x01; // Output configuration for P3 
}
//-----------------------------------------------------------------------------
// SYSCLK_Init
//-----------------------------------------------------------------------------
void SYSCLK_Init (void)
{
                                  // delaynms counter
      OSCXCN = 0x67;                      // start external oscillator with
      for (i=0; i < 256; i++) ;           // XTLVLD blanking interval (>1ms)
      while (!(OSCXCN & 0x80)) ;          // Wait for crystal osc. to settle
      OSCICN = 0x88;                      // select external oscillator as SYSCLK                              
}
//-----------------------------------------------------------------------------
// SPI0_Init
//-----------------------------------------------------------------------------
void SPI0_Init (void)
{
      SPI0CFG = 0x07;                        // data sampled on 1st SCK rising edge
      SPI0CFG|=0xC0;                         //CKPOL =1;
      SPI0CN = 0x03;                         // Master mode; SPI enabled; flags
      SPI0CKR = SYSCLK/2/2000000-1;           // SPI clock <= 8MHz (limited by 
                                              // EEPROM spec.)
}
//-----------------------------------------------------------------------------
// UART0_Init
//-----------------------------------------------------------------------------
void UART0_Init (void)
{
   SCON    = 0x50;                     // SCON: mode 1, 8-bit UART, enable RX
   TMOD    = 0x20;                     // TMOD: timer 1, mode 2, 8-bit reload
   TH1    = -(SYSCLK/BAUDRATE/16);     // set Timer1 reload value for baudrate
   TR1    = 1;                         // start Timer1
   CKCON |= 0x10;                      // Timer1 uses SYSCLK as time base
   PCON  |= 0x80;                      // SMOD = 1
   TI     = 1;                         // Indicate TX ready
}
//-----------------------------------------------------------------------------
// LCD_Init
//-----------------------------------------------------------------------------
void LCD_Init(void) //向LCD送命令
{
//      unsigned int xdata   x;
        delaynms(100);
        datad=0x00;
        SendSPIByte(datad);
        delaynms(10);
        Write_COM(0x30);            
        delaynms(10);     
        Write_COM(0x30);            
        delaynms(10);
        Write_COM(0x30);            
        delaynms(10) ; 
        Write_COM(0x28);           
        delaynms(100);
        virt_port=0;
        SendSPIByte(virt_port);
        lcden(virt_port);
        Write_COM(0x01); 
        delaynms(100);          
        Write_COM(0x06); 
        delaynms(10);           
        Write_COM(0x0C); 
        delaynms(500);           
 
}
//-----------------------------------------------------------------------------
// SendSPIByte
//-----------------------------------------------------------------------------
void SendSPIByte(unsigned char ch)
{       lcdcs=1;
        delaynus(100);
   SPIF = 0;
  SPI0DAT = ch;
  while (SPIF == 0);
        delaynus(100);
        lcdcs=0;
        delaynus(100); 
        nop_();     // 等待寫(xiě)結(jié)束           
}
//-----------------------------------------------------------------------------
// lcden
//-----------------------------------------------------------------------------
void lcden(datad)
{
          datad|=0x08;   
          SendSPIByte(datad);
          datad&=0xf7;
          SendSPIByte(datad);
}
//-----------------------------------------------------------------------------
// delaynms
//-----------------------------------------------------------------------------
void delaynms (unsigned int uu)
{
   unsigned int oo,ll;
   for (oo=0;oo   {
    for(ll=0;ll<1140;ll++);
    
   }
}
//-----------------------------------------------------------------------------
// writechar
//-----------------------------------------------------------------------------
void writechar(unsigned char ua)
{       
        
        uint  j;
        uchar t,x;
        for(j=0;j<500;j++);
        datad|=0x02;
        SendSPIByte(datad);
        datad|=ua&0xf0;
        SendSPIByte(datad);
        datad|=0x08;   
        SendSPIByte(datad);
        for(x=0;x<3;x++);
        datad&=0xf7;
        SendSPIByte(datad);
        for(x=0;x<3;x++);
        datad&=0x07;
        delaynus(100);    
     SendSPIByte(virt_port);
        t|=ua&0x0f;
        datad|=t<<4;
        SendSPIByte(datad);
        for(x=0;x<3;x++);
        datad|=0x08;   
        SendSPIByte(datad);
        for(x=0;x<3;x++);
        datad&=0xf7;
        SendSPIByte(datad);
        for(x=0;x<3;x++);
       datad=0x00;
        t=0x00;
       SendSPIByte(datad);
}
//-----------------------------------------------------------------------------
// Write_COM
//-----------------------------------------------------------------------------
void Write_COM(uchar ins)
     {
      uchar  t;
   uint j;
  
   for(j=0;j<5000;j++);              //用延時(shí)代替查詢(xún)
   virt_port|=ins&0xf0;
   SendSPIByte(virt_port);
      //LCDE=1;
   virt_port|=0x08;
   SendSPIByte(virt_port);
      for(i=3;i>0;i--);
      //LCDE=0;
   virt_port&=~0x08;
   SendSPIByte(virt_port);
      virt_port&=0x07;
   SendSPIByte(virt_port);
      t=ins<<4;             
      virt_port|=t&0xf0;           
   SendSPIByte(virt_port);
      //LCDE=1;
   virt_port|=0x08;
   SendSPIByte(virt_port);
      for(i=3;i>0;i--);
      //LCDE=0;
   virt_port&=~0x08;
   SendSPIByte(virt_port);
      virt_port=0;
   SendSPIByte(virt_port);
}
//-----------------------------------------------------------------------------
// LCD_set_xy
//-----------------------------------------------------------------------------
void LCD_set_xy( unsigned char x, unsigned char y )
{
    unsigned char address;
    if (y == 0) address = 0x80 + x;
    else 
    address = 0xc0 + x;
    Write_COM(address);
}
//-----------------------------------------------------------------------------
// LCD_write_string
//-----------------------------------------------------------------------------
void LCD_write_string(unsigned char n)
{  
    unsigned char data1;
    for(n;n>0;n--)
    {
    data1=*lcdpoint;
    writechar(data1);
      delaynms(100);
    lcdpoint++;
    delaynus(10);
    } 
}
//-----------------------------------------------------------------------------
// delaynus
//-----------------------------------------------------------------------------
void delaynus(unsigned int q)       //N us延時(shí)函數(shù)
  {
   for (i=0;i
      nop_();
      }
  }
//-----------------------------------------------------------------------------
// lcd_adc
//-----------------------------------------------------------------------------
void lcd_adc(void)
{
    unsigned char xdata ADC0Data[5]=; 
    lcdpoint=&ADC0Data;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精工是国产品牌吗| 在线中文字幕一区二区| 日韩中文字幕区一区有砖一区| 日本一区二区三区国色天香| 欧美一区二区三区四区久久| 国产精品18久久久| 蜜臀a∨国产成人精品| 亚洲中国最大av网站| 亚洲视频每日更新| 中文子幕无线码一区tr| 国产婷婷色一区二区三区| 精品三级在线观看| 制服.丝袜.亚洲.中文.综合| 欧美亚洲愉拍一区二区| 色婷婷综合久久久中文一区二区| 国产精品白丝jk黑袜喷水| 久久99精品久久久| 久久激五月天综合精品| 日韩激情一二三区| 日本不卡免费在线视频| 日本欧美肥老太交大片| 午夜欧美一区二区三区在线播放| 一区二区在线观看免费视频播放| 专区另类欧美日韩| 最新日韩在线视频| 日韩美女精品在线| 亚洲激情av在线| 1000精品久久久久久久久| 中文字幕在线不卡| 自拍偷拍欧美激情| 一区二区三区精品视频| 亚洲一区二区三区四区在线| 中文久久乱码一区二区| 国产精品久久久久永久免费观看| 国产精品午夜电影| 国产精品成人免费| 一区二区三区四区亚洲| 亚洲曰韩产成在线| 图片区小说区区亚洲影院| 日韩 欧美一区二区三区| 日韩成人一级片| 久久精品二区亚洲w码| 国内国产精品久久| 粉嫩av一区二区三区粉嫩| 国产一区二区在线观看免费| 国产超碰在线一区| 不卡的av中国片| 欧美系列亚洲系列| 日韩一区二区三区av| 欧美一区二区播放| 久久先锋资源网| 成人免费在线播放视频| 亚洲国产成人av网| 久久99久久精品| 成人app软件下载大全免费| 91精品办公室少妇高潮对白| 欧美人xxxx| 久久一日本道色综合| 国产精品不卡一区二区三区| 亚洲一区二区三区在线| 蜜乳av一区二区三区| 懂色av中文一区二区三区| 色综合久久久久综合体| 欧美一区二区在线免费观看| 久久久久久久综合| 亚洲欧美欧美一区二区三区| 日韩电影在线一区二区三区| 国产精品12区| 欧美熟乱第一页| 精品处破学生在线二十三| 1000部国产精品成人观看| 日韩精品五月天| 成人精品免费网站| 日韩欧美国产wwwww| 亚洲欧美一区二区三区久本道91| 日韩av网站免费在线| heyzo一本久久综合| 欧美一区二区三区四区在线观看| 国产精品传媒在线| 日本aⅴ精品一区二区三区| 成人激情午夜影院| 欧美电视剧在线观看完整版| 亚洲美女少妇撒尿| 国产在线视视频有精品| 欧美在线影院一区二区| 久久久久高清精品| 天堂av在线一区| 91免费看视频| 久久久高清一区二区三区| 亚洲成人动漫在线免费观看| 国产精品911| 欧美一区二区在线不卡| 亚洲乱码日产精品bd| 国产成人自拍网| 91精品国产综合久久福利| 亚洲女性喷水在线观看一区| 国模套图日韩精品一区二区| 欧美精品一二三| 亚洲欧美日韩久久| 美女一区二区在线观看| 欧美日韩综合在线免费观看| 国产精品久久久久久久久动漫| 久久99国产精品久久99果冻传媒| 精品1区2区3区| 日韩理论片中文av| 国产**成人网毛片九色| 精品国产一区a| 丝袜亚洲另类丝袜在线| 欧美日韩大陆一区二区| 日韩精品福利网| 制服丝袜亚洲网站| 毛片一区二区三区| 欧美v日韩v国产v| 激情成人综合网| 久久精品视频免费| 国产高清久久久| 中文字幕av不卡| 97精品国产露脸对白| 综合欧美亚洲日本| 色综合色狠狠综合色| 亚洲综合色成人| 欧美精品自拍偷拍| 麻豆精品在线视频| 久久综合五月天婷婷伊人| 国产电影精品久久禁18| 国产精品毛片高清在线完整版 | 久久66热偷产精品| 日韩免费看网站| 国产一区二区免费在线| 国产精品拍天天在线| 色中色一区二区| 偷拍与自拍一区| 日韩美女主播在线视频一区二区三区| 久久99在线观看| 欧美激情在线一区二区| 色婷婷综合视频在线观看| 三级精品在线观看| 久久综合五月天婷婷伊人| 成人黄色777网| 亚洲午夜在线电影| 欧美大片日本大片免费观看| 国产69精品久久99不卡| 一区二区日韩av| 日韩欧美一级二级| 成人永久免费视频| 亚洲电影视频在线| 欧美精品一区二区在线观看| 暴力调教一区二区三区| 亚洲第一综合色| 久久精品亚洲一区二区三区浴池| 9人人澡人人爽人人精品| 午夜激情久久久| 久久精品视频在线免费观看| 色94色欧美sute亚洲线路二| 久久精品久久综合| 亚洲欧美日韩电影| 日韩欧美色电影| 99re热这里只有精品视频| 日韩电影一二三区| 国产精品久久二区二区| 欧美电影在线免费观看| 丁香激情综合国产| 天天色图综合网| 国产精品久久久久久久久图文区| 51精品久久久久久久蜜臀| 东方欧美亚洲色图在线| 日日夜夜一区二区| 国产精品美女久久久久高潮| 日韩欧美激情四射| 日本韩国一区二区| 国产精品一区免费在线观看| 天天综合网 天天综合色| 中文字幕亚洲区| 精品播放一区二区| 欧美巨大另类极品videosbest| 成人永久免费视频| 免费观看成人鲁鲁鲁鲁鲁视频| 国产酒店精品激情| 久久青草国产手机看片福利盒子| 欧美日韩一级片在线观看| 成人精品gif动图一区| 老色鬼精品视频在线观看播放| 亚洲欧美一区二区不卡| 久久精品亚洲一区二区三区浴池| 欧美高清一级片在线| 91麻豆产精品久久久久久| 国产精品影视天天线| 麻豆91小视频| 丝袜美腿高跟呻吟高潮一区| 亚洲人123区| 国产精品免费av| 久久久久久久网| 精品三级在线看| 日韩一区二区三区三四区视频在线观看| 色菇凉天天综合网| av在线一区二区| 成人免费av在线| 国产盗摄一区二区三区| 韩日精品视频一区| 麻豆传媒一区二区三区|