求基于51单片机P01,P2 LED接数码管,用三极管驱动的电子时钟程序,大神求救啊!
程序名称:5 1 数字管数量小时电子时间的微控制器说明:实施2 4 小时电子时钟,8 位数字管显示,时间显示,分钟和第二个显示:2 3 -5 9 -5 9 m书面: 确定尺寸按钮启动的密钥:movtmod,#01 H; 计时器0,工作模式1 MOVTH0,#03 CH MOVTL0,#0B0H VR6 ,#0; 0。在MOV2 5 H,0。
E:CJNER6 ,#2 0,OUT上清除单个位列表; 位等于6 ,清除MOV2 1 H,#00H inc2 2 h min:Mova,2 2 H CJNEA,#1 0,出口; 如果单个甜菜等于1 0,则清除MOV2 2 H,#00h inc2 3 h mova,2 3 h cjnea,#6 ,out; ,#00h inc2 4 h小时:Mova,2 5 H CJNEA,#2 ,循环; 如果十位数等于2 位,则通过Mova(2 4 H cjnea,#4 )检查单位数字,如果单个数字等于4 ,则清除MOV 2 4 H,#00h; PEXIT循环:Mova,2 4 H CJNEA,#1 0,出口; 如果一个数字等于1 0,则MOV2 4 H清除,#00h inc2 5 h ljmpexit退出:ljmpdisplay; Mova,2 0h movca,@a+dptr movp0,clrp2 .7 lcalldelay setbp2 .7 ; 十位MOVA,#0BFH MOVP0,clrp2 .5 lcalldelay setbp2 .5 ; 3 H movca,@a+dptr movp0,clrp2 .3 lcalldelay setbp2 .3 ; A+DPTR MOVP0,clrp2 .1 lcalldelay setBp2 .1 ; 显示MovDPtr时单位;#table1 ; 这个位用户表1 可以摆脱Mova pre -0,2 5 h movca,@a+dptr movp0,clrp2 .0 lcalldel,clrp2 .0 lcalldel ay setbp2 .0; 4 H; B0C0H,0F9 H,0A4 H,0B0H,9 9 H,9 2 H,8 2 H,0F8 H,8 0H,9 0H; Ed Final Font处理;
51单片机驱动八位数码管电子钟
#includude00小时-00秒{UC h,s = hurs / g = hur%= )= wei [2 ] = 0x4 0; 魏[4 ]; p0 = duan [g]; p2 = sec / wei [5 ]; p2 = hei [sous]; // ea = 1 ; //打开打开T0截距ET1 = 1 ; // 0x1 1 ; // T1 Unived Mode 1 ,T1 Unived Mode 1 ,T1 TH0 = 0x3 C; // t0 t0 thtsth1 = 1 ; // t8 3 = 1 开始计时 /隆隆t1 } 1 //小时临时时间 t05 0ms {0x3 c; dot ++; voidTimer3 (void)intrupt3 using3 // sec t1 1 0ms {0xd8 ; TL1 = 0xD8 ; 0xd8 {++ miao == 6 1 ){++ miao == 6 0; 0 = 0; //)}}}}}}}}} {〜}){{lay(5 ); (〜开始){tr1 = 1 ; display1 (〜stop){〜stop){〜clear && fr1 == 0; {〜Clear && = 0){〜 0;} a = aism =坦率,()fen yscan2 ()〜 时钟){〜时钟){〜时钟){tr0 = 1 ; {〜t1 ){〜t1 ){〜t1 ){〜t2 ){〜t2 ){〜t2 ){delay(〜t2 ); Minite = Minite> + 1 ; {〜t3 ){〜t3 ){〜t3 ){〜t3 ){〜t3 ){〜〜){〜〜){〜〜){〜〜); k1 ){p3 _4 = 0; p3 _5 = 1 ; 标志= 1 ; 〜= 〜1 ; {〜= flag){p3 _4 = 1 ; {p3 _4 =)}}} {quehuan){sphere2 );}}}}}}}}}}}}}
51单片机控制数码管显示时钟,独立按键怎么弄
免费按钮的处理相对简单,通常通过IO端口单独控制。主要步骤包括进行删除和检测按钮的按下和抬起。
例如,您可以这样做:sbitkey = p1 ^0; if(key == 0){delay(1 0); if(key == 0){keyVal = 1 ; 而(键== 0);}}要消除主抖动,则添加了1 0毫秒的延迟。
再次检测关键状态。
最后,输入循环,等待键删除。
在实际应用中,主要处理不限于此。
还必须考虑各种点击和长压力。
例如,可以添加计数器以检测按键的次数,或者可以添加计时器以确定长时间保存键。
此外,为了确保程序的强度,建议在每个关键处理步骤中增加对适当豁免的正确检查和处理。
例如,检查延迟功能后的主条件是否仍然为0,以避免由外部疾病引起的错误。
在一个5 1 个微控制器控制数字管显示时钟的项目中,主要处理是一个非常需要的部分。
通过上述方法,可以有效地实现该按钮的检测和反应,从而为时钟功能提供可靠的操作控制。
编程时,您还需要注意避免对程序的主要抖动效果。
它可以通过硬件电路(例如引入Deboon电路引入)或将延迟处理添加到软件中以确保主要条件检测的准确性进行设计。
简而言之,尽管免费按钮的处理很简单,但在详细实施时仍需要小心,以确保程序的稳定性和可靠性。
51单片机电子钟程序数码管显示
#includef(temp!= 0xf0){temp = p3 ; 开关{{{p3 = 0xf0; {{p3 ); {{{{p3 )}}}}} {temp = p3 ; p){case0xee:key = 0; wei ++; 休息; case0xde:key = 1 ; wei ++; 休息; 键= 2 ; wei ++;} temp = p3 ;} temp = p3 ;} temp = p3 ;} temp = 0xf0){temp = 0xf0); 如果 (temp!= 0xf0){temp = p3 ; switch(temp){case0xed:key = 4 ; wei ++; 休息; 钥匙= 5 ; eti + + = 0xf0;} key = + + = 0xf0;}}}}}}}}}}} iment = 0xfb; temp = 0xfb; 0xf0; 如果 (temp!= 0xf0){delay(1 0)。
){temp = p3 ; switch(temp){case0xeb:key = 8 ;} temp = 9 ;} temod = 0x01 ; temod =(6 5 5 5 3 6 -4 6 08 0) / 2 5 ; //晶体振荡器应为4 6 08 0,应为4 6 08 0,计时器将每5 0,000微秒干扰。
TL0 =(6 5 5 3 6 -4 6 08 08 0)%2 5 6 ; // 4 6 08 0的起源为5 0000 * 1 1 .05 9 2 / 1 2 0; {pp == 6 ){m == 6 0){m == 6 0; f = 0 {f = 0; S ++; S == 2 4 )//每2 4 小时循环2 4 小时)。
如果您想要1 2 H,请在此处更改。
{s = 0;}}}}}}}}}}} = s / 1 0; B1 = M / 1 0; c0 = m / 1 0,; Ultei; 休息; case(a1 == 1 | a1 == 0)a0 =键; UNEF(关键位)是最高最高的。
7 // 6 B1 =最高分钟。
unewei:b1 =键:b1 * 1 0 + b0; S = B1 * 1 0 + B1 * 1 0 + B1 * 1 0 + B1 * 1 0}}}}}}}}}}}}}}} {Th0 =(6 5 5 3 6 -4 6 08 0) / 2 5 6 ; TL0 =(6 5 5 3 6 -4 6 08 0)%2 5 6 ; pp ++;