⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stkreg_u.c

📁 TQ公司的STK16x开发系统的源码
💻 C
字号:
/* File: STKREG.C */

/****************************************************************************
*
* STK16XSW.STKREG
* ===============
*
* Routines for the Acces to the stepper motor and the LCD-Display
*                 
* TQ-Systems GmbH                                                         
* ---------------                                                         
* Customer: TQ-Components
* Project : TQMX16xU
* Tools   : uVision 2.37
*
* 
* Rev: Date:     Name:            Modification:
* ----+---------+----------------+------------------------------------------
* 100  05.02.01  A. Lichte        Begin
* 200  26.05.03  Volker Jung      changes for XC16x Controller
* 251  29.07.03  Volker Jung	  Anpassung an TQ_Select  
*****************************************************************************/

/****************************************************************************
*
*                            availability summary
*
* available for Starterkit: STK16XU
* conformed for Starterkit: STK16XU 
* available for Modul     : TQMX16XU
*                           
* conformed for Modul     : TQMX16XU
*****************************************************************************/

/****************************************************************************
*
*                            availability summary
*
* available for Starterkit: STK16XU
* conformed for Starterkit: STK16XU 
* available for Modul     : TQMX16XU
*                           
* conformed for Modul     : TQMX16XU
*****************************************************************************/

/*==========================================================================*
* pragmas:
*===========================================================================*/

/*=========================================================================*
* include files (#INCLUDE):
*==========================================================================*/
/*-------------------------------------------------------------------------*
* standard include files:
*--------------------------------------------------------------------------*/
#include <stdio.h>              /* standard I/O functions    */
#include <ctype.h>              /* typecast functions        */
#include <string.h>             /* String functions          */
#include <setjmp.h>             /* global jump functions     */
#include <absacc.h>             /* absolute accesss          */
#include <intrins.h>            /* intrinsic functions       */
#include <xc161.h>              /* Special function register */

/*-------------------------------------------------------------------------*
* project specific include files:
*--------------------------------------------------------------------------*/
#include "stkreg_u.h"              /* Register for Starterkit  */
 
/*=========================================================================*
* modul internal definitions (#DEFINE):
*==========================================================================*/


/*=========================================================================*
* modul internal type definitions(TYPEDEF):
*==========================================================================*/

/*=========================================================================*
* modul internal constants (CONST):
*==========================================================================*/

/*=========================================================================*
* extern available constants (CONST):
*==========================================================================*/

/*=========================================================================*
* modul internal variables:
*==========================================================================*/

// Backgrond Register for the STKREG
BYTE stkreg_sreg;

/*=========================================================================*
* global extern available variables (EXTERN):
*==========================================================================*/

/*=========================================================================*
* modul internal functions:
*==========================================================================*/

/*=========================================================================*
* extern available functions:
*==========================================================================*/

/*-------------------------------------------------------------------------*
* void stkreg_init(void)
*--------------------------------------------------------------------------*
* FT: Initialize databus for CS4
* EP: -
* RW: -
* GP: stkreg_sreg: Backgrond Register for the STKREG
*--------------------------------------------------------------------------*/
void stkreg_init(void)
{
  //ADDRSEL4 = STKREG_BASEADDR;
  //FCONCS4  = STKREG_FCON;
  //TCONCS4  = STKREG_TCON;
  MVAR(BYTE, 0x800200)=0x00;
  stkreg_sethigh(0xFF, 0); // Initialize STKREG
}


/*-------------------------------------------------------------------------*
* void stkreg_sethigh(BYTE change, BYTE value)
*--------------------------------------------------------------------------*
* FT: Change Bits of the higher Port of the STKREG
* EP: change: Bitmask: Bits whitch become changed
*     value : New value of the changed Bits
* RW: -
* GP: stkreg_sreg: Backgrond Register for the STKREG
*--------------------------------------------------------------------------*/
void stkreg_sethigh(BYTE change, BYTE value)
{
  PSW_IEN=0; // Access could also happend from an interrupt. This could cause problems
  stkreg_sreg=((stkreg_sreg&(~change))|(value&change));
  PSW_IEN=1;
  MVAR(BYTE, STKREG_CTRL_ADDR)=stkreg_sreg;
}

/*-------------------------------------------------------------------------*
* void stkreg_writelow(BYTE value)
*--------------------------------------------------------------------------*
* FT: Set the Lowbyte of the STKREG
* EP: value : New value of the Lowbyte of the STKREG
* RW: -
* GP: -
*--------------------------------------------------------------------------*/
void stkreg_writelow(BYTE value)
{
  stkreg_sethigh(LCD_R_W,0); // SET Latch to Output
  MVAR(BYTE, STKREG_DATA_ADDR)=value;
}

/*-------------------------------------------------------------------------*
* BYTE stkreg_readlow(void)
*--------------------------------------------------------------------------*
* FT: Read the Lowbyte of the STKREG
* EP: value : New value of the Lowbyte of the STKREG
* RW: -
* GP: -
*--------------------------------------------------------------------------*/
BYTE stkreg_readlow(void)
{
  stkreg_sethigh(LCD_R_W,LCD_R_W); // SET Latch to Input
  return MVAR(BYTE, STKREG_DATA_ADDR);
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -