OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7368|回复: 14

12864显示中文,字母,数字,符号

[复制链接]

8

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2014-3-23
在线时间
1 小时
发表于 2014-5-15 15:42:33 | 显示全部楼层 |阅读模式
12864显示中文,字母,数字,符号,激情献上

12864显示中文,字母,数字,符号.zip

41.9 KB, 下载次数: 1294

当你找到你的目标之后,保持好奇心和坚持,就是你剩下来要做的事情了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

55

主题

1231

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2624
金钱
2624
注册时间
2014-2-13
在线时间
514 小时
发表于 2014-5-15 23:35:07 | 显示全部楼层
回复 支持 反对

使用道具 举报

8

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2014-3-23
在线时间
1 小时
 楼主| 发表于 2014-5-16 12:05:44 | 显示全部楼层
回复【2楼】回复【2楼】黑夜之狼:
---------------------------------
共同进步O(∩_∩)O
当你找到你的目标之后,保持好奇心和坚持,就是你剩下来要做的事情了。
回复 支持 反对

使用道具 举报

55

主题

1231

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2624
金钱
2624
注册时间
2014-2-13
在线时间
514 小时
发表于 2014-5-16 13:25:30 | 显示全部楼层
回复【3楼】Sunny范儿~:
---------------------------------
技术交流,Sell 中颖单片机,欢迎私信骚扰
回复 支持 反对

使用道具 举报

3

主题

8

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2014-4-25
在线时间
0 小时
发表于 2014-5-19 16:20:33 | 显示全部楼层
楼主帮我看一下,这段程序可以用12864显示不
#include "main.h"
#include "lcd.h"
#include <stdio.h>


#include "HX711.h"

unsigned char buf[20];
unsigned long HX711_Buffer = 0;
unsigned int Weight_Maopi = 0,Weight_Shiwu = 0; //   Weight_Shiwu????
float Weight,Price,FMoney;
char rice_Count = 0;  //×???
unsigned char KEY_NUM = 0;
unsigned char rice_Buffer[3] = {0x00,0x00,0x00};
unsigned long Money = 0;
bit Flag_OK = 0;

//****************************************************
//?÷????
//****************************************************
void main()
{
init_lcd(); //??????LCD
WriteString( 2, 0 ,"Welcome to use!") ;
 /*
write_com(0x80); //?????è??
WriteStr("Welcome to use! "); //???ú??????????
 */

delayms(2000);  //???±2s
delayms(2000);
delayms(2000);
  
 ClrSreen();
looprice_Count = 0;
Price_Buffer[0] = 0;
Price_Buffer[1] = 0;
Price_Buffer[2] = 0;
Flag_OK = 0;

WriteString(  1 ,0,"??????0.000KG    ") ;
WriteString(  2,0 ,"????:  . ??")  ;
WriteString( 3  ,0,"×?????   . ??") ;
WriteString( 4,0,  "??????????") ;


/*
write_com(0x80); //?????è??
WriteStr("+WEI |PRI | MON ");
write_com(0x80+0x40); //?????è??
WriteStr("0.000|  . |   . ");


 */

Get_Maopi(); //?????¤????

while(1)
{
if( Flag_OK == 0)
{
Get_Weight(); //????
    write_com(0x80+3);
write_data(Weight_Shiwu/1000 + 0x30);
write_data('.');
write_data(Weight_Shiwu%1000/100 + 0x30);
write_data(Weight_Shiwu%100/10 + 0x30);
write_data(Weight_Shiwu%10 + 0x30);


//?????±?°????
/*
write_com(0x80+0x40);
write_data(Weight_Shiwu/1000 + 0x30);
write_data('.');
write_data(Weight_Shiwu%1000/100 + 0x30);
write_data(Weight_Shiwu%100/10 + 0x30);
write_data(Weight_Shiwu%10 + 0x30);
*/
}

KEY_NUM = KEY_Scan();

if( KEY_NUM != 0x55) //?±·??????????????±?ò???·??°??ü°?????
{
if(KEY_NUM == 16) //??×?A?ü?????¤????
{
Get_Maopi(); //???¤
}

if(KEY_NUM == 15) //??×?B?ü?????ü??????????
{
goto loop;
}

if(KEY_NUM == 12) //??×?C?????????í?ó?±·?????????
{
Price_Count--;
if( rice_Count < 0)
{
Price_Count = 0;
}

Price_Buffer[Price_Count] = 0;    //????????????????????

switch(Price_Count)
{
case 0:
write_com(0x90+3);
write_data(' ');
break;
case 1:
write_com(0x80+3);
write_data(0x20);//
write_data(' ');
break;
case 2:
write_com(0x80+4);
write_data('.');
write_data(' ');
break;
default: break;
}
}

if(KEY_NUM == 13) //??×?D?ü??????×???
{
Money = rice_Buffer[0] * 100 + rice_Buffer[1] * 10 + rice_Buffer[2];
Money = Money * Weight_Shiwu / 1000;
write_com(0x88+3);
write_data(Money/1000 + 0x30);
write_data(Money%1000/100 + 0x30);
write_data(Money%100/10 + 0x30);
write_data('.');
write_data(Money%10 + 0x30);
/*
write_com(0x80+0x40+11);
write_data(Money/1000 + 0x30);
write_data(Money%1000/100 + 0x30);
write_data(Money%100/10 + 0x30);
write_data('.');
write_data(Money%10 + 0x30);
 */
Flag_OK = 1;
}

if(KEY_NUM >= 0 && KEY_NUM <= 9)   //????????????????
{
Price_Buffer[Price_Count] = KEY_NUM;

switch(Price_Count)
{
case 0:
write_com(0x90+3);
write_data(Price_Buffer[0] + 0x30);
/*
write_com(0x80+0x40+6);
write_data(Price_Buffer[0] + 0x30);
*/
break;
case 1:
write_com(0x90+3);
write_data(0x20);//
write_data(Price_Buffer[1] + 0x30);
/*
write_com(0x80+0x40+7);
write_data(Price_Buffer[1] + 0x30);
*/
break;
case 2:
write_com(0x90+4);
write_data('.');//
write_data(Price_Buffer[2] + 0x30);
/*
write_com(0x80+0x40+9);
write_data(Price_Buffer[2] + 0x30);
*/
break;
default: break;
}

Price_Count++;

if( rice_Count >= 3)
{
Price_Count = 3;
}
}

}

}
}

