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

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

?? emif_1.c

?? c8051一個(gè)EMIF控制的例子
?? C
字號(hào):
//-----------------------------------------------------------------------------
// EMIF_1.c
//-----------------------------------------------------------------------------
// Copyright 2001 Cygnal Integrated Products, Inc.
//
// AUTH: BW
// DATE: 11 DEC 01
//
// This program configures the external memory interface to read and write
// to an external SRAM mapped to the upper port pins.  Assumes an external
// 22.1184MHz crystal is attached between XTAL1 and XTAL2.
//
// Target: C8051F02x
// Tool chain: KEIL C51 6.03 / KEIL EVAL C51
//

//-----------------------------------------------------------------------------
// Includes
//-----------------------------------------------------------------------------

#include <c8051f020.h>                 // SFR declarations
#include <stdio.h>

//-----------------------------------------------------------------------------
// 16-bit SFR Definitions for 'F02x
//-----------------------------------------------------------------------------

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 RCAP4    = 0xe4;                 // Timer4 capture/reload
sfr16 T4       = 0xf4;                 // Timer4
sfr16 DAC0     = 0xd2;                 // DAC0 data
sfr16 DAC1     = 0xd5;                 // DAC1 data

//-----------------------------------------------------------------------------
// Global CONSTANTS
//-----------------------------------------------------------------------------

#define SYSCLK       22118400          // SYSCLK frequency in Hz
#define BAUDRATE     115200            // Baud rate of UART in bps

#define RAM_BANK     0x20;             // bank select bit is P4^5
#define RAM_CS       0x10;             // chip select bit is P4^4

sbit LED = P1^6;                       // LED = 1 means ON

//-----------------------------------------------------------------------------
// Function PROTOTYPES
//-----------------------------------------------------------------------------

void SYSCLK_Init (void);
void PORT_Init (void);
void UART0_Init (void);
void EMIF_Init (void);

//-----------------------------------------------------------------------------
// Global VARIABLES
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
// MAIN Routine
//-----------------------------------------------------------------------------

void main (void) {

   unsigned char xdata *pchar;         // memory access pointer
   unsigned long i;

   WDTCN = 0xde;                       // disable watchdog timer
   WDTCN = 0xad;

   SYSCLK_Init ();                     // initialize oscillator
   PORT_Init ();                       // initialize crossbar and GPIO
   UART0_Init ();                      // initialize UART0
   EMIF_Init ();                       // initialize memory interface

   P4 &= ~RAM_BANK;                    // select lower bank
   P4 &= ~RAM_CS;                      // assert RAM chip select

   // clear xdata space
   pchar = 0;
   for (i = 0; i < 65536; i++) {
      *pchar++ = 0;
      // print status to UART0
      if ((i % 16) == 0) {
         printf ("\nwriting 0x%04x: %02x ", (unsigned) i, (unsigned) 0);
      } else {
         printf ("%02x ", (unsigned) 0);
      }
   }

   // verify all are zero
   pchar = 0;
   for (i = 0; i < 65536; i++) {
      if (*pchar != 0) {
         printf ("Erase error!\n");
         while (1);
      }
      // print status to UART0
      if ((i % 16) == 0) {
         printf ("\nverifying 0x%04x: %02x ", (unsigned) i, (unsigned) *pchar);
      } else {
         printf ("%02x ", (unsigned) *pchar);
      }
      pchar++;
   }

   // write xdata space
   pchar = 0;
   for (i = 0; i < 65536; i++) {
      *pchar = ~i;
      // print status to UART0
      if ((i % 16) == 0) {
         printf ("\nwriting 0x%04x: %02x ", (unsigned) i, (unsigned) ((~i) & 0xff));
      } else {
         printf ("%02x ", (unsigned) ((~i) & 0xff));
      }
      pchar++;
   }

   // verify 
   pchar = 0;
   for (i = 0; i < 65536; i++) {
      if (*pchar != ((~i) & 0xff)) {
         printf ("Verify error!\n");
         while (1);
      }
      // print status to UART0
      if ((i % 16) == 0) {
         printf ("\nverifying 0x%04x: %02x ", (unsigned) i, (unsigned) *pchar);
      } else {
         printf ("%02x ", (unsigned) *pchar);
      }
      pchar++;
   }

   while (1);
}

