新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > t6963c的c51程序

        t6963c的c51程序

        作者: 時間:2012-04-25 來源:網絡 收藏
        了256*256,請修改這個函數 PointX,PointY的類型
        //= Mode 1:顯示 0:清除該點
        **********************************/
        Pixel(unsigned char PointX,unsigned char PointY, bit Mode)
        {
        unsigned int StartAddr;
        unsigned char dat;
        StartAddr=(uint)PointX*30 + PointY/8 + grhome;
        dat=LC_BIT_OP+7-PointY%8; //生產位操作命令畫點的數據
        if(Mode) dat=dat|0x08;
        wr_cmd_2(LC_ADD_POS,StartAddr);//設置該點所在單元地址
        wr_cmd_0(dat); // 利用位操作命令畫點
        }


        /**********************************
        //= 函數原型: void line( unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2, bit Mode)
        //= 功 能: 劃線函數
        //= 參 數: 坐標1,坐標2,顯示點或清除點
        //= 返 回 值:
        //= 函數性質:私有函數
        //= 其它:顯示點陣不超過255*255
        /**********************************/

        void line( unsigned char y1,unsigned char x1, unsigned char y2,unsigned char x2, bit Mode)
        {
        unsigned char x,y;
        float 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=(uchar)(k*x+b);
        Pixel(x, y, Mode);
        }
        }
        else
        {
        for(x=x2;x=x1;x++)
        {
        y=(uchar)(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=(uchar)(k*y+b);
        Pixel( x , y,Mode );
        }
        }
        else
        {
        for(y=y2;y=y1;y++)
        {
        x=(uchar)(k*y+b);
        Pixel( x , y,Mode );
        }
        }
        }
        }

        /**********************************
        //= 函數原型: void ShowChar(uchar row,uchar col,uchar ch)
        //= 功 能: 在指定行列顯示8*16字符
        //= 參 數: 坐標行,坐標列,字符串指針
        //= 返 回 值:
        //= 函數性質:公有函數
        //=其它:所有可顯示字符不超過128個,否則本函數有溢出的可能
        **********************************/
        void showchar(uchar col,uchar row,uchar *chp)
        {
        #define hzp chp
        uchar char_sequence_number;
        uchar ascii_num;
        row/=8;col/=8;
        while (*chp != '

        主站蜘蛛池模板: 苗栗县| 莒南县| 广饶县| 文水县| 青冈县| 和林格尔县| 广丰县| 鄂伦春自治旗| 塔城市| 长葛市| 彭水| 通江县| 五河县| 通海县| 苏尼特右旗| 霍城县| 南京市| 宁德市| 莱阳市| 博爱县| 澄江县| 阳江市| 济源市| 永丰县| 文登市| 庆元县| 苏尼特右旗| 阜康市| 澜沧| 壤塘县| 乐昌市| 集贤县| 衡水市| 彭州市| 进贤县| 澄城县| 新郑市| 行唐县| 平原县| 惠州市| 九龙城区|