//****************************************************
//???ó?ü???¨?è
//****************************************************
unsigned char KEY_Scan()
{
unsigned char temp = 0;
unsigned char com = 0x55 , com1 = 0 , com2 = 0;
P3=0xf0;
if(P3!=0xf0)
{
com1=P3;
P3=0x0f;
com2=P3;        
}
P3=0xf0;
    while(P3!=0xf0);   
temp=com1|com2;
if(temp==0xee)com=1;//??×?1
if(temp==0xed)com=4;//??×?4
if(temp==0xeb)com=7;//??×?7
if(temp==0xe7)com=11;//±????ü*???ü
if(temp==0xd7)com=0;//??×?0
if(temp==0xb7)com=14;//±????ü*???ü


if(temp==0xde)com=2; //??×?2
if(temp==0xdd)com=5; //??×?5
if(temp==0xdb)com=8;//??×?8

if(temp==0xbe)com=3;//??×?3
if(temp==0xbd)com=6; //??×?6
if(temp==0xbb)com=9;//??×?9

if(temp==0x7e)com=16;//??×?A?ü?????¤????  
if(temp==0x7d)com=15;//??×?B?ü?????ü??????????
if(temp==0x7b)com=12;//??×?C?????????í?ó?±·?????????
if(temp==0x77)com=13;//??×?D?ü??????×???  
return(com);
}

//****************************************************
//????
//****************************************************
void Get_Weight()
{
HX711_Buffer = HX711_Read();
HX711_Buffer = HX711_Buffer/100;
if(HX711_Buffer > Weight_Maopi)
{
Weight_Shiwu = HX711_Buffer;
Weight_Shiwu = Weight_Shiwu - Weight_Maopi; //??????????AD???ù??????

Weight_Shiwu = (unsigned int)((float)Weight_Shiwu/4.22+0.05);  //??????????????????
//?ò?????????????÷?????ú???????ù???ò???????????????÷?è????????????4.30??????????
//?±·????????????????????ó?±??????????????
//???????????????????????±??????????????
//????????°???4.0-5.0???????ò?????÷???????¨??
//+0.05?????????á????°?·???
Buzzer = 1; //??±???±¨
}
else if(HX711_Buffer < Weight_Maopi - 30)
{
Buzzer = 0; //??????±¨??
}
else if(HX711_Buffer > Weight_Maopi + 24970) //?ó??5Kg??×??ó??????±¨??
{
Buzzer = 0;
}
}

