完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我想使用按键来触发2个外部中断,然后用定时器来计算按键按的时间,定时50ms然后每中断一次灯亮一次,来提示时间通过人眼给反应。
程序如下: #include #define uchar unsigned char #define uint unsigned int ***it k1=P3^2; ***it k2=P3^3; //int num1; //int num2; //***it k3=P1^1; //***it k4=P1^2; ***it light=P1^0; int num; void delayms(unsigned int xms)//延时ms { unsigned int i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); } void main() { EA=1; TMOD=0X01; TH0=(65536-45872)/256; TL0=(65536-45872)%256; TCON=0x01; TCON=0x04; EX0=1;IT0=1; EX1=1;IT1=1; while(1) { if (k1==0) { delayms(50); if (k1==0) { light=0; //k1=0; EX0=0; IT0=0; } } if (k2==0) { delayms(50); if (k2==0) { light=0; //k2=0; EX1=0; IT1=0; } } } } void waibuzhongduan0() interrupt 0 { TCON=0x01; EX0=1; IT0=1; } void waibuzhongduan1() interrupt 2 { TCON=0x04; EX1=1; IT1=1; } void dingshiqi0() interrupt 1 { TH0=(65536-45872)/256; TL0=(65536-45872)%256; light=1; } void dingshiqi1() interrupt 3 { TH0=(65536-45872)/256; TL0=(65536-45872)%256; light=1; } 我用实际板子和按键测试,灯不亮,也没有其他现象,我的程序有问题还是什么,怎么改 |
|
相关推荐
6个回答
|
|
回帖奖励 +1 分积分
我用的程序去实验一下,能亮的
|
|
|
|
|
|
|
|
中断优先级!我还不确定你要做什么,但是中断这么多的话,要考虑中断优先级
|
|
|
|
有点看不懂,。。。。。
|
|
|
|
我比较好奇2楼是怎么一回事
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-shell脚本编写之传参
387 浏览 0 评论
【xG24 Matter开发套件试用体验】点灯之后的UART测试
450 浏览 0 评论
【xG24 Matter开发套件试用体验】第一个LED测试工程
385 浏览 0 评论
【xG24 Matter开发套件试用体验】蓝牙mesh基本功能开发调试
305 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-shell脚本编写之变量
609 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10996 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-6 02:18 , Processed in 0.605589 second(s), Total 82, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191