在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM8L探索套件學(xué)習(xí)筆記-LCD液晶顯示(三)

            STM8L探索套件學(xué)習(xí)筆記-LCD液晶顯示(三)

            作者: 時(shí)間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
            學(xué)習(xí)板上帶有字符型LCD顯示,特點(diǎn)是24段4位,驅(qū)動(dòng)方式是復(fù)用1/4占空比,1/3基準(zhǔn),工作電壓3V,如下圖所示

            我們先分析下官方給的范例關(guān)于LCD的驅(qū)動(dòng)函數(shù)
            void LCD_GLASS_Init(void)//使能LCD時(shí)鐘,并設(shè)置相應(yīng)參數(shù)
            void LCD_contrast()//通過按鍵調(diào)節(jié)對(duì)比度
            void LCD_bar()//將bar值寫道LCD緩存中
            static void LCD_Conv_Char_Seg(uint8_t* c,bool point,bool column, uint8_t* digit)//將ASCII碼轉(zhuǎn)換為LCD顯示,第一個(gè)參數(shù)是要顯示的字符比如‘c’,第二個(gè)參數(shù)是設(shè)置POINT是否顯示,第三個(gè)參數(shù)是設(shè)置COLUMN是否顯示,第四個(gè)參數(shù)不是很懂
            void LCD_GLASS_WriteChar(uint8_t* ch, bool point, bool column, uint8_t position)//將字符寫入LCD緩存,和上面參數(shù)大體一致
            void LCD_GLASS_DisplayString(uint8_t* ptr)//顯示字符串,最大只能顯示7個(gè),范例:LCD_GLASS_DisplayString("Error");
            void LCD_GLASS_DisplayStrDeci(uint16_t* ptr)//能夠顯示有小數(shù)點(diǎn)的字符串
            void LCD_GLASS_Clear(void)//清除LCD緩沖區(qū)
            void LCD_GLASS_ScrollSentence(uint8_t* ptr, uint16_t nScroll, uint16_t ScrollSpeed)//字符串句子移動(dòng)模式顯示,使用前需要清除LCD緩沖區(qū),第一個(gè)參數(shù)是顯示的字符串,第二個(gè)參數(shù)是顯示幾次,第三個(gè)是速度,單位是毫秒,范例:LCD_GLASS_ScrollSentence("** STM8L-DISCOVERY **",1,SCROLL_SPEED);
            還有一些常用字符聲明,比如A-Z,0-9,一些其他特殊字符比如:
            /* code for ? character */
            #define C_UMAP 0x6081

            /* code for m character */
            #define C_mMap 0xb210

            /* code for n character */
            #define C_nMap 0x2210

            /* constant code for * character */
            #define star 0xA0D7

            /* constant code for - character */
            #define C_minus 0xA000

            #define DOT 0x8000 /* for add decimal point in string */也就是小數(shù)點(diǎn).
            #define DOUBLE_DOT 0x4000 /* for add decimal point in string */冒號(hào)

            /* Macros used for set/reset bar LCD bar */四個(gè)BAR宏定義
            #define BAR0_ONt_bar[0] |= 0x80
            #define BAR0_OFF t_bar[0] &= ~0x80
            #define BAR1_ONt_bar[1] |= 0x08
            #define BAR1_OFF t_bar[1] &= ~0x08
            #define BAR2_ONt_bar[0] |= 0x20
            #define BAR2_OFF t_bar[0] &= ~0x20
            #define BAR3_ON t_bar[1] |= 0x02
            #define BAR3_OFF t_bar[1] &= ~0x02

            我們編寫下面一個(gè)LCD測(cè)試函數(shù)
            void main(void)
            {
            uint16_t tab1[3],tab2[5];
            /*初始化*/
            LCD_GLASS_Init();
            //滾動(dòng)顯示字符串
            LCD_GLASS_ScrollSentence("**STM8L LCD TEST** EEFOCUS",1,100);
            //顯示小數(shù)
            delay_ms(0XFFF);
            //LCD_GLASS_Clear();
            BAR0_ON;
            tab1[0]=1;
            tab1[0] |= DOT;
            tab1[1]=2;
            tab1[2]=V;
            LCD_GLASS_DisplayStrDeci(tab1);
            //顯示:
            delay_ms(0XFFFF);
            //LCD_GLASS_Clear();
            BAR1_ON;
            tab2[0]=1;
            tab2[1]=7;
            tab2[1] |= DOUBLE_DOT;
            tab2[2]=0;
            tab2[3]=2;
            tab2[4]= ;
            LCD_GLASS_DisplayStrDeci(tab2);
            while (1)
            {
            }

            }


            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