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

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

?? t0int.c

?? LPC2138單片機(jī)做控制器
?? C
字號(hào):
/******************************************************************************/
/* T0INT.C: Main Interrupt Routine                                            */
/* Author:  Matthias Hertel                                                   */
/* Date:    21-Oct-2004                                                       */
/******************************************************************************/
/* This file is part of the uVision/ARM development tools.                    */
/* Copyright (c) 2005-2006 Keil Software. All rights reserved.                */
/* This software may only be used under the terms of a valid, current,        */
/* end user licence from KEIL for a compatible version of KEIL software       */
/* development tools. Nothing else gives you the right to use this software.  */
/******************************************************************************/

#include <LPC213x.H>           /* LPC21xx definitions  */
#include "modes.h"
#include "riffwave.h"

#define T0_RlFreq  1874        /* Timer 0 Reload Frequency in Periph. Clocks  */

/* Data for Record&Block handling */
#define FIRSTBLOCK 1           /* 1st free block - application is in Block 0  */
#define LASTBLOCK  7           /* last block                                  */
#define BLOCKSIZE  0x10000L    /* Size of each block - 64KB                   */
#define SIZE_OF_BOOTLOADER 0x3000  /* Size of Bootloader in last flash Sector */

enum modes mode;               /* Keeps the state that the player is in       */
                                                                                
unsigned int timeval = 0;      /* Global timer - overflows every 10 sec       */
signed short *p_record;        /* pointer to the wave sample                  */
unsigned int eot;              /* end of track                                */
unsigned int blockindex;       /* current Block                               */
extern signed int volume;      /* Volume - Range: 0-1023;                     */

unsigned char print_info = 0;  /* flag for printing track information         */

struct wav_hdr* p_wav_hdr;     /* Wave file header                            */


/* 
 * Timer Counter 0 Interrupt executes in 8kHz frequency 
 */

__irq void tc0 (void) {
  int sample;
  static unsigned short DA_val = 0;

  if (timeval++ >= 40000l) {   /* 5 sec frames */
    timeval =0;               
    mode = NEXT;
  }
  switch (mode) {
    /* State: Playing */
    case PLAY:
      sample = *p_record++;
      sample *= volume;
      DA_val = ((sample >> 15) + 0x8000) & 0xFFFF;
      //DA_val |= 0x10000;     /* Bias */
      DACR = DA_val;
      if (p_record >= (short *)eot) {
        IOCLR1 = 0x00FF0000;   /* Turn off LEDs */
        IOSET1 = 1 << 16;      /* Turn on LED */            
        mode = PAUSE;          /* Next time playing is paused */
      }
      break;
    /* State: Pause - wait until interval counter overflows */
    case PAUSE:
      if (timeval == 0)
        mode = NEXT;           /* After 10 seconds switch to next block */
      break;
    /* State: Next Track */
    case NEXT:
      if (blockindex < LASTBLOCK) {
        blockindex++; 
      } else { 
        blockindex = FIRSTBLOCK;   /* goto first block when last was played */
      }  
    /* State: Previous Track */
    case PREV:
      if (mode != NEXT) {
        if (blockindex > FIRSTBLOCK) { 
          blockindex--;
        } else {
          blockindex = LASTBLOCK;  /* goto last block when first was played */
        }
      }
      {
        unsigned int blockaddress = (blockindex * BLOCKSIZE);    /* absolute memory address of the block */
        p_wav_hdr = (void*) blockaddress;                        /* pointer to Wave/RIFF structure */
        p_record = (signed short*)(void*) blockaddress + 0x24;   /* sample pointer after the wave header */
        
        if (p_wav_hdr->length < BLOCKSIZE){    /* Get the end of file from */
          eot = (unsigned int)(blockaddress + p_wav_hdr->length);  /* Header */
        } else {
          eot = (unsigned int)(blockaddress + BLOCKSIZE) - 1;      /* Block */
        } 
        if (blockindex == LASTBLOCK)           /* skip bootloader */
          eot -= SIZE_OF_BOOTLOADER;
      }

      IOCLR1 = 0x00FF0000;                           /* Turn off LEDs */
      IOSET1 = (1 << (blockindex + 16)) & 0xFF0000;  /* Turn on LED */

      print_info = 1;                          /* print info is on */
      mode = PLAY;                             /* Next time start playing */
      break;
  }
  T0IR        = 1;                             /* Clear interrupt flag  */
  VICVectAddr = 0;                             /* Acknowledge Interrupt */
  
}


