OpenEdv-开源电子网

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

菜鸟求助!!关于12864显示

[复制链接]

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2012-5-5
在线时间
7 小时
发表于 2012-5-5 09:21:08 | 显示全部楼层 |阅读模式

用51单片机控制ST7920的液晶,有些字显示不出来,请各位老大帮忙看看程序哪有问题

#include "reg52.h"
#include "intrins.h"
sbit io_LCD12864_RS = P1^0 ;
sbit io_LCD12864_RW = P1^1 ;
sbit io_LCD12864_EN = P1^2 ;
#define io_LCD12864_DATAPORT P0
#define SET_DATA io_LCD12864_RS = 1 ;
#define SET_INC io_LCD12864_RS = 0 ;
#define SET_READ io_LCD12864_RW = 1 ;
#define SET_WRITE io_LCD12864_RW = 0 ;
#define SET_EN io_LCD12864_EN = 1 ;
#define CLR_EN io_LCD12864_EN = 0 ;
void v_Lcd12864CheckBusy_f( void ) //忙检测函数
{
unsigned int nTimeOut = 0 ;
SET_INC
SET_READ
CLR_EN
SET_EN
while( ( io_LCD12864_DATAPORT & 0x80 ) && ( ++nTimeOut != 0 ) ) ;
CLR_EN
SET_INC
SET_READ
}
void v_Lcd12864SendCmd_f( unsigned char byCmd ) //发送命令
{
v_Lcd12864CheckBusy_f() ;
SET_INC
SET_WRITE
CLR_EN
io_LCD12864_DATAPORT = byCmd ;
_nop_();
_nop_();
SET_EN
_nop_();
_nop_();
CLR_EN
SET_READ
SET_INC
}
void v_Lcd12864SendData_f( unsigned char byData ) //发送数据
{
v_Lcd12864CheckBusy_f() ;
SET_DATA
SET_WRITE
CLR_EN
io_LCD12864_DATAPORT = byData ;
_nop_();
_nop_();
SET_EN
_nop_();
_nop_();
CLR_EN
SET_READ
SET_INC
}
unsigned char LcdRdata(void)//读数据
 {
 unsigned char LcdData;
 io_LCD12864_DATAPORT=0xff;
 SET_READ
 SET_DATA
 SET_EN
 _nop_();
    _nop_();
 LcdData = io_LCD12864_DATAPORT;
    CLR_EN
 return (LcdData);  
 }
void v_DelayMs_f( unsigned int nDelay ) //延时
{
unsigned int i ;
for( ; nDelay > 0 ; nDelay-- )
{
for( i = 125 ; i > 0 ; i-- ) ;
}
}
void v_Lcd12864Init_f( void ) //初始化
{
v_Lcd12864SendCmd_f( 0x30 ) ; //基本指令集
v_DelayMs_f( 50 ) ;
v_Lcd12864SendCmd_f( 0x01 ) ; //清屏
v_DelayMs_f( 50 ) ;
v_Lcd12864SendCmd_f( 0x06 ) ; //光标右移
v_DelayMs_f( 50 ) ;
v_Lcd12864SendCmd_f( 0x0c ) ; //开显示
}
void v_Lcd12864SetAddress_f( unsigned char x, y ) //地址转换
{
unsigned char byAddress ;
switch( y )
{
case 0 : byAddress = 0x80 + x ;
break;
case 1 : byAddress = 0x90 + x ;
break ;
case 2 : byAddress = 0x88 + x ;
break ;
case 3 : byAddress = 0x98 + x ;
break ;
default :
break ;
}
v_Lcd12864SendCmd_f( byAddress ) ;
}
void v_Lcd12864PutString_f( unsigned char x, unsigned char y, unsigned char *pData ) //任意位置显示内容
{
v_Lcd12864SetAddress_f( x, y ) ;
while( *pData != '\0' )
{
v_Lcd12864SendData_f( *pData++ );
}
}
void main( void )
{
v_Lcd12864Init_f() ;
v_Lcd12864PutString_f( 0,0, "杀戮为取红颜笑") ;
v_Lcd12864PutString_f( 0,1, "君子坦荡欲何求") ;
v_Lcd12864PutString_f( 0,2, "黑白风云谁是主") ;
v_Lcd12864PutString_f( 0,3, "旁人含笑看输赢") ;
while( 1 ) ;
}




 

黑白风云谁是主,旁人笑看输赢
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

18

主题

162

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
406
金钱
406
注册时间
2012-4-4
在线时间
0 小时
发表于 2012-5-5 11:11:16 | 显示全部楼层
第二行单独显示试试~~换成其他字
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2012-5-5
在线时间
7 小时
 楼主| 发表于 2012-5-5 12:39:02 | 显示全部楼层
嗯 单独试过了,除了“君”不能显示,又发现了“过”也不能正确显示,和其他字连在一起的话,没一个字是正确显示的
黑白风云谁是主,旁人笑看输赢
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2012-5-5 13:02:14 | 显示全部楼层
回复【4楼】静水流深:
---------------------------------
放到第一行呢?君,过,能显示么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2012-5-5
在线时间
7 小时
 楼主| 发表于 2012-5-5 13:33:39 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
不论哪行都不能正常显示
黑白风云谁是主,旁人笑看输赢
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2012-5-5
在线时间
7 小时
 楼主| 发表于 2012-5-5 17:11:22 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
我也很纳闷,找不出原因。对了,原子哥,你的豪华板什么时候出 啊
黑白风云谁是主,旁人笑看输赢
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2012-5-5 18:49:05 | 显示全部楼层
下半年.
回复 支持 反对

使用道具 举报

11

主题

81

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2011-9-4
在线时间
0 小时
发表于 2012-5-6 20:55:08 | 显示全部楼层
这是经常出现的问题,好多字体都不能直接编辑使用,这是编辑器的问题,没什么,找到它的显示代码,直接写显示代码就
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 17:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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