⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 25045.c

📁 单片机多25045进行读写操作的程序
💻 C
字号:
;******************字节读*****25045---->内存*******
;输入 无,输出 A
;使用累加器 A
;调用子程序 OUT IN
BY_RD:          CLR P2.1
                CLR P3.4
                MOV A,#03H
                LCALL OUT
                MOV A,#22H
                LCALL OUT
                LCALL IN
                MOV 2CH,A
                LCALL IN
                MOV 50H,A;yjbys,A
                LCALL IN
                MOV 51H,A;p_zys,A
                LCALL IN
                MOV 52H,A;z_qys,A
                LCALL IN
                MOV 53H,A;z_hys,A
                LCALL IN
                MOV 54H,A;q_hys,A
                LCALL IN
                MOV 55H,A;t_wys,A
                LCALL IN
                MOV 56H,A;fhys,A
                LCALL IN
                MOV 57H,A;t_wys,A
                LCALL IN
                MOV 58H,A;fhys,A
                CLR P2.1
                SETB P3.4
                RET
;******************字节写*******内存----->25045*****
;输入 无,输出 无
;使用累加器 A
;调用子程序 OUT DELAY
BY_WR:          MOV A,#12H
                CLR P2.1
                CLR P3.4
                MOV A,#02H
                LCALL OUT
                MOV A,#22H
                LCALL OUT
                MOV A,2CH
                LCALL OUT
                MOV A,50H;yjbys
                LCALL OUT
                MOV A,51H;p_zys
                LCALL OUT
                MOV A,52H;z_qys
                LCALL OUT
                MOV A,53H;z_hys
                LCALL OUT
                MOV A,54H;q_hys
                LCALL OUT
                MOV A,55H;t_wys
                LCALL OUT
                MOV A,56H;fhys
                LCALL OUT
                MOV A,57H;t_wys
                LCALL OUT
                MOV A,58H;fhys
                LCALL OUT
                CLR P2.1
                SETB P3.4
                LCALL WIP
                RET
;**********写使能**********
;此程序使--可以向EEPROM MEMORY 数组和状态寄存器写入
;输入 无,输出 无
;使用累加器 A
;调用子程序 OUT
WR_CMD:         CLR P2.1
                CLR P3.4
                MOV A,#06H
                LCALL OUT
                CLR P2.1
                SETB P3.4
                RET
;***********写状态寄存器************
;写状态寄存器
;输入 无,输出 无
;使用累加器 A
;调用子程序 OUT WIP
WS_CMD:         CLR P2.1
                CLR P3.4
                MOV A,#01H
                LCALL OUT
                MOV A,#00H
                LCALL OUT
                CLR P2.1
                SETB P3.4
                LCALL WIP
                RET
;********* "字节写"***********
;依次将一个字节每一位送出
;输入 A,输出 无
;使用累加器 A 寄存器 R0
;调用子程序 无
OUT:            MOV R0,#08H
OUT1:           CLR P2.1
                RLC A
                MOV P2.0,C
                SETB P2.1
                DJNZ R0,OUT1
                CLR  P2.0
                RET
;********"字节读"***********
;此程序接收一个字节
;输入 无,输出 A
;使用累加器 A  寄存器 R0
;调用子程序 无
IN:             MOV R0,#08H
IN1:            SETB P2.1
                CLR P2.1
                MOV C,P2.2
                RLC A
                DJNZ R0,IN1
                RET
;**********读状态寄存器**********
;输入 无,输出 无
;使用累加器 A
;调用子程序 OUT WIP
RD_CMD:         CLR P2.1
                CLR P3.4
                MOV A,#05H
                LCALL OUT
                LCALL IN
                MOV 30H,A
                SETB P3.4
                RET
;************
RST:            CLR P3.4
                SETB P3.4
                RET
;*****************WIP*************
;此程序检测写周期是否完成
;输入 无,输出 无
;使用累加器 A 寄存器 R1
;调用子程序 RD-CMD
WIP:            MOV R1,#99H
WIP1:           LCALL RD_CMD
                JNB ACC.0,WIP2
                DJNZ R1,WIP1
WIP2:           RET

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -