季夏木槿 发表于 2013-12-23 16:30
额······你都不写注释的么
#include
#define unit unsigned int
#define uchar unsigned char
uchar Second,Minute,Hour,Date,Month,Year,week //时间等变量
#define one 0x80//第一行的初始位置
#define two 0xc0//第二行的初始位置
sbit RS_1602=P2^0; // error C141:syntax error near 'void' error C247: non_addires/-constant initializer
//1602数据命令端
sbit E_1602=P2^1;//1602使能端
sbit IO_1302=P2^4;//1302数据端
sbit CLK_1302=P2^3;//1302时钟端
sbit RST_1302=P2^2;//1302复位端
sbit key_mode=P1^0;//功能键
sbit key_up=P1^1;//增量键
sbit key_down=P1^2;//减量键
sbit ACC0=ACC^0;
sbit ACC7=ACC^7;
uchar code tab1[]={"20 - - week"};//液晶第一行默认显示数据
uchar code tab2[]={" : : "};//液晶第二行默认显示数据
、、 函数申明
void init();
uchar BCD_Decimal(uchar bcd);/定时器0初始化
uchar Dec_BCD(uchar Dec);//BCD转16进制数
void delay(uint xms); //error C141:syntax error near 'xms',expected')'
// 延时函数
write_1602com(uchar com);//液晶写入指令函数
write_1602dat(uchar dat);// 液晶写入数据函数
void write_hms(uchar add,uchar dat);//1602写时分秒
void write_ymd(uchar add,uchar dat);//1602些年月日
void write_week(uchar week);//星期
lcd_init();//液晶初始化
void write_byte(uchar dat);//1302字节写
uchar read_byte();//1302字节读
void write_1302(uchar add,uchar dat);
uchar read_1302(uchar add);
void ds1302_init();
void keyscan();
void main()
{
lcd_init(); //液晶初始化
ds1302_init(); //1302初始化
init();
while(1)
keyscan(); //按键处理子程序
}
write_1602com(uchar com) //液晶写入指令函数
{
RS_1602=0; //置为写入命令
P2=com; //送入数据
delay(1);
E_1602=1; //拉高使能端
delay(1);
E_1602=0; //完成高脉冲
}
write_1602dat(uchar dat) //液晶写入数据函数
{
RS_1602=1; //置为写入数据
P2=dat; //送入数据
delay(1);
E_1602=1; //拉高使能端
delay(1);
E_1602=0; //完成高脉冲
}
.
.
.
.
.
.
void delay(unit xms) //延时函数
{
unit i,j;
for(i=xms;i>0;i--)
for(j=100;j>0;j--);
}
刚才一着急忘了,大侠再看看!!