No.7757 作者:红蚂蚁 邮件: ID:2468 登陆:1次 文章数:8篇 最后登陆IP: 最后登陆:2002/5/23 11:36:00 注册:2002/5/23 11:36:00 财富:32 发帖时间:2002/5/23 11:38:00 发贴者IP:218.12.100.3 标题:红蚂蚁:C51编程:快来帮帮我呀,我的程序哪里有问题呀?工作指示灯闪,其他的不行 摘要:No.7757C51编程:快来帮帮我呀,我的程序哪里有问题呀?工作指示灯闪,其他的不行 /*p1.0~p1.3 接按键,低电平有效,防抖40ms。按一次亮,再按一次灭。四个键不可一起按 着。 p2.0~p2.3 接led, 低电平有效 p3.7 工作灯,低电平有效。周期0.4s key 为键值积存器 _tt1为防抖使用时间积存器 _tt2为工作灯使用时间积存器 p1reg为p1口上次值积存器 */ #include <reg51.h> unsigned char key=0xff; unsigned char _tt1=0; unsigned char _tt2=0; unsigned char p1reg=0xff; sbit p20=P2^0; sbit p21=P2^1; sbit p22=P2^2; sbit p23=P2^3; sbit p37=P3^7; /*TO中断服务子程序 */ void timer0(void) interrupt 1 using 2 { TH0=-2000/256; TL0=-2000%256; if(P1^p1reg!=0) { if(_tt1=0) _tt1=1; else { if(_tt1>20) /*防抖动*/ { key=P1; switch(key) { case 1:p20=!p20;break; case 2:p21=!p21;break; case 4:p22=!p22;break; &nbs ......
>>返回讨论的主题
|