24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1781  |  回复: 9

爱蓉

新虫 (初入文坛)

[求助] 关于飞思卡尔单片机的TPM输入捕捉功能 已有1人参与

找不到哪里可以请教一些关于单片机的知识,发到这里不知道可不可以= =
用MC9S08JM60的板子写了个程序,目的是测两个信号之间的时间差,想法是利用板子的两个按键(PTBD4&PTBD5)来提供下降沿,按下按键,输入电平从高变为低,提供下降沿,利用TPM1的通道1和2来捕捉下降沿,分别利用两个LED(PTBD0&PTBD1)来显示进入了中断, 如果进入中断,则点亮对应的LED。   
这样,通过两次中断,分别去读对应的计数器的值,可以计算出两个信号(两个下降沿)之间的时间差,应该是一个很简单的程序,却不知道哪里出了问题,LED不会亮,应该是没进中断。     
程序附在下面,希望好心的老师同学可以帮帮忙看看,谢谢!!!
#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */


void PTBDD_INIT(void);
long i,j,c,x;
void main(void) {

  DisableInterrupts;//关闭中断
  SOPT1=0x03;//关狗

  PTBDD_INIT(); //对管脚初始化
  

  x=TPM1SC;
  TPM1SC_TOF=0;//对TPM1SC溢出标志清除
  TPM1SC_TOIE=0;  //TPM1中断禁止
  TPM1SC_CPWMS=0;//加法计数器方式
  TPM1SC_CLKSB=0; //总线时钟
  TPM1SC_CLKSA=1;
  TPM1SC_PS0=0;//1分频
  TPM1SC_PS1=0;
  TPM1SC_PS2=0;
  TPM1CNT=0x0000;// TPM计数器清零
  TPM1MOD=0x0000; //自由计数模式      
  

  TPM1C1SC_CH1F=0;
  TPM1C2SC_CH2F=0;
  TPM1C1SC_CH1IE=1; //1.2通道中断使能
  TPM1C2SC_CH2IE=1;
  TPM1C1SC_MS1B=0; //通道输入捕捉
  TPM1C1SC_MS1A=0;
  TPM1C2SC_MS2B=0;
  TPM1C2SC_MS2A=0;
  TPM1C1SC_ELS1B=1;//下降沿捕捉
  TPM1C1SC_ELS1A=0;
  TPM1C2SC_ELS2B=1;
  TPM1C2SC_ELS2A=0;
  
  EnableInterrupts; /* enable interrupts */
  /* include your code here */
  
  for( ; ; ) {
   
   
    //__RESET_WATCHDOG(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
}
void PTBDD_INIT(void){
PTBDD_PTBDD4=0;
PTBDD_PTBDD5=0;
PTBDD_PTBDD0=1;
PTBDD_PTBDD1=1;
PTBD_PTBD0=1;
PTBD_PTBD1=1;
}


void interrupt 10 tpm_isr1(){
  i=TPM1C1VH*256+TPM1C1VL;
  PTBD_PTBD0=0;   
  TPM1C1SC=TPM1C1SC&0x48;  //TPM1频道1中断标识清除   
  
  
}
void interrupt 11 tpm_isr2(){
  j=TPM1C2VH*256+TPM1C2VL;
  PTBD_PTBD1=0;
  TPM1C2SC=TPM1C2SC&0x48;   //TPM1频道2中断标识清除
  
}
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

爱蓉

新虫 (初入文坛)

程序并没有报错,但是也没有出现想要的结果
2楼2015-05-28 10:34:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chenjiejiang

金虫 (小有名气)

没用过飞思卡尔的单片机,但是你没有仿真器在线仿真么,看看进中断木有?
既然选择了远方 便只顾风雨兼程
3楼2015-05-28 12:49:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

爱蓉

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by chenjiejiang at 2015-05-28 12:49:16
没用过飞思卡尔的单片机,但是你没有仿真器在线仿真么,看看进中断木有?

有块板子,水平太渣了,不知道怎么看进没进中断= =
4楼2015-05-28 14:33:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chenjiejiang

金虫 (小有名气)

引用回帖:
4楼: Originally posted by 爱蓉 at 2015-05-28 14:33:02
有块板子,水平太渣了,不知道怎么看进没进中断= =...

在中断里面设置个断点就能看出来
既然选择了远方 便只顾风雨兼程
5楼2015-05-28 14:59:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

爱蓉

新虫 (初入文坛)

引用回帖:
5楼: Originally posted by chenjiejiang at 2015-05-28 14:59:08
在中断里面设置个断点就能看出来...

我也不知道对不对,就在连个中断里面的PTBD0和1的位置设置了断点,然后运行的时候,再按了开关就可以点亮两个LED了,那应该是进了中断,但是因为亮灯时间太短,所以看不到的缘故?  不敢肯定
6楼2015-05-28 15:37:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

爱蓉

新虫 (初入文坛)

引用回帖:
6楼: Originally posted by 爱蓉 at 2015-05-28 15:37:41
我也不知道对不对,就在连个中断里面的PTBD0和1的位置设置了断点,然后运行的时候,再按了开关就可以点亮两个LED了,那应该是进了中断,但是因为亮灯时间太短,所以看不到的缘故?  不敢肯定...

又不能用了= =  关掉重新调试,还是在那两个位置设置断点,就死活都进不去了。。。
7楼2015-05-28 15:56:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chenjiejiang

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
爱蓉: 金币+5, ★★★★★最佳答案, 谢谢chenjiejiang的帮助! 2015-05-29 17:04:09
一步一步来吧:
1. 每次按键的时候,用示波器或者万用表测量看高低电平是否正确
2. 如果上一步正确,在中断中设置断点,看是否每次都能进入中断,如果不能进入,则检测IO口中断配置是否有问题
3. 如果上一步正确,那么继续运行的时候LED灯就应该是常亮的。如果灯不亮,那么检测单片机是否正确输出了低电平。

进一步应该能确定问题所在
既然选择了远方 便只顾风雨兼程
8楼2015-05-28 16:10:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

爱蓉

新虫 (初入文坛)

谢谢!   我再试试,本来就挺悲催的,电脑昨天又遭遇了持续蓝屏和闪屏= =
9楼2015-05-29 17:02:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chenjiejiang

金虫 (小有名气)

引用回帖:
9楼: Originally posted by 爱蓉 at 2015-05-29 17:02:19
谢谢!   我再试试,本来就挺悲催的,电脑昨天又遭遇了持续蓝屏和闪屏= =

祸不单行啊,祝好运

[ 发自小木虫客户端 ]
既然选择了远方 便只顾风雨兼程
10楼2015-05-30 10:38:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 爱蓉 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 265求调剂 +9 林深温澜 2026-04-01 11/550 2026-04-02 13:01 by yulian1987
[考研] 327求调剂 +9 汲亦昊 2026-03-29 9/450 2026-04-02 11:44 by 运气yunqi
[考研] 材料求调剂一志愿哈工大324 +8 闫旭东 2026-03-28 10/500 2026-04-02 11:27 by Sammy2
[考研] 材料科学与工程调剂 +18 深V宿舍吧 2026-03-30 19/950 2026-04-02 10:28 by sanrepian
[考研] 07生物学求调剂 一志愿同济大学359分 +3 LAMC. 2026-03-30 3/150 2026-04-02 10:26 by 18828373951
[考研] 一志愿211,335分,0856,求调剂院校和导师 +14 倾____萧 2026-03-27 15/750 2026-04-02 09:21 by olim
[考研] 一志愿南昌大学324求调剂 +11 hanamiko 2026-04-01 11/550 2026-04-02 09:00 by sanrepian
[考研] 材料科学与工程339求调剂 +11 hyz0119 2026-03-31 12/600 2026-04-01 18:40 by 伟大河北
[考研] 0710生物学求调剂! +6 叙述文 2026-03-31 6/300 2026-04-01 09:39 by JourneyLucky
[考研] 求调剂 生物学 377分 +6 zzll03 2026-03-31 6/300 2026-03-31 17:33 by 唐沐儿
[考研] 080500-315分复试调剂 +9 上岸3821 2026-03-31 9/450 2026-03-31 17:29 by 唐沐儿
[考研] 276求调剂 +3 赵久华 2026-03-29 3/150 2026-03-31 10:06 by cal0306
[考研] 一志愿华中师范化学332分求调剂 +3 Lyy930824@ 2026-03-29 3/150 2026-03-30 20:15 by DHUSHUAI
[考研] 105500药学求调剂,一志愿山东大学药学,348分 +3 gr哈哈哈 2026-03-28 3/150 2026-03-30 18:56 by 源_2020
[考研] 085600,材料与化工321分求调剂 +10 大馋小子 2026-03-28 10/500 2026-03-29 23:35 by 飞行日记西
[考研] 356求调剂 +4 gysy?s?a 2026-03-28 4/200 2026-03-29 10:32 by 唐沐儿
[考研] 调剂考研 +3 王杰一 2026-03-29 3/150 2026-03-29 08:09 by fmesaito
[考研] 312,生物学求调剂 +3 小译同学abc 2026-03-28 3/150 2026-03-28 15:32 by 落睿可思
[考研] 340求调剂 +5 jhx777 2026-03-27 5/250 2026-03-28 04:18 by fmesaito
[考研] 调剂求收留 +7 果然有我 2026-03-26 7/350 2026-03-27 00:26 by wxiongid
信息提示
请填处理意见