新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > t6963c驅動程序-驅動代碼

        t6963c驅動程序-驅動代碼

        作者: 時間:2012-04-25 來源:網(wǎng)絡 收藏
        px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 20px; WORD-SPACING: 0px; FONT: 14px/24px 宋體, arial; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 3em; PADDING-TOP: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">for(i=0;iColumnWidth;i++)
        {

        OutPortCom3( (unsigned char)(StartAddr), (unsigned char)(StartAddr>>8), 0x24); //set address
        for(j=0;jLineWidth;j++)
        {
        OutPortCom2( CBYTE[address + i*LineWidth+ j ], 0xc0);
        }
        StartAddr=StartAddr + LineChar;
        }
        }

        ///////////////////////////////////////////////////////////////////////////////////
        /////////////////////////////////////////////////////////////////////////////
        //圖形函數(shù),用于描點畫圖
        //---------------------------------------------------------------------------
        //在指定位置顯示一個點
        //如果顯示屏超過了256*256,請修改這個函數(shù) PointX,PointY的類型
        //Mode 1:顯示 0:清除該點
        Pixel(unsigned char PointX,unsigned char PointY, bit Mode)
        {
        unsigned int StartAddr=0;
        unsigned char dat;

        StartAddr=PointX*LineChar + PointY/8;
        dat=0xf0+7-PointY%8;
        if(Mode) dat=dat 0x08;

        OutPortCom3( (unsigned char)(StartAddr),(unsigned char)(StartAddr>>8),0x24 ); //設置該點所在單元地址
        OutPortCom1(dat);
        }

        //-------------------------------------------------------------------------------
        //劃線函數(shù)
        void Line( unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2, bit Mode)
        {
        unsigned char x,y;
        double k,b;

        if( abs(y1-y2) = abs(x1-x2) ) // k =1
        {
        k=(float)(y2-y1) / (float)(x2-x1) ;
        b=y1-k*x1;

        if( x1 = x2 )
        {
        for(x=x1;x=x2;x++)
        {
        y=k*x+b;
        Pixel(x, y, Mode);
        }
        }
        else
        {
        for(x=x2;x=x1;x++)
        { y=k*x+b;
        Pixel(x, y, Mode);
        }
        }
        }
        else // abs(y1-y2) > abs(x1-x2) K >1
        {
        k=(float)(x2-x1) / (float)(y2-y1) ;
        b=x1-k*y1;

        if( y1 = y2 )
        {
        for(y=y1;y=y2;y++)
        { x=k*y+b;
        Pixel( x , y,Mode );
        }
        }
        else
        {
        for(y=y2;y=y1;y++)
        { x=k*y+b;
        Pixel( x , y,Mode );
        }
        }
        }
        }

        /*--------------------------------------------------------------------------------------*/
        void ClearScreen()
        {

        unsigned int i;
        ///////// 清顯示 RAM 區(qū) 0000h--2000h (8k)
        OutPortCom3(0x00,0x00,0x24); //設置指針地址0000H

        OutPortCom1(0xb0); //設置自動寫狀態(tài)
        for(i=0x00;i0x2000;i++) OutPortData(0x00); // data=0;
        OutPortCom1(0xb2); // 自動寫結束
        }

        //初始化LCD
        //需要手動設置
        void InitLCD()
        {
        OutPortCom3( 0x00,0x00,0x42 ); //設置圖形顯示區(qū)域首地址GraphAddr
        OutPortCom3( 30,0x00,0x43 ); //設置圖形顯示區(qū)域寬度 : LineChar

        // OutPortCom3( 0x00,0x00,0x42 ); //設置圖形顯示區(qū)域首地址GraphAddr
        // OutPortCom3( 0x10,0x00,0x43); //設置圖形顯示區(qū)域寬度:10H

        OutPortCom1(0xa7); //設置光標形狀 cursor size 8x8
        OutPortCom1(0x80); //設置顯示方式: CGROM方式 文本圖形 "或"
        OutPortCom1(0x98); //設置顯示開關: 1001 1100 圖形

        ClearScreen();
        }

        T6963C 引腳說明
        T6963C 的QFD 封裝共有67 個引腳,各引腳說明如下:
        1、D0-D7:T6963C 與MPU 接口的數(shù)據(jù)總線,三態(tài)。

        c語言相關文章:c語言教程




        關鍵詞: t6963c 驅動程序 驅動代碼

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 九江县| 娄底市| 和田市| 康保县| 苗栗市| 南木林县| 双流县| 滦南县| 高州市| 布尔津县| 通州市| 肥东县| 阳信县| 会昌县| 邹城市| 永顺县| 韶山市| 婺源县| 浙江省| 牙克石市| 海丰县| 霍邱县| 海门市| 澄城县| 祥云县| 会昌县| 鄂伦春自治旗| 华宁县| 泰和县| 固安县| 蕉岭县| 南汇区| 栾城县| 北海市| 耿马| 怀化市| 香格里拉县| 山东省| 武汉市| 玉门市| 哈密市|