微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 花样流水灯的设计2(单片机-汇编)

花样流水灯的设计2(单片机-汇编)

时间:11-30 来源:互联网 点击:
;This program will show you cycle glitter between 8 led lamps

; maker:Chen Weiwu

; date:2012-11-08

; version:1.0.0

;-------------------------------------------------------------

;Define

Ledprt equ p0

SegDisplay equ p2

L1 equ 30h

l3 equ 32h

button1 equ p1.0

button2 equ p1.2

button3 equ p1.4

button4 equ p1.6

;----------------------

;Set the initiation address which the program runing

;----------------------

org 0

ajmp main

;----------------------

Pattern1:

mov dptr,#Table1

acall Cycle

jnb button1,Pattern1 ;Button is enable

mov Ledprt,#11111111B ;Button is unable

ret

;-----------------------

Pattern2:

mov dptr,#Table2

acall Cycle

jnb button2,Pattern2 ;Button is enable

mov Ledprt,#11111111B ;Button is unable

ret

;-----------------------

Pattern3:

mov dptr,#Table3

acall Cycle

jnb button3,Pattern3 ;Button is enable

mov Ledprt,#11111111B ;Button is unable

ret

;-----------------------

Pattern4:

mov dptr,#Table4

acall Cycle

jnb button4,Pattern4 ;Button is enable

mov Ledprt,#11111111B ;Button is unable

ret

;-----------------------

Cycle:

;----------------------

clr a

movc a,@a+dptr

mov r0,a

inc dptr

;----------------------

Loop:

clr a

movc a,@a+dptr

mov Ledprt,a

acall delay

inc dptr

djnz r0,Loop

ret

;-----------------------

;-----------------------

;delay section

delay: mov r5,#50

delay1: mov r6,#100

DELAY2: mov r7,#10

djnz r7,$

djnz r6,delay2

djnz r5,delay1

ret

;-----------------------

Table1: db Table2-$-1

db 11111110b

db 11111101b

db 11111011b

db 11110111b

db 11101111b

db 11011111b

db 10111111b

db 01111111b

Table2: db Table3-$-1

db 01111110b

db 10111101b

db 11011011b

db 11100111b

db 11011011b

db 10111101b

Table3: db Table4-$-1

db 01010101b

db 00000000b

db 10101010b

db 00000000b

Table4: db TableEnd-$-1

db 11111110b

db 11111100b

db 11111000b

db 11110000b

db 11100000b

db 11000000b

db 10000000b

db 00000000b

db 00000001b

db 00000011b

db 00001111b

db 00011111b

db 00111111b

db 01111111b

db 11111111b

TableEnd:

;-----------------------

main: mov SegDisplay,#00H

jb button1,To2

mov SegDisplay,#01H

Acall Pattern1

To2:

jb button2,To3

mov SegDisplay,#02H

Acall Pattern2

To3:

jb button3,To4

mov SegDisplay,#03H

Acall Pattern3

To4:

jb button4,main

mov SegDisplay,#04H

Acall Pattern4

ajmp Main

;-----------------------

end

;-------------------------------------------------------------

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top