打印

12864怎么显示 ℃

[复制链接]
6381|31
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangzk|  楼主 | 2010-6-18 10:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wangzk 于 2010-6-19 11:24 编辑

℃ 不是ascii码  怎么办??


大家有什么高招?  只能自定义?


问题已解决!十分感谢:victory: liuwei0908

GB2312汉字库中是包括"℃"这个字符的,作为普通汉字处理. !!!

liuwei版主很耐心,菜鸟在此谢谢!

相关帖子

沙发
liuwei0908| | 2010-6-18 10:45 | 只看该作者
用 Ca 代替

使用特权

评论回复
板凳
liuwei0908| | 2010-6-18 10:45 | 只看该作者
华氏 -> Fa

使用特权

评论回复
地板
liuwei0908| | 2010-6-18 10:46 | 只看该作者
如果LCD自带汉字库,是可以直接显示℃符号的

使用特权

评论回复
5
wangzk|  楼主 | 2010-6-18 12:01 | 只看该作者
Ca,Fa??? 2# liuwei0908

使用特权

评论回复
6
wangzk|  楼主 | 2010-6-18 12:02 | 只看该作者
??? 4# liuwei0908

使用特权

评论回复
7
liuwei0908| | 2010-6-18 12:23 | 只看该作者
Ca 摄氏单位的英文简写

使用特权

评论回复
8
ar_dong| | 2010-6-18 13:07 | 只看该作者
℃的编码是8451(十进制)

使用特权

评论回复
9
wangzk|  楼主 | 2010-6-18 13:42 | 只看该作者
这一款lcd没有相关说明

B(改进型)系列中文液晶显示模块使用说明书.pdf

2.15 MB

使用特权

评论回复
10
wangzk|  楼主 | 2010-6-18 13:43 | 只看该作者
看来只有用画图的功能去实现??

使用特权

评论回复
11
liuwei0908| | 2010-6-18 16:10 | 只看该作者
这个LCD是可以直接显示  ℃  符号的

使用特权

评论回复
12
wangzk|  楼主 | 2010-6-18 16:33 | 只看该作者
不能吧?我式过了! 11# liuwei0908

使用特权

评论回复
13
wangzk|  楼主 | 2010-6-18 16:37 | 只看该作者
本帖最后由 wangzk 于 2010-6-18 16:38 编辑

我的显示程序 请大仙指教  
#include <reg52.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#define data_ora   P2            
#define uchar      unsigned char             x
#define uint       unsigned int
#define key_jk    P1
uchar  gewei,shiwei;
sbit   P1_4=P1^4;
sbit   P1_5=P1^5;
sbit   P1_6=P1^6;
sbit   P1_7=P1^7;
sbit   P3_5=P3^5;
sbit req =P0^1;  //请求信号,H有效
sbit busy=P0^0;  //H:已收到数据并在处理中,L:空闲可接收数据   
void send (uchar dat);
uchar code tab4[]={ "0000.0       20℃"////////在这里显示20摄氏度!!!!
                    "0000.0    0000.0"
                   "0000.0    0000.0"
                 "t:0000.0  0000.0"
                "#:0000  c:0.0000"};
   
/*------------写命令或数据到LCD--------------*/
void wr_zb (uchar comm,uchar addr_x,uchar addr_y)
{
  send(comm);
  send(addr_x);
  send(addr_y);
}
void send (uchar dat)               //写命令或数据  
{
  while(busy==1)
    ;
  data_ora=dat;
  req=1;
  while(busy==0)
    ;
  req=0;
}
void  disp_eng (uchar code *eng)  ///////绘制操作界面  
{
  uchar  i,j;
  for (i=4;i<20;i++)
  {
  wr_zb(0xf9,i,0);
  send(eng[i-4]);
  }
   for(j=1;j<3;j++)
  {
    for(i=4;i<20;i++)
    {
      wr_zb(0xf1,i,(j+1)*8);
      send(eng[j*16+i-4]);
    }
  }
   for (j=2;j<4;j++)
   {
    for(i=4;i<20;i++)
    {
      wr_zb(0xf9,i,j*16);
      send(eng[(j+1)*16+i-4]);
    }
   }
}
void delay1 (uint ms)
{
  uint i,j;
  for(i=0;i<ms;i++)
  for(j=0;j<1000;j++)
  ;
}

/*------------------主程序--------------------*/
void main ()
{
  SP=0x5f;
  req=0;
  busy=1;
  while(1)
  {
   uchar  k;
   disp_eng(tab4);
  }
}
11# liuwei0908

使用特权

评论回复
14
wangzk|  楼主 | 2010-6-18 16:40 | 只看该作者
请liuwei 0908大神 指点一二:)

使用特权

评论回复
15
liuwei0908| | 2010-6-18 17:39 | 只看该作者
本帖最后由 liuwei0908 于 2010-6-18 17:40 编辑

uchar code tab4[]={ "0000.0        20℃"
                    "0000.0    0000.0"
                   "0000.0    0000.0"
                 "t:0000.0  0000.0"
                "#:0000  c:0.0000"};

如果你的LCD自带GB2312汉字库,按这样修改就可以了,你把这个复制过去试试看

使用特权

评论回复
16
zjswuyunbo| | 2010-6-18 18:18 | 只看该作者
前提是有没有汉字库,否则就画图

使用特权

评论回复
17
wangzk|  楼主 | 2010-6-18 19:16 | 只看该作者
没什么大的调整啊??跟我的一样啊   明天试一下看看:)
15# liuwei0908

使用特权

评论回复
18
wangzk|  楼主 | 2010-6-18 19:17 | 只看该作者
这个跟汉字字库有关系吗?我要显示的是摄氏度符号呀? 16# zjswuyunbo

使用特权

评论回复
19
zzyaizll| | 2010-6-19 08:40 | 只看该作者
可以看一下,我的帖子(基于51和12c887的电子时钟),有温度显示,程序源码中有摄氏度符号的显示方法。

使用特权

评论回复
20
wangzk|  楼主 | 2010-6-19 09:06 | 只看该作者
行不通呀! 15# liuwei0908

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:[url=http://huiqianxi.taobao.com]http://huiqianxi.

91

主题

680

帖子

0

粉丝