⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yy1.a51

📁 用单片机进行定时交通信号灯控制
💻 A51
字号:
          ORG 00H
	AJMP MAIN
	   A1 EQU 2AH
	   A2 EQU 2BH
	   F  EQU 2CH
	   ORG 2AH
MAIN:MOV A1,#1FH 		   ;设置时间显示初值              
     MOV A2,#0F3H          ;A线放行,B线禁止
	 MOV P3,A2
	 MOV R7,#19H		    ;延时秒数
MAIN1:LCALL DEL1			;1s延时子程序
      DJNZ R7,MAIN1
	  MOV A2,#0F5H			;A线警告,B线禁止
	  MOV P3,A2
	  MOV R7,#05H			;延时秒数
MAIN2:LCALL DEL1
      DJNZ R7,MAIN2
	  MOV A2,#0DEH			;A线禁止,B线放行
	  MOV A1,#1FH			;设置时间显示初值
	  MOV P3,A2
	  MOV R7,#19H			;延时秒数
MAIN3:LCALL DEL1
      DJNZ R7,MAIN3
	  MOV A2,#0EEH		    ;A线禁止,B线警告
	  MOV P3,A2
	  MOV R7,#05H			;延时秒数
MAIN4:LCALL DEL1
      DJNZ R7,MAIN4
	  AJMP MAIN				 ;循环
DEL1:DEC A1				 ;1s延时子程序DEL1,显示秒数减一
     MOV A,A1
	 MOV B,#0AH				 
	 DIV AB					  ;秒数转为十进制
	 MOV DPTR,#TABLE
	 MOVC A,@A+DPTR			  ;查表个位数的字形码
	 MOV R1,A
	 MOV A,B
	 MOV DPTR,#TABLE
	 MOVC A,@A+DPTR			  ;查表十位数的字形码
	 MOV R2,A
	 MOV R6,#250			  ;设置循环次数
LOOP:MOV A,R2				  ;十位数的字形码
     MOV F,#01H			  ;位控码
	 ACALL DISP				  ;调用显示子程序
	 MOV A,R1				  ;个位数的字形码
	 MOV F,#02H			  ;位控码
	 ACALL DISP
	 MOV R4,#250
	 DJNZ R4,$
	 MOV R3,#250
	 DJNZ R3,$ 
	 DJNZ R6,LOOP			  ;循环
	 RET					  ;返回
TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H	  ;十进制数字形码表

     
DISP:MOV R0,#250		 ; 显示子程序,设置循环次数
     MOV R5,A
DISP1:MOV A,R5
     MOV P1,A				 ;字形码输出
	 MOV A,F
	 MOV P2,A				 ;位控制码输出
	 DJNZ R0,DISP1			 ;循环

	 RET 					 ;返回
END   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -