atmel keil ile ilgili...ÇÖZÜLDÜ

Başlatan Cetinal, 27 Şubat 2007, 12:23:59

Cetinal

daha öncede CCS ile uğrsıodum ve ccs taşınbilir olmadığı için ve biraz da hazırcılık olduğu için Standart C ile uğraşmaya karar verdim
ccs de
delay_ms(500)

diye bir komut vardı peki keil içerisinde bu gibi bi fonksiyonu nasıl kullanabilirim

ground

⌒╮'╭⌒╮⌒╮.
╱◥██◣                  
| 田︱田田|              
╬╬╬╬╬╬╬╬╬

Picproje - Sözde değil özde paylaşım..

zafzaf82

Delay.h
/**
 * \addtogroup Delay
 * @{
 */

/*****************************************************************************/
/**
 * \file Delay.h
 * Delay routines for 8051 and Keil C51.
 * \author Copyright (c) 2005, Murray R. Van Luyn. <vanluynm@iinet.net.au>
 * \version 0.1
 * \date 08-03-05
 */
/*****************************************************************************/

/*****************************************************************************
 *
 *     THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
 *     OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 *     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 *     ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
 *     DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 *     DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 *     GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 *     INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 *     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 *     NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 *     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 ******************************************************************************/


#ifndef DELAY_H
#define DELAY_H

/** 
 * Hardware crystal frequency in Hz.
 * Adjust \b DELAY_XTAL to match hardware.
 * \hideinitializer
 */
#define DELAY_XTAL       12000000*2

// Delay routine timing parameters
#define DELAY_CPU_CLOCK  DELAY_XTAL / 12      // 8051 clock rate (X1 mode)
#define DELAY_CONST      9.114584e-5          // Delay routine constant
#define DELAY_MULTPLR    (unsigned char)(DELAY_CONST * DELAY_CPU_CLOCK)

/*****************************************************************************
 *
 *                           Public Function Prototypes
 *
 *****************************************************************************/

/** 
 * Millisecond software delay function.
 * Implements a software timing loop based delay with millisecond precision.
 * See 'Usage' for notes regarding upper bounds on the delay period that may
 * be generated.
 * \param count The number of milliseconds to delay as an \b unsigned \b int.
 * \return -
 */
void delay_ms(volatile unsigned int count);


#endif

/** @} */


Delay.c
/**
 * \addtogroup Delay
 * @{
 */

/*****************************************************************************/
/**
 * \file Delay.c
 * Delay routines for 8051 and Keil C51.
 * \author Copyright (c) 2005, Murray R. Van Luyn. <vanluynm@iinet.net.au>
 * \version 0.1
 * \date 08-03-05
 */
/*****************************************************************************/

/*****************************************************************************
 *
 *     THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
 *     OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 *     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 *     ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
 *     DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 *     DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 *     GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 *     INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 *     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 *     NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 *     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 ******************************************************************************/


#include "Delay.h"

/*****************************************************************************
 *
 *                         Public Function Implementation
 *
 *****************************************************************************/

/*****************************************************************************
 *
 *                              delay_ms()
 *
 *****************************************************************************/
void delay_ms(volatile unsigned int count)
{

    for(count *= DELAY_MULTPLR; count > 0; count--) continue;

    return;
}


/** @} */
Mikroişlemci bi araçtır, amaç değil.....

Cetinal

sağol un arkadaşlar
basit olarak 0-9 sayıcı koyuyorum buraya
yeni başlaynlar varsa ben gibi keil e örnek olması amacıyla
download
kolay gelsin

zafzaf82

bir örnekte ben koyayım keil için. kodlar asm dilinde yazılmıştır.
Download
Mikroişlemci bi araçtır, amaç değil.....