资源简介
本程序实现的功能:定义4个按键UP DOWN LEFT RIGHT,
当按下UP键时,LED灯的流动速度加快;
当按下DOWN键时,LED灯的流动速度变慢;
当按下LEFT键时,LED灯的流动方向向左流动;
当按下RIGHT键时,LED灯的流动方向向右流动;
代码片段和文件信息
/******************************************************************************
FILE : datapage.c
PURPOSE : paged data access runtime routines
MACHINE : Freescale 68HC12 (Target)
LANGUAGE : ANSI-C
HISTORY : 21.7.96 first version created
******************************************************************************/
#include “hidef.h“
#include “non_bank.sgm“
#include “runtime.sgm“
#ifndef __HCS12X__ /* it‘s different for the HCS12X. See the text below at the #else // __HCS12X__ */
/*
According to the -Cp option of the compiler the
__DPAGE__ __PPAGE__ and __EPAGE__ macros are defined.
If none of them is given as argument then no page accesses should occur and
this runtime routine should not be used !
To be on the save side the runtime routines are created anyway.
If some of the -Cp options are given an adapted versions which only covers the
needed cases is produced.
*/
/* if no compiler option -Cp is given it is assumed that all possible are given : */
/* Compile with option -DHCS12 to activate this code */
#if defined(HCS12) || defined(_HCS12) || defined(__HCS12__) /* HCS12 family has PPAGE register only at 0x30 */
#define PPAGE_ADDR (0x30+REGISTER_base)
#ifndef __PPAGE__ /* may be set already by option -CPPPAGE */
#define __PPAGE__
#endif
/* Compile with option -DDG128 to activate this code */
#elif defined DG128 /* HC912DG128 derivative has PPAGE register only at 0xFF */
#define PPAGE_ADDR (0xFF+REGISTER_base)
#ifndef __PPAGE__ /* may be set already by option -CPPPAGE */
#define __PPAGE__
#endif
#elif defined(HC812A4)
/* all setting default to A4 already */
#endif
#if !defined(__EPAGE__) && !defined(__PPAGE__) && !defined(__DPAGE__)
/* as default use all page registers */
#define __DPAGE__
#define __EPAGE__
#define __PPAGE__
#endif
/* modify the following defines to your memory configuration */
#define EPAGE_LOW_BOUND 0x400u
#define EPAGE_HIGH_BOUND 0x7ffu
#define DPAGE_LOW_BOUND 0x7000u
#define DPAGE_HIGH_BOUND 0x7fffu
#define PPAGE_LOW_BOUND (DPAGE_HIGH_BOUND+1)
#define PPAGE_HIGH_BOUND 0xBFFFu
#define REGISTER_base 0x0u
#ifndef DPAGE_ADDR
#define DPAGE_ADDR (0x34u+REGISTER_base)
#endif
#ifndef EPAGE_ADDR
#define EPAGE_ADDR (0x36u+REGISTER_base)
#endif
#ifndef PPAGE_ADDR
#define PPAGE_ADDR (0x35u+REGISTER_base)
#endif
/*
The following parts about the defines are assumed in the code of _GET_PAGE_REG :
- the memory region controlled by DPAGE is above the area controlled by the EPAGE and
below the area controlled by the PPAGE.
- the lower bound of the PPAGE area is equal to be the higher bound of the DPAGE area + 1
*/
#if EPAGE_LOW_BOUND >= EPAGE_HIGH_BOUND || EPAGE_HIGH_BOUND >= DPAGE_LOW_BOUND || DPAGE_LOW_BOUND >= DPAGE_HIGH_BOUND || DPAGE_HIGH_BOUND >= PPAGE_LOW_BOUND || PPAGE_LOW_BOUND >= PPAGE_HIGH_BOUND
#error /* please adapt _GET_PAGE_REG for
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 57995 2013-01-31 23:16 按键中断流水灯\KEYZD\KEYZD.mcp
文件 855 2013-01-31 19:31 按键中断流水灯\KEYZD\C_Layout.hwl
文件 161 2004-06-15 14:46 按键中断流水灯\KEYZD\Default.mem
文件 2727 2013-01-31 23:34 按键中断流水灯\KEYZD\TBDML.ini
文件 68294 2013-01-31 19:31 按键中断流水灯\KEYZD\Sources\datapage.c
文件 22963 2013-01-31 19:31 按键中断流水灯\KEYZD\Sources\Start12.c
文件 3992 2013-01-31 23:34 按键中断流水灯\KEYZD\Sources\main.c
文件 262 2013-01-31 19:31 按键中断流水灯\KEYZD\Sources\derivative.h
文件 1514 2013-01-31 19:31 按键中断流水灯\KEYZD\cmd\TBDML_Erase_unsecure_hcs12xe.cmd
文件 78 2013-01-31 19:31 按键中断流水灯\KEYZD\cmd\TBDML_Vppon.cmd
文件 77 2013-01-31 19:31 按键中断流水灯\KEYZD\cmd\TBDML_Vppoff.cmd
文件 59 2013-01-31 19:31 按键中断流水灯\KEYZD\cmd\TBDML_Startup.cmd
文件 60 2013-01-31 19:31 按键中断流水灯\KEYZD\cmd\TBDML_Preload.cmd
文件 59 2013-01-31 19:31 按键中断流水灯\KEYZD\cmd\TBDML_Postload.cmd
文件 60 2013-01-31 19:31 按键中断流水灯\KEYZD\cmd\TBDML_Reset.cmd
文件 5824 2013-01-31 19:31 按键中断流水灯\KEYZD\prm\Project.prm
文件 10141 2013-01-31 19:31 按键中断流水灯\KEYZD\prm\burner.bbl
文件 99338 2013-01-31 23:33 按键中断流水灯\KEYZD\bin\Project.map
文件 132648 2013-01-31 23:33 按键中断流水灯\KEYZD\bin\Project.abs
文件 734 2013-01-31 23:33 按键中断流水灯\KEYZD\bin\Project.abs.glo
文件 728 2013-01-31 23:33 按键中断流水灯\KEYZD\bin\Project.abs.s19
文件 4263 2013-01-31 23:34 按键中断流水灯\KEYZD\KEYZD_Data\CWSettingsWindows.stg
文件 486888 2013-01-31 23:34 按键中断流水灯\KEYZD\KEYZD_Data\Standard\TargetDataWindows.tdt
文件 136968 2013-01-31 22:34 按键中断流水灯\KEYZD\KEYZD_Data\Standard\ob
文件 10316 2013-01-31 23:33 按键中断流水灯\KEYZD\KEYZD_Data\Standard\ob
文件 14361 2013-01-31 22:34 按键中断流水灯\KEYZD\KEYZD_Data\Standard\ob
文件 6017 2013-01-31 22:34 按键中断流水灯\KEYZD\KEYZD_Data\Standard\ob
文件 855 2010-08-28 09:24 按键中断流水灯\C_Layout.hwl
文件 161 2004-06-15 14:46 按键中断流水灯\Default.mem
文件 57995 2010-08-28 09:26 按键中断流水灯\KEY_zhongduan.mcp
............此处省略43个文件信息
相关资源
- 用vhdl实现8259设计
- msp430g2553单片机定时器中断例程
- PIC18F14k50的中断ADC定时器参考程序
- TMS320F28027 自带串口中断收发数据
- 中断方式的A/D数据采集系统实验交大
- STM8 UART串口发送完成中断程序
- dsp2812外部中断控制实验程序
- 8259A中断控制器实验.zip
- TQ2440开发板中断处理裸机程序
- STM32 CAN总线双机通讯程序(中断接收
- microblaze 定时器 中断相关资料
- 串行通信中断方式子程序
- STM8L15x的USART调试实验串口调试_含中断
- mcp23017 linux 驱动 支持扩展io中断
- Jetson TX2 串口POLLIN中断
- STM8S103定时器1多模式输出PWMCH3单通道
- 连接二值图像中断开的点
- 电力系统需求侧管理/可中断负荷投切
- STM8S003模拟串口中断接收
- 请求页式管理缺页中断模拟设计--FI
- 修改版实现进程的软中断通信。要求
- 基于verilog语言的8位CPU设计
- 用verilog语言写的CPU,支持外部中断与
- 一个简单双核CPU的verilog实现加中断、
- 利用51单片机来完成频率测量的程序
- 操作系统 实验 模拟分页式虚拟存储管
- 使用定时中断方式与ds18b20通信
- labview串口中断控制例程
- linux下中断处理程序,含驱动和应用程
- 操作系统-时钟中断-模拟时钟中断的产
评论
共有 条评论