📄 main.c
字号:
/* KB模块例程
HCS908_QG8 单片机开发板
实验介绍:
本程序是KB模块的例程,所用资源为单片机内部KBI模块,所接器件为按键和LED,
其中D2与PTA0,D3与PTA1,S2与PTA2,D3与PTA3相连接,
确定你开发板上拨码开关JP4(图片上9)的1、2、3、4位处于on),而其他位处于
远离on!
实验现象:
按一下按键(如S2)对应的LED指示灯(D3)发光(熄灭),再一次按下按键对应的
LED指示灯熄灭(发光),其中S2控制着D3,其中S3控制着D2。
author:QGL
any question mail me:)
libing.qu@free-tech.com.cn
*/
/*****************头文件****************************************/
#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */
/*********************变量和函数定义****************************/
void IO_INIT(void);
void KB_INIT(void);
void MCU_INIT(void);
void DELAY(word x);
/*********************主函数************************************/
void main(void) {
EnableInterrupts; /* enable interrupts */
MCU_INIT();
IO_INIT();
KB_INIT();
for(;;) {
// __RESET_WATCHDOG(); /* feeds the dog */
} /* loop forever */
/* please make sure that you never leave main */
}
/***************************MCU初始化函数*******************************/
void MCU_INIT(void){
ICSC1=0x04;
ICSC2=0x40;
ICSTRM=0xa8;
SOPT1=0x42;
SOPT2=0x00;
}
/***********************I/O初始化********************************/
void IO_INIT(void){
PTADD_PTADD2=0;//PTA2、PTA3设置为
PTADD_PTADD3=0;
PTADD_PTADD0 = 1;//PTA0、PTA1设置为
PTADD_PTADD1 = 1;
//PTAD_PTAD0 =0;
//PTAD_PTAD1 =0;
}
/************************KB初始化********************************/
void KB_INIT(void){
KBIPE_KBIPE2 =1; /* Enable Keyboard Pin */
KBIPE_KBIPE3 =1;
KBISC_KBIE = 1; /* Enable Keyboard Interrupts */
//KBISC_KBMOD = 1;
PTAPE_PTAPE2 = 1; /* Enable Pullup for Keyboard pin */
PTAPE_PTAPE3 = 1;
KBISC_KBACK = 1; /* Clear Pending Keyboard Interrupts */
}
/***************************延时函数*******************************/
void DELAY(word x){
word i,j;
for(i=0;i<x;i++) {
for(j=0;j<250;j++)
{;}
}
}
/********************************键盘中断**************************/
interrupt 18 void KBI_ISR(void) {
KBISC_KBACK = 1; //清除键盘中断标志
DELAY(1);
if(PTAD_PTAD2==0)
{ //查询是由哪一个口引起的中断
PTAD_PTAD1 = ~PTAD_PTAD1;
}
else if(PTAD_PTAD3==0){
PTAD_PTAD0 = ~PTAD_PTAD0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -