Tutorial Microcontroller MCS-51 ATMEL ISP

Microcontroller Kits
Programmer and Target 89s51

Simple Mikrokontroller 89s51 Trainer


Standart
Mikrokontroller 89s51 Trainer


Super Mikrokontroller Trainer 89s51

+

All Item Include

Programmer
Via USB

 

BACK NEXT



Mode 13 bits Timer Software Gated (not used)


/**************************************************
* Copyright (c) 2004 Atmel.
* Please read file license.txt for copyright notice.
* @brief This file is an example to use timer0 in mode 0.
* Put here the functional description of this file within the software
* architecture of your program.
***************************************************/
/* @section I N C L U D E S */
#include "8051.h"
/**************************************************
* FUNCTION_PURPOSE: This file set up timer 0 in mode 0 (13 bits timer)
* with a software gate.
* The 13-bits register consist of all 8 bits of TH0 and the lower 5 bits
* of TL0. The upper 3 bits of TL0 are undeterminate and are ignored.
* FUNCTION_INPUTS: void
* FUNCTION_OUTPUTS: void
***************************************************/
void main(void)
{
TMOD &= 0xF0; /* Timer 0 mode 0 with software gate */
/* GATE0=0; C/T0#=0; M10=0; M00=0; */
TH0 = 0x00; /* init values */
TL0 = 0x00;
ET0=1; /* enable timer0 interrupt */
EA=1; /* enable interrupts */
TR0=1; /* timer0 run */
while(1); /* endless */
}
/*************************************************
* FUNCTION_PURPOSE: timer0 interrupt
* FUNCTION_INPUTS: void
* FUNCTION_OUTPUTS: P1.0 toggle period = 2 * 8192 cycles
**************************************************/
void it_timer0(void) interrupt 1 /* interrupt address is 0x000b */
{
TF0 = 0; /* reset interrupt flag (already done by hardware)*/
P1_0 = ~ P1_0;/* P1.0 toggle when interrupt. */
} Mode 13 bits Timer Hardware Gated

/**************************************************
* Copyright (c) 2004 Atmel.
* @brief This file is an example to use timer0 in mode 0.
*
* Put here the functional description of this file within the software
* architecture of your program.
***************************************************/
/* @section I N C L U D E S */
#include "8051.h"
/**************************************************
* FUNCTION_PURPOSE: This file set up timer 0 in mode 0 (13 bits timer)
* with a hardware gate.
* The 13-bits register consist of all 8 bits of TH0 and the lower 5 bits
* of TL0. The upper 3 bits of TL0 are undeterminate and are ignored.
* FUNCTION_INPUTS: P3.2(INT0)=1 : GATE Input
* FUNCTION_OUTPUTS: void
***************************************************/
void main(void)
{
TMOD &= 0xF0; /* Timer 0 mode 0 with hardware gate */
TMOD |= 0x08; /* GATE0=1; C/T0#=0; M10=0; M00=0; */
TH0 = 0x00; /* init values */
TL0 = 0x00;
ET0=1; /* enable timer0 interrupt */
EA=1; /* enable interrupts */
TR0=1; /* timer0 run */
while(1); /* endless */
}
/**
* FUNCTION_PURPOSE: timer0 interrupt
* FUNCTION_INPUTS: void
* FUNCTION_OUTPUTS: P1.0 toggle period = 2 * 8192 cycles
*/
void it_timer0(void) interrupt 1 /* interrupt address is 0x000b */
{
TF0 = 0; /* reset interrupt flag (already done by
hardware)*/
P1_0 = ~ P1_0;/* P1.0 toggle when interrupt. */
}


Comments, questions and discussion about this topic

BACK NEXT