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

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

?? lcd.c

?? 萬利開發板上的lcd例程
?? C
字號:
/******************** (C) COPYRIGHT 2007 STMicroelectronics ********************
* File Name          : main.c
* Author             : David JIANG
* Date First Issued  : 2007.9.17
* Description        : main
*
********************************************************************************
* History:
* 2007.9.17 : Version 1.0
********************************************************************************
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*******************************************************************************/

/* Includes ------------------------------------------------------------------*/
#include "stm32f10x_lib.h"
#include "lcd.h"
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
u16  frame[4];    /* LCD frame buffer  */
u16  digit[4];    /* Digit frame buffer */  
char text[2];

/*the varitronix LCD digit is:

               A
      --  ----------
    X \/  |\   |I  /|
         F| H  |  J |B
          |  \ | /  |
          --G-- --K--
          |   /| \  |
        E |  L |  N |C
          | /  |M  \|   _
          -----------  | |DP   
              D         -

        PE0  PE1  PE2  PE3  ...................................................... PE15
----------------------------------------------------------------------------------------
|      | S0 | S1 | S2 | S3 | S4 | S5 | S6 | S7 | S8 | S9 | S10| S11| S12| S13| S14| S15|
----------------------------------------------------------------------------------------
| COM1 | 1X | 1I | 1A | 1DP| 2X | 2I | 2A | 2DP| 3X | 3I | 3A | 3DP| 4X | 4I | 4A | 4DP|
----------------------------------------------------------------------------------------
| COM2 | 1F | 1H | 1J | 1B | 2F | 2H | 2J | 2B | 3F | 3H | 3J | 3B | 4F | 4H | 4J | 4B |
----------------------------------------------------------------------------------------
| COM3 | 1E | 1G | 1K | 1C | 2E | 2G | 2K | 2C | 3E | 3G | 3K | 3C | 4E | 4G | 4K | 4C |
----------------------------------------------------------------------------------------
| COM4 | 1L | 1M | 1N | 1D | 2L | 2M | 2N | 2D | 3L | 3M | 3N | 3D | 4L | 4M | 4N | 4D |
----------------------------------------------------------------------------------------

A LCD character coding is based on the following matrix:

{ X , F , E , L  }
{ I , H , G , M  }
{ A , J , K , N  }
{ DP, B , C , D  }

The characher A for example is:

 { 0 , 1 , 1 , 0 }
 { 0 , 0 , 1 , 0 }
 { 1 , 0 , 1 , 0 }
 { 0 , 1 , 1 , 0 }
-------------------
=  4   9   F   0   hex

=> 'A' = 0x4E70  */

const u16 letter[26]={0x49F0,0x01F8,0x4118,0x08F8,0x4178,0x4170,0x41D8,0x09F0,0x600A,
		      0x0888,0x0534,0x0118,0x0F90,0x0B94,0x4998,0x4970,0x499C,0x4974,
		      0x41E8,0x6002,0x0998,0x0511,0x299A,0x0605,0x0601,0x4409};

const u16 number[10]={0x4998,0x0880,0x4878,0x48E8,0x09E0,0x41E8,0x41F8,0x4880,0x49F8,0x49E8};

const u16 arrow[2]={0x0005,0x0600}; // {Upstair,Downstair}

/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/

/*******************************************************************************
* Function Name  : convert
* Description    : converts an ascii char to the a LCD digit (previous coding)
* Input1         : char
* Input2         : point : flag indicating if a point has to be add in front of
*                  displayed character (0: no, 1: yes)
* Output         : None
* Return         : None
*******************************************************************************/
void convert (char* c,u8 point)
{ 
  u16 car=0,tmp;
  u8 i;
  const u16 mask[4]={0xF000,0x0F00,0x00F0,0x000F};
  const u8 shift[3]={0xC,0x8,0x4};

  if ((*c<0x5B)&(*c>0x40))  // 'A' --- 'F'
    car = letter[*c-0x41]; 
  else if ((*c<0x3A)&(*c>0x2F))  // '0' --- '9'
    car = number[*c-0x30];
  else if (*c==0x20) car =0;     // 'space'
  else if (*c=='+')  car = arrow[0];   // upstair     
  else if (*c=='-')  car = arrow[1];   // downstair  
  
  if (point==1) car|=0x8000;
  
  for (i=0;i<3;i++)
  {
    tmp = car&mask[i];
    digit[i] = tmp>>shift[i];
  }
  digit[3] = (car&mask[3]); 
}

