?? 93c46seg.asm.bak
字號:
;///////////////////////////////////////////
;本程序源代碼由單片機培訓網提供.
;單片機培訓網,讓更多人學習單片機更容易.
;第一網址----www.mcuedu.com
;第二網址----http://51_train.nease.net
;創辦人------劉永忠
;熱線電話----(0755)27529998
;email-------aa815@163.com
;本程序使用93c46存儲七段碼的實時狀態
;///////////////////////////////////////////
;=====================================================
READ EQU 80H
WRITE EQU 40H
EWEN EQU 30H
EWDS EQU 00H
;AT93C46接口
MEM_CS EQU P1.0
MEM_SK EQU P1.1
;MEM_ORG EQU P1.2 ;LOGIC1=>16bit
MEM_DI EQU P1.2
MEM_DO EQU P1.3
org 0000h
ajmp main
org 0030h
main:
CLR P2.0
mov 30h,#00h
mov dptr,#tab
MOV A, #READ
SETB MEM_CS
CLR MEM_SK
SETB MEM_DI
SETB MEM_SK
LCALL WR_AT93C46
LCALL RD_AT93C46
mov 30h,a
cjne a,#0Ah,com1
com1:
jc loop
mov a,#00h
mov 30h,a
loop:
movc a,@a+dptr
mov p0,a
inc 30h
mov r4,#100
tt3:
lcall delay10ms
djnz r4,tt3
CLR MEM_CS
MOV A, #EWEN ;允許寫入
SETB MEM_CS
CLR MEM_SK
SETB MEM_DI
SETB MEM_SK
LCALL WR_AT93C46
CLR MEM_CS
LCALL DELAY20MS
MOV A, #WRITE ;寫指令
SETB MEM_CS
CLR MEM_SK
SETB MEM_DI
SETB MEM_SK
LCALL WR_AT93C46
MOV A, 30h
LCALL WR_AT93C46
MOV A, 31h
LCALL WR_AT93C46
CLR MEM_CS
LCALL DELAY30MS
LCALL DELAY30MS
MOV A, #EWDS ;禁止寫入
SETB MEM_CS
CLR MEM_SK
SETB MEM_DI
SETB MEM_SK
LCALL WR_AT93C46
CLR MEM_CS
mov a,30h
cjne a,#10,loop
mov 30h,#00h
mov a,30h
ajmp loop
delay10ms:
mov r6,#100
tt2:
mov r5,#50
djnz r5,$
djnz r6,tt2
ret
tab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h,86h,8eh
WR_AT93C46:
SETB MEM_CS
CLR MEM_SK
MOV R7, #08H
WR_AT93C46_00:
CLR MEM_SK
RLC A
MOV MEM_DI, C
SETB MEM_SK
DJNZ R7, WR_AT93C46_00
CLR MEM_SK
SETB MEM_DI
RET
;*********************************************
RD_AT93C46:
CLR MEM_SK
MOV R7, #08H
SETB MEM_DO
RD_AT93C46_00:
SETB MEM_SK
NOP
MOV C, MEM_DO
RLC A
CLR MEM_SK
DJNZ R7, RD_AT93C46_00
RET
;#############################################################################
DELAY20MS:
MOV R6, #03CH
Dly20_CON2:
MOV R7, #0FFH
Dly20_CON1:
DJNZ R7, Dly20_CON1
DJNZ R6, Dly20_CON2
RET
DELAY30MS:
PUSH 6
PUSH 7
MOV R6, #059H
Dly30_CON2:
MOV R7, #0FFH
Dly30_CON1:
DJNZ R7, Dly30_CON1
DJNZ R6, Dly30_CON2
POP 7
POP 6
RET
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -