您当前的位置:五五电子网电子知识单片机-工控设备51单片机PCF8563时钟+AT24C02+LCD12864显示时钟程序 正文
PCF8563时钟+AT24C02+LCD12864显示时钟程序

PCF8563时钟+AT24C02+LCD12864显示时钟程序

点击数:7467 次   录入时间:03-04 11:59:53   整理:http://www.55dianzi.com   51单片机
    CS1=1;CS2=0;
    lcdwrite_cmd(0xc0);
    lcddispon();
}

        
/*在指定的行列上显示12点阵的汉字*/        

void HZ12disp(Uchar Nowrow,Uchar Nowcol,Uchar CHplace)
{
    Uchar i,tmp1,tmp2,k=12;
    Uint j;
    j = (CHplace-1)*24;
    if((Nowrow%2)==0)            //
    {
        switch(Nowrow)
        {
            case 0: i=0;break;
            case 2: i=3;break;
            default: i=6;
        }
        while(k!=0)
        {
            if(Nowcol<0x40)
                {CS1=0;CS2=1;}
            else
            {    if(Nowcol<0x80)
                {CS1=1;CS2=0;}
                else
                {break;}
            }
            lcdwrite_cmd(i|0xb8);
            lcdwrite_cmd(Nowcol|0x40);
            lcdwrite_dat(Hzk12[j]);
            lcd_busy();
            lcdwrite_cmd((i+1)|0xb8);    //到下一页
            lcdwrite_cmd(Nowcol|0x40);
            tmp1 = lcdread_dat();
            lcdwrite_cmd(Nowcol|0x40);
            lcdwrite_dat((Hzk12[j+12]&0x0f)|(tmp1&0xf0));
            j++;
            Nowcol++;
            k--;
        }
    }
    else
    {
        switch(Nowrow)
        {
            case 1: i=1;break;
            default: i=4;
        }
        while(k!=0)
        {
            if(Nowcol<0x40)
            {CS1=0;CS2=1;}
            else
            {
                if(Nowcol<0x80)
                {CS1=1;CS2=0;}
                else
                {break;}
            }
            lcdwrite_cmd(i|0xb8);
            lcdwrite_cmd(Nowcol|0x40);
            tmp1=lcdread_dat();
            tmp1=tmp1&0x0f;
            tmp1=(Hzk12[j]<<4)|tmp1;
            tmp2=(Hzk12[j+12]<<4)|(Hzk12[j]>>4);
            lcdwrite_cmd(Nowcol|0x40);
            lcdwrite_dat(tmp1);
            lcd_busy();
            lcdwrite_cmd((i+1)|0xb8);
            lcdwrite_cmd(Nowcol|0x40);
            lcdwrite_dat(tmp2);
            j++;
            Nowcol++;
            k--;
        }
    }            
}
//6*12点阵的ASC码显示程序
void ASC12disp(Uchar Nowrow,Uchar Nowcol,Uchar ASCplace)
{
    Uchar i,tmp1,tmp2,k=6;
    Uint j;
    j = ASCplace*12;
    if((Nowrow%2)==0)            //
    {
        switch(Nowrow)
        {
            case 0: i=0;break;
            case 2: i=3;break;
            default: i=6;
        }
        while(k!=0)
        {
            if(Nowcol<0x40)
                {CS1=0;CS2=1;}
            else
            {    if(Nowcol<0x80)

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]  下一页


本文关键字:程序  51单片机单片机-工控设备 - 51单片机