-
瞅瞅
-
本帖最后由 岳达 于 2014-8-9 09:52 编辑
大神 我想用12864串行方式在PROTEUS中 仿真。这是程序 但是最后液晶屏不显示 。。还希望楼主花点时间 看看 给点简直 指导
#include
#define uchar unsigned char
#define uint unsigned int
#define LCD_SI RE0//clock input 同步时钟输入端
#define LCD_SCL RE1//data input/output 串行数据输入、输出端
#define LCD_A0 RE2//选择命令还是数据
#define LCD_RST RE3//复位
#define LCD_CS RD0//片选
#define nop();
const char BMP[]=
{
/*-- 文字: 测 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x08,0x31,0x86,0x60,0x00,0xFE,0x02,0xF2,0x02,0xFE,0x00,0xF8,0x00,0x00,0xFF,0x00,
0x04,0xFC,0x03,0x00,0x80,0x47,0x30,0x0F,0x10,0x67,0x00,0x07,0x40,0x80,0x7F,0x00,
/*-- 文字: 试 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x40,0x42,0xDC,0x08,0x00,0x90,0x90,0x90,0x90,0x90,0xFF,0x10,0x12,0x1C,0x10,0x00,
0x00,0x00,0x7F,0x20,0x10,0x20,0x20,0x1F,0x10,0x10,0x01,0x06,0x18,0x20,0x78,0x00,
};
/**************************************************************
LCD写函数
void LCD_write(数据或者命令,A0选择)
****************************************************************/
void LCD_write(uchar data_command,uchar dc) //参数dc=0时表示发命令,dc=1时表示发送数据
{
uchar i;
LCD_A0=dc;
nop();
nop();
nop();
LCD_CS=0;
nop();
nop();
nop();
for(i=0;i4),0);//设定列地址高4位为0
LCD_write(0x04|(0x0f&column_f),0); //设定列地址低4位为0
for(j=0;j4),0);//设定列地址高4位为0
LCD_write(0x04|(0x0f&column_f),0); //设定列地址低4位为0
for(j=0;j
-
这里是我改的 不知道那里不行
#include
#define uchar unsigned char
#define uint unsigned int
#define LCD_SI RE0//clock input 同步时钟输入端
#define LCD_SCL RE1//data input/output 串行数据输入、输出端
#define LCD_A0 RE2//选择命令还是数据
#define LCD_RST RE3//复位
#define LCD_CS RD0//片选
#define nop();
const char BMP[]=
{
/*-- 文字: 测 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x08,0x31,0x86,0x60,0x00,0xFE,0x02,0xF2,0x02,0xFE,0x00,0xF8,0x00,0x00,0xFF,0x00,
0x04,0xFC,0x03,0x00,0x80,0x47,0x30,0x0F,0x10,0x67,0x00,0x07,0x40,0x80,0x7F,0x00,
/*-- 文字: 试 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x40,0x42,0xDC,0x08,0x00,0x90,0x90,0x90,0x90,0x90,0xFF,0x10,0x12,0x1C,0x10,0x00,
0x00,0x00,0x7F,0x20,0x10,0x20,0x20,0x1F,0x10,0x10,0x01,0x06,0x18,0x20,0x78,0x00,
};
/**************************************************************
LCD写函数
void LCD_write(数据或者命令,A0选择)
****************************************************************/
void LCD_write(uchar data_command,uchar dc) //参数dc=0时表示发命令,dc=1时表示发送数据
{
uchar i;
LCD_A0=dc;
nop();
nop();
nop();
LCD_CS=0;
nop();
nop();
nop();
for(i=0;i4),0);//设定列地址高4位为0
LCD_write(0x04|(0x0f&column_f),0); //设定列地址低4位为0
for(j=0;j4),0);//设定列地址高4位为0
LCD_write(0x04|(0x0f&column_f),0); //设定列地址低4位为0
for(j=0;j
-
程序需要移植 对应端口定义改成PIC的定义方式,头文件 改
-
你把头文件 改成 #include 试试 别具体到芯片型号
-
一个小白 发表于 2014-8-4 17:21
首先那个sbit,pic好像是不支持的,而且好像pic是要字节操作的,引脚定义要改,对其读写操作的方式也要改才 ...
大师 是LCD写函数 和 显示一个或多个字符函数需要改吗? 改对应成PIC读、写12864的方式?想做个仿真 但是不会移植程序,,,,,
-
只改定义扣是不行的 显示不出来