| 单片机外部信号的有效电平持续多长时间才能引起中断? |
利用单片机C8051F000,时钟16M, 一个外部时钟信号,高电平500ns,低电平1us。 将时钟信号反相之后,接到单片机的外部中断引脚INT0上,但是单片机始终没有中断出现。 在时钟信号没有反相之前,利用单片机的外部中断是可以引起下降沿中断的 想问一下,那个高电平信号至少要保持多长时间才能引起中断那? 还是因为信号反相之后发生了什么变化还是因为程序问题那? 谢谢 作者:saite136 2008-1-28 11:37:00 |
|
| 回复1 这个问题还真的没有几个人碰到过167781 |
一般都是用窄的低电平触发中断。 你可以加一个简单的单稳电路延长一点反相后的1us信号,然后换用不同的单稳时间,用示波器抓一下,看到底多长的高电平可以使单片机正常中断。 
作者:bg6nw 2008-1-29 7:14:00 |
|
| 回复2 应该用边沿触发,只要两个周期就能保证100% 可靠触发167782 |
电平触发的话标志是不保存的,相当于指令间隔时由硬件查询, 如果中断优先级被占用或碰到较长的指令,当中断或指令执行完后脉冲却过去了(恢复高电平),硬件此时检测到Io口是高电平,当然就不会触发中断了
作者:xwj 2008-1-29 8:44:00 |
|
| 回复3 datasheet167783 |
datasheet
作者:ayb_ice 2008-1-29 11:20:00 |
|
| 回复4 顶xwj167784 |
外部中断我都用边沿触发。而且很多书上都说过电平触发的缺点了
作者:happystar 2008-1-29 12:52:00 |
|
| 回复5 只是2个时钟周期吗? 我也是用边沿来触发中断167785 |
我的外部信号高电平500ns,系统时钟16M,起码有5个周期了, 但是都没有引起中断 我后来做了试验,用C8051F120的PCA模块边沿捕捉功能去触发中断,在时钟的上升沿中断 在24.5M的时候数据可以正确的送出,在12.2M的时候数据已经不对了, 12.2M的时候只是在示波器上抓了送出的数据,而且试验结果不正确。 如果只要2个时钟周期的话,12M也是够的,而且高电平引起中断,进入中断后有 足够时间去读数据的,但是结果就是有问题的 我只是在程序里改了分频比,其他都没动
作者:saite136 2008-1-29 16:14:00 |
|
| 回复6 我开始还以为是机器周期搞错了。167786 |
1个机器周期=1时钟周期 还是在DATASHEET中找答案吧,这种增强型的51也许在一些细节上有些变化。
作者:救火车 2008-1-29 18:08:00 |
|
| 回复7 文档中没有这方面说明167787 |
问了技术支持也没の答案的
作者:saite136 2008-1-30 10:17:00 |
|
| 回复8 那就尽可能搞得长一些167788 |
那就尽可能搞得长一些
作者:gyt 2008-1-30 13:48:00 |
|