/*******************************************************************************
* Function Name  : write char
* Description    : This function writes a char in the LCD frame buffer
* Input1         : char ascii value
* Input2         : point 0: no point to add, 1 a point to add in front of char 
* Input2         : pos: position of the caracter to write [0:3]
* Output         : None
* Return         : None
*******************************************************************************/
void write_char(char* car,u8 point,u8 pos)
{
   int i;
   const u16 mask[4]={0x0F,0xF0,0xF00,0xF000};

   convert(car,point);
   
   if (pos == 1) for (i=0;i<4;i++) digit[i]=(digit[i]<<4);
   if (pos == 2) for (i=0;i<4;i++) digit[i]=(digit[i]<<8); 
   if (pos == 3) for (i=0;i<4;i++) digit[i]=(digit[i]<<12); 
   
   for (i=0;i<4;i++) frame[i]= (frame[i]&~mask[pos])|digit[i];   
}


/*******************************************************************************
* Function Name  : write_string
* Description    : This function writes a string in the LCD
* Input          : string
* Output         : None
* Return         : None
*******************************************************************************/
void write_string(char* str)
{
  int i;
  for (i=0;i<4;i++) write_char(str+i,0,i);
}
 
/*******************************************************************************
* Function Name  : int2char
* Description    : This function convertes a 2 digit int to a char
* Input          : u8 value
* Output         : None
* Return         : None
*******************************************************************************/
char* int2char(u8 value)
{ 
  text[0] = 0x30 + (value/10);
  text[1] = 0x30 + (value%10);
  return(text);
}
  

