⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 display.c

📁 freescale最新的16位单片机
💻 C
字号:
#include <string.h>
//#include "xgate.h"
#include "main.h"

#define ROUTE_INTERRUPT(vec_adr, cfdata)                \
  INT_CFADDR= (vec_adr) & 0xF0;                         \
  INT_CFDATA_ARR[((vec_adr) & 0x0F) >> 1]= (cfdata)

#define SOFTWARETRIGGER0_VEC  0x72 /* vector address= 2 * channel id */

 
/*******************************************************************************
PLLINITPLLINITPLLINITPLLINITPLLINITPLLINITPLLINITPLLINITPLLINITPLLINITPLLINITPLL
                                   PLLINIT
PLLINITPLLINITPLLINITPLLINITPLLINITPLLINITPLLINITPLLINITPLLINITPLLINITPLLINITPLL
*******************************************************************************/
static void PLL_Init(void)
{
    PLLCTL_PLLON = 0;               // Disable the Phase Lock Loop 
    PLLCTL_CME = 0;                 // Disable Clock monitor 

    PLLCTL_SCME = 0;                // Self clock mode switched off 
    CLKSEL_PLLSEL = 0;              // Select clock source from OSCCLK 
    CLKSEL_PLLWAI = 1;              // PLL stops in wait mode 
    CLKSEL_SYSWAI = 1;              // Stop system clocks in wait mode 
    CLKSEL_CWAI = 1;                // Core clock stop in wait mode 
    CLKSEL_PSTP = 1;                // Osc continues to run in Stop mode (Pseudo Stop) 

    SYNR_SYN = 7;                   // Set the multiplier register for BUSCLK=8 MHz OSCCLK=5MHz
    REFDV_REFDV = 4;                // Set the divider register for BUSCLK=8 MHz OSCCLK=5MHz
    PLLCTL_PLLON = 1;               // Enable the Phase Lock Loop 
    PLLCTL_CME  = 1;                // Enable Clock monitor 

    while(!CRGFLG_LOCK);            // Wait till the PLL VCO is within tolerance
    CLKSEL_PLLSEL = 1;              // Select clock source from PLLCLK
}


/******************************************************************************
* Module            : void main(void)
* Description       : main program loop
* Global Data       : none
* Static Global Data: none
* Returns           : none
* Arguments         : none
* Special Issues    : none
******************************************************************************/


void main (void) {
int i;

  //EnableInterrupts;
  //SetupXGATE();
  
  // settings of periphery and IO
  
  // loading wake up time from 08
  
  
  
  DDRB = 0xF0;
  PUCR_PUPBE = TRUE;
  PORTB = 0xF0;


  PLL_Init();                            // init PLL OSCCLK = 5MHz BUSCLK=8MHz
  LcdReset();                            /* reset display                     */
                                        /* setup display                     */
  LcdSetup(LCD_CURSORRIGHT | LCD_SHIFTOFF | LCD_DISPLAYON | LCD_CURSORON | LCD_BLINKOFF | LCD_LARGEFONT ) ; 
  

  i = 0;
   
 
  for EVER 
  {
      i = (PORTB & 0x0f);
  		PORTB = i << 4;
  		
  } /* wait forever */
  /* please make sure that you never leave this function */
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -