Projet

Général

Profil

307 celasherme
/***********************************************************************/
/* */
/* FILE :SP4b1.c */
/* DATE :Tue, May 18, 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. */
/***********************************************************************/

316 celasherme
#include "sfr32c87.h"

void init_keyboard(void);
void tpo_50ms(void);
unsigned char touche = 0;

char t;

307 celasherme
void main(void)
316 celasherme
{
587 celasherme
//pd10=0x0F; // mettre broche 0 a 3 = 1 (sorties) et broches 4 a 7 =0 (entr?e)
//p10=0x0E; // valeur sur la sortie
//pu31=1; // controle resistance pull-up ( broches 4 a 7 au VDD)
init_keyboard();
316 celasherme
while(1)
{
587 celasherme
//test ligne 4
p10=0x07;
t=p10;
if (t==0x77)
{
touche='#';
}
if(t==0xD7)
{
touche='0';
}
if (t==0xE7)
{
touche='*';
}

// test ligne 3
p10=0x0B;
316 celasherme
t=p10;
587 celasherme
if (t==0x7B)
{
touche='9';
}
if(t==0xDB)
{
touche='8';
}
if (t==0xEB)
{
touche='7';
}

// test ligne 2

p10=0x0D;
316 celasherme
t=p10;
587 celasherme
if (t==0x7D)
{
touche='6';
}
if(t==0xDD)
{
touche='5';
}
if (t==0xBD)
{
touche='4';
}

// test ligne 1

316 celasherme
p10=0x0E;
t=p10;
587 celasherme
if (t==0x7E)
{
touche='3';
}
if(t==0xDE)
{
touche='2';
}
if (t==0xBE)
{
touche='1';
}
316 celasherme
}
587 celasherme
pu31=1;
316 celasherme
}

void init_keyboard(void){
pd10 = 0x0F;
p10=0;
pu31 = 1;
307 celasherme
}
316 celasherme
587 celasherme
void tpo_50ms(void){ // tempo
316 celasherme
tcspr = 0x8A;
ta0mr = 0x82;
ta0 = 50000;
ta0s = 1;
ta0os = 1;
ta0ic = 0x00;
while(ir_ta0ic != 1);
ta0s = 0;
}