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

📄 getdata.h

📁 NOKIA 5110LCD的驱动程序(带照片)MSP430的高级开发板的测试程序
💻 H
字号:
void dmsec(unsigned int count)//
{
unsigned char i;
while(count--)
{for(i=0;i<115;i++);}
}
void tmreset(void)//
{
unsigned char i;
TMDAT=0; 
for(i=0;i<103;i++);
TMDAT=1; 
for(i=0;i<4;i++);
}

bit tmrbit(void)////
{
unsigned int i;
bit dat;
TMDAT=0;
i++;
TMDAT=1;
i++;
i++;
dat=TMDAT;
for(i=0;i<8;i++);
return(dat);
}
unsigned char tmrbyte(void)//
{
 unsigned char i,j,dat;
 dat=0;
 for(i=1;i<=8;i++)
  {
  j=tmrbit(); 
  dat=(j<<7)|(dat>>1);
  }
 return(dat);
}
void tmwbyte(unsigned char dat)//
{
unsigned char j,i;
bit testb;
for(j=1;j<=8;j++)
{ testb=dat&0x01;
dat=dat>>1;
if(testb)
{ TMDAT=0;//0
i++;i++;
TMDAT=1;
for(i=0;i<8;i++); }
else
{TMDAT=0;//0
for(i=0;i<8;i++);
TMDAT=1;
i++;i++;}
}
}
void tmstart(void)//ds1820
{ tmreset();//
dmsec(1);//
tmwbyte(0xcc);//
tmwbyte(0x44);// 44H,
                     
}
void tmrtemp(void)//
{
unsigned char a,b;
tmreset();//
dmsec(1);//
tmwbyte(0xcc);//
tmwbyte(0xbe);//
a=tmrbyte();//
b=tmrbyte();//
if(b>0x7f)//1
{a=~a; b=~b+1; //
fg=0; //fg=0
}
else fg=1;
sdata=a/16+b*16;//
xiaoshu1=(a&0x0f)*10/16;//
xiaoshu2=(a&0x0f)*100/16%10;//
xiaoshu=xiaoshu1*10+xiaoshu2;//
}
void DS18B20PRO(void)
{ tmstart();
  tmrtemp(); 
}

/*****************************************************************************/
//定义DS1302时钟接口
sbit clock_clk = P2^5;//ds1302_clk(时钟线)
sbit clock_dat = P2^6;//ds1302_dat(数据线)
sbit clock_Rst = P2^4;//ds1302_Rst(复位线)
/*****************************************************************************/
//定义累加器A中的各位
sbit a0   = ACC ^ 0;
sbit a1   = ACC ^ 1;
sbit a2   = ACC ^ 2;
sbit a3   = ACC ^ 3;
sbit a4   = ACC ^ 4;
sbit a5   = ACC ^ 5;
sbit a6   = ACC ^ 6;
sbit a7   = ACC ^ 7;
/*****************************************************************************/
//1302驱动程序(底层协议)
void clock_out(unsigned char dd){
	ACC=dd;
	clock_dat=a0; clock_clk=1; clock_clk=0;
	clock_dat=a1; clock_clk=1; clock_clk=0;
	clock_dat=a2; clock_clk=1; clock_clk=0;
	clock_dat=a3; clock_clk=1; clock_clk=0;
	clock_dat=a4; clock_clk=1; clock_clk=0;
	clock_dat=a5; clock_clk=1; clock_clk=0;
	clock_dat=a6; clock_clk=1; clock_clk=0;
	clock_dat=a7; clock_clk=1; clock_clk=0;
}
/*****************************************************************************/
//DS1302写入字节(底层协议)
unsigned char clock_in(void){
	clock_dat=1;
	a0=clock_dat;
	clock_clk=1; clock_clk=0; a1=clock_dat;
	clock_clk=1; clock_clk=0; a2=clock_dat;
	clock_clk=1; clock_clk=0; a3=clock_dat;
	clock_clk=1; clock_clk=0; a4=clock_dat;
	clock_clk=1; clock_clk=0; a5=clock_dat;
	clock_clk=1; clock_clk=0; a6=clock_dat;
	clock_clk=1; clock_clk=0; a7=clock_dat;
	return(ACC);
}

/*****************************************************************************/
//DS1302读数据(底层协议)
unsigned char read_clock(unsigned char ord){
	unsigned char dd=0;
	clock_clk=0;
	clock_Rst=0;
	clock_Rst=1;
	clock_out(ord);
	dd=clock_in();
	clock_Rst=0;
	clock_clk=1;
	return(dd);
}
/*****************************************************************************/
//常用时钟数据读取
void read_clockS(void){
	ss = read_clock(0x81);//读取秒数据
	mm = read_clock(0x83);//读取分钟数据
	hh = read_clock(0x85);//小时
	dd = read_clock(0x87);//日
	mo = read_clock(0x89);//月
	xq = read_clock(0x8b);//星期
	yy = read_clock(0x8d);//年

	read_clock(0x81);//读取秒数据
	mm = read_clock(0x83);//读取分钟数据
	read_clock(0x85);//小时
	dd = read_clock(0x87);//日
    read_clock(0x89);//月
	xq = read_clock(0x8b);//星期
	read_clock(0x8d);//年
}
/*****************************************************************************/
//DS1302写数据(底层协议)
void write_clock(unsigned char ord, unsigned char dd){
	clock_clk=0;
	clock_Rst=0;
	clock_Rst=1;
	clock_out(ord);
	clock_out(dd);
	clock_Rst=0;
	clock_clk=1;
}
//设置1302的初始时间
void Init_1302(void){//(2007年1月1日00时00分00秒星期一)
	write_clock(0x8e,0x00);//允许写操作
/*	write_clock(0x8c,0x08);//年
	write_clock(0x8a,0x04);//星期
	write_clock(0x88,0x01);//月
	write_clock(0x86,0x10);//日
	write_clock(0x84,0x12);//小时
	write_clock(0x82,0x36);//分钟
	write_clock(0x80,0x00);//秒*/
	write_clock(0x90,0xa5);//充电	
	write_clock(0x8e,0x80);//禁止写操作
}


⌨️ 快捷键说明

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