在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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) > 設計應用 > 單片機LCD實驗1

            單片機LCD實驗1

            作者: 時間:2016-11-21 來源:網絡 收藏
            代碼如下:
            //filename:global.h
            #include
            //#include
            //#include
            #define uchar unsigned char
            #define uint unsigned int
            //filename:T6963C.H
            #define DATA_PORT P0
            //-------------------------------------------
            // 管腳定義
            //------------------------------------------
            sbit CD=P2^0; //數(shù)據(jù)(L)/命令(H)選擇
            sbit WRIT=P2^1; //寫,低電平有效
            sbit CE=P2^2; //使能,低電平有效
            //===========================================
            // 函數(shù)聲明
            //-------------------------------------------
            void delay_lcd(char);
            void write_data(char);
            void write_text(char);
            void write_com(char);
            void clr_lcd(char,char,int);
            void lcd_init_graph();
            void lcd_init_text();
            void text_out(char a);
            int asc2lcd(int asc);
            //--------------------------------------------
            // 寫數(shù)據(jù)函數(shù)
            //--------------------------------------------
            void write_data(char dat){
            CD=0; //數(shù)據(jù)
            CE=0; //LCD使能
            WRIT=0; //寫
            DATA_PORT=dat; //把數(shù)據(jù)送到P口
            delay_lcd(1); //當晶振較高時加延時
            WRIT=1; //關寫
            CE=1; //關使能
            }
            //--------------------------------------------
            // 寫數(shù)據(jù)函數(shù)
            //--------------------------------------------
            void write_text(char text){
            CD=0; //數(shù)據(jù)
            CE=0; //LCD使能
            WRIT=0; //寫
            DATA_PORT=text; //把數(shù)據(jù)送到P口
            delay_lcd(1); //當晶振較高時加延時
            WRIT=1; //關寫
            CE=1; //關使能
            }
            //--------------------------------------------
            // 寫命令函數(shù)
            //--------------------------------------------
            void write_com(char com){
            CD=1; //命令
            CE=0;
            WRIT=0;
            DATA_PORT=com;
            delay_lcd(1); //當晶振較高時加延時
            WRIT=1;
            CE=1;
            }
            void clr_lcd(char x,char y,int length){
            int i,place;
            place=x*30+y;
            write_data(place&0xff);
            write_data(place/256);
            write_com(0x24); //設置
            for(i=0;i
            write_data(0xff); //寫入空格,清屏
            write_com(0xb2); //關閉自動寫
            }
            //--------------------------------------------
            // LM4229初始化函數(shù)
            //--------------------------------------------
            void lcd_init_graph(){
            write_data(0); //圖形首地址
            write_data(0);
            write_com(0x42); //圖形首地址設置
            write_data(30);
            write_data(0);
            write_com(0x43); //圖形區(qū)域設置
            write_com(0x80); //設置為OR模式
            write_com(0x98); //關閉文本顯示,開圖形顯示
            }
            //--------------------------------------------
            // LM4229初始化函數(shù)
            //--------------------------------------------
            void lcd_init_text(){
            write_data(0);
            write_data(0);
            write_com(0x40); //set text home address
            write_data(30);
            write_data(0);
            write_com(0x41); //set text area;
            write_com(0x84); //text attribute mode
            write_com(0x94); //text on graphic off
            }
            void cursor_on(){
            write_com(0xA0);
            write_com(0x93);
            write_com(0x94); //text on graphic off
            }
            void print_text(char x,char y,char a){
            int place;
            place=x*30+y;
            write_data(place&0xff); //寫地址低8位
            write_data(place/256); //寫地址高8位
            write_com(0x24); //設置地址
            write_com(0xb0); //設置數(shù)據(jù)自動寫
            write_text(a);
            write_com(0xb2); //自動復位
            }
            void text_out(char a){
            write_com(0xb0); //設置數(shù)據(jù)自動寫
            write_text(a);
            write_com(0xb2); //自動復位
            }
            void text_location(int place){
            write_data(place&0xff); //寫地址低8位
            write_data(place/256); //寫地址高8位
            write_com(0x24); //設置地址
            }
            void print_string(char* str){
            int i;
            int ch;
            for(i=0;str[i]!=0;i++)
            {
            ch=asc2lcd(str[i]);
            text_out(ch);
            }
            }
            //--------------------------------------------
            // 延時函數(shù)
            //--------------------------------------------
            void delay_lcd(uchar t){
            for(;t!=0; t--);
            }
            //===================================================
            int asc2lcd(int asc){
            uint r;
            r=asc-32;
            return r;
            }
            //latest revise:2010-2-11
            //by:alex shoal
            main(){
            int place=5;
            char ch=0x00;
            lcd_init_text();
            text_location(place);
            print_string("Hello,china! ");
            while(1);
            }



            關鍵詞: 單片機LCD實

            評論


            技術專區(qū)

            關閉