欢迎来到天天文库
浏览记录
ID:46898850
大小:144.00 KB
页数:17页
时间:2019-11-29
《基于DS1302写的12864LCD时钟程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、以下是我写的12864LCD并行口时钟显示程序,时钟用按键可调/***************12864.h头文件******************************/#ifndef_12864_h#define_12864_h/*****包含头文件**************/#include#include"string.h"#include"DS1302.h"/********定义I/0口**********/#defineLCD12864_DATAP0sbitLCD12864_
2、E=P2^7;sbitLCD12864_RW=P2^5;sbitLCD12864_RS=P2^6;sbitLCD12864_RET=P2^0;sbitLCD12864_PSB=P2^2;/******声明全局函数*********/voidDelay1ms(unsignedint);//声明延时函数voidBusyChk_12864(void);//声明忙检测函数voidWrCom(unsignedchar);//声明写入命令函数//unsignedcharReDat(void);//声明读数据函数voidWr
3、Dat(unsignedchar);//声明写数据函数voidLcdInit(void);//12864初始化函数voidSetAddress(unsignedchar,unsignedchar);//设置地址转换voidDisplayString(unsignedchar,unsignedchar,unsignedchar*p);//行显示字符voidDisplayTime();voidDisplayDay();voidDisplayWeek();#endif/************************
4、*****12864.c***********************************/#include"12864.h"/********************************************************************************函数名:Delay1ms*函数功能:延时函数,延时1ms*输入:c*输出e:无*说名:该函数是在12MHZ晶振下,12分频单片机的延时。********************************************
5、***********************************/voidDelay1ms(unsignedinti)//误差0us{unsignedchara;for(i;i>0;i--){for(a=199;a>0;a--);}}/****************************************************************************函数名字:voidBusyChk()函数功能:12864LCD忙检测*输入:无*输出:无*****************
6、**************************************************************/voidBusyChk(void){unsignedinttimeout=0;LCD12864_E=0;//E=0使能关闭LCD12864_RS=0;//0指令;1数据LCD12864_RW=1;//1读数据;0写数据Delay1ms(50);//延时100msLCD12864_E=1;//1开使能,读数据while(((LCD12864_DATA&0x80)&&++timeout));
7、//判断1表示内部在工作;0表示正常LCD12864_E=0;//E=0使能关闭}/****************************************************************************函数名字:voidWrDat(usnignedchardata)函数功能:写入数据*输入:data*输出:无*******************************************************************************/voidWr
8、Dat(unsignedcharbTemp){BusyChk();//忙检测LCD12864_E=0;//E=0使能关闭LCD12864_RS=1;//0指令;1数据LCD12864_RW=0;//1读数据;0写数据LCD12864_E=1;//E=1使能打开LCD12864_DATA=bTemp;//写入数据Delay1ms(10);//延时100msLCD12864_E=0;//E
此文档下载收益归作者所有