基于单片机at89s52的数字时钟设计内容摘要:
d display_2(year,mon,tian) {year_0=year%10。 year_1=year/10。 mon_0=mon%10。 mon_1=mon/10。 tian_0=tian%10。 tian_1=tian/10。 P2=0。 P0=tab[year_1]。 delay(200)。 P2=0x01。 P0=tab[year_0]。 delay(200)。 P2=0x02。 P0=0x40。 delay(200)。 P2=0x03。 P0=tab[mon_1]。 delay(200)。 P2=0x04。 7 P0=tab[mon_0]。 delay(200)。 P2=0x05。 P0=0x40。 delay(200)。 P2=0x06。 P0=tab[tian_1]。 delay(200)。 P2=0x07。 P0=tab[tian_0]。 delay(200)。 } main() { beef=0。 EA=1。 ET0=1。 TMOD=0x01。 TR0=1。 TH0=0x49。 TL0=0xf0。 // P2=0xFF。 while(1) { display_1(sec,min,hour)。 if(P34==0) { for (j=100。 j0。 j) {display_2(year,mon,tian)。 delay(10)。 } } if(flag==4||flag==5||flag==6) { for (j=300。 j0。 j) {display_2(year,mon,tian)。 delay(100)。 } } if(flag=7)flag=0。 if(min==0amp。 amp。 sec==0) {beef=1。 delay(1000)。 beef=0。 } } } void timer() interrupt 1 {TH0=0x49。 TL0=0xf0。 if(P32==0) { delay(10000)。 if(P32==0){flag++。 } } switch(flag) //位选择 {case 1: if(P33==0)delay(10000)。 if(P33==0)hour++。 break。 case 2: if(P33==0)delay(10000)。 if(P33==0)min++。 break。 case 3: if(P33==0)delay(10000)。 if(P33==0)sec++。 break。 case 4: if(P33==0)delay(10000)。 if(P33==0)year++。 break。 case 5: if(P33==0)delay(10000)。 if(P33==0)mon++。 break。 case 6: if(P33==0)delay(10000)。 if(P33==0)tian++。 break。 default:break。 } count++。 if(count==20amp。 amp。 sec=59) {count=0。 sec++。 } else if(sec==60amp。 amp。 min=5。基于单片机at89s52的数字时钟设计
相关推荐
抵消,经信号处理而输出电压信号。 AT89C51单片机简单概述 AT89C51单片机的结构 AT89C51单片机是美国Atmel公司生产低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(EPROM)和128 bytes的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存取技术生产,兼容标准MCS51指令系统
脚)为供电端口,分别接 +5V 电源的正负端。 P0~P3 为可编程通用 I/O 脚,其功能用途由软件定义,在本设计中, P0 端口( 32~39 脚)被定义为 N1 功能控制端口,分别与 N1的相应功能管脚相连接, 13 脚定义为 IR 输入端, 10 脚和 11 脚定义为 I2C 总线控制端口,分别连接 N1 的 SDAS( 18 脚)和 SCLS( 19 脚)端口, 12 脚、 27 脚及
和 是否不为 1 来触发东西及南北强制通行模式,以弥补外部中断的不足,实现更多的功能。 总程序见附录一。 正常工作模式子程序 正常模式下,交通灯每 45 秒改变一次通行方向,使得南北和东西交替通行,其流程图如图 所示。 其主要程序为: MOV R6,03H ;绿灯闪烁次数 MOV R0,00H ; MOV P2,R0 ;灯全灭 SETB ;南北绿灯亮 SETB ;东西红灯亮 ACALL
关定时器 T0 中断CLR TR0。 关闭定时器 T0LCALL DL1S。 调用 1 秒延时程序JB ,CLOSEDIS。 键按下时间小于 1 秒,关闭显示(省电) MOV R2,06H。 进入调时状态,赋闪烁定时初值 SETB ET1。 允许 T1 中断SETB TR1。 开启定时器 T1SET2: JNB ,SET1。 口为 0(键未释放),等待SETB 00H。 键释放,分调整闪烁标志置
需要的 脉冲信号。 不同的光电元件,所要求的测量电路也不相同 ,为此 设计时 必须详加考虑。 光电转换及信号调理电路设计 传感器将电机的转速信号转变成了电脉冲信号,该信号经 过 LM324集成运放整形驱动,送到单片机进行脉冲计数,从而测出电动机转速。 光电转换部分与单片机的连接框图如图。 图 光电转换部分与单片机的连接框图 LM324是四运放集成电路 , 它采用 14脚双列直插塑料封装 ,
‘1’。 ELSE IF NUMIN=TEMPNUM THEN 上一键值与此键值不同 TENPNUM=NUMIN。 记录此键值 COUNTER= ‘0’。 并对 计数器清 0,准备对此键值计时 ELSE IF COUNTER31 THEN。 当键值保持 31个时钟周期不变时 11 NUMOUT=NUMIN。 即确定为有效键值,并输出 COUNTER= ‘0’。 ELSE