完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 d***sy394168090 于 2013-5-29 08:16 编辑
程序如下 12M晶振 delaytime(1)测试延长时间:679us, delaytime(2)测试延长时间:1332us 要实现目标:0x45键按下实现流水灯,按下0x46键关闭。其他键无反应。 不知道是测试的方法不对还是怎么的?求解 #include #define uint unsigned int #define uchar unsigned char uchar ram[4]={0,0,0,0}; ***it IRIN=P3^2; uchar key,a[8]; void run(); void delaytime(uint t); void delaytime(uint t) {uint a,b; for(a=t;a>0;a--) for(b=80;b>0;b--); } void main() { T0=1; EA=1; EX0=1; IRIN=1; if(key==0x45) {while(1) run(); } else P1=0xff; } void run() {uint i; uchar a[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; for(i=0;i<8;i++) { P1=a; delaytime(1700); } } void IR() interrupt 0 { uchar m,n; uint i; for(i=0;i<1100;i++) {if(IRIN) return; } while(IRIN!=1); while(IRIN); for(m=0;m<4;m++) { for(n=0;n<8;n++) {while(IRIN!=1); delaytime(1); if(IRIN) {ram[m]=ram[m]|0x80; delaytime(2); } else ram[m]=ram[m]>>1; } } if(ram[2]!=(~(ram[3]&0x7f))) { for(i=0;i<4;i++) ram=0; return; } key=ram[2]; } |
|
相关推荐
2个回答
|
|
不能沉啊 !!!
|
|
|
|
我去 么的人(⊙_⊙)? 怎搞?
|
|
|
|
只有小组成员才能发言,加入小组>>
物联网工程师必备:怎么选择不同的无线连接技术,本指南帮你忙!
3091 浏览 1 评论
【DFRobot TinkerNode NB-IoT 物联网开发板试用连载】WIFI功能测试
3741 浏览 0 评论
【DFRobot TinkerNode NB-IoT 物联网开发板试用连载】Arduino的替代SublimeText3+STino
3253 浏览 0 评论
使用端口扩展器轻松高效地向IIoT端点添加具有成本效益的子节点
3784 浏览 1 评论
20306 浏览 11 评论
模组有时候复位重启后输出日志为“REBOOT_CAUSE_SECURITY_PMU_POWER_ON_RESET”的原因?
435浏览 2评论
424浏览 2评论
2818浏览 1评论
490浏览 1评论
546浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-24 01:20 , Processed in 0.720317 second(s), Total 85, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191