新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AM12864測試C語言程序

        AM12864測試C語言程序

        作者: 時間:2013-01-15 來源:網絡 收藏

        /*------------------延時子程序-----------------------------*/
        void delay(unsigned int t)
        {
        unsigned int i,j;
        for(i=0;it;i++) ;
        for(j=0;j10;j++) ;
        }
        /*------------------寫命令到LCD------------------------------*/
        void write_com(unsigned char cmdcode)
        {
        do{delay(0);}while(P0^7==1);
        Di=0;
        RW=0;
        Lcd_Bus=cmdcode;
        delay(0); //原來是delay(0)
        Enable=1;
        delay(0);
        Enable=0;

        }
        /*-------------------寫數據到LCD----------------------------*/
        void write_data(unsigned char Dispdata)
        { do{delay(10);}while(P0^7==1);
        Di=1;
        RW=0;
        Lcd_Bus=Dispdata;
        delay(0);
        Enable=1;
        delay(0);
        Enable=0;
        }
        /*-------------------讀LCD數據----------------------------*/
        unsigned char read_data()
        { //do{delay(100);}while(P0^7==1);
        unsigned char tmpin;
        Di=1;
        RW=1;
        delay(0);
        Enable=1;
        delay(0);
        Enable=0;do{delay(100);}while(P0^7==1);
        tmpin=Lcd_Bus;
        return tmpin;
        }
        /*------------------顯示邊框-------------------------------*/
        void frame()
        {
        unsigned char i;
        Mcs=1;
        Scs=1;
        write_com(Page_Add+0);
        write_com(Col_Add+0);
        for(i=0;i64;i++) write_data(0x01);
        write_com(Page_Add+7);
        write_com(Col_Add+0);
        for(i=0;i64;i++) write_data(0x80);
        for(i=0;i8;i++)
        {
        Mcs=0;
        Scs=1;
        write_com(Page_Add+i);
        write_com(Col_Add+63);
        write_data(0x55);
        Mcs=1;
        Scs=0;
        write_com(Page_Add+i);
        write_com(Col_Add+0);
        write_data(0x55);
        }
        }
        /*------------------清除內存程序---------------*/
        void Clr_Scr()
        {
        unsigned char j,k;
        Mcs=1;Scs=1;
        write_com(Page_Add+0);
        write_com(Col_Add+0);
        for(k=0;k8;k++){
        write_com(Page_Add+k);
        for(j=0;j64;j++)write_data(0x00);
        }
        }
        /*------------------顯示12864圖片---------------------------*/
        void Disp_Img(unsigned char code *img)
        {
        unsigned char j,k;
        for(k=0;k8;k++){
        Mcs=1;Scs=0;delay(0);
        write_com(Page_Add+k);
        write_com(Col_Add+0);

        for(j=0;j64;j++) write_data(img[k*128+j]);
        Mcs=0;Scs=1; delay(0);
        write_com(Page_Add+k);
        write_com(Col_Add+0);
        for(j=64;j128;j++) write_data(img[k*128+j]);
        }
        }
        /*------------------顯示橫--------------程序-------------*/
        void Disp_H_Line()
        {
        unsigned char i,j;
        Mcs=1;
        Scs=1;
        write_com(Disp_On);
        write_com(Page_Add);
        write_com(Start_Line);
        write_com(Col_Add);
        for(j=0;j8;j++)
        {
        write_com(Page_Add+j);
        write_com(Col_Add+0);
        // write_com(Start_Line+0);
        for(i=0;i64;i++)write_data(0x00);
        }
        }

        /*------------------顯示列-----------------------------*/
        void Disp_V_Line()
        {
        unsigned char i,j;
        write_com(Disp_On);
        write_com(Page_Add);
        write_com(Start_Line);
        write_com(Col_Add);
        for(j=0;j8;j++)
        {
        write_com(Page_Add+j);
        write_com(Col_Add+0);
        write_com(Start_Line+0);
        for(i=0;i32;i++)
        {
        write_data(0x00);
        write_data(0x55);
        }
        }
        }



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 伊川县| 金山区| 黎川县| 永嘉县| 新建县| 宾阳县| 民县| 剑川县| 定安县| 平南县| 图木舒克市| 左云县| 南皮县| 辽阳县| 邢台市| 昔阳县| 辽宁省| 荣成市| 普安县| 宁化县| 峨边| 旬邑县| 当涂县| 永宁县| 衡东县| 清水河县| 岳池县| 通道| 桂林市| 奎屯市| 上饶县| 若尔盖县| 苍南县| 龙山县| 余庆县| 汉阴县| 边坝县| 石泉县| 曲水县| 岳池县| 益阳市|