单片机实训报告基于51单片机多功能数字钟内容摘要:
MOV T1MSECOND,A CJNE A,00,DISPT1 ;满 1S MOV A,T1SECOND ;秒加 1 调整 ADD A,1 DA A MOV T1SECOND,A CJNE A,60H,DISPT1 ;满 1MIN MOV T1SECOND,0 ;秒清 0 MOV A,T1MINIT ;分加 1 调整 ADD A, 1 DA A MOV T1MINIT,A CJNE A,60H,DISPT1 ;满 1H MOV T1MINIT,0 ;分清 0 MOV A,T1HOUR ;小时加 1 调整 ADD A,1 DA A MOV T1HOUR,A CJNE A,24H,DISPT1 ;满 1D MOV T1HOUR,0 ;小时清 0 DISPT1: LCALL DISPLAY4 9 RETI ;外部中断 0 中断服务子程序 SEVER: LCALL READKEY ;读键值 CJNE A,0F0H,TIMESET ;“调整时间”键按下 JB ADJUST,KK ;已在调整时间,“调整”键 无效 JB TSET,KK ;已在设定时间,“调整”键无效 SETB ADJUST ;置位修改标志位 MOV TADJAREA,HOUR ;送时分秒至时间修改单元 MOV TADJAREA+1,MINIT MOV TADJAREA+2,SECOND MOV TPOINT,TADJAREA ;指向修改时间高位地址,以便区别显示 CLR ODDEVEN ;设置高低位标志 LCALL DISPLAY2 ; 6 位显示 KK: RETI ;设定时间 TIMESET: CJNE A,0F8H,CLRALL ;定时键按下。 JB ADJUST,ROK2 ;已在修改时间,设定键无效 JB TSET,ROK2 ;已在设定时间,设定键无效 MOV A,TNUM ;取出已设定定时个数 CJNE A,HNUM,TMST ;判断是否达到上限 SETB CLRFLAG ;满则显示提示信息“ RAMOV” MOV DCODE,0AFH MOV DCODE+1,88H MOV DCODE+2,0ABH MOV DCODE+3,0BBH MOV DCODE+4,0C0H MOV DCODE+5,0E3H LCALL DISPLAY1 ;显示 LCALL DELAY2S ;延时 2S ROK2: RETI ;中断返回 TMST: SETB TSET ;置位修改标志位 MOV TSETAREA,0 ;清 0 时 MOV TSETAREA+1,0 ;清 0 分 MOV TPOINT,TSETAREA ;指向设定定时位置,以便区别显示 CLR ODDEVEN ;设置高低位标志 LCALL DISPLAY3 ; 4 位显示 RETI CLRALL: CJNE A,0F1H,SUREKEY ;清除键按下。 CLR EX0 ;关外中断 0 SETB CLRFLAG ;置位正在清除标志位 MOV DCODE,92H ;显示“ SURE”,确认修改 MOV DCODE+1,0E3H MOV DCODE+2,0AFH 10 MOV DCODE+3,86H MOV DCODE+4,0ACH MOV A,0 ;后面 3 位不显示 MOV DCODE+5,A LCALL DISPLAY1 WW: SETB JB ,WW LCALL READKEY ;读键 CJNE A,0F9H,ROK3 ;确认键按下,清除所有定时点数据 MOV R0,TNUM ;指向起始位置 MOV R7,HNUM*2+1 ;需要清除的单元个数 MOV A,0 CLRLP: MOV @R0,A ;清除 INC R0 DJNZ R7,CLRLP MOV DCODE,88H ;显示删除信息“ ALLCLR” MOV DCODE+1,0C7H MOV DCODE+2,0C7H MOV DCODE+3,0A7H MOV DCODE+4,0C7H MOV DCODE+5,0AFH LCALL DISPLAY1 LCALL DELAY2S SETB EX0 ;开外部中断 0 CLR CLRFLAG ;还原正在清除标志位 ROK3: RETI SUREKEY: CJNE A,0F9H,T1KEY ;确认键按下 JNB ADJUST,SS ;修改时间时,确认键按下 MOV HOUR,TADJAREA ;记录下修改的时分秒 MOV MINIT,TADJAREA+1 MOV SECOND,TADJAREA+2 CLR ADJUST ;清除正在修改时间标志位 LCALL DISPLAY RETI SS: JNB TSET,ROK4 ;设定定时时,确认键按下 CLR TSET ;清 0 正在定时标志位 MOV A,TNUM ;保存设定的定时点数据 RL A ;乘 2 字节 ADD A,TAREA ;地址加 2 MOV R0,A MOV @R0,TSETAREA ;保存设定定时点的“时” INC R0 ;地址加 1。单片机实训报告基于51单片机多功能数字钟
相关推荐
*/ /*项目所以单片机资源: P0 口输出数码管段控信号, P2 口输出数码管位控信号, P1 口接按键, P3 口接流水灯; 晶振 12MHz; 按键 S1: ,甲车道通车; 按键 S2: ,乙车道通车; 按键 S3: ,紧急情况通车; 按键 S4: ,复位显示 P.; 40H 用于显示缓冲区个位; 41H 用于显示缓冲区十位; 堆栈栈底: 70H。 */ /*项目所用的显示模块
有 4根。 (1) ALE/PROG:地址锁存允许 /片内 EPROM 编程脉冲。 ALE:用来锁存 P0口送出的低 8位地址。 /PROG:片内有 EPROM 的芯片 ,在 EPROM 编程期间 ,此引脚输入编程脉冲。 (2) /PSEN:外 ROM读选通信号 .在外部程式记忆体的指令码获取周期时 ,PSEN 将送出一个闪控信号 ,以表示 CPU 正自外部的程式记忆体中读取 指令码。 (3)
51单片机有一个复位引 脚 RST,它是史密特触发输入 (对于 CHMOS单片机,RST引脚的内部有一个拉低电阻 ),当振荡器起振后 该引脚上出现 2个机器周期 (即24个时钟周期 )以上的高电平,使器件复位,只要 RST保持高电平, MCS51保持复位状态。 此时 ALE、 PSEN、 P0、 P P P3口都 输出高电平。 RST变为低电平后,退出复位, CPU从初始状态开始工作。 单片机
的例子: 8031单片机的 P1口用作键盘 I/O 口,键盘的列线接到 P1口的低 4位,键盘的行线接到 P1口的高 4位。 列线 分别接有 4 个上拉电阻到正电源 +5V,并把列 线 ,行线 出线。 4 根行线和 4 根列线形成 16 个相交点。 检测当前是否有键被按下。 检测的方法是 输出全 “0” ,读取 的状态,若 为全 “1” ,则无键闭合,否则有键闭合。 去除键抖动。
C08 大型程控交换机,之后逐渐占据国内固定交换及接入网等通信设备市场,市场份额逐渐扩大,至 90 年代 末期已经在国内市场上与其他少数竞争对手共同占有大部分市场份额。 2020 年,华为在光传输网络、移动及固定交换网络、数据通信网络几大领域内拥有较强实力,并在全球电信市场与爱立信、阿尔卡特、思科等老牌通讯公司展开激烈竞争。 华为技术是全球领先的电信解决方案供应商