此部分内容已被设置为付费内容,您可以在支付 2 元 人民币后浏览本楼层全部付费内容。点击购买
#include "reg52.h"
#include "intrins.h"
#define uchar unsigned char
#define uint unsigned int
/**LCD1602的接口定义**/
sbit LCDRS=P2^6;
sbit LCDWR=P2^5;
sbit LCDE=P2^7;
#define LCDPin P0
/**DS1302的接口定义**/
sbit SCLK=P3^6; //7脚 SCLK
sbit DSIO=P3^4; //6脚 IO
sbit RST=P3^5; //5脚 CE
/**DS1302的数组定义**/
uchar code READ_RTC_ADDR[7] = {0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d}; //读秒,分,时,天,月,周,年,
uchar code WRITE_RTC_ADDR[7] = {0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c}; //写秒,分,时,天,月,周,年,
uchar Init_time[7] = {0, 0, 0x12, 0x07, 0x05, 0x06, 0x16}; //初始显示秒,分,时,天,月,周,年
uchar time[7];
/**LCD1602显示数组**/
uchar code table2[10]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39}; //ASCII码0,1,2,3,4,5,6,7,8,9,
/**函数声明***/
void Ds1302Write(uchar addr, uchar dat);
uchar Ds1302Read(uchar addr);
void Ds1302Init();
void Ds1302ReadTime();
void delayms(uint y);
void LCDWriteData(uchar dat);
void LCDWriteCom(uchar com);
void LCDInit();
void display();
void display_init();
/*******************************************************************************
* 函 数 名 : delayms()
* 函数功能 : 主函数
* 输 入 : u16 x
* 输 出 : 无
*******************************************************************************/
void delayms(uint y)
{
uchar i;
for(;y>0;y--)
{
for(i=0;i<110;i++);
}
}
|