|
|
|
|
|
|
| |
 曾生 |
|
订单 |
2010-4-1 15:09:42 |
|
订单编号:34279554431882 成交时间:2010-04-01 09:31 170元/套的开发板
在淘宝买的
我大约何时才能收到产品,请
|
|
| |
| |
 陈红 |
|
帮我修改,编译出错 |
2010-1-9 23:52:00 |
|
//12864+ds12c887+ds18b20
/*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容***/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit qe=P1^4; //定义背光灯按键
/*屏蔽内容****12864使能位定义*屏蔽内容**屏蔽内容**屏蔽内容**/
sbit lcdne=P1^5;
sbit lcdrs=P1^7;
sbit lcdrw=P1^6;
/*屏蔽内容****DS12CR887时实时钟芯片使能位定义*屏蔽内容**屏蔽内容****/
sbit dscs=P2^4;
sbit dsas=P2^5;
sbit dsrw=P2^6;
sbit dsds=P2^7;
/*屏蔽内容**屏蔽内容*按键定义*屏蔽内容**屏蔽内容**屏蔽内容****/
sbit k1=P2^1;
sbit k2=P2^2;
sbit k3=P2^3;
/*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容****/
sbit DQ=P2^0;
/*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容***/
uchar a="今天是";
uchar b="年";
uchar c="月";
uchar d="号";
uchar e="星期";
uchar x="时间是";
uchar f="点";
uchar g="分";
uchar h="秒";
uchar s="度";
uchar k="温度";
uchar s1="一";
uchar s2="二";
uchar s3="叁"; //这里写这个(三)不能显示,不知为什么?
uchar s4="四";
uchar s5="五";
uchar s6="六";
uchar s7="日";
//uchar za="故人西辞黄鹤楼,";
//uchar zb="烟花三月下扬州,";
//uchar zc="孤帆远影碧空尽,";
//uchar zd="唯见长江天际流。";
uchar sinum,flag;
void write_ds(uchar add,uchar date);
uchar miao,shi,fen,xq,ri,yue,nian,keysh;
uint wd;
//*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容*** /
void write_date(uchar date);
void write_com(uchar com);
/*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容****/
void delay(uchar i) //这里一定要把i定义成char,否则不能工作
{
for(;i>0;i--);
}
/*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容***/
void delay1(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/*屏蔽内容**屏蔽内容**18b20初始化*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容***/
uchar fv(void)
{
uchar x;
DQ=0;
delay(29);
DQ=1;
delay(3);
x=DQ;
delay(25);
return(x);
}
/*屏蔽内容**屏蔽内容***18b20读一个字节*屏蔽内容**屏蔽内容**屏蔽内容****/
uchar readbyte(void)
{
uchar i,dat=0;
for(i=8;i>0;i--)
{
dat>>=1;
DQ=0;
DQ=1;
delay(1);
//dat>>=1;
if(DQ)
dat|=0x80;
delay(6);
}
return(dat);
}
/*屏蔽内容**屏蔽内容****18B20写一个字节*屏蔽内容**屏蔽内容**屏蔽内容***/
void writebyte(uchar dat)
{
uchar i;
for(i=8;i>0;i--)
{
DQ=0;
DQ=dat&0x01;
delay(5);
DQ=1;
dat=dat/2; //dat/2同dat>>=1
}
delay(5);
}
/*屏蔽内容**屏蔽内容*读温度并计算*屏蔽内容**屏蔽内容**屏蔽内容***/
uint tc(void)
{
uchar a,b;
uint t;
float tt;
fv();
writebyte(0xcc);
writebyte(0x44);
fv();
writebyte(0xcc);
writebyte(0xbe);
a=readbyte();
b=readbyte();
t=b*256+a;
tt=t*0.0625;
t=tt*10+0.5;
return(t);
}
/*屏蔽内容**屏蔽内容****显示温度的地址,数据*屏蔽内容****/
void write_sfc( date)
{
uchar shi,ge,xiao,aa;
shi=date/100;
aa=date%100;
ge=aa/10;
xiao=date%10;
write_com(0x98+4);
write_date(0x30+shi);
write_date(0x30+ge);
write_com(0x98+0x05);
write_date(0x2e);
//write_com(0x98+0x06);
write_date(0x30+xiao);
//write_com(0x98+7);
write_date(0x43);
}
/*屏蔽内容**屏蔽内容**屏蔽内容****887intel总线写时序*屏蔽内容**屏蔽内容***/
void write_ds(uchar add,uchar date)
{
dsas=1;
dsds=1;
dsrw=1;
dscs=0;
P0=add;
dsas=0;
dsrw=0;
P0=date;
dsrw=1;
dsas=1;
dscs=1;
}
/*屏蔽内容**屏蔽内容**屏蔽内容****887intel总线读时序*屏蔽内容**屏蔽内容***/
uchar read_ds(uchar add)
{
uchar ds_date;
dsas=1;
dsds=1;
dsrw=1;
dscs=0;
P0=add;
dsas=0;
dsds=0;
P0=0xff;
ds_date=P0;
dsds=1;
dsas=1;
dscs=1;
return ds_date;
}
/*屏蔽内容**屏蔽内容**屏蔽内容*12864忙检测*屏蔽内容**屏蔽内容**屏蔽内容*/
void buys()
{
P3=0xff;
lcdrs=0;
lcdrw=1;
lcdne=1;
if(P0^7==1)
delay1(5);
lcdne=0;
}
//*屏蔽内容**屏蔽内容**12864写命令*屏蔽内容**屏蔽内容**屏蔽内容*/
void write_com(uchar com)
{
buys();
lcdrw=0;
lcdrs=0;
lcdne=1;
P3=com;
lcdne=0;
P3=0xff;
}
//*屏蔽内容**屏蔽内容**屏蔽内容*12864写数据*屏蔽内容**屏蔽内容**屏蔽内容*/
void write_date(uchar date)
{
buys();
lcdrw=0;
lcdrs=1;
lcdne=1;
P3=date;
lcdne=0;
P3=0xff;
}
/*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容*/
void init()
{
//set=0;
//delay(1);
//set=1;
write_com(0x01);
//write_com(0x34);
write_com(0x30);
//write_com(0x34);
write_com(0x06);
write_com(0x0c);
write_com(0x00);
write_com(0x06);
//write_ds(0x0a,0x20); //这三句是887起动初始化,887工作后可以不要
//write_ds(0x0b,0x86);
//write_ds(0x0b,0x06);
}
/*屏蔽内容**屏蔽内容***秒显示地址,数据*屏蔽内容**屏蔽内容**屏蔽内容**/
void write_sfn(uchar add,uchar date)
{
uchar shi,ge;
shi=date/10;
ge=date%10;
write_com(0x88+add);
write_date(shi+48);
write_date(ge+48);
}
//*屏蔽内容**屏蔽内容***时,分显示地址,数据*屏蔽内容**屏蔽内容****
void write_sfs(uchar add,uchar date)
{
uchar shi,ge;
shi=date/10;
ge=date%10;
write_com(0x88+add);
write_date(0x30+shi);
write_date(0x30+ge);
}
//*屏蔽内容**屏蔽内容**星期显示地址,数据*屏蔽内容**屏蔽内容**
void write_sfq(uchar add,uchar date)
{
uchar i;
uchar shi,ge;
shi=date/10;
ge=date%10;
write_com(0x90+add);
if(ge==1)
{
for(i=0;i<2;i++)
write_date(s1);
}
else if(ge==3)
{
for(i=0;i<2;i++)
write_date(s3);
}
else if(ge==5)
{
for(i=0;i<2;i++)
write_date(s5);
}
else if(ge==7)
{
for(i=0;i<2;i++)
write_date(s7);
write_com(0x80+0x07);
for(i=0;i<2;i++)
write_date(c);
// write_com(0x90+0x02);
// write_date(0x2a);
// write_date(0x2a);
// write_com(0x90+0x06);
// write_date(0x2a);
// write_date(0x2a);
// write_date(0x2a);
// write_date(0x2a);
// write_com(0x90+0x01);
// for(i=0;i<14;i++)
// write_date(za);
// write_com(0x90+0x01);
// for(i=0;i<14;i++)
// write_date(zc);
write_com(0x80);
for(i=0;i<6;i++)
write_date(a);
write_com(0x88+0x04);
for(i=0;i<2;i++)
write_date(f);
write_com(0x98);
for(i=0;i<2;i++)
write_date(h);
while(1)
{
void key();
if(k3==0)
qe=~qe;
if(flag==0)
{
miao=read_ds(0); //读秒
fen=read_ds(2); //读分
shi=read_ds(4); //读时
xq=read_ds(6); //读星期
ri=read_ds(7); //读日
yue=read_ds(8); //读月
nian=read_ds(9); //读年
write_sfn(7,miao); //送显示子程序
write_sfs(5,fen);
write_sfs(3,shi);
write_sff(0,ri);
write_sfm(3,yue);
write_sfm(1,nian);
write_sfq(5,xq);
wd=tc();
write_sfc(wd);
}
}
} |
|
| |
| |
 陈红 |
|
帮我修改,编译出错 |
2010-1-9 23:51:47 |
|
//12864+ds12c887+ds18b20
/*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容***/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit qe=P1^4; //定义背光灯按键
/*屏蔽内容****12864使能位定义*屏蔽内容**屏蔽内容**屏蔽内容**/
sbit lcdne=P1^5;
sbit lcdrs=P1^7;
sbit lcdrw=P1^6;
/*屏蔽内容****DS12CR887时实时钟芯片使能位定义*屏蔽内容**屏蔽内容****/
sbit dscs=P2^4;
sbit dsas=P2^5;
sbit dsrw=P2^6;
sbit dsds=P2^7;
/*屏蔽内容**屏蔽内容*按键定义*屏蔽内容**屏蔽内容**屏蔽内容****/
sbit k1=P2^1;
sbit k2=P2^2;
sbit k3=P2^3;
/*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容****/
sbit DQ=P2^0;
/*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容***/
uchar a="今天是";
uchar b="年";
uchar c="月";
uchar d="号";
uchar e="星期";
uchar x="时间是";
uchar f="点";
uchar g="分";
uchar h="秒";
uchar s="度";
uchar k="温度";
uchar s1="一";
uchar s2="二";
uchar s3="叁"; //这里写这个(三)不能显示,不知为什么?
uchar s4="四";
uchar s5="五";
uchar s6="六";
uchar s7="日";
//uchar za="故人西辞黄鹤楼,";
//uchar zb="烟花三月下扬州,";
//uchar zc="孤帆远影碧空尽,";
//uchar zd="唯见长江天际流。";
uchar sinum,flag;
void write_ds(uchar add,uchar date);
uchar miao,shi,fen,xq,ri,yue,nian,keysh;
uint wd;
//*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容*** /
void write_date(uchar date);
void write_com(uchar com);
/*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容****/
void delay(uchar i) //这里一定要把i定义成char,否则不能工作
{
for(;i>0;i--);
}
/*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容***/
void delay1(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/*屏蔽内容**屏蔽内容**18b20初始化*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容***/
uchar fv(void)
{
uchar x;
DQ=0;
delay(29);
DQ=1;
delay(3);
x=DQ;
delay(25);
return(x);
}
/*屏蔽内容**屏蔽内容***18b20读一个字节*屏蔽内容**屏蔽内容**屏蔽内容****/
uchar readbyte(void)
{
uchar i,dat=0;
for(i=8;i>0;i--)
{
dat>>=1;
DQ=0;
DQ=1;
delay(1);
//dat>>=1;
if(DQ)
dat|=0x80;
delay(6);
}
return(dat);
}
/*屏蔽内容**屏蔽内容****18B20写一个字节*屏蔽内容**屏蔽内容**屏蔽内容***/
void writebyte(uchar dat)
{
uchar i;
for(i=8;i>0;i--)
{
DQ=0;
DQ=dat&0x01;
delay(5);
DQ=1;
dat=dat/2; //dat/2同dat>>=1
}
delay(5);
}
/*屏蔽内容**屏蔽内容*读温度并计算*屏蔽内容**屏蔽内容**屏蔽内容***/
uint tc(void)
{
uchar a,b;
uint t;
float tt;
fv();
writebyte(0xcc);
writebyte(0x44);
fv();
writebyte(0xcc);
writebyte(0xbe);
a=readbyte();
b=readbyte();
t=b*256+a;
tt=t*0.0625;
t=tt*10+0.5;
return(t);
}
/*屏蔽内容**屏蔽内容****显示温度的地址,数据*屏蔽内容****/
void write_sfc( date)
{
uchar shi,ge,xiao,aa;
shi=date/100;
aa=date%100;
ge=aa/10;
xiao=date%10;
write_com(0x98+4);
write_date(0x30+shi);
write_date(0x30+ge);
write_com(0x98+0x05);
write_date(0x2e);
//write_com(0x98+0x06);
write_date(0x30+xiao);
//write_com(0x98+7);
write_date(0x43);
}
/*屏蔽内容**屏蔽内容**屏蔽内容****887intel总线写时序*屏蔽内容**屏蔽内容***/
void write_ds(uchar add,uchar date)
{
dsas=1;
dsds=1;
dsrw=1;
dscs=0;
P0=add;
dsas=0;
dsrw=0;
P0=date;
dsrw=1;
dsas=1;
dscs=1;
}
/*屏蔽内容**屏蔽内容**屏蔽内容****887intel总线读时序*屏蔽内容**屏蔽内容***/
uchar read_ds(uchar add)
{
uchar ds_date;
dsas=1;
dsds=1;
dsrw=1;
dscs=0;
P0=add;
dsas=0;
dsds=0;
P0=0xff;
ds_date=P0;
dsds=1;
dsas=1;
dscs=1;
return ds_date;
}
/*屏蔽内容**屏蔽内容**屏蔽内容*12864忙检测*屏蔽内容**屏蔽内容**屏蔽内容*/
void buys()
{
P3=0xff;
lcdrs=0;
lcdrw=1;
lcdne=1;
if(P0^7==1)
delay1(5);
lcdne=0;
}
//*屏蔽内容**屏蔽内容**12864写命令*屏蔽内容**屏蔽内容**屏蔽内容*/
void write_com(uchar com)
{
buys();
lcdrw=0;
lcdrs=0;
lcdne=1;
P3=com;
lcdne=0;
P3=0xff;
}
//*屏蔽内容**屏蔽内容**屏蔽内容*12864写数据*屏蔽内容**屏蔽内容**屏蔽内容*/
void write_date(uchar date)
{
buys();
lcdrw=0;
lcdrs=1;
lcdne=1;
P3=date;
lcdne=0;
P3=0xff;
}
/*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容*/
void init()
{
//set=0;
//delay(1);
//set=1;
write_com(0x01);
//write_com(0x34);
write_com(0x30);
//write_com(0x34);
write_com(0x06);
write_com(0x0c);
write_com(0x00);
write_com(0x06);
//write_ds(0x0a,0x20); //这三句是887起动初始化,887工作后可以不要
//write_ds(0x0b,0x86);
//write_ds(0x0b,0x06);
}
/*屏蔽内容**屏蔽内容***秒显示地址,数据*屏蔽内容**屏蔽内容**屏蔽内容**/
void write_sfn(uchar add,uchar date)
{
uchar shi,ge;
shi=date/10;
ge=date%10;
write_com(0x88+add);
write_date(shi+48);
write_date(ge+48);
}
//*屏蔽内容**屏蔽内容***时,分显示地址,数据*屏蔽内容**屏蔽内容****
void write_sfs(uchar add,uchar date)
{
uchar shi,ge;
shi=date/10;
ge=date%10;
write_com(0x88+add);
write_date(0x30+shi);
write_date(0x30+ge);
}
//*屏蔽内容**屏蔽内容**星期显示地址,数据*屏蔽内容**屏蔽内容**
void write_sfq(uchar add,uchar date)
{
uchar i;
uchar shi,ge;
shi=date/10;
ge=date%10;
write_com(0x90+add);
if(ge==1)
{
for(i=0;i<2;i++)
write_date(s1);
}
else if(ge==3)
{
for(i=0;i<2;i++)
write_date(s3);
}
else if(ge==5)
{
for(i=0;i<2;i++)
write_date(s5);
}
else if(ge==7)
{
for(i=0;i<2;i++)
write_date(s7);
write_com(0x80+0x07);
for(i=0;i<2;i++)
write_date(c);
// write_com(0x90+0x02);
// write_date(0x2a);
// write_date(0x2a);
// write_com(0x90+0x06);
// write_date(0x2a);
// write_date(0x2a);
// write_date(0x2a);
// write_date(0x2a);
// write_com(0x90+0x01);
// for(i=0;i<14;i++)
// write_date(za);
// write_com(0x90+0x01);
// for(i=0;i<14;i++)
// write_date(zc);
write_com(0x80);
for(i=0;i<6;i++)
write_date(a);
write_com(0x88+0x04);
for(i=0;i<2;i++)
write_date(f);
write_com(0x98);
for(i=0;i<2;i++)
write_date(h);
while(1)
{
void key();
if(k3==0)
qe=~qe;
if(flag==0)
{
miao=read_ds(0); //读秒
fen=read_ds(2); //读分
shi=read_ds(4); //读时
xq=read_ds(6); //读星期
ri=read_ds(7); //读日
yue=read_ds(8); //读月
nian=read_ds(9); //读年
write_sfn(7,miao); //送显示子程序
write_sfs(5,fen);
write_sfs(3,shi);
write_sff(0,ri);
write_sfm(3,yue);
write_sfm(1,nian);
write_sfq(5,xq);
wd=tc();
write_sfc(wd);
}
}
} |
|
| |
| |
 陈红 |
|
我修改 |
2010-1-9 23:48:13 |
|
//12864+ds12c887+ds18b20
/*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容***/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit qe=P1^4; //定义背光灯按键
/*屏蔽内容****12864使能位定义*屏蔽内容**屏蔽内容**屏蔽内容**/
sbit lcdne=P1^5;
sbit lcdrs=P1^7;
sbit lcdrw=P1^6;
/*屏蔽内容****DS12CR887时实时钟芯片使能位定义*屏蔽内容**屏蔽内容****/
sbit dscs=P2^4;
sbit dsas=P2^5;
sbit dsrw=P2^6;
sbit dsds=P2^7;
/*屏蔽内容**屏蔽内容*按键定义*屏蔽内容**屏蔽内容**屏蔽内容****/
sbit k1=P2^1;
sbit k2=P2^2;
sbit k3=P2^3;
/*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容****/
sbit DQ=P2^0;
/*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容***/
uchar a="今天是";
uchar b="年";
uchar c="月";
uchar d="号";
uchar e="星期";
uchar x="时间是";
uchar f="点";
uchar g="分";
uchar h="秒";
uchar s="度";
uchar k="温度";
uchar s1="一";
uchar s2="二";
uchar s3="叁"; //这里写这个(三)不能显示,不知为什么?
uchar s4="四";
uchar s5="五";
uchar s6="六";
uchar s7="日";
//uchar za="故人西辞黄鹤楼,";
//uchar zb="烟花三月下扬州,";
//uchar zc="孤帆远影碧空尽,";
//uchar zd="唯见长江天际流。";
uchar sinum,flag;
void write_ds(uchar add,uchar date);
uchar miao,shi,fen,xq,ri,yue,nian,keysh;
uint wd;
//*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容*** /
void write_date(uchar date);
void write_com(uchar com);
/*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容****/
void delay(uchar i) //这里一定要把i定义成char,否则不能工作
{
for(;i>0;i--);
}
/*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容***/
void delay1(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/*屏蔽内容**屏蔽内容**18b20初始化*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容***/
uchar fv(void)
{
uchar x;
DQ=0;
delay(29);
DQ=1;
delay(3);
x=DQ;
delay(25);
return(x);
}
/*屏蔽内容**屏蔽内容***18b20读一个字节*屏蔽内容**屏蔽内容**屏蔽内容****/
uchar readbyte(void)
{
uchar i,dat=0;
for(i=8;i>0;i--)
{
dat>>=1;
DQ=0;
DQ=1;
delay(1);
//dat>>=1;
if(DQ)
dat|=0x80;
delay(6);
}
return(dat);
}
/*屏蔽内容**屏蔽内容****18B20写一个字节*屏蔽内容**屏蔽内容**屏蔽内容***/
void writebyte(uchar dat)
{
uchar i;
for(i=8;i>0;i--)
{
DQ=0;
DQ=dat&0x01;
delay(5);
DQ=1;
dat=dat/2; //dat/2同dat>>=1
}
delay(5);
}
/*屏蔽内容**屏蔽内容*读温度并计算*屏蔽内容**屏蔽内容**屏蔽内容***/
uint tc(void)
{
uchar a,b;
uint t;
float tt;
fv();
writebyte(0xcc);
writebyte(0x44);
fv();
writebyte(0xcc);
writebyte(0xbe);
a=readbyte();
b=readbyte();
t=b*256+a;
tt=t*0.0625;
t=tt*10+0.5;
return(t);
}
/*屏蔽内容**屏蔽内容****显示温度的地址,数据*屏蔽内容****/
void write_sfc( date)
{
uchar shi,ge,xiao,aa;
shi=date/100;
aa=date%100;
ge=aa/10;
xiao=date%10;
write_com(0x98+4);
write_date(0x30+shi);
write_date(0x30+ge);
write_com(0x98+0x05);
write_date(0x2e);
//write_com(0x98+0x06);
write_date(0x30+xiao);
//write_com(0x98+7);
write_date(0x43);
}
/*屏蔽内容**屏蔽内容**屏蔽内容****887intel总线写时序*屏蔽内容**屏蔽内容***/
void write_ds(uchar add,uchar date)
{
dsas=1;
dsds=1;
dsrw=1;
dscs=0;
P0=add;
dsas=0;
dsrw=0;
P0=date;
dsrw=1;
dsas=1;
dscs=1;
}
/*屏蔽内容**屏蔽内容**屏蔽内容****887intel总线读时序*屏蔽内容**屏蔽内容***/
uchar read_ds(uchar add)
{
uchar ds_date;
dsas=1;
dsds=1;
dsrw=1;
dscs=0;
P0=add;
dsas=0;
dsds=0;
P0=0xff;
ds_date=P0;
dsds=1;
dsas=1;
dscs=1;
return ds_date;
}
/*屏蔽内容**屏蔽内容**屏蔽内容*12864忙检测*屏蔽内容**屏蔽内容**屏蔽内容*/
void buys()
{
P3=0xff;
lcdrs=0;
lcdrw=1;
lcdne=1;
if(P0^7==1)
delay1(5);
lcdne=0;
}
//*屏蔽内容**屏蔽内容**12864写命令*屏蔽内容**屏蔽内容**屏蔽内容*/
void write_com(uchar com)
{
buys();
lcdrw=0;
lcdrs=0;
lcdne=1;
P3=com;
lcdne=0;
P3=0xff;
}
//*屏蔽内容**屏蔽内容**屏蔽内容*12864写数据*屏蔽内容**屏蔽内容**屏蔽内容*/
void write_date(uchar date)
{
buys();
lcdrw=0;
lcdrs=1;
lcdne=1;
P3=date;
lcdne=0;
P3=0xff;
}
/*屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容**屏蔽内容*/
void init()
{
//set=0;
//delay(1);
//set=1;
write_com(0x01);
//write_com(0x34);
write_com(0x30);
//write_com(0x34);
write_com(0x06);
write_com(0x0c);
write_com(0x00);
write_com(0x06);
//write_ds(0x0a,0x20); //这三句是887起动初始化,887工作后可以不要
//write_ds(0x0b,0x86);
//write_ds(0x0b,0x06);
}
/*屏蔽内容**屏蔽内容***秒显示地址,数据*屏蔽内容**屏蔽内容**屏蔽内容**/
void write_sfn(uchar add,uchar date)
{
uchar shi,ge;
shi=date/10;
ge=date%10;
write_com(0x88+add);
write_date(shi+48);
write_date(ge+48);
}
//*屏蔽内容**屏蔽内容***时,分显示地址,数据*屏蔽内容**屏蔽内容****
void write_sfs(uchar add,uchar date)
{
uchar shi,ge;
shi=date/10;
ge=date%10;
write_com(0x88+add);
write_date(0x30+shi);
write_date(0x30+ge);
}
//*屏蔽内容**屏蔽内容**星期显示地址,数据*屏蔽内容**屏蔽内容**
void write_sfq(uchar add,uchar date)
{
uchar i;
uchar shi,ge;
shi=date/10;
ge=date%10;
write_com(0x90+add);
if(ge==1)
{
for(i=0;i<2;i++)
write_date(s1);
}
else if(ge==3)
{
for(i=0;i<2;i++)
write_date(s3);
}
else if(ge==5)
{
for(i=0;i<2;i++)
write_date(s5);
}
else if(ge==7)
{
for(i=0;i<2;i++)
write_date(s7);
write_com(0x80+0x07);
for(i=0;i<2;i++)
write_date(c);
// write_com(0x90+0x02);
// write_date(0x2a);
// write_date(0x2a);
// write_com(0x90+0x06);
// write_date(0x2a);
// write_date(0x2a);
// write_date(0x2a);
// write_date(0x2a);
// write_com(0x90+0x01);
// for(i=0;i<14;i++)
// write_date(za);
// write_com(0x90+0x01);
// for(i=0;i<14;i++)
// write_date(zc);
write_com(0x80);
for(i=0;i<6;i++)
write_date(a);
write_com(0x88+0x04);
for(i=0;i<2;i++)
write_date(f);
write_com(0x98);
for(i=0;i<2;i++)
write_date(h);
while(1)
{
void key();
if(k3==0)
qe=~qe;
if(flag==0)
{
miao=read_ds(0); //读秒
fen=read_ds(2); //读分
shi=read_ds(4); //读时
xq=read_ds(6); //读星期
ri=read_ds(7); //读日
yue=read_ds(8); //读月
nian=read_ds(9); //读年
write_sfn(7,miao); //送显示子程序
write_sfs(5,fen);
write_sfs(3,shi);
write_sff(0,ri);
write_sfm(3,yue);
write_sfm(1,nian);
write_sfq(5,xq);
wd=tc();
write_sfc(wd);
}
}
} |
|
| |
| |
 13911604128 |
|
初学请教 |
2009-11-21 22:12:11 |
|
我输入书中的程序
;zhuchengxu
MAIN: SETB P1.0
LCALL DELAY
CLR P1.0
LCALL DELAY
LJMP MAIN
;yanshizichengxu
DELAY: MOV R7,#250
D1: MOV R6,#250
D2: DJNZ R6,D2
DJNZ R7,D1
RET
END
下载成功后,为何不能在实验板运行.89C52不是和80C51兼容吗 |
|
| |
| |
 刘飞 |
|
要一张rz-51最新的电路原理图 |
2009-9-12 23:01:20 |
|
前几天买了一个单片机,里面的原理图好像不是最新的
最好能附带pcb图!!谢谢
名称:你买我就送 USBISP下载(AT89S52) 51开发板 51实验板 支持AVR
编号:Pro200957171021
型号:RZ—51
价格:150元
厂商:天津锐志电子
时间:2009-5-7 17:24:45
|
|
| |
| |
| | |
| |
共计:14条记录 页次:2/3 每页:6条
9 [1] 2 [3]: |
|
|
|
|
|
|