完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
今天看郭天祥的十天学会单片机,STC89C52,外部中断0时,为什么我试验时下降沿上升沿都会触发,而看视频中只有下降沿才触发?一下为外部中断0的程序:
#include #define uint unsigned int #define uchar unsigned char ***it dula=P2^6; ***it wela=P2^7; ***it d1=P1^0; uchar num; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void delay(uint z); void main() { EA=1;//开总中断 EX0=1;//开外部中断0 //IT0=1; TCON=0x01; wela=1;//11101010 P0=0xea; wela=0; while(1) { for(num=0;num<16;num++) { d1=1; dula=1; P0=table[num]; dula=0; delay(1000); } } } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void exter0() interrupt 0 { d1=0; } 下载至单片机后,用杜邦线将P3.2口接地,接触地的刹那中断触发,发光二极管亮;当连接GND的杜邦线那头拔掉,中断还会触发,发光二极管也亮。 这是什么原因呢,资料上说只有下降沿才会触发外部中断0??? |
|
相关推荐
5个回答
|
|
你应该把d1=0改为d1=~d1
|
|
|
|
这样每中断一次,改变一次d1的状态
|
|
|
|
不行,结果还是一样。上升沿触发时而发生,这是由于杜邦线的问题,还是手操作问题。杜邦线试了好几根,结果还是一样
|
|
|
|
抖动的原因,你应该在中断那里关下总中断再延时一下
|
|
|
|
现在是2020年 这个问题依旧存在 我的也是 拔下来会亮一下
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
644 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1819 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1262 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1136 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1357 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12026 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 07:46 , Processed in 0.759757 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号