//-----------------------------------------------------------------------------
// Initialization Subroutines
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
// SYSCLK_Init
//-----------------------------------------------------------------------------
//
// This routine initializes the system clock to use an 22.1184MHz crystal
// as its clock source.
//
void SYSCLK_Init (void)
{
   int i;                              // delay counter

   OSCXCN = 0x67;                      // start external oscillator with
                                       // 22.1184MHz crystal


   for (i=0; i < 256; i++) ;           // wait for oscillator to start

   while (!(OSCXCN & 0x80)) ;          // Wait for crystal osc. to settle

   OSCICN = 0x88;                      // select external oscillator as SYSCLK
                                       // source and enable missing clock
                                       // detector
}

//-----------------------------------------------------------------------------
// PORT_Init
//-----------------------------------------------------------------------------
//
// Configure the Crossbar and GPIO ports
//
void PORT_Init (void)
{
   XBR0    |= 0x04;                    // Enable UART0
   XBR2    |= 0x40;                    // Enable crossbar and weak pull-ups
   P0MDOUT |= 0x01;                    // enable TX0 as a push-pull output
   P1MDOUT |= 0x40;                    // enable LED as push-pull output
}

//-----------------------------------------------------------------------------
// UART0_Init
//-----------------------------------------------------------------------------
//
// Configure the UART0 using Timer1, for <baudrate> and 8-N-1.
//
void UART0_Init (void)
{
   SCON0  = 0x50;                      // SCON0: 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;                      // SMOD00 = 1
   TI0    = 1;                         // Indicate TX0 ready
}

