欢迎来到天天文库
浏览记录
ID:59333506
大小:56.50 KB
页数:7页
时间:2020-09-04
《给你一个简单的可断电保存的计时程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、//给你一个简单的可断电保存的计时程序,用的是24C08#include//包含51单片机寄存器定义的头文件#include//包含_nop_()函数定义的头文件#defineOP_READ0xa1//器件地址以及读取操作,0xa1即为10100001B#defineOP_WRITE0xa0//器件地址以及写入操作,0xa1即为10100000BsbitSCL=P3^4;//将串行时钟总线SCL位定义在为P3.4引脚sbitSDA=P3^5;//将串行数据总线SDA位定义在为P3.5引脚unsignedcharcodetabl
2、e[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//定义共阳数码管显示字型码unsignedcharsec=0;//定义计数值,每过1秒,sec加1unsignedintcount;//定时中断次数bitwrite=0;//写24C08的标志;sbitshiwei=P2^6;//十位选通定义sbitgewei=P2^7;//个位选通定义sbitK5=P3^2;//清0按键/*****************************************************函数功能:延时1ms***
3、************************************************/voiddelay1ms(){unsignedchari,j;for(i=0;i<10;i++)for(j=0;j<33;j++);}/*****************************************************函数功能:延时若干毫秒入口参数:n***************************************************/voiddelaynms(unsignedcharn){unsignedchari;for(i
4、=0;i5、等待一个机器周期SDA=0;//SDA的下降沿被认为是开始信号_nop_();//等待一个机器周期_nop_();//等待一个机器周期_nop_();//等待一个机器周期_nop_();//等待一个机器周期_nop_();//等待一个机器周期SCL=0;//SCL为低电平时,SDA上数据才允许变化(即允许以后的数据传递)}/***************************************************函数功能:结束数据传送***************************************************/voidstop(6、)//停止位{SDA=0;//SDA初始化为低电平“0”_nSCL=1;//结束数据传送时,要求SCL为高电平“1”_nop_();//等待一个机器周期_nop_();//等待一个机器周期_nop_();//等待一个机器周期_nop_();//等待一个机器周期_nop_();//等待一个机器周期SDA=1;//SDA的上升沿被认为是结束信号_nop_();//等待一个机器周期_nop_();//等待一个机器周期_nop_();//等待一个机器周期_nop_();//等待一个机器周期_nop_();//等待一个机器周期SDA=0;SCL=0;}/***********7、****************************************函数功能:检测应答位***************************************************/bitAsk()//检测应答{bitack_bit;//储存应答位SDA=1;//发送设备(主机)应在时钟脉冲的高电平期间(SCL=1)释放SDA线,//以让SDA线转由接收设备(AT24Cxx)控制_nop_();//等待一个机器周期_nop_();//等待一个机器周期SCL=1;//根据上述规定,SCL应为高电平_nop_();//等待一个机器周期_nop_
5、等待一个机器周期SDA=0;//SDA的下降沿被认为是开始信号_nop_();//等待一个机器周期_nop_();//等待一个机器周期_nop_();//等待一个机器周期_nop_();//等待一个机器周期_nop_();//等待一个机器周期SCL=0;//SCL为低电平时,SDA上数据才允许变化(即允许以后的数据传递)}/***************************************************函数功能:结束数据传送***************************************************/voidstop(
6、)//停止位{SDA=0;//SDA初始化为低电平“0”_nSCL=1;//结束数据传送时,要求SCL为高电平“1”_nop_();//等待一个机器周期_nop_();//等待一个机器周期_nop_();//等待一个机器周期_nop_();//等待一个机器周期_nop_();//等待一个机器周期SDA=1;//SDA的上升沿被认为是结束信号_nop_();//等待一个机器周期_nop_();//等待一个机器周期_nop_();//等待一个机器周期_nop_();//等待一个机器周期_nop_();//等待一个机器周期SDA=0;SCL=0;}/***********
7、****************************************函数功能:检测应答位***************************************************/bitAsk()//检测应答{bitack_bit;//储存应答位SDA=1;//发送设备(主机)应在时钟脉冲的高电平期间(SCL=1)释放SDA线,//以让SDA线转由接收设备(AT24Cxx)控制_nop_();//等待一个机器周期_nop_();//等待一个机器周期SCL=1;//根据上述规定,SCL应为高电平_nop_();//等待一个机器周期_nop_
此文档下载收益归作者所有