【解析新特性】300W单路输出工业电源>>
电子产品世界 » 论坛首页 » 企业专区 » Renesas » 1602显示问题

共17条 1/2 1 2 跳转至

1602显示问题

菜鸟
2013-09-01 14:27:32    评分

我用的是今年全国电子设计大赛 瑞萨组委会发的RL78/G13(R5F100LEA)的板子,然后在写1602的程序时,我先用使用CubeSuite+自带的Code Generator (Design Tool)功能,生产例程框架及驱动程序,

下面是我生彻骨例程框架时的步骤

1.

2.

3.

设置 P5.3 P5.4 P5.5 P1  因为P5.4接的是1602的RW,所以我默认给低。

5.


剩下的是自己的程序:


#include "r_cg_macrodriver.h"
#include "r_cg_cgc.h"
#include "r_cg_port.h"

#include "r_cg_userdefine.h"


#define lcde P5.5
#define rs P5.3
#define rw P5.4


unsigned char table[]="012345678"; //定义字符串表格,即阵列
unsigned char table1[]="I LOVE YOU";
unsigned char num;

void R_MAIN_UserInit(void);


void delay_1ms(void)
{
  unsigned int i;
  for(i=0; i<3552; i++);
}


void delay_nms(unsigned int n)
{
  unsigned int i;
  for(i=0; i<n; i++)
  {
    delay_1ms();
  }
}


/*
********************************************************************************
** 函数名称 : write_com(unsigned char com)
** 函数功能 : 写指令函数
********************************************************************************
*/
void write_com(unsigned char com) //写指令函数
{
  rs=0;
P1=com;
delay_nms(5);
lcde=1;
delay_nms(5);
lcde=0;
}


/*
********************************************************************************
** 函数名称 : write_data(unsigned char date)
** 函数功能 : 写数据函数
********************************************************************************
*/
void write_data(unsigned char date) //写数据函数
{
rs=1;
  P1=date;
delay_nms(5);
lcde=1;
delay_nms(5);
lcde=0;
}


/*
********************************************************************************
** 函数名称 : init(void)
** 函数功能 : 初始化函数。向写指令、数据函数送初值
********************************************************************************
*/
void init(void) //初始化函数。向写指令、数据函数送初值。
{
rw=0;
write_com(0x38);  //指令初始化 显示模式设置
write_com(0x0c);  //显示开关设置
write_com(0x06);      //光标设置
write_com(0x80+0x10);     //数据指针位置设置(初始值为0x80)
// write_com(0x01);  //清屏1接在相应数据指针地址后 去除第一行
}

void main(void)
{
 //   R_MAIN_UserInit();
    /* Start user code. Do not edit comment generated here */
init(); //调用初始化函数
write_com(0x80);
for(num=0;num<9;num++) //循环显示table表格的字符
{
write_data(table[num]);
delay_nms(20);
}
write_com(0x80+0x40); //重新设置数据指针  显示第二行
for(num=0;num<15;num++) //循环显示table1表格的字符
{
write_data(table1[num]);
delay_nms(20);
}
while(1);
 //   while (1U)
 //   {
 //       ;
 //   }
}


然后我下载了 它什么都不显示,我这个程序是按照1602的时序图写的,大多都是按照以前51的程序改的。求大神指导 拜谢!!!!!






关键词: 显示     问题     unsigned     函数     write    

菜鸟
2013-09-01 15:18:54    评分
2楼
还有 就是咱这个论坛有QQ群吗?求群号!!!

专家
2013-09-01 15:31:59    评分
3楼

   EEPW有如下QQ群,你可选择加入:EEPW一群:174024964;

EEPW二群:234419887;        CPLD/FPGA群:321628923;

嵌入式Linux群:231942816;         PCB群:108378684;

Xilinx Zynq群:323470211;  嵌入式μTenux群:131716450;

单片机大赛选手群:325384055;电子设计大赛选手群:325384431;

全国电赛超级交流群:282736475。

验证信息为:你在EEPW网站上注册的Username


菜鸟
2013-09-01 15:42:02    评分
4楼
谢谢 

菜鸟
2013-09-01 15:43:33    评分
5楼
谢谢 

专家
2013-09-01 15:58:18    评分
6楼

延时好像不对,换成这样试试看:


void DisplayDelay(uint32_t units)
{
        uint32_t counter = units * DELAY_TIMING;

        while(counter--)
            {
                /* Delay Loop */
                    NOP();
            }
}
/*******************************************************************************
End of function DisplayDelay
*******************************************************************************/


void delay(uint32_t ms)
{                           
           uint32_t i;
           while(ms--)
           {
             for(i = 0; i< 250; i++)
                 {
                      DisplayDelay(8);
                 }
              }
}


菜鸟
2013-09-01 16:17:49    评分
7楼

额 units * DELAY_TIMING; 这个指针是什么意思?

还有延时不对是什么意思?是我延时的时间不对?还是???这个我仿真了,大概是1ms,我用的是内部32M的时钟,没有改!求指导!!!!


专家
2013-09-01 16:20:25    评分
8楼
这个不是指针   是延时时间 

菜鸟
2013-09-01 16:23:17    评分
9楼
直接粘贴的 然后报错了 你前面有定义那个变量?给它赋值了吗? 有点笨 抱歉哈 

助工
2013-09-01 16:33:14    评分
10楼

我做出来了,延时函数

void delay(uint n)
{
uint i;
for (i=0;i {
R_TAU0_Channel0_Start();//这个函数要在生成代码的时候设置为4ms,就是timer channel0 选interval timer,

//然后在chanel0设置为4ms就行了

do
{
 
}while (TimerFlag==0);
R_TAU0_Channel0_Stop();
TimerFlag=0;
}
}


共17条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]