久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2437|回復: 1
打印 上一主題 下一主題
收起左側

12864用圖形方式顯示數字有亂碼

[復制鏈接]
跳轉到指定樓層
樓主
本帖最后由 835290448 于 2018-6-12 21:07 編輯

如圖,出現這種亂碼怎么破
#include "reg52.h"          //包含頭文件
#define uchar unsigned char
#define uint  unsigned int

sbit RS=P2^5;    //命令/數據選擇
sbit RW=P2^4;    //讀寫口
sbit  E=P2^3;    //鎖存控制
sbit RES = P2^0; //復位
sbit PSB = P2^2; //串并選擇

extern uchar disp[14];
/******************************************************************************/
//圖片數字方體
/******************************************************************************/
uchar code tab[12][64]={
        {// 圖片數字0
         0x00,0x00,0x3F,0xFC,0x5F,0xFA,0x6F,0xF6,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
         0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x60,0x06,0x40,0x02,0x00,0x00,
         0x40,0x02,0x60,0x06,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
         0x70,0x0E,0x70,0x0E,0x70,0x0E,0x6F,0xF6,0x5F,0xFA,0x3F,0xFC,0x00,0x00,0x00,0x00},
       
        {// 圖片數字1
         0x00,0x00,0x00,0x20,0x00,0x60,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
     0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0x60,0x00,0x20,0x00,0x00,0x00,0x20,
         0x00,0x60,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
         0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0x60,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00},

        {// 圖片數字2
         0x00,0x00,0x3F,0xFC,0x1F,0xFA,0x0F,0xF6,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
         0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x06,0x1F,0xFA,0x3F,0xFC,
         0x5F,0xF8,0x60,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,
         0x70,0x00,0x70,0x00,0x70,0x00,0x6F,0xF8,0x5F,0xFC,0x3F,0xFE,0x00,0x00,0x00,0x00},
       
        {// 圖片數字3
         0x00,0x00,0x7F,0xFC,0x3F,0xFA,0x1F,0xF6,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
     0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x06,0x1F,0xFA,0x3F,0xFC,
     0x1F,0xFA,0x00,0x06,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
     0x00,0x0E,0x00,0x0E,0x00,0x0E,0x1F,0xF6,0x3F,0xFA,0x7F,0xFC,0x00,0x00,0x00,0x00},
       
        {// 圖片數字4
         0x00,0x00,0x40,0x02,0x60,0x06,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
         0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x60,0x06,0x5F,0xFA,0x3F,0xFC,
         0x1F,0xFA,0x00,0x06,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
         0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x06,0x00,0x02,0x00,0x00,0x00,0x00},
       
        {// 圖片數字5
         0x00,0x00,0x3F,0xFC,0x5F,0xF8,0x6F,0xF0,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,
         0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x60,0x00,0x5F,0xF8,0x3F,0xFC,
         0x1F,0xFA,0x00,0x06,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
         0x00,0x0E,0x00,0x0E,0x00,0x0E,0x0F,0xF6,0x1F,0xFA,0x3F,0xFC,0x00,0x00,0x00,0x00},
       
        {// 圖片數字6
         0x00,0x00,0x3F,0xFC,0x5F,0xF8,0x6F,0xF0,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,
         0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x60,0x00,0x5F,0xF8,0x3F,0xFC,
         0x5F,0xFA,0x60,0x06,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
         0x70,0x0E,0x70,0x0E,0x70,0x0E,0x6F,0xF6,0x5F,0xFA,0x3F,0xFC,0x00,0x00,0x00,0x00},
       
        {// 圖片數字7
         0x00,0x00,0x7F,0xFC,0x3F,0xFA,0x1F,0xF6,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
         0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x06,0x00,0x02,0x00,0x00,
         0x00,0x02,0x00,0x06,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
         0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x06,0x00,0x02,0x00,0x00,0x00,0x00},
       
        {// 圖片數字8
         0x00,0x00,0x3F,0xFC,0x5F,0xFA,0x6F,0xF6,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
         0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x60,0x06,0x5F,0xFA,0x3F,0xFC,
         0x5F,0xFA,0x60,0x06,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
         0x70,0x0E,0x70,0x0E,0x70,0x0E,0x6F,0xF6,0x5F,0xFA,0x3F,0xFC,0x00,0x00,0x00,0x00},
       
        {// 圖片數字9
         0x00,0x00,0x3F,0xFC,0x5F,0xFA,0x6F,0xF6,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
         0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x60,0x06,0x5F,0xFA,0x3F,0xFC,
         0x1F,0xFA,0x00,0x06,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
         0x00,0x0E,0x00,0x0E,0x00,0x0E,0x1F,0xF6,0x3F,0xFA,0x7F,0xFC,0x00,0x00,0x00,0x00},
       
        {// 圖片":"
     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,
     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         {// 圖片" "
     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
                                                };  
//**************************************************************************************************
//延時函數
//**************************************************************************************************
void delay(uint time)         //int型數據為16位,所以最大值為65535            
{
  uint  i,j;             //定義變量i,j,用于循環語句
  for(i=0;i<time;i++)    //for循環,循環50*time次
     for(j=0;j<100;j++); //for循環,循環50次
}
//**************************************************************************************************
//查忙
//**************************************************************************************************
void checkbusy()           
{
   RS=0;                   //命令/數據選擇,為0時選擇命令   
   RW=1;                   //讀/寫選擇,為1時選擇讀
   E=1;                    //使能
   while((P0&0x80)==0x80); //查忙標志位,等待標志位為0,即表示寫入完畢
   E=0;                    //關閉讀寫
}
//**************************************************************************************************
//向LCD寫一命令
//**************************************************************************************************
void wcode(uchar cmdcode)
{
   checkbusy();            //查忙
   RS=0;                   //命令/數據選擇,為0時選擇命令
   RW=0;                   //讀/寫選擇,為0時選擇寫
   E=1;                    //使能
   P0=cmdcode;             //送入命令
   delay(20);              //等待寫入
   E=0;                    //關閉讀寫
}  
//**************************************************************************************************
//向LCD寫一數據
//**************************************************************************************************
void wdata(uchar dispdata)
{
   checkbusy();            //查忙
   RS=1;                   //命令/數據選擇,為1時選擇數據
   RW=0;                   //讀/寫選擇,為0時選擇寫
   E=1;                    //使能
   P0=dispdata;            //送入數據
   delay(20);              //等待寫入
   E=0;                    //關閉讀寫
}
//**************************************************************************************************
//LCD 初始化
//**************************************************************************************************
void InitLCD()
   {
   PSB=1;             //設置為8BIT并口工作模式
   RES=0;             //復位
   delay(10);         //延時
   RES=1;             //關復位

   wcode(0x30);       //選擇基本指令集
   wcode(0x0c);       //開顯示(無游標、不反白)
   wcode(0x01);       //清除顯示,并且設定地址指針為00H
   wcode(0x06);       //指定在資料的讀取及寫入時,設定游標的移動方向及指定顯示的移位
   wcode(0x01);       //清屏       
   }

//**************************************************************************************************
//任意位置顯示字符串
//**************************************************************************************************
/*void dis(uchar x,uchar y,uchar code *s)   
{                                     //x為橫坐標,y位縱坐標,*s表示指針,為數據的首地址
switch(y)                            //選擇縱坐標            
     {
          case 0: wcode(0x80+x);break;    //第1行
          case 1: wcode(0x90+x);break;    //第2行
          case 2: wcode(0x88+x);break;    //第3行
          case 3: wcode(0x98+x);break;    //第4行
      default:break;
         }
   while(*s>0)                        //寫入數據,直到數據為空
     {  
      wdata(*s);                      //寫數據
      delay(10);                      //等待寫入
      s++;                            //下一字符
     }
}*/
//************************************************************************************
//功能:大數字(圖片)
//************************************************************************************
void shijianshuzi(uchar add,uchar bata)
{
  uchar i,j=0;
        wcode(0x36);          //開啟拓展指令集
        for(i=0;i<16;i++)
        {
                wcode(0x90+i);
                wcode(0x80+add);
                wdata(tab[bata][j++]);
                wdata(tab[bata][j++]);
        }
        for(i=0;i<16;i++)
        {
                wcode(0x80+i);
                wcode(0x88+add);
                wdata(tab[bata][j++]);
                wdata(tab[bata][j++]);
        }
        wcode(0x30);       //恢復基本指令集
}
//************************************************************************************
//功能:LCD顯示第一行
//************************************************************************************         
/*void xian1()
{
  wcode(0x80);              //設置第一行顯示地址
  wdata('2');               
  wdata('0');               //顯示20
  wdata(disp[13]);   //顯示年   
  wdata(disp[12]);       
  wdata('-');        //顯示"-"

  wdata(disp[9]);   //顯示月   
        wdata(disp[8]);   //顯示月   
  wdata('-');

  wdata(disp[7]);   //顯示日
        wdata(disp[6]);   //顯示日
       
  switch(disp[10])       //顯示星期
   {
  case 0x31:dis(6,0,"周一"); break;
  case 0x32:dis(6,0,"周二"); break;
  case 0x33:dis(6,0,"周三"); break;
        case 0x34:dis(6,0,"周四"); break;
        case 0x35:dis(6,0,"周五"); break;
        case 0x36:dis(6,0,"周六"); break;
        case 0x37:dis(6,0,"周日"); break;
    default:break;
   }
}*/
//************************************************************************************
//功能:LCD顯示第二行
//************************************************************************************         
void xian2()
{
  shijianshuzi(0,1);         //時十位
        shijianshuzi(1,8);         //時個位
        shijianshuzi(2,10);
        shijianshuzi(3,3);         //分十位
        shijianshuzi(4,3);         //分個位
        shijianshuzi(5,10);
        shijianshuzi(6,4);         //秒十位
        shijianshuzi(7,4);         //秒個位
}


void main()
{  
   InitLCD();                             //初始化液晶
   while(1)                              //進入死循環,防止看門狗復位
    {
                        xian2();
    }
}

1528808429992.jpg (2.59 MB, 下載次數: 24)

1528808429992.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:247342 發表于 2019-4-19 09:58 | 只看該作者
請問解決了嗎,我的也出現同樣的問題
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品一区二区三区久久久 | 欧美精品一区二区三区蜜桃视频 | 日韩www| 天堂视频中文在线 | 久久久久亚洲国产| 精品成人免费一区二区在线播放 | 在线三级电影 | 日韩高清国产一区在线 | 男人天堂网址 | 日韩国产三区 | 日韩精品一区二区三区 | 久久久久久久国产 | 日本免费黄色一级片 | 国产欧美日韩一区 | 超碰最新在线 | 国产高清精品一区二区三区 | 久久久久国产 | 鲁视频 | 91免费在线看 | 日韩一级黄色片 | 亚洲精品久久久久中文字幕欢迎你 | 91高清在线观看 | 欧美成人精品在线 | 欧美一区二区三区视频在线播放 | 日韩精品一区二区三区 | 成人免费淫片aa视频免费 | 久久男人| 国产精品高潮呻吟久久av黑人 | 超碰人人做 | 国产高清在线精品 | 播放一级毛片 | 午夜精品影院 | 欧美成人手机视频 | 久久久久免费精品国产 | 黄色大片网| 美女天堂在线 | 色视频www在线播放国产人成 | 日韩电影中文字幕在线观看 | 精品亚洲一区二区三区四区五区 | 亚洲精品99| 九九热在线精品视频 |