时钟+秒表+流水灯的单片机汇编程序
//HJSMSY-V1.0单片机开发板测试程序 //--------------------------------------------- // <<电脑钟>> //---------------------------------------------
//=======主函数================================== ORG 0000H LJMP MAIN ORG 000BH LJMP T00 // ORG 001BH // LJMP T11 ORG 0030H //=======程序初始化============================= MAIN: MOV TMOD,#11H MOV TH0,#3CH MOV TL0,#0B0H MOV TH1,#0F0H MOV TL1,#0B0H SETB EA SETB ET0 //SETB ET1 SETB TR0 //SETB TR1 CLR P3.4 MOV R7,#00H ;秒值 MOV 30H,#00H ;秒个位值 MOV 31H,#00H ;秒十位值 MOV 32H,#00H ;分个位 MOV 33H,#00H ;分十位 MOV 34H,#00H ;时个位 MOV 35H,#00H ;时十位 MOV 44H,#00H ;秒表毫秒十位 MOV 45H,#00H ;秒表秒毫秒百位 MOV 46H,#00H ;秒表秒个位 MOV 47H,#00H ;秒表秒十位 MOV 48H,#00H ;秒表分个位 MOV 49H,#00H ;秒表分十位 MOV P2,#0F0H ;P2口按键初始化 MOV 40H,#01H ;数码管休眠值/流水灯/秒表开关数 MOV 41H,#08H ;流水灯循环值 MOV 42H,#00H ;秒表暂停 // ACALL T11
//----------------------------------------------- MAIN1: MOV P0,#0FFH MOV P1,#0FFH MOV R0,40H CJNE R0,#01H,ACL1 ACALL MAIN2 ;时钟显示 ACL1:CJNE R0,#02H,ACL2 ACALL MAIN3 ;秒表 ACL2:CJNE R0,#03H,ACL3 ACALL LED ;流水灯 ACL3:ACALL KEY ;按键扫描 //ACALL BAO ;定时报警 LJMP MAIN1
//=======报警子程序============================ BAO:MOV R4,33H CJNE R4,#03H,YY1 CLR P3.2 ACALL KEY LJMP YY2 YY1:CJNE R4,#05H,YY2 SETB P3.2 ACALL KEY YY2:RET
//======时钟扫描子程序======================= MAIN2: MOV A,30H MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A CLR P1.0 ACALL DELAY MOV A,31H MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A CLR P1.1 SETB P1.0 ACALL DELAY MOV A,32H MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A CLR P1.2 SETB P1.1 ACALL DELAY MOV A,33H MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A CLR P1.3 SETB P1.2 ACALL DELAY MOV A,34H MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A CLR P1.4 SETB P1.3 ACALL DELAY MOV A,35H MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A CLR P1.5 SETB P1.4 ACALL DELAY MOV P0,#7FH MOV P1,#0EBH ACALL DELAY MOV P1,#0FFH RET
//========秒表扫描子程序========================= MAIN3: MOV A,44H MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A CLR P1.0 ACALL DELAY MOV A,45H MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A CLR P1.1 SETB P1.0 ACALL DELAY MOV A,46H MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A CLR P1.2 SETB P1.1 ACALL DELAY MOV A,47H MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A CLR P1.3 SETB P1.2 ACALL DELAY MOV A,48H MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A CLR P1.4 SETB P1.3 ACALL DELAY MOV A,49H MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A CLR P1.5 SETB P1.4 ACALL DELAY MOV P0,#7FH MOV P1,#0EBH ACALL DELAY MOV P1,#0FFH RET
//=======定时器T0中断服务======================== T00:MOV TH0,#0D8H MOV TL0,#0F0H INC R7 CJNE R7,#64H,AA MOV R7,#00H //-------时钟跑值-------------------------------- TK1:INC 30H;每秒钟秒个位增一 MOV R6,30H CJNE R6,#0AH,AA MOV 30H,#00H TK2:INC 31H MOV R6,31H CJNE R6,#06H,AA MOV 31H,#00H TK3:INC 32H MOV R6,32H CJNE R6,#0AH,AA MOV 32H,#00H TK4:INC 33H MOV R6,33H CJNE R6,#06H,AA

提交
超越传统直觉,MATLAB/Simulink助力重型机械的智能化转型
新大陆自动识别精彩亮相2024华南国际工业博览会
派拓网络被Forrester评为XDR领域领导者
智能工控,存储强基 | 海康威视带来精彩主题演讲
展会|Lubeworks路博流体供料系统精彩亮相AMTS展会