/***********************************************************************/
/* */
/* FILE :timerZ1.c */
/* DATE :Sun, May 08, 2005 */
/* DESCRIPTION :Main Program */
/* CPU TYPE :Other */
/* */
/* This file is generated by Renesas Project Generator (Ver.4.0). */
/* */
/***********************************************************************/
#include "start.h" 
unsigned int time;
void set_timerZ(void);

void main(void)
{
time=1000;
set_CLK20();
set_LED();
set_timerZ();

asm("FSET I"); //割り込み許可
tzs = 1; //タイマZカウント制御開始ビットのセット
while(1);
// ループ

}

void set_timerZ(void)
{
tzck0=0; //timerZのカウントソース f1 設定 タイマカウントソース設定レジスタ TCSS
tzck1=0;

tzmod0=1; //プログラマブル波形発生モード設定 タイマZモードレジスタ TZMR
tzmod1=0;
tzwc=1;

tzocnt=0; //プログラマブル波形出切替えビット タイマZ出力制御レジスタ TZOC
tzos=0; //ワンショット禁止

inostg=0; //タイマZ波形出力制御レジスタ タイマZ波形出力制御レジスタ PUM
inoseg=0;

//10KHzパルス出力

prez=19; //プリスケーラZレジスタ PREZ

tzsc=49; //タイマZセカンダリレジスタ 
tzpr=49; //タイマZプライマリレジスタ TZPR

//TZSC tzscとtzprの設定の順序を逆にすると、tzscの設定ができないわ!

ilvl0_tzic = 1; // タイマz割り込み優先レベル(レベル2)
ir_tzic = 0; // タイマz割り込み要求フラグクリア

}

#pragma interrupt timerZ_int (vect=24)
char k=0;
void timerZ_int(void)
{

if(time==0)
{
time=1000;
tzsc=10*k; //タイマZセカンダリレジスタ 
tzpr=254-tzsc; //タイマZプライマリレジスタ TZPR
if (++k==22)k=0; // LED1接続端子 出力レベル反転
p1_1= ~p1_1;


else
time--;
}