音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網
技術交流 | 電路欣賞 | 工控天地 | 數字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe

請教12232的顯示溫度,急!

作者:碧溪 欄目:單片機
請教12232的顯示溫度,急!
#include <reg51.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>

#define uCHAR unsigned CHAR
#define data  1
#define comm  0
#define f_page  0xb8
#define f_row   0xc0
#define f_line  0x00


sbit rst=P3^0;
sbit e1 =P3^5;
sbit e2 =P3^6;
sbit rw =P3^4;
sbit a0 =P3^1;
sbit tem=P3^7;



void wr_lcd (uCHAR choe1,uCHAR choe2,uCHAR data_comm,uCHAR content);
/*choe1為1,控制左半屏,choe2為1,控制右半屏*/
void chk_busy (uCHAR choe1,uCHAR choe2);
void delay (unsigned int us);
void delay1 (unsigned int ms);
void init_lcd (void);
void disphz (uCHAR code *chn);
void dispzf (uCHAR code *chn);
void disptu (uCHAR code *img);
void wrlattice (uCHAR data1,uCHAR data2);


uCHAR code tab2[]={
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00
};
uCHAR code tab1[]={
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00
};
uCHAR code tab0[]={
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00
};

uCHAR code tab3[]={
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00
};
uCHAR code tab4[]={
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00
};
uCHAR code tab5[]={
0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00
};
uCHAR code tab6[]={
0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00
};
uCHAR code tab7[]={
0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00
};
uCHAR code tab8[]={
0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00
};
uCHAR code tab9[]={
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00
};
/*------------------------------------------*/
void wr_lcd (uCHAR choe1,uCHAR choe2,uCHAR data_comm,uCHAR content)
{
  chk_busy (choe1,choe2);
  if(data_comm)
   {
    a0=1;   //data
    rw=0;   //write
   }
  else
   {
    a0=0;   //command
    rw=0;   //write
   }
  if(choe1==1)
  {
    P0=content;   //OUTPUT data or comm
    e1=1;
    ;
    e1=0;
  }
  if(choe2==1)
  {
    P0=content;   //OUTPUT data or comm
    e2=1;
    ;
    e2=0;
  }
}
void chk_busy (uCHAR choe1,uCHAR choe2)
{
  if(choe1==1)
  {
    a0=0;
    rw=1;
    e1=1;
   // while(1)
      delay(2);
    e1=0;
  }
  if(choe2==1)
  {
    a0=0;
    rw=1;
    e2=1;
   // while(1)
      delay(2);
    e2=0;
  }
}
void delay (unsigned int us)   //delay time
{
  while(us--);
}
void delay1 (unsigned int ms)
{
  unsigned int i,j;
  for(i=0;i<ms;i++)
  for(j=0;j<1000;j++)
  ;
}
/*------------------初始化-----------------*/
void init_lcd (void)
{
  rst=1;
  ;
  wr_lcd (1,1,comm,0xe2);
  wr_lcd (1,1,comm,0xa4);
  wr_lcd (1,1,comm,0xa9);
  wr_lcd (1,1,comm,0xa0);
  wr_lcd (1,1,comm,0xee);
  wr_lcd (1,1,comm,0xaf);
}

/*--------------顯示字符(8x16)---------------*/
void dispzf (uCHAR code *eng)
{
  uCHAR i,j,k;
  for(k=0;k<7;k++)//顯示左邊
  {
    for(j=0;j<4;j++)
    {
      wr_lcd (1,0,comm,f_page+j);
      wr_lcd (1,0,comm,f_row);
      wr_lcd (1,0,comm,f_line+5+k*8);
      for(i=0;i<8;i++)
        wr_lcd (1,0,data,eng[k*32+j*8+i]);
    }
  }

  for(k=7;k<14;k++)//顯示右邊
  {
   for(j=0;j<4;j++)
    {
      wr_lcd (0,1,comm,f_page+j);
      wr_lcd (0,1,comm,f_row);
      wr_lcd (0,1,comm,f_line+k*8-56);
      for(i=0;i<8;i++)
        wr_lcd (0,1,data,eng[k*32+j*8+i]);
    }
  }                                                                                                                                                                                     
}



//*--------------寫點陣------------------*/
void wrlattice (uCHAR data1,uCHAR data2)
{
  uCHAR i,j;
  for(j=0;j<4;j++)
  {
    wr_lcd (1,1,comm,f_page+j);
    wr_lcd (1,1,comm,f_row);
    wr_lcd (1,1,comm,f_line);
    for(i=0;i<61;i=i+2)
    {
      wr_lcd (1,1,data,data1);
      wr_lcd (1,1,data,data2);
    }
  }
}


void tmreset (void)                                 // 發(fā)送復位和初始化
{
    unsigned int i;
    tem = 0;    
    i = 103;
    while (i>0) i--;                                 // 延時
    tem = 1;    
    i = 4;    
    while (i>0) i--;    
}

bit tmpread (void)  &n
2樓: >>參與討論
碧溪
有用過12232的朋友嗎?幫幫忙。
 
3樓: >>參與討論
fazi
解決了嗎?
好象,直接寫其中的一個地址寄存器 ,,就可以.
也就是說每次在同樣的位置顯示溫度數據..
偶疑惑的是: 難在那里呢>?

4樓: >>參與討論
碧溪
我是不會,請多指教
 
5樓: >>參與討論
bbstom
給一點建議.
碧溪樓主啊. 還是先GOOGLE一下吧. 參考一下別人的程序.

" 程序是一次滿屏顯示 "  --- 從您的程序上看不出來! 是不是刪了?
或是對滿屏理解錯誤.

把 '行' '列' 位置參數增加到顯示字符子程序里.
就可以在任意位置顯示單個ASC字符了. 這是你想要的功能.













6樓: >>參與討論
碧溪
這一段是不是滿屏顯示?
/*--------------顯示字符(8x16)---------------*/
void dispzf (uchar code *eng)
{
  uchar i,j,k;
  for(k=0;k<7;k++)//顯示左邊
  {
    for(j=0;j<4;j++)
    {
      wr_lcd (1,0,comm,f_page+j);
      wr_lcd (1,0,comm,f_row);
      wr_lcd (1,0,comm,f_line+5+k*8);
      for(i=0;i<8;i++)
        wr_lcd (1,0,data,eng[k*32+j*8+i]);
    }
  }

  for(k=7;k<14;k++)//顯示右邊
  {
   for(j=0;j<4;j++)
    {
      wr_lcd (0,1,comm,f_page+j);
      wr_lcd (0,1,comm,f_row);
      wr_lcd (0,1,comm,f_line+k*8-56);
      for(i=0;i<8;i++)
        wr_lcd (0,1,data,eng[k*32+j*8+i]);
    }
  }                                                                                                                                                                                     
}
這一段是不是滿屏顯示?

參與討論
昵稱:
討論內容:
 
 
相關帖子
各位大蝦有沒有51讀寫MMC的資料
請問有沒有將匯編語言轉換為C語言的軟件工具呢
今天寫程序時突然想到的問題,請教達人。。
請問幾句51初始化程序的意思
關于模擬串口的波特率的分析研究
免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號