No.33232 作者:xdkjason 邮件:xdkjason@hotmail.com ID:3954 登陆:9次 QQ:76247973 -- MSN:xdkjason@hotmail.com 文章数:237篇 最后登陆IP:61.178.63.144 最后登陆:2006/2/17 17:59:16 注册:2001/12/24 12:23:00 财富:690 发帖时间:2003/6/3 11:54:01 发贴者IP:218.73.96.79 标题:xdkjason:好东西!!!!!看门狗,SPI接口的EEPROM,电压监测.....5045 源程序 摘要:No.33232好东西!!!!!看门狗,SPI接口的EEPROM,电压监测.....5045 源程序 ;=================================================== ;函数名称:INIT_X5045 ;功能: 初始化X5045 (实现看门狗、512*8 EPROM、电压监测) ;入口参数: ;出口参数: ;影响资源: ;其他: X5045控制子程序清单 ; WD_RST 看门狗复位子程序 ; WD_SET 看门狗定时时间设置子程序 ; RD_SR 读状态寄存器子程序 ; WR_SR 写状态寄存器子程序 ; RD_B 读一个字节数据子程序 ; WR_B 写一个字节数据子程序 ; 指令名称 指令格式 完成的操作 ; WREN 0000 0110 写允许 ; WRDI 0000 0100 写禁止 ; RSDR 0000 0101 读状态寄存器 ; WRSR 0000 0001 写状态寄存器 看门狗和块锁定 ; READ 0000 A8 011 从选定的地址单元中读数据 ; WRITE 0000 A8 011 向选定的开始地址单元写入数据 1-16字节 ;=================================================== ORG 0000H X5045_CS EQU P1.0 X5045_SDI EQU P1.1 X5045_SCLK EQU P1.2 X5045_SDO EQU P1.3 ;=================================================== ;函数名称:WD_RST ;功能: 看门狗复位子程序 ;入口参数: ;出口参数: ;影响资源: ;其他: ;=================================================== WD_RST: CLR X5045_CS ;在上电后任何操作之前,CS必须要有一个从高到低的过程 SETB X5045_CS ;此后该引脚用作喂狗WDI端 RET ;=================================================== ;函数名称:WD_SET ;功能: 看门狗定时时间设置成600ms ;入口参数: ;出口参数: ;影响资源: ;其他: 看门狗定时溢出时间 00H-1.4S 10H-600MS 20H-200MS 30H-FORBIDDEN ;=================================================== WD_SET: MOV R0,#10H LCALL WR_SR ;!!!!!!!!!!!!到时候还要判断写入成功与失败的标志位F0,失败后还要重写呀! RET ;=================================================== ;函数名称:RD_SR ;功能: 读状态寄存器子程序,读出的X5045的状态存在A累加器中 ;入口参数: ;出口参数:A ;影响资源: ;其他: ;=================================================== RD_SR: MOV A,#05H ;将RDSR命令送A累加器 CLR X5045_CS LCALL WRITE LCALL READ SETB X5045_CS RET ;=================================================== ;函数名称:WR_SR ;功能: 写状态寄存器子程序。F0为写成功与否标志,F0=0,写成功;F0=1,写失败 ;入口参数: ;出口参数: ;影响资源: ;其他: ;=================================================== WR_SR: LCALL RD_SR ;检查WIP位,确定X5045是否正在进行写操作 CLR F0 JNB ACC.0,WR_SR1 ;WIP=0,转写状态寄存器 SETB F0 ;WIP=1,表示正在写操作,F0置1后返回 RET WR_SR1: ......
>>返回讨论的主题
|