欢迎来到天天文库
浏览记录
ID:61419172
大小:36.50 KB
页数:10页
时间:2021-01-28
《DS1302时钟 LCD1206 显示 C程序.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、STC12C5A08AD单片机DS1302时钟芯片LCD1602液晶显示#include//stc单片机专用的头文件#include#include#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlong#definedatP0//定义LCD1602的数据口为P0voiddelay(unsignedintxms);//声明延时函数voiddelay2(unsignedintxms);voiddispl
2、ay(void);//显示程序voidkeyscan(void);sbitkey0=P2^0;sbitkey1=P2^1;sbitkey2=P2^2;sbitkey3=P2^3;sbitbeep=P3^4;/****ds1302****/#defineDS1302_SECOND_WRITE0x80#defineDS1302_MINUTE_WRITE0x82#defineDS1302_HOUR_WRITE0x84#defineDS1302_DAY_WRITE0x86#defineDS1302_MONTH_WRITE0x88#defineDS1302_WEE
3、K_WRITE0x8A#defineDS1302_YEAR_WRITE0x8CvoidSet_MIN(uchars);voidSet_HR(uchars);voidInit_DS1302(void);voidDS1302WriteByte(uchardat);voidDS1302Write(ucharcmd,uchardat);ucharDS1302Read(ucharcmd);ucharDS1302Read_1(ucharcmd);ucharDS1302ReadByte();ucharDS1302ReadByte_1();sbitRST=P1^4;sb
4、itSCLK=P3^6;sbitSDA=P3^7;/***lcd1206***/sbitrs=P1^0;//定义RS口为P10sbitrw=P1^1;//定义RW口为P11sbite=P1^2;//定义E口为P12voidxianshi_sfm(ucharwei,uchardat);voidshj_1602(uchara);//液晶写数据程序voidint_1602(void);//液晶初始化voidzhl_1602(uchara);//液晶写指令程序uchara,b,c,d;ucharcodetable0[7]={"timeis"};//定义LCD16
5、02显示2行的字符ucharcodetable3[10]={""};ucharcodetable4[1]={":"};/**************延时函数*****************/voiddelay(unsignedintxms)//延时函数,{unsignedinti,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}/*****************LCD1602显示程序******************************/voidzhl_1602(uchara)//写指令到LCM程序{//busy
6、_1602();//查询忙碌标志信号程序e=0;rs=0;rw=0;e=1;dat=a;delay(5);e=0;}voidshj_1602(uchara)//写数据到LCM程序{//busy_1602();//查询忙碌标志信号程序e=0;rs=1;rw=0;e=1;dat=a;delay(5);e=0;}voidint_1602(void)//启动LCM程序{zhl_1602(0x38);//设置显示模式,数据接口位数zhl_1602(0x0c);//设置显示开关,是否显示光标,是否闪动光标zhl_1602(0x06);//设置光标移动方向左或右,设置
7、所有文字是否移动}/*****************液晶LCD1602显示主程序程序***********/voiddisplay(void)//液晶显示程序{uchari,ri,yue,nian;//定义计数值int_1602();//初始化1602zhl_1602(0x80);delay(5);//写指令()指定从第一行指针位置开始写for(i=0;i<7;i++)//发送数据第一行timeis:{shj_1602(table0[i]);delay(5);}zhl_1602(0x80+10);delay(5);//for(i=0;i<1;i++)/
8、/发送数据第一行时间显示的“:”{shj_1602(table4[i]);del
此文档下载收益归作者所有