在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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è)計應(yīng)用 > 51單片機_1602液晶自定義心形圖案

            51單片機_1602液晶自定義心形圖案

            作者: 時間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
            # include

            unsigned char table1[]={0x03,0x07,0x0f,0x1f,0x1f,0x1f,0x1f,0x1f,
            0x18,0x1E,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,
            0x07,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,
            0x10,0x18,0x1c,0x1E,0x1E,0x1E,0x1E,0x1E,
            0x0f,0x07,0x03,0x01,0x00,0x00,0x00,0x00,
            0x1f,0x1f,0x1f,0x1f,0x1f,0x0f,0x07,0x01,
            0x1f,0x1f,0x1f,0x1f,0x1f,0x1c,0x18,0x00,
            0x1c,0x18,0x10,0x00,0x00,0x00,0x00,0x00};//心圖案
            #define CLEARSCREEN LCD_write_command(0x01)

            本文引用地址:http://www.biyoush.com/article/201611/323849.htm

            /**************定義接口************************/

            #define LCDIO P0
            sbit LCD1602_RS=P2^2;
            sbit LCD1602_RW=P2^1;
            sbit LCD1602_EN=P2^0;

            /**************定義函數(shù)************************/
            void LCD_write_command(unsigned char command);//寫入指令函數(shù)
            void LCD_write_dat(unsigned char dat);//寫入數(shù)據(jù)函數(shù)
            void LCD_set_xy( unsigned char x, unsigned char y );//設(shè)置顯示位置函數(shù)
            void LCD_dsp_char( unsigned x,unsigned char y,unsigned char dat);//顯示一個字符函數(shù)
            void LCD_dsp_string(unsigned char X,unsigned char Y,unsigned char *s);//顯示字符串函數(shù)
            void LCD_init(void);//初始化函數(shù)
            void delay_nms(unsigned int n);//延時函數(shù)
            /********************************************/

            /************初始化函數(shù)****************/
            void LCD_init(void)
            {
            CLEARSCREEN;//clear screen
            LCD_write_command(0x38);//set 8 bit data transmission mode
            LCD_write_command(0x0c);//open display (enable lcd display)
            LCD_write_command(0x80);//set lcd first display address
            CLEARSCREEN;//clear screen
            }
            /****************************************************/

            /**************寫指令函數(shù)********************************/
            void LCD_write_command(unsigned char command)
            {
            LCDIO=command;
            LCD1602_RS=0;
            LCD1602_RW=0;
            LCD1602_EN=0;
            LCD1602_EN=1;
            delay_nms(10);
            }
            /***************************************************/
            /****************寫數(shù)據(jù)函數(shù)************************/
            void LCD_write_dat(unsigned char dat)
            {
            LCDIO=dat;
            LCD1602_RS=1;
            LCD1602_RW=0;
            LCD1602_EN=0;
            delay_nms(1);
            LCD1602_EN=1;
            }
            /****************************************************/

            /***************設(shè)置顯示位置**************************/
            void LCD_set_xy( unsigned char x, unsigned char y )
            {
            unsigned char address;
            if (y == 1)
            address = 0x80 + x;
            else
            address =0xc0+ x;
            LCD_write_command(address);
            }
            /***************************************************/

            /****************顯示一個字符**********************/
            void LCD_dsp_char( unsigned x,unsigned char y,unsigned char dat)
            {
            LCD_set_xy( x, y );
            LCD_write_dat(dat);
            }
            /**********************************************/

            /***************顯示字符串函數(shù)***************/
            void LCD_dsp_string(unsigned char X,unsigned char Y,unsigned char *s)
            {
            LCD_set_xy( X, Y );
            while (*s)
            {
            LCD_write_dat(*s);
            s ++;
            }
            }
            /***********************************************/

            /********** 延時**********************/
            void delay_nms(unsigned int n)
            {
            unsigned int i=0,j=0;
            for (i=n;i>0;i--)
            for (j=0;j<10;j++);
            }
            /**************************************/

            /***********主函數(shù)**************/
            void main(void)
            {
            unsigned char i,j,k,tmp;
            LCD_init();
            delay_nms(100);
            tmp=0x40;//設(shè)置CGRAM地址的格式字
            k=0;
            for(j=0;j<8;j++)
            {
            for(i=0;i<8;i++)
            {
            LCD_write_command(tmp+i); // 設(shè)置自定義字符的 CGRAM 地址
            delay_nms(2);
            LCD_write_dat(table1[k]); // 向CGRAM寫入自定義字符表的數(shù)據(jù)
            k++;
            delay_nms(2);
            }
            tmp=tmp+8;
            }
            LCD_dsp_string(1,1,"heart: ");//在第一行第一列顯示“heart”
            for (i=0;i<4;i++)
            {
            LCD_dsp_char( 10+i,1,i);//在第一行第10列位置顯示心圖案的上半部
            delay_nms(1);
            }
            for (i=4;i<8;i++)
            {
            LCD_dsp_char( 10+i-4,2,i);//在第二行第10列位置顯示心圖案的下半部
            delay_nms(1);
            }
            while (1);
            }
            /************************ 感謝陳青華老師的幫助********************************************/



            關(guān)鍵詞: 51單片機1602液晶心形圖

            評論


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

            關(guān)閉