时钟程序基本走时功能加流水灯

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include

#include

#include

#define uchar unsigned char

#define uint unsigned int

uchar a;

uchar XPOS,YPOS;

sbit RS = P2^5; //Pin4

sbit RW = P2^6; //Pin5

sbit E = P2^7; //Pin6

sbit CLK=P3^6; //txd

sbit DA TA=P3^5; //RXD

sbit SH_LD=P3^7; //

sbit buz=P3^4;

#define Data P0 //数据端口

uchar

time,shi,fen,miao,shi11,shi12,fen11,fen12,miao11,miao12,miao1,fen1,shi1,y ue1,r1,nian11,nian12,nian13,nian14,yue,yue11,yue12,r,r11,r12;

uchar Time1[]={'0','1','2','3','4','5','6','7','8','9'};

uint nian,nian1;

/************************************************************* *****/

/* 函数声明*/

/************************************************************* *****//******************************************************* ********/

void DelayUs(unsigned char us)//delay us

{

unsigned char uscnt;

uscnt=us>>1;/* Crystal frequency in 12MHz*/

while(--uscnt);

}

/*************************************************************

*****/

void DelayMs(unsigned char ms)//delay Ms

{

while(--ms)

{

DelayUs(250);

DelayUs(250);

DelayUs(250);

DelayUs(250);

}

}

void WriteCommand(unsigned char c)

{

DelayMs(5);//short delay before operation

E=0;

RS=0;

RW=0;

_nop_();

E=1;

Data=c;

E=0;

}

/************************************************************* ***/

void WriteData(unsigned char c)

{

DelayMs(5); //short delay before operation

E=0;

RS=1;

RW=0;

_nop_();

E=1;

Data=c;

E=0;

RS=0;

}

/************************************************************* ********/

void ShowChar(unsigned char pos,unsigned char c)

{

unsigned char p;

//p=pos+0x80; //是第二行则命令代码高4位为0x8 p=pos;

WriteCommand (p);//write command

WriteData (c); //write data

}

void Writer_zfc(uchar cspos,uchar*s)

{

WriteCommand (cspos);

while(*s!='\0')

{

WriteData (*s);

s++;

}

}

void InitLcd()

{

DelayMs(15);

WriteCommand(0x38); //display mode WriteCommand(0x38); //display mode WriteCommand(0x0f); //display mode WriteCommand(0x06); //显示光标移动位置WriteCommand(0x0c); //显示开及光标设置WriteCommand(0x01); //显示清屏

}

void Wenzi_yiwei(int z)

{

int i;

for(i=0;i

{

DelayMs(1000);

WriteCommand(0x18);

}

}

void Liushui_d()

{

相关文档
最新文档