/******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE****/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美一区二区三区在线| 色婷婷亚洲综合| 成人午夜av在线| 在线精品视频一区二区三四| 欧美精品在线观看播放| 欧美大片拔萝卜| 午夜私人影院久久久久| 麻豆精品在线播放| av日韩在线网站| 日韩一区二区三区av| 欧美国产1区2区| 美腿丝袜亚洲色图| 欧美午夜一区二区三区| 久久久99精品免费观看| 午夜激情久久久| 一本在线高清不卡dvd| 日韩精品专区在线影院观看 | 日本一区二区三区视频视频| 视频一区中文字幕| 在线精品亚洲一区二区不卡| 久久久久久久久一| 欧美a级一区二区| 欧美日韩高清一区| 亚洲欧美偷拍另类a∨色屁股| 国产在线精品视频| 日韩欧美中文字幕公布| 亚洲成av人**亚洲成av**| 99re这里都是精品| 国产精品黄色在线观看| 成人激情黄色小说| 欧美国产禁国产网站cc| 成人午夜电影网站| 国产精品久久三| 91亚洲精华国产精华精华液| 中文字幕一区二| 在线观看国产精品网站| 亚洲一区二区成人在线观看| 欧美影院精品一区| 午夜成人免费视频| 欧美一区永久视频免费观看| 青青草原综合久久大伊人精品优势 | 午夜精品久久久久久久久| 91.xcao| 国产精品一区二区在线观看网站| 国产网站一区二区三区| 91丨porny丨户外露出| 亚洲gay无套男同| 久久精品亚洲国产奇米99| 成人三级在线视频| 亚洲va国产天堂va久久en| 日韩精品专区在线影院观看| 国产黄色成人av| 日本中文在线一区| 国产精品你懂的| 3atv一区二区三区| 91日韩精品一区| 国产一区二三区| 亚洲成a人片在线不卡一二三区| 久久网站最新地址| 精品成人私密视频| 日本韩国欧美在线| 国产一区91精品张津瑜| 亚洲高清免费视频| 自拍av一区二区三区| 久久精品亚洲麻豆av一区二区| 欧美日韩亚洲综合一区二区三区| 成人爽a毛片一区二区免费| 青青草一区二区三区| 亚洲午夜一二三区视频| 中文字幕欧美日韩一区| 精品国产伦一区二区三区免费| 欧美日韩日日骚| 欧美va亚洲va在线观看蝴蝶网| 欧美日韩一区二区三区四区| 色综合天天综合在线视频| 国产成人精品影视| 福利一区二区在线| 成人av资源在线| 99精品一区二区三区| 99久久婷婷国产综合精品| 成人黄色软件下载| 色综合中文字幕国产 | 亚洲三级电影网站| 一区二区免费视频| 亚洲动漫第一页| 日韩精品成人一区二区三区| 亚洲成av人综合在线观看| 日本不卡视频在线观看| 国产最新精品精品你懂的| 成人久久18免费网站麻豆| 99国产麻豆精品| 91麻豆精品国产91| 久久午夜色播影院免费高清| 国产精品久久久久永久免费观看| 国产精品久久午夜| 亚洲6080在线| 国产成人免费视频精品含羞草妖精| 7777精品伊人久久久大香线蕉超级流畅| 91精品综合久久久久久| 精品成人在线观看| 国产精品乱码人人做人人爱| 一区二区三区蜜桃网| 麻豆精品一区二区av白丝在线| 高清国产一区二区三区| 欧美日韩激情一区二区三区| 欧美α欧美αv大片| 亚洲靠逼com| kk眼镜猥琐国模调教系列一区二区 | 欧美色大人视频| 久久久国产午夜精品| 久久狠狠亚洲综合| 欧美日韩一区高清| 亚洲欧美精品午睡沙发| 国产永久精品大片wwwapp | 亚洲一区二区在线免费看| 国产麻豆欧美日韩一区| 日韩午夜小视频| 日韩激情一二三区| 欧美三级日韩三级| 国产一区二区成人久久免费影院| 欧美色精品在线视频| 亚洲色图欧美在线| 一本一道波多野结衣一区二区| 国产精品天美传媒| 成人免费视频一区| 免费成人深夜小野草| 日韩欧美国产麻豆| 粉嫩av一区二区三区| 国产精品全国免费观看高清 | 日本欧美一区二区三区| 欧美一级二级三级乱码| 韩国v欧美v亚洲v日本v| 国产日产欧美一区| 99久久精品国产麻豆演员表| 中文字幕亚洲在| 欧美二区三区的天堂| 国产一区激情在线| 亚洲欧美区自拍先锋| 在线播放一区二区三区| 经典三级一区二区| 亚洲欧美日韩国产中文在线| 欧美人妇做爰xxxⅹ性高电影| 麻豆成人久久精品二区三区红| 亚洲一区二区欧美| 国产婷婷精品av在线| 欧美日韩综合在线免费观看| 久99久精品视频免费观看| 自拍偷拍欧美激情| 欧美一区二区三区系列电影| 高清不卡在线观看| 老色鬼精品视频在线观看播放| 中文字幕在线不卡一区| 欧美一区二区三区视频在线| 99在线精品观看| 国产精品18久久久久久久久| 亚洲电影第三页| 亚洲免费观看高清完整版在线观看 | 午夜精品久久久久| 最近中文字幕一区二区三区| 欧美不卡激情三级在线观看| 日本高清视频一区二区| 成人精品电影在线观看| 欧洲精品中文字幕| 99热在这里有精品免费| av亚洲精华国产精华精| 成人福利视频网站| 丁香五精品蜜臀久久久久99网站| 国产又粗又猛又爽又黄91精品| 另类成人小视频在线| 日本vs亚洲vs韩国一区三区| 亚洲成av人片一区二区三区| 亚洲综合一二三区| 一区二区三区在线观看动漫| 一区二区三区电影在线播| 亚洲精品视频一区| 一区二区三区欧美视频| 亚洲一卡二卡三卡四卡| 午夜精品免费在线| 无码av免费一区二区三区试看| 亚洲国产欧美在线人成| 日韩经典中文字幕一区| 国产盗摄精品一区二区三区在线| 激情图片小说一区| 不卡免费追剧大全电视剧网站| 色婷婷综合激情| 777xxx欧美| 国产精品你懂的| 午夜欧美2019年伦理| 激情深爱一区二区| 一本大道久久a久久综合婷婷 | 综合在线观看色| 午夜a成v人精品| 成人av在线电影| 精品福利一区二区三区免费视频| 国产拍欧美日韩视频二区| 亚洲国产日韩综合久久精品| 精品系列免费在线观看| 色婷婷亚洲综合| 国产精品久久久久久户外露出| 日韩一区精品字幕|