查看: 3224|回复: 2

help:谁有MC9S08LG32的子程序包

[复制链接]

该用户从未签到

1

主题

7

帖子

0

新手上路

Rank: 1

积分
10
最后登录
1970-1-1
发表于 2010-2-5 10:54:32 | 显示全部楼层 |阅读模式
前几天刚做一个MC9S08LG32的板子,结果调试程序时键盘中断没反应(参照已调通的S08AC32键盘子程序,设置相应寄存器配置字),不知道什么原因,有没有人有此芯片的子程序包,谢谢了。附相关,代码:void Init_Key(void){    KBISC = 0x07;     //键盘设置,中断及边沿+电平  KBIPE |= 0x06;    //键盘1、2中断开 PTF5=KBI2,PTF4=KBI1。  KBIES |= 0xF9;    //设置键盘1、2为下降沿触发}interrupt VectorNumber_Vkeyboard void KBI_ISR(void){    DisableInterrupts;           //关中断    kbi_value = PTFD;              //PTF4、PTF5脚为键盘中断  kbi_value = kbi_value & 0x30;  //  kbi_value = kbi_value >> 4;    //高位2脚移至低位    do {      KBISC_KBACK = 1;           //键值是否释放  }while (KBISC_KBF == 1);  以下为键值的判断,故省略。  switch(kbi_value)  {         case 0x02:        //按KEY4        break;  }  EnableInterrupts;            //开中断}不知是不是初始化配置字没配置好的缘故?
回复

使用道具 举报

该用户从未签到

1

主题

7

帖子

0

新手上路

Rank: 1

积分
10
最后登录
1970-1-1
 楼主| 发表于 2010-2-5 11:05:07 | 显示全部楼层

RE:help:谁有MC9S08LG32的子程序包

代码:
byte kbi_value;
键盘初始化
void Init_Key(void){
KBISC = 0x07; //键盘设置,中断及边沿+电平
KBIPE |= 0x06; //键盘1、2中断开 PTF5=KBI2,PTF4=KBI1。
KBIES |= 0xF9; //设置键盘1、2为下降沿触发
}
键盘中断
interrupt VectorNumber_Vkeyboard void KBI_ISR(void){
DisableInterrupts; //关中断
kbi_value = PTFD; //PTF4、PTF5脚为键盘中断
kbi_value = kbi_value & 0x30; //
kbi_value = kbi_value >> 4; //高位2脚移至低位
do {
    KBISC_KBACK = 1; //键值是否释放
}while (KBISC_KBF == 1);

以下为键值的判断,故省略大部分。
switch(kbi_value)
{
  case 0x02: //按KEY4
  break; }
  EnableInterrupts; //开中断
}
不知是不是初始化配置字没配置好的缘故?

该用户从未签到

0

主题

11

帖子

0

新手上路

Rank: 1

积分
20
最后登录
1970-1-1
发表于 2010-2-5 18:49:22 | 显示全部楼层

回复:help:谁有MC9S08LG32的子程序包

在中断里设置断点,是否有进入?
不知道是不是需要设置中断向量表。
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-8-3 11:22 , Processed in 0.081858 second(s), 21 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表