//****************************************************
//???????¤????
//****************************************************
void Get_Maopi()
{
HX711_Buffer = HX711_Read();
Weight_Maopi = HX711_Buffer/100;


//****************************************************
//MS???±????(12M?§????????)
//****************************************************
void Delay_ms(unsigned int n)
{
unsigned int  i,j;
for(i=0;i<n;i++)
for(j=0;j<123;j++);>
回复 支持 反对

使用道具 举报

3

主题

8

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2014-4-25
在线时间
0 小时
发表于 2014-5-19 16:25:10 | 显示全部楼层
回复【5楼】我灬是菜鸟:
---------------------------------
以下附上LCD.c
void delayms(uint z) //???± z ms
{
uint i;
uchar j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}

void delays(unsigned char j) 

   unsigned char k;
   unsigned int i;  
   for(;j>0;j--)
  {
     for(i=1250;i>0;i--) 
     {
       for(k=180;k>0;k--);
     }
   }


void write_com(uchar a) //???ü??
{

E=0;RS=0;RW=0;
E=1;
P0=a;
delayms(10);           //???± 5ms
E=0;
delayms(10);           //???± 5ms
}
void write_data(uchar b) //??????
{

    E=0;RS=1;RW=0;
E=1;
P0=b;
delayms(10);           //???± 5ms
E=0;
delayms(10);           //???± 5ms
}

void init_lcd()      //??????
{  
write_com(0x01);  //????
write_com(0x30);  //?????è??
write_com(0x0c);  //??/???????è??
write_com(0x06);   //????·????è??
write_com(0x14);   //??±ê????
}

void ClrSreen()
{
   write_com(0x01);  //????
}

void LCD_set_xy(  unsigned char x,unsigned char y)
{
    unsigned char address;
switch(x)
{
case 0: address = 0x80 + y; break;    
     case 1: address = 0x80 + y; break; 
case 2: address = 0x90 + y; break; 
      case 3: address = 0x88 + y; break;
case 4: address = 0x98 + y; break; 
default:address = 0x80 + y; break;
}
    write_com(address);
}
  void WriteString(  unsigned char x,unsigned char y ,unsigned char *s)   //????×?·???????????
{
unsigned char ByteNum=0;
 LCD_set_xy(x,y );
   while (*s)                          
    { 
if(*s<0xa0)
    {
    ByteNum++;
write_data(*s++);
    }
   if(*s>=0xa0)
    {
    if(ByteNum%2==0)
{
write_data(*s++);
write_data(*s++);
}
else
{
write_data(0x20);
write_data(*s++);
write_data(*s++);
 ByteNum=0;
}
   }   
   }
   ByteNum=0;
}

void WriteStr(unsigned char *s)
{
while(*s>0)
{
write_data(*s);
s++;
}
}
回复 支持 反对

使用道具 举报

8

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2014-3-23
在线时间
1 小时
 楼主| 发表于 2014-5-19 17:05:22 | 显示全部楼层
你 粘贴上去的程序语句的注释都乱码了!!!你看一下我分享的程序,然后再搜索一下12864的中文资料对着看一下吧~~楼主正在练级,,,在我没有成为大神之前,不敢误人子弟,呵呵呵。我也是搜索大神的程序,然后改成适合自己用的程序而已~~
当你找到你的目标之后,保持好奇心和坚持,就是你剩下来要做的事情了。
回复 支持 反对

使用道具 举报

8

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2014-3-23
在线时间
1 小时
 楼主| 发表于 2014-5-19 17:05:45 | 显示全部楼层
回复【5楼】我灬是菜鸟:
---------------------------------
你 粘贴上去的程序语句的注释都乱码了!!!你看一下我分享的程序,然后再搜索一下12864的中文资料对着看一下吧~~楼主正在练级,,,在我没有成为大神之前,不敢误人子弟,呵呵呵。我也是搜索大神的程序,然后改成适合自己用的程序而已~~
当你找到你的目标之后,保持好奇心和坚持,就是你剩下来要做的事情了。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-5-19 22:47:34 | 显示全部楼层
谢谢分享...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

43

主题

278

帖子

1

精华

高级会员

Rank: 4

积分
621
金钱
621
注册时间
2013-12-27
在线时间
0 小时
发表于 2014-5-19 22:52:30 | 显示全部楼层
无图无真相。
水的比较多。
回复 支持 反对

使用道具 举报

8

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2014-3-23
在线时间
1 小时
 楼主| 发表于 2014-5-20 12:24:55 | 显示全部楼层
回复【10楼】青苹果PAD:
---------------------------------
我完全没有理由去忽悠你啊,忽悠你,我会有什么好处吗?
当你找到你的目标之后,保持好奇心和坚持,就是你剩下来要做的事情了。
回复 支持 反对

使用道具 举报

8

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2014-3-23
在线时间
1 小时
 楼主| 发表于 2014-5-20 12:25:14 | 显示全部楼层
回复【9楼】正点原子:
---------------------------------
O(∩_∩)O
当你找到你的目标之后,保持好奇心和坚持,就是你剩下来要做的事情了。
回复 支持 反对

使用道具 举报

43

主题

278

帖子

1

精华

高级会员

Rank: 4

积分
621
金钱
621
注册时间
2013-12-27
在线时间
0 小时
发表于 2014-5-21 08:42:42 | 显示全部楼层
没有那意思了,我喜欢LCD的显示,好看,如果有图片就好了。
水的比较多。
回复 支持 反对

使用道具 举报

8

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2014-3-23
在线时间
1 小时
 楼主| 发表于 2014-5-21 12:07:01 | 显示全部楼层
回复【13楼】青苹果PAD:
---------------------------------
不好意思,误会你了,下次改进(给图给真相)O(∩_∩)O
当你找到你的目标之后,保持好奇心和坚持,就是你剩下来要做的事情了。
回复 支持 反对

使用道具 举报

43

主题

278

帖子

1

精华

高级会员

Rank: 4

积分
621
金钱
621
注册时间
2013-12-27
在线时间
0 小时
发表于 2014-5-21 14:47:09 | 显示全部楼层
水的比较多。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 22:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表