Projet

Général

Profil

493 abseck1
/***********************************************************************/
/* */
/* FILE :SP4b2.c */
/* DATE :Tue, May 25, 2021 */
/* DESCRIPTION :main program file. */
/* CPU GROUP :87B */
/* */
/* This file is generated by Renesas Project Generator (Ver.4.18). */
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
/***********************************************************************/

594 abseck1
#define LCD_E
#define LCD_RW
#define LCD_DC
#define LCD_E_DIR
#define LCD_RW_DIR

505 abseck1
#include "sfr32c87.h"

594 abseck1
void tpo_us(unsigned short duree);
void tpo_ms(unsigned short duree);
void lcd_init_port(void);
void lcd_4b(unsigned char car);
void lcd_8b(unsigned char car);
void lcd_car(unsigned char car);
void lcd_com(unsigned char com);
void lcd_unit(void);
void lcd_str(unsigned char *str);
505 abseck1
594 abseck1
void lcd_4b(unsigned char car)
{
p1_2=1;

if (car & 0x80)
p1_7=1;
else p1_7=0;

if (car & 0x40)
p1_6=1;
else p1_6=0;

if (car & 0x20)
p1_5=1;
else p1_5=0;

if (car & 0x10)
p1_4=1;
else p1_4=0;

p1_2=0;

505 abseck1
}

594 abseck1
void lcd_8b(unsigned char car)
505 abseck1
{
594 abseck1
lcd_4b(car);
lcd_4b(car<<4);
505 abseck1
}



594 abseck1
void lcd_com(unsigned char c)
505 abseck1
{
594 abseck1
p1_0=0;
lcd_8b(c);
505 abseck1
}

594 abseck1
void lcd_car(unsigned char car)
505 abseck1
{
594 abseck1
p1_0=1;
lcd_8b(car);
}



void lcd_4b(unsigned char car)
{
p3_2=1;

if (car & 0x80)
p3_7=1;
else p1_7=0;

if (car & 0x40)
p3_6=1;
else p1_6=0;

if (car & 0x20)
p3_5=1;
else p1_5=0;

if (car & 0x10)
p3_4=1;
else p1_4=0;

p3_2=0;
493 abseck1
}
505 abseck1
594 abseck1
void lcd_8b(unsigned char car)
505 abseck1
{
594 abseck1
lcd_4b(car);
lcd_4b(car<<4);
}
505 abseck1
594 abseck1

void lcd_com(unsigned char c)
{
p3_0=0;
lcd_8b(c);
505 abseck1
}

594 abseck1
void lcd_car(unsigned char car)
{
p3_0=1;
lcd_8b(car);
}

void lcd_str(unsigned char *str){
int i=0;
while(str[i]='\0')
str([i]!='\0';
{
lcd_car(str[i]);

i++;
}
}


void tpo_ms(unsigned short duree){
tcspr = 0x8A;
ta0mr = 0x82;
ta0 = duree*1000;
ta0s = 1;
ta0os = 1;
ta0ic = 0x00;
while(ir_ta0ic != 1);
ta0s = 0;
}

void tpo_us(unsigned short duree){
tcspr = 0x8A;
ta0mr = 0x82;
ta0 = duree;
ta0s = 1;
ta0os = 1;
ta0ic = 0x00;
while(ir_ta0ic != 1);
ta0s = 0;
}

void lcd_init(void){
p3_0=0;
tpo_ms(15);
lcd_4b(0x30);
tpo_ms(5);
lcd_4b(0x30);
tpo_us(100);
lcd_4b(0x30);
tpo_us(100);
lcd_4b(0x20);
lcd_com(0x28);
lcd_com(0x06);
lcd_com(0x0E);
lcd_com(0x01);
tpo_ms(5);
}


void main(void)
{
unsigned char c[]="Bonjour";
pd3=0xff;
lcd_4b(c);
lcd_8b(c);
lcd_init();
lcd_str(c);

}