當前位置:外匯行情大全網 - 外匯匯率 - 求單片機按鍵控制四位數碼管顯示電路和程序,7個按鍵按下,四位數碼管依次顯示四個1111~7777

求單片機按鍵控制四位數碼管顯示電路和程序,7個按鍵按下,四位數碼管依次顯示四個1111~7777

K1 BIT P1.1

K2 BIT P1.2

K3 BIT P1.3

K4 BIT P1.4

K5 BIT P1.5

K6 BIT P1.6

K7 BIT P1.7 ?

ORG 0000H

?LJMP 0100H

MAIN: MOV ?SP,#70H?

MOV 60H,#0 ;給顯示緩沖區送顯示的初值? 開始顯示0000

?MOV 61H,#0

?MOV 62H,#0 ?

?MOV 63H,#0

LY: ? LCALL ?DISP ? ;調用顯示子程序? 顯示0000

LL1: JB K1,? LL2

LCALL YS1MS ;去抖動

JB K1,? LL2

?MOV 60H,? #1

?MOV 61H,? #1

?MOV 62H,? #1

?MOV 63H,? #1 ?

LCALL ?DISP ? ;調用顯示子程序? 顯示1111

LL2: JB K1,? LL3

LCALL YS1MS ;去抖動

JB K1,? LL3

?MOV 60H,? #2

?MOV 61H,? #2

?MOV 62H,? #2

?MOV 63H,? #2 ?

LCALL ?DISP ? ;調用顯示子程序? 顯示2222

LL3: JB K1,? LL4

LCALL YS1MS ;去抖動

JB K1,? LL4

?MOV 60H,? #3

?MOV 61H,? #3

?MOV 62H,? #3

?MOV 63H,? #3

LCALL ?DISP ? ;調用顯示子程序? 顯示3333

LL4: JB K1,? LL5

LCALL YS1MS ;去抖動

JB K1,? LL5

?MOV 60H,? #4

?MOV 61H,? #4

?MOV 62H,? #4

?MOV 63H,? #4

LCALL ?DISP ? ;調用顯示子程序? 顯示4444

LL5: JB K1,? LL6

LCALL YS1MS ;去抖動

JB K1,? LL6

?MOV 60H,? #5

?MOV 61H,? #5

?MOV 62H,? #5

?MOV 63H,? #5 ?

LCALL ?DISP ? ;調用顯示子程序? 顯示5555

LL6: JB K1,? LL7

LCALL YS1MS ;去抖動

JB K1,? LL7

?MOV 60H,? #6

?MOV 61H,? #6

?MOV 62H,? #6

?MOV 63H,? #6

LCALL ?DISP ? ;調用顯示子程序? 顯示6666

LL7: JB K1,? LLL

LCALL YS1MS ;去抖動

JB K1,? LLL

?MOV 60H,? #7

?MOV 61H,? #7

?MOV 62H,? #7

?MOV 63H,? #7

LCALL ?DISP ? ;調用顯示子程序? 顯示7777

LLL: ?SJMP ? LL1

DISP: MOV R0,#60H ? ;指針指向顯示緩沖區

?MOV R7,#4 ? ;設循環顯示的次數? 顯示4位數據

?CLR ?C

?MOV R6,#00000001B ;從p2.0開始顯示? 即先顯示1

LL: MOV DPTR,#TAB ?;數據指針指向顯示編碼表達首地址

?MOV A,@R0

?MOVC? A? ,? @?A+?DPTR?;取顯示編碼

?MOV ?P0,A ?;送P0口顯示

?MOV ?A,R6

?MOV ?P2,A ;控制顯示位

?RLC ? A ? ;修改顯示位

?MOV ?R6,A

?INC R0 ?;指向下壹個要顯示的數據

?LCALL YS1MS ;延時顯示時間

?DJNZ ? R7,LL ? ;4位數據沒顯示完?則轉LL繼續顯示

?RET

TAB: ?DB 0C0H,0F9H,0A4H,0B0H,99H ;顯示編碼

?DB 92H,82H,0F8H,80H,98H

YS1MS: MOV R5,#45 ;延時子程序

YSLL: MOV R4,#200

YYLL: ? DJNZ R4,YYLL

?DJNZ R5,YSLL

?RET

呵呵 ?別忘了? 給俺加分啊

  • 上一篇:克裏斯托弗·雷恩的生平
  • 下一篇:福建體彩31選7走勢圖誰懂得
  • copyright 2024外匯行情大全網