/* Setup the Timer Counter 0 Interrupt */
void init_timer (void) {
  T0MR0 = T0_RlFreq;                           /* 0.125uSec = 1875-1 counts   */
  T0MCR = 3;                                   /* Interrupt and Reset on MR0  */
  T0TCR = 1;                                   /* Timer0 Enable               */
  VICVectAddr0 = (unsigned long)tc0;           /* set interrupt vector in 0   */
  VICVectCntl0 = 0x20 | 4;                     /* use it for Timer0 Interrupt */
  VICIntEnable = 0x00000010;                   /* Enable Timer0 Interrupt     */
  mode = NEXT;
  blockindex = FIRSTBLOCK - 1l;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久人人做人人爰| 精品国产人成亚洲区| 麻豆国产精品777777在线| 国产精品久久久久久久久免费桃花| 欧美日韩高清一区二区三区| 国产精品综合久久| 亚洲大片精品永久免费| 国产精品久久久久久久岛一牛影视 | 久久综合色之久久综合| 欧美性一区二区| 成人免费视频一区| 九色综合国产一区二区三区| 亚洲伊人色欲综合网| 中文字幕 久热精品 视频在线| 欧美一级片在线看| 欧美手机在线视频| 9l国产精品久久久久麻豆| 国产在线麻豆精品观看| 蜜臀av一区二区三区| 亚洲线精品一区二区三区| 专区另类欧美日韩| 中文av一区二区| 国产视频一区在线播放| 精品免费日韩av| 日韩一区二区在线看| 欧美日韩成人一区| 国产亚洲欧美在线| 精品99久久久久久| 欧美成人精品3d动漫h| 欧美一区午夜精品| 69p69国产精品| 91精品国产日韩91久久久久久| 欧美影院一区二区三区| 欧洲生活片亚洲生活在线观看| 色呦呦日韩精品| 91一区二区在线观看| 99久久免费精品高清特色大片| 成人18视频日本| www..com久久爱| 91在线云播放| 91国偷自产一区二区三区观看| 91黄视频在线| 欧美视频一区二区| 欧美嫩在线观看| 911精品国产一区二区在线| 欧美精品日韩综合在线| 欧美日韩国产综合一区二区三区 | 亚洲视频在线一区| 日韩伦理电影网| 一级特黄大欧美久久久| 亚洲一区二区影院| 日韩二区三区在线观看| 麻豆91免费看| 国产成人精品免费看| 岛国精品在线播放| 久久综合五月天婷婷伊人| 久久免费电影网| 日韩久久一区二区| 午夜一区二区三区在线观看| 偷偷要91色婷婷| 国产专区综合网| 91丨九色丨尤物| 欧美剧情片在线观看| 日韩免费性生活视频播放| 国产欧美日本一区二区三区| 亚洲欧美激情插| 秋霞国产午夜精品免费视频| 国产成人在线视频免费播放| 91香蕉视频黄| 日韩一区和二区| 欧美激情一区二区三区| 夜夜嗨av一区二区三区网页| 秋霞电影一区二区| 国产成都精品91一区二区三| 在线免费av一区| 久久人人爽人人爽| 亚洲男人的天堂av| 蜜臀av一区二区| 99久久精品免费| 91精品久久久久久久久99蜜臂| 国产丝袜美腿一区二区三区| 亚洲一区二区精品3399| 国产馆精品极品| 欧美久久一二区| 中文一区在线播放| 日韩二区三区四区| 99国产精品久久久| 精品毛片乱码1区2区3区| 精东粉嫩av免费一区二区三区| 国产aⅴ精品一区二区三区色成熟| 欧美性受极品xxxx喷水| 亚洲精品在线观看网站| 一区二区三区在线高清| 国产精品一区二区在线观看网站 | 国产在线精品一区二区夜色| 91久久线看在观草草青青| 精品国产乱码久久久久久图片| 亚洲色图欧美偷拍| 国产一区二三区好的| 欧美日韩另类国产亚洲欧美一级| 欧美国产在线观看| 久久精品国产成人一区二区三区| 91成人在线免费观看| 久久久噜噜噜久久人人看| 日韩专区一卡二卡| 日本韩国视频一区二区| 中文字幕欧美激情一区| 精品一区二区三区影院在线午夜| 欧美中文字幕不卡| 亚洲欧洲日韩在线| 国产99精品在线观看| 欧美成人a∨高清免费观看| 亚洲一区二区三区在线| 成人18视频日本| 国产欧美日韩精品一区| 韩国v欧美v日本v亚洲v| 日韩欧美国产午夜精品| 亚洲成av人片一区二区三区| 色欧美88888久久久久久影院| 欧美激情在线看| 国产福利一区二区三区视频| 亚洲精品在线观| 蜜桃精品视频在线| 欧美老肥妇做.爰bbww视频| 亚洲一区二区综合| 欧洲精品视频在线观看| 亚洲另类春色校园小说| 91网站在线观看视频| 亚洲图片激情小说| 91亚洲精品乱码久久久久久蜜桃 | 国产欧美va欧美不卡在线| 国产一区二区免费视频| 欧美成va人片在线观看| 精品一区二区三区免费视频| 91精品国产一区二区| 三级久久三级久久久| 这里只有精品视频在线观看| 三级成人在线视频| 91精品国模一区二区三区| 日韩有码一区二区三区| 日韩一区二区在线观看视频播放| 国产成人在线看| 国产精品三级久久久久三级| 成人av中文字幕| 亚洲乱码国产乱码精品精的特点| 91麻豆国产福利精品| 亚洲自拍偷拍欧美| 8v天堂国产在线一区二区| 蜜臀va亚洲va欧美va天堂 | 欧美成人精品3d动漫h| 激情成人午夜视频| 中文文精品字幕一区二区| 成人av网址在线| 一区二区三区在线视频观看58 | 在线视频一区二区三区| 五月综合激情日本mⅴ| 欧美一区二区精品| 国产自产视频一区二区三区| 欧美国产激情一区二区三区蜜月| www.成人网.com| 亚洲成人在线观看视频| 日韩一区二区三区观看| 国产不卡在线一区| 亚洲欧美国产77777| 欧美精品在线视频| 国产成人精品在线看| 一区二区日韩av| 日韩欧美亚洲另类制服综合在线| 国产高清成人在线| 亚洲女女做受ⅹxx高潮| 欧美一区午夜精品| 成人免费毛片高清视频| 亚洲成在人线在线播放| 久久久噜噜噜久噜久久综合| 99热精品国产| 秋霞午夜av一区二区三区| 中文幕一区二区三区久久蜜桃| 欧美日韩在线免费视频| 国产一区二区三区综合| 亚洲一区免费视频| 国产欧美一区二区精品性| 91福利国产成人精品照片| 在线一区二区视频| 激情综合网av| 一级女性全黄久久生活片免费| 欧美不卡在线视频| 欧美性生交片4| 国产一区二区剧情av在线| 亚洲国产美国国产综合一区二区| 久久丝袜美腿综合| 欧美日本在线观看| 成人a级免费电影| 精品一区二区国语对白| 一区二区三区日韩欧美| 国产视频亚洲色图| 欧美一区日本一区韩国一区| 色悠悠久久综合| 大白屁股一区二区视频| 日本不卡高清视频| 亚洲成人免费看|