//-----------------------------------------------------------------------------
// EMIF_Init
//-----------------------------------------------------------------------------
//
// Configure the external memory interface to use upper port pins in 
// non-multiplexed mode to a mixed on-chip/off-chip configuration without 
// Bank Select.
//
void EMIF_Init (void)
{
   EMI0CF = 0x3c;                      // upper ports; non-muxed mode;
                                       // split mode w/o bank select
   EMI0TC = 0x00;                      // fastest timing (4-cycle MOVX)
   P74OUT |= 0xfe;                     // all EMIF pins configured as
                                       // push-pull
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品免费| 男女男精品网站| 亚洲超碰精品一区二区| 日韩电影在线一区| 国产另类ts人妖一区二区| 94色蜜桃网一区二区三区| 欧美高清精品3d| 久久精品男人的天堂| 樱花草国产18久久久久| 精品一区二区三区在线观看国产 | 欧美老肥妇做.爰bbww| 欧美大片一区二区三区| 国产精品超碰97尤物18| 午夜激情久久久| 国产精品自拍毛片| 欧洲视频一区二区| 精品国产自在久精品国产| 亚洲激情综合网| 久久er精品视频| 日本黄色一区二区| 精品盗摄一区二区三区| 亚洲黄色免费网站| 国产在线乱码一区二区三区| 色婷婷av一区| 久久精品一区蜜桃臀影院| 亚洲一区av在线| 国产成人小视频| 91精品综合久久久久久| 亚洲三级理论片| 韩国毛片一区二区三区| 欧美精品欧美精品系列| 亚洲欧洲99久久| 国产精品一线二线三线| 欧美精品丝袜中出| 日韩一区中文字幕| 蜜桃视频第一区免费观看| 色偷偷88欧美精品久久久 | 从欧美一区二区三区| 欧美日韩一二三区| 国产精品三级久久久久三级| 蜜臀av一区二区在线观看 | 偷窥少妇高潮呻吟av久久免费| 成人动漫在线一区| 久久久蜜桃精品| 日韩成人av影视| 欧美日韩性生活| 亚洲免费伊人电影| 播五月开心婷婷综合| 久久这里只有精品视频网| 日本aⅴ精品一区二区三区| 欧美四级电影网| 亚洲视频一区在线| 国产91精品精华液一区二区三区 | 久久av资源站| 欧美日韩国产在线播放网站| 亚洲视频一区二区在线| av在线播放成人| 国产精品视频免费看| 国产成人免费视频| 久久综合九色综合欧美98| 久久99精品久久久久久久久久久久| 欧美日韩一卡二卡| 亚洲网友自拍偷拍| 欧美无乱码久久久免费午夜一区 | 日本乱人伦aⅴ精品| 中文字幕一区二区三区在线播放| 国产乱码精品1区2区3区| 精品国产一区二区三区av性色| 久久国产视频网| 欧美一卡二卡在线| 久久99这里只有精品| 欧美videos中文字幕| 久久福利资源站| 日韩精品一区二区三区在线播放| 蜜桃视频在线观看一区| 欧美α欧美αv大片| 国内精品国产成人国产三级粉色| 久久综合九色综合欧美98| 国产一区二区三区免费观看| 国产欧美日本一区二区三区| 大美女一区二区三区| 中文字幕一区日韩精品欧美| av成人免费在线观看| 国产精品入口麻豆九色| 99久久综合色| 亚洲视频一区二区在线观看| 欧美性xxxxxxxx| 亚洲午夜影视影院在线观看| 在线电影国产精品| 蜜臀av一级做a爰片久久| 欧美tk丨vk视频| 国产麻豆精品在线| 中文字幕免费观看一区| 91免费小视频| 亚洲电影中文字幕在线观看| 欧美一区二区二区| 国产精品一区三区| 国产精品国模大尺度视频| 欧美性生活一区| 美女爽到高潮91| 久久精品一区二区三区av| 99精品久久只有精品| 亚洲国产中文字幕| 日韩欧美在线综合网| 粉嫩av一区二区三区在线播放 | 在线观看日韩电影| 午夜精品久久久久久久99樱桃| 日韩三级中文字幕| 国产黄色成人av| 一区二区三区精品视频在线| 日韩一卡二卡三卡四卡| 懂色av中文字幕一区二区三区| 亚洲精选一二三| 4438亚洲最大| 波多野结衣一区二区三区| 亚洲成人精品影院| 精品国产伦一区二区三区观看方式| 成人激情免费视频| 日韩vs国产vs欧美| 国产精品乱码一区二三区小蝌蚪| 欧美三级中文字幕| 国产精一品亚洲二区在线视频| 夜夜精品视频一区二区| 欧美www视频| 欧日韩精品视频| 激情久久五月天| 一区二区三区欧美| 久久久99免费| 欧美日本免费一区二区三区| 粉嫩一区二区三区在线看| 日韩经典中文字幕一区| 中文字幕一区二区三中文字幕| 日韩欧美色综合网站| 91视频一区二区| 国内久久精品视频| 亚洲成人精品在线观看| 国产精品久久久久影院色老大| 91麻豆精品91久久久久同性| 91首页免费视频| 国产成人午夜精品5599| 日本不卡的三区四区五区| 亚洲欧美一区二区久久| 久久综合九色综合97婷婷女人| 欧美日韩一级大片网址| 91一区一区三区| 国产一区在线不卡| 天堂久久一区二区三区| 亚洲免费观看高清完整版在线观看 | 久久综合国产精品| 欧美日韩免费一区二区三区| 成人爱爱电影网址| 国产一区在线不卡| 日韩avvvv在线播放| 亚洲一线二线三线久久久| 国产精品第四页| 久久亚洲影视婷婷| 日韩欧美国产一区在线观看| 欧美无砖砖区免费| 99re视频精品| 成人精品一区二区三区四区| 狠狠色丁香久久婷婷综合丁香| 视频一区二区三区入口| 一区二区三区中文字幕在线观看| 欧美韩国日本不卡| 久久先锋资源网| 欧美一激情一区二区三区| 欧美日韩国产在线观看| 色婷婷av一区二区| 色欧美片视频在线观看| av亚洲精华国产精华精华| 懂色av一区二区三区蜜臀| 国产九色sp调教91| 国产一区二区免费看| 国产一区二区毛片| 国产一区二区主播在线| 韩国v欧美v日本v亚洲v| 另类的小说在线视频另类成人小视频在线| 午夜久久久久久| 石原莉奈一区二区三区在线观看| 午夜在线成人av| 天天做天天摸天天爽国产一区| 亚洲一区二区偷拍精品| 亚洲国产日韩一区二区| 亚洲成人在线网站| 亚洲午夜一区二区| 日韩精品91亚洲二区在线观看| 人人狠狠综合久久亚洲| 黄网站免费久久| 国产精品12区| 成人一道本在线| 99久久777色| 91麻豆123| 欧美影院一区二区| 欧美绝品在线观看成人午夜影视| 欧美另类videos死尸| 日韩女优制服丝袜电影| 久久久一区二区三区| 国产欧美日韩不卡免费| 亚洲欧美日本韩国| 亚洲国产成人av网|