當前位置:編程學習大全網 - 編程語言 - C51用2個按鍵分別控制2個秒表,按鍵可以實現復位,停止功能的程序

C51用2個按鍵分別控制2個秒表,按鍵可以實現復位,停止功能的程序

BZ EQU 30H;0.1s刷屏標誌

KEYBZ EQU 31H;按鍵標誌

LED1 EQU 32H

LED2 EQU 33H

LED3 EQU 34H

B20MS EQU 35H;20ms標誌

;主程序

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP T0DS

ORG 0100H

MAIN: CLR TR0;關中斷

MOV SP,#60H

LCALL DLY20MS

LCALL START;初始化

MOV P1,#0C0H;開始顯示000

MOV P2,#0C0H

MOV P3,#0C0H

LCALL KEY1;按下第壹次,啟動

LOP: MOV R7,BZ

CJNE R7,#5AH,LOP;0.1秒刷屏壹次

LCALL LEDDW;顯示數值

; MOV BZ,#00H

MOV R6,KEYBZ;判斷是否第三次按下

CJNE R6,#83H,LOP

KEYLOP: SETB P0.1

JB P0.1,KEYLOP

LCALL DLY20MS

JB P0.1,KEYLOP

KEYLOP1:SETB P0.1

JNB P0.1,KEYLOP1

LCALL DLY20MS

JNB P0.1,KEYLOP1

MOV KEYBZ,#00H

LJMP MAIN;調回起始000

;初始化

START: MOV LED1,#00H;秒的初值

MOV LED2,#00H

MOV LED3,#00H

MOV KEYBZ,#00H

MOV B20MS,#00

MOV BZ,#00H

MOV TMOD,#01H;定時器的初始化

MOV TH0,#0B1H;送20MS的初值

MOV TL0,#0E0H

SETB ET0

SETB EA

RET

;顯示程序

LEDDW: MOV R5,LED1

CJNE R5,#0AH,XIANSHI

MOV LED1,#00H

INC LED2

MOV R5,LED2

CJNE R5,#0AH,XIANSHI

MOV LED2,#00H

INC LED3

MOV R5,LED3

CJNE R5,#0AH,XIANSHI

LJMP MAIN

RET

XIANSHI:MOV DPTR,#LEDTAB

MOV A,LED1

MOVC A,@A+DPTR

MOV P1,A;顯示個位

MOV A,LED2

MOVC A,@A+DPTR

MOV P2,A;顯示十位

MOV A,LED3

MOVC A,@A+DPTR

MOV P3,A;顯示百位

RET

;定時器T0

T0DS: PUSH ACC;保護現場

PUSH PSW

; MOV BZ,#00H

MOV TH0,#0B1H;送20MS的初值

MOV TL0,#0E0H

INC B20MS

MOV R6,B20MS

CJNE R6,#5,T0DS1;每20MS檢測壹次鍵盤,每0.1S刷屏壹次

MOV B20MS,#0

MOV BZ,#5AH;標誌的賦值

INC LED1;秒加壹

T0DS1: LCALL KEY;跳到按鍵程序

LOOP: POP PSW

POP ACC

RETI

;按鍵子程序

KEY: SETB P0.1

JB P0.1,LOP2

LCALL DLY20MS

JB P0.1,LOP2

LOP3: SETB P0.1

JNB P0.1,LOP3

LCALL DLY20MS

JNB P0.1,LOP3

MOV KEYBZ,#83H

CLR TR0

LOP2: RETI

KEY1: SETB P0.1

JB P0.1,KEY1

LCALL DLY20MS

JB P0.1,KEY1

KEY2: SETB P0.1

JNB P0.1,KEY2

LCALL DLY20MS

JNB P0.1,KEY2

SETB TR0

RET

;延時20MS子程序

DLY20MS:MOV R7,#2;延時20MS

DLY4: MOV R6,#20

DLY3: MOV R5,#250

DJNZ R5,$

DJNZ R6,DLY3

DJNZ R7,DLY4

RET

;數值表

LEDTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

END

  • 上一篇:2010高教社杯全國大學生數學建模競賽題目_D題 對學生宿舍設計方案的評價
  • 下一篇:操作系統有幾種能詳細介紹各種好處嗎
  • copyright 2024編程學習大全網