登录
|
立即注册
|
使用QQ帐号登录
论坛
>
51单片机
发帖
|
X5045看门狗的单片机源程序和Proteus仿真原理图
看10172
|
回6
|
收藏
楼主
ID:175881
只看他
2017-4-5 03:58
单片机X5045看门狗的驱动的仿真原理图(proteus仿真工程文件和程序源代码可到本帖附件下载):
单片机X5045看门狗源程序:
代码:
//将数据0x55写入X5045再读出并送至P1口显示
#include<reg51.h>
#include<intrins.h> //
#define uchar unsigned char
#define uint unsigned int
sbit SCK=P3^4;
sbit SI=P3^5;
sbit SO=P3^6;
sbit CS=P3^7;
#define WREN 0x06 //写使能锁存器允许
#define WRDI 0x04 //写使能锁存器禁止
#define WRSR 0x01 //写状态寄存器
#define READ 0x03 //读出
#define WRITE 0x02 //写入
void delayxms(uint xms) //延时xms毫秒
{ uint t1,t2;
for(t1=xms;t1>0;t1--)
for(t2=110;t2>0;t2--);
}
uchar ReadCurrent(void) //从X5045的当前地址读出数据 出口参数x
{ uchar i;
uchar x=0x00; //储存从X5045中读出的数据
SCK=1;
for(i=0;i<8;i++)
{ SCK=1;
SCK=0; //在SCK的下降沿读出数据
x<<=1; //左移,因为先读出的是最高的数据位
x|=(uchar)SO;
}
return(x);
}
void WriteCurrent(uchar dat) //写数据到X5045 入口参数dat
{ uchar i;
SCK=0;
for(i=0;i<8;i++)
{ SI=(bit)(dat&0x80);
SCK=0;
SCK=1;
dat<<=1; //左移,因为首先写入的是字节的最高位
}
}
/*****************************************
状态寄存器,可以设置看门狗的溢出时间及数据保护
入口参数:rs 存储寄存器状态值
******************************************/
void WriteSR(uchar rs) //
{ CS=0;
WriteCurrent(WREN);
CS=1;
CS=0; //重新拉低CS,否则下面的写寄存器状态指令将被丢弃
WriteCurrent(WRSR);
WriteCurrent(rs);
CS=1;
}
void WriteSet(uchar dat,uchar addr) //写数据到X5045的指定地址 入口参数:addr
{ SCK=0;
CS=0;
WriteCurrent(WREN);
CS=1;
CS=0; //重新拉低CS,否则下面的写寄存器状态指令将被丢弃
WriteCurrent(WRITE);
WriteCurrent(addr);
WriteCurrent(dat);
CS=1;
SCK=0;
}
uchar ReadSet(uchar addr) //从X5045的指定地址读出数据 入口参数:addr;出口参数:dat
{ uchar dat;
SCK=0;
CS=0;
WriteCurrent(READ);
WriteCurrent(addr);
dat=ReadCurrent();
CS=1;
SCK=0;
return dat;
}
void WatchDog(void) //看门狗复位功能
{ CS=1;
CS=0; //CS引脚的一个下降沿复位看门狗定时器
CS=1;
}
void main() //主程序
{ WriteSR(0x12); //写状态寄存器(设定看门狗溢出时间600ms,写不保护)
delayxms(10);
{ WriteSet(0X00,0x10); //将手机0x55写入指定地址0x10
delayxms(10);
P1=ReadSet(0x10); //将数据读出送P1口,低电平灯亮
WatchDog();
该系列源码包含有很多非常经典,代码风格十分规范,而且注释详细的单片机例程,还带仿真,对于MCU学习特别是初学者是很有帮助的,全部源码下载(共几十个项目):
http://www.51hei.com/bbs/dpj-80575-1.html
本例程下载(含proteus仿真工程文件与源码):
单片机X5045看门狗程序 带Proteus仿真.rar
(47.49 KB)
(下载次数: 120, 2017-4-5 03:58 上传)
下载积分: 黑币 -5
沙发
ID:317941
只看他
2018-4-28 12:27
这是X5045吗?咋在网上找的不一样
板凳
ID:288203
只看他
2018-6-2 08:29
x25045芯片是软件里有的?为什么我的找不到
地板
ID:105464
只看他
2018-9-10 16:36
X5045看门狗的单片机源程序和Proteus仿真原理图
5
#
ID:557394
只看他
2019-6-15 00:06
为什么仿真打不开啊
6
#
ID:292427
只看他
2020-1-2 20:20
SPI通信的
7
#
ID:126866
只看他
2022-2-1 21:28
proteus是哪个版本的?为啥我的proteus里没这个元件?
51黑电子论坛
Powered by
Discuz!
X3.1
首页
|
标准版
|
触屏版
|
电脑版