1602这种乱码情况有人遇到过吗,请看图片

2020-01-30 13:34发布

IMG_20130322_213649.jpg (1.16 MB, 下载次数: 0) 下载附件 2013-3-22 21:41 上传
请看第一行的最后两个字符,倒数第二个还查不到啊

//在1602上显示日期时间函数
void Time_Disp(unsigned char * date ,unsigned char * time)
{
        //LCD_send_command(0x01);         //清屏
        //年
          LCD_write_char(0,0,'2');
        LCD_write_char(0,1,'0');
        LCD_write_char(0,2,date[0]/10+0x30);
        LCD_write_char(0,3,date[0]%10+0x30);
        LCD_write_char(0,4,'-');
        //月
        LCD_write_char(0,5,date[1]/10+0x30);
        LCD_write_char(0,6,date[1]%10+0x30);
        LCD_write_char(0,7,'-');
        //日
        LCD_write_char(0,8,date[2]/10+0x30);
        LCD_write_char(0,9,date[2]%10+0x30);
        LCD_write_char(0,10,' ');
        //时
        LCD_write_char(0,11,time[1]/10+0x30);
        LCD_write_char(0,12,time[1]%10+0x30);
        LCD_write_char(0,13,':');
        //分
        LCD_write_char(0,14,time[0]/10+0x30);
        LCD_write_char(0,15,time[0]%10+0x30);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
22条回答
catshit_one
2020-02-01 08:40
sufeila 发表于 2013-3-23 09:13
//分

time[0]=time[0]%60----------------------------------------------------------增加

经过指点,加上些限制,现在不是乱码了,但不是正常时间数据;

当然加上这些限制是一个好习惯,学习了
还是1302读出数据的问题,把STC单片机降为12T模式也不行
最后用下面这个办法算是解决了,虽然很无语,虽然还是不知道什么原因,求指导

/*从DS302读出时钟数据*/
void ds1302_read_time(uchar *buf)  
{
               uchar i;
                uchar time_buf[9];
        time_buf[1]=ds1302_read_byte(ds1302_year_add);                //年
        time_buf[2]=ds1302_read_byte(ds1302_month_add);                //月
        time_buf[3]=ds1302_read_byte(ds1302_date_add);                //日
        time_buf[4]=ds1302_read_byte(ds1302_hr_add);                //时
        time_buf[5]=ds1302_read_byte(ds1302_min_add);                //分
        time_buf[6]=ds1302_read_byte(ds1302_sec_add);//秒
        time_buf[7]=ds1302_read_byte(ds1302_day_add);                //周
        time_buf[4]=ds1302_read_byte(ds1302_hr_add);                //时
        time_buf[5]=ds1302_read_byte(ds1302_min_add);                //分
                time_buf[5]=ds1302_read_byte(ds1302_min_add);                //分
                        time_buf[5]=ds1302_read_byte(ds1302_min_add);                //分
                                time_buf[5]=ds1302_read_byte(ds1302_min_add);                //分
        time_buf[6]=ds1302_read_byte(ds1302_sec_add);//秒
                time_buf[4]=ds1302_read_byte(ds1302_hr_add);                //时
                        time_buf[4]=ds1302_read_byte(ds1302_hr_add);                //时
                                time_buf[4]=ds1302_read_byte(ds1302_hr_add);                //时
        time_buf[7]=ds1302_read_byte(ds1302_day_add);                //周

        for(i=0;i<8;i++)
        {           //BCD处理
                buf=BCDtoi(time_buf);
        }
}

一周热门 更多>