新聞中心

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

        t6963c驅動程序-驅動代碼

        作者: 時間:2012-04-25 來源:網絡 收藏
        ; 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">StartAddr=lin*LineChar + column; //定位起始行

        for(i=0;i16;i++)
        {
        OutPortCom3( (unsigned char)(StartAddr), (unsigned char)(StartAddr>>8), 0x24);
        OutPortCom2( HZTable[hzcode][i*2], 0xc0); //左半部 地址加一
        OutPortCom2( HZTable[hzcode][i*2+1], 0xc4); //右半部 字模地址加一

        StartAddr=StartAddr + LineChar;
        }
        }
        /////////////////////////////////////////////////////////////////////////////////////////////
        //顯示一個漢字(16*16點陣)
        //lin:行(0-7), column: 列(0-7)
        //hzcode: 漢字代碼(自定義的)
        void ShowHZD(unsigned char lin,unsigned char column,unsigned int hzcode)
        {
        unsigned char i,j;
        unsigned int StartAddr;

        StartAddr=lin*LineChar*16 +column; //定位起始行

        for(i=0;i35;i++)
        {
        OutPortCom3( (unsigned char)(StartAddr), (unsigned char)(StartAddr>>8), 0x24); //定位當前操作位置
        for(j=0;j5;j++) OutPortCom2( HZTable[hzcode][i*5+j], 0xc0); //顯示當前一行

        StartAddr=StartAddr + LineChar;
        }
        }

        ////////////////////////////////////////////////////////////////////////////////////////////
        /*-----------------------------------------------------------------------------------*/
        //顯示一行字符串(漢字,字母混排,一行16字節)
        //lin:行
        //lineheadaddr: 此行漢字代碼區首地址
        void ShowLine(unsigned char lin,unsigned char column,unsigned char linehead[])
        {
        unsigned char i,j;
        unsigned char byte;
        unsigned int hzcode;

        for( i= column,j=0; i column+14 ; )
        { byte=linehead[j];
        if(byte 0x80) //字母
        {
        ShowChar(lin, i , byte);
        i=i+1;j=j+1;
        }
        else // byte >= 0x80(漢字)
        {
        byte=byte 0x7f; //最高位置0,即:減去0x8000
        hzcode=byte*256 + linehead[j+1]; //加低8位,組合成整型數地址
        ShowHZ( lin,i,hzcode);
        i=i+2;j=j+2;
        }
        }
        }

        /*-----------------------------------------------------------------------------------*/
        //顯示一屏漢字
        //pageheadaddr:此屏漢字代碼地址區首地址
        void ShowPage(unsigned char lin,unsigned char column1,unsigned char pagehead[][14])
        {
        unsigned char i;
        for(i=0;i 4 ;i++)
        ShowLine((lin+i*20),column1,pagehead[i]); //1行8個漢字,16字節
        }

        /*----------------------------------------------------------------------------------------------------*/
        //反顯一個字符
        //lin:行(0-7), column: 列(0-15)
        void ReverseShowChar(unsigned char lin,unsigned char column)
        {
        unsigned char i;
        unsigned char dat;
        unsigned int StartAddr;

        StartAddr=lin*LineChar +column; //定位起始行

        for(i=0;i16;i++)
        {
        OutPortCom3( (unsigned char)(StartAddr), (unsigned char)(StartAddr>>8), 0x24); //set address
        OutPortCom1( 0xc5 ); //數據一次讀,地址不變
        dat=InPortData(); //讀入數據
        dat=~dat; //取反
        OutPortCom2( dat, 0xc4); //送回

        StartAddr=StartAddr+ LineChar;
        }
        }


        /*----------------------------------------------------------------------------------------------------*/
        //反顯一個漢字
        //lin:行(0-7), column: 列(0-15)
        void ReverseShowHZ(unsigned char lin,unsigned char column)
        {
        ReverseShowChar(lin,column);
        ReverseShowChar(lin,column+1);
        }
        /*----------------------------------------------------------------------------------------------------*/
        //反顯一行漢字
        //lin:行(0-7)
        void ReverseShowLine(unsigned char lin)
        {
        unsigned char column;
        for(column=0; column ColumnChar; column++) ReverseShowChar(lin,column);
        }


        //////////////////////////////////////////////////////////////////////////////////////
        void ShowPicture(unsigned char Startline,unsigned char Startcolumn,unsigned char LineWidth,unsigned char ColumnWidth,unsigned int address)
        {
        unsigned char i,j;
        unsigned int StartAddr;

        StartAddr=Startline*LineChar + Startcolumn; //定位起始位置

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




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

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平邑县| 同心县| 翁牛特旗| 湟源县| 贡嘎县| 新蔡县| 盱眙县| 内黄县| 清水县| 揭东县| 锡林郭勒盟| 永靖县| 木里| 慈利县| 江安县| 高台县| 平顺县| 克什克腾旗| 永嘉县| 门头沟区| 内乡县| 涡阳县| 南平市| 北票市| 夏河县| 荥阳市| 阳新县| 清河县| 韩城市| 思茅市| 湖州市| 略阳县| 涟水县| 江陵县| 小金县| 玛多县| 西藏| 沁阳市| 邵阳市| 枣强县| 上栗县|