打印
[STC单片机]

STC单片机P3.2与P3.3 INT0与INT1两引脚中的任意一个,可以复用吗?

[复制链接]
6234|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huzb11|  楼主 | 2016-7-14 16:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天做好了语音播报程序。本来这个项目,我用了两个STC单片机,主单片机功能为,体重三位数码管显示,身高四位数码管显示,BMI三位数码管显示。还有三个状态灯,另外还有四路按键用了四个(本来ADC按键做了9个键,用了一个引脚,但他们说太多,改用了独立按键),12位高精度转换用了四个脚,蜂鸣器用了一个,继电器用了两个。DS18B20用了一个。超声波用了INT0与INT1,现在只有SPI MOSI,SIMO,SS,SCLK ,而从单片机刚好是MOSI,SIMO,SS,SCLK,INT0 五个脚做语音功能,现在语音功能都做好了,本来初忠是主单片机,发串口指令给从单片机,按自己的要求报语音。但这样两单片机相互的串口通信,要做两单片机间的多字节串口通讯及通讯协议,而这种协议我还没弄过,怕搞得时间长,影响进度。刚发现主单片机,刚好少一个外部中断脚,就可以满足从单片机应用语音功能了。但主单片机上两个中断脚都被超声波测高使用了。如果这两个脚可以复用的话,可以去掉从单片机,用一个单片机使用控制。坛友们复用过中断INT0或INT1引脚吗?给点建议。。。

相关帖子

沙发
huzb11|  楼主 | 2016-7-14 22:34 | 只看该作者
STC12C5A60S2 外部中断,除P3.2,P3.3外,P3.4,P3.5是否也可以替代,只有中断优先级的区别吗?

使用特权

评论回复
板凳
xyz549040622| | 2016-7-14 22:39 | 只看该作者
中断复用的话,实时性如何保证呢?

使用特权

评论回复
地板
huzb11|  楼主 | 2016-7-15 08:22 | 只看该作者
xyz549040622 发表于 2016-7-14 22:39
中断复用的话,实时性如何保证呢?

是啊!所以我才纠结啊!超声波数据占用了INT0,INT1两个引脚,而ISD4002又需要一个外部中断引脚。。。

使用特权

评论回复
5
xyz549040622| | 2016-7-15 08:52 | 只看该作者
huzb11 发表于 2016-7-15 08:22
是啊!所以我才纠结啊!超声波数据占用了INT0,INT1两个引脚,而ISD4002又需要一个外部中断引脚。。。 ...

你看看你选择的什么芯片,万一这个芯片带pwm功能的话,用pwm捕捉代替一个中断试试。或者换芯片吧。

使用特权

评论回复
6
huzb11|  楼主 | 2016-7-15 09:02 | 只看该作者
语音功能是用ISD4002的芯片。超声波就是普通的超声波探头。。。

使用特权

评论回复
7
changle11sdo5| | 2016-7-16 14:06 | 只看该作者
12位高精度转换??ADC???STC12C5A60S2才10位

使用特权

评论回复
8
ningling_21| | 2016-7-16 18:46 | 只看该作者
huzb11 发表于 2016-7-15 08:22
是啊!所以我才纠结啊!超声波数据占用了INT0,INT1两个引脚,而ISD4002又需要一个外部中断引脚。。。 ...

可以用外部电路扩展 外部中断 的数量

使用特权

评论回复
9
huzb11|  楼主 | 2016-7-17 00:08 | 只看该作者
changle11sdo5 发表于 2016-7-16 14:06
12位高精度转换??ADC???STC12C5A60S2才10位

外加的12位ADC转换芯片。。

使用特权

评论回复
10
huzb11|  楼主 | 2016-7-17 00:35 | 只看该作者
coody 发表于 2016-7-16 21:40
STC12C5A60S2 有两路PCA,你用了吗?你可以用一路PCA设置成捕捉,引脚CCP的边沿会触发捕捉和中断,我经常用 ...

这样啊!没用过PCA,回头试试。如果能充当扩展的外中断,那简直太好了。看手册,好像是P1.3, P1.4脚。早知道如此,我就该选用MSP430系列芯片,还不用那么麻烦。。。

使用特权

评论回复
11
huzb11|  楼主 | 2016-7-18 11:34 | 只看该作者
本帖最后由 huzb11 于 2016-7-18 12:34 编辑
coody 发表于 2016-7-16 21:40
STC12C5A60S2 有两路PCA,你用了吗?你可以用一路PCA设置成捕捉,引脚CCP的边沿会触发捕捉和中断,我经常用 ...


我语音控制时的用P3.3脚为外部中断脚,中断时判断 whlie(INT==1),如果用PCA0当外部中断,是否将P1.3脚,替换成P3.3脚,然后判断ccf0==1,对吗?

使用特权

评论回复
12
supertankhzt| | 2016-7-19 20:14 | 只看该作者
huzb11 发表于 2016-7-18 11:34
我语音控制时的用P3.3脚为外部中断脚,中断时判断 whlie(INT==1),如果用PCA0当外部中断,是否将P1.3脚, ...

对的,但不用循环判断,既然能入中断,必有CCFx==1。
if(CCF0){
CCF0=0;             //必须软件清0
//.....干活.......
}

使用特权

评论回复
13
huzb11|  楼主 | 2016-7-23 11:35 | 只看该作者
此问题已经解决,贴子可以结了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

55

帖子

1

粉丝