📄 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 + -