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

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

?? lcd.c

?? STM32利用正交編碼器實(shí)現(xiàn)電機(jī)的控制
?? C
字號:
/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
* File Name          : main.c
* Author             : Jian-guo JIANG
* Date First Issued  : 2008.5.14
* Description        : lcd display
*
********************************************************************************
* History:
* 2008.5.14 : 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[4];

/*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 sign[2]={0x2062,0x0060}; // {+,-}

/* 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 = sign[0];   // '+'     
  else if (*c=='-')  car = sign[1];   // '-'  
  
  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 int to a string
* Input          : u16 value
* Output         : None
* Return         : None
*******************************************************************************/
char* int2char(u16 value)
{ 
  u8 i;
  u8 bValue;
  u16 temp;  
  
  temp = 1000;  
  for (i=0;i<4;i++)
  {
    bValue = (u8)(value/temp);
    text[i] = (char)(bValue+0x30);
    
    value %= temp;
    temp /= 10;                
  }    
  return(text);
}


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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲第一二三四区| 精品成人免费观看| 97se亚洲国产综合自在线观| 久久99精品国产麻豆婷婷洗澡| 一区av在线播放| 亚洲视频一区二区在线观看| 中文字幕亚洲成人| 中文字幕久久午夜不卡| 国产精品久久午夜| 亚洲欧美日韩小说| 亚洲一区二区三区中文字幕| 一区二区三区免费| 天天影视涩香欲综合网| 丝瓜av网站精品一区二区| 日韩高清国产一区在线| 捆绑调教一区二区三区| 国产一区二区精品久久| 国产精品一区二区三区网站| 成人福利视频网站| 91精品办公室少妇高潮对白| 精品精品欲导航| 精品国产一二三| 国产欧美日韩另类一区| 亚洲欧美综合在线精品| 午夜久久久久久电影| 六月丁香综合在线视频| 国产91露脸合集magnet| 色8久久精品久久久久久蜜| 777久久久精品| 久久综合久久综合久久| 中文字幕亚洲一区二区av在线| 亚洲高清视频在线| 极品尤物av久久免费看| av电影天堂一区二区在线| 欧美精品日韩综合在线| 久久久青草青青国产亚洲免观| 国产精品久久久久久久久搜平片 | 日韩不卡一二三区| 美美哒免费高清在线观看视频一区二区 | 国产精品乱码妇女bbbb| 亚洲欧美激情在线| 久久不见久久见免费视频1| 不卡一卡二卡三乱码免费网站 | 一区二区三区四区激情| 人人精品人人爱| 成年人国产精品| 日韩精品专区在线影院观看| 亚洲精品自拍动漫在线| 国内精品久久久久影院一蜜桃| 91香蕉视频在线| 久久久久久久久免费| 亚洲6080在线| 色婷婷综合五月| 日本一区二区三级电影在线观看| 亚洲国产精品久久久久秋霞影院| 成人在线视频一区| 精品欧美乱码久久久久久1区2区| 亚洲一区二区三区自拍| 97aⅴ精品视频一二三区| 26uuu久久天堂性欧美| 日韩和的一区二区| 欧美综合色免费| 亚洲视频在线一区观看| 国产iv一区二区三区| 久久综合中文字幕| 蜜臀精品一区二区三区在线观看| 欧美亚日韩国产aⅴ精品中极品| 欧美激情一区二区三区全黄| 国产毛片精品一区| 日韩久久久精品| 免费成人在线观看| 91精品国产91久久久久久最新毛片| 一区二区三区四区不卡视频 | 99天天综合性| 久久精品男人的天堂| 另类小说综合欧美亚洲| 日韩欧美你懂的| 日本不卡123| 欧美一区二区成人6969| 青青草国产成人99久久| 在线播放国产精品二区一二区四区| 亚洲第一电影网| 欧美丰满嫩嫩电影| 免费成人你懂的| 日韩欧美亚洲国产精品字幕久久久| 蜜桃一区二区三区四区| 亚洲精品一线二线三线 | 久久综合一区二区| 国产精品一二一区| 国产欧美一区二区精品性色超碰 | 波波电影院一区二区三区| 中文字幕一区二区在线播放| 99精品国产视频| 一区二区国产视频| 欧美一区二区成人6969| 国产激情91久久精品导航| 国产日韩视频一区二区三区| 粉嫩久久99精品久久久久久夜| 亚洲欧洲美洲综合色网| 欧美中文字幕亚洲一区二区va在线| 亚洲成a人片在线观看中文| 欧美日本在线看| 极品少妇xxxx偷拍精品少妇| 国产免费久久精品| 99久久99久久久精品齐齐| 午夜一区二区三区视频| 欧美成人一区二区| 成人三级伦理片| 亚洲一区二区三区在线播放| 亚洲精品一区二区三区香蕉| 国产高清亚洲一区| 91亚洲国产成人精品一区二区三| 亚洲一区二区三区视频在线 | 国产欧美精品区一区二区三区| 99久久久无码国产精品| 日本美女一区二区三区| 国产精品视频一二| 欧美麻豆精品久久久久久| 国产精品中文有码| 无码av中文一区二区三区桃花岛| 亚洲精品一区二区三区影院| 在线视频综合导航| 国产一区 二区| 亚洲色图19p| 精品日本一线二线三线不卡| 一本久久精品一区二区| 久久99久久久欧美国产| 亚洲国产精品av| 日韩精品资源二区在线| 一本一道久久a久久精品综合蜜臀| 日本视频免费一区| 国产精品嫩草99a| 日韩一区二区影院| 欧日韩精品视频| 国产精品自拍在线| 日本美女视频一区二区| 亚洲欧美日韩久久| 中文字幕乱码亚洲精品一区| 日韩精品一区二区三区swag| 欧美在线观看视频在线| 99re视频这里只有精品| 国产精品亚洲专一区二区三区 | 精品一区二区久久久| 亚洲va国产天堂va久久en| 中文字幕中文字幕一区| 国产日韩视频一区二区三区| 精品国产乱码久久久久久免费 | 久久国产婷婷国产香蕉| 亚洲成av人片| 亚洲欧美日韩精品久久久久| 久久久久国产精品麻豆| 日韩午夜av一区| 日韩一区二区在线播放| 欧美精品在线视频| 欧美精品乱码久久久久久| 欧美日韩二区三区| 欧美日韩久久一区二区| 欧美人xxxx| 7777精品伊人久久久大香线蕉经典版下载 | 三级在线观看一区二区 | 日韩欧美不卡一区| 日韩一区二区三区免费观看 | 日韩中文字幕亚洲一区二区va在线| 亚洲人成网站色在线观看| 中文字幕亚洲区| 亚洲女同一区二区| 亚洲美女偷拍久久| 亚洲成人资源网| 青草av.久久免费一区| 国产麻豆精品在线| 成人网在线免费视频| 99精品视频免费在线观看| 99国产麻豆精品| 欧洲另类一二三四区| 717成人午夜免费福利电影| 日韩精品中文字幕一区二区三区| 日韩一区二区三区视频| 国产女同性恋一区二区| 亚洲欧美另类小说| 日韩一区欧美二区| 国产一区在线观看麻豆| 91丨porny丨最新| 欧洲日韩一区二区三区| 69精品人人人人| 久久美女艺术照精彩视频福利播放| 中文字幕精品一区二区三区精品| 国产精品久久久久久久久免费相片 | 91精品国产入口| 精品成人一区二区| **欧美大码日韩| 午夜精品一区在线观看| 狠狠色狠狠色综合日日91app| 国产成人福利片| 欧美日韩在线播放| 久久网站最新地址| 亚洲成av人片一区二区| 国产成人精品影视| 欧美一区二区三区影视| 国产精品电影一区二区| 麻豆精品在线看|