基于PCF8563的单片机数字时钟

2019-03-15 12:15

LCD1C21930pU1XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617P02P03P04P05AMPIRE128X64RP1987654321P00P01P02P03P04P05P06P07RP298765432110KP30P31P32P33P34P35P36P37X1C130p12MHz18XTAL29RST1k47u293031PSENALEEA181716151413121110987654321-VoutRSTDB7DB6DB5DB4DB3DB2DB1DB0ER/WRSV0VCCGNDCS2CS1R1C3P20P21RV154K1kP31P17P16P15P14P13P12P11P10P32P34P33P36P37K1K2K3设置键P03加键P04P101P112P123P134P145P156P167P178P1.0/T2P1.1/T2EXP1.2/ECIP1.3/CEX0P1.4/CEX1P1.5/CEX2P1.6/CEX3P1.7/CEX4AT89C51RD2P30P31P32P33P34P35P36P37P1[0..7]RP398765432110KP20P21P22P23P24P25P26P27RP498765432110KP10P11P12P13P14P15P16P17减键P05键盘电路+12VU2P20P2165SCLSDAOSCIOSCO84VDDVSSCLKOUTINT1273CRYSTALX2R24.7kP02321C420pFU3VCCDQGNDDS18B201N41487.0PCF8563D1D21N4148B13VC6温度检测电路47uFC50.1uF

//---库函数声明及相关定义---// #include #include

#define uchar unsigned char #define uint unsigned int sbit SDA=P2^1;//数据 sbit SCL=P2^0;//时钟

#define Databus P1 /*液晶数据总线*/

bit Reverse_Display=0;//是否反相显示(白底黑字/黑底白字) sbit RS=P3^3; /*数据\\指令 选择*/ sbit RW=P3^4; /*读\\写 选择*/ sbit EN=P3^2; /*读\\写使能*/ sbit cs1=P3^6; /*片选1*/ sbit cs2=P3^7; /*片选2*/

uchar g8563_Store[8]; /*时间交换区,全局变量声明*/

uchar code c8563_Store[8]={0x50,0x59,0x23,0x31,0x06,0x12,0x00,0x19}; /*写入时间初值:世纪,09年 7月 星期一 13日 07:59:00*/

sbit DQ=P0^2;//ds18b20与单片机连接口 float f_temp;//浮点型温度值 unsigned int tvalue;//温度值

unsigned char tflag; unsigned int temp=0;

unsigned char SegBuf_DS18B20[4]={0};

sbit menu=P0^3;//菜单 sbit add=P0^4;//加一 sbit dec=P0^5;//减一

uchar second,minute,hour,day,month,year,week,count=0;

/********************************/ /* 定义中文字库 */

/********************************/ uchar code Hzk[]={

0x40,0x20,0x10,0x0C,0xE3,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0x02,0x00,0x00,//年//0 0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x00, 0x00,0x00,0x00,0x00,0x00,0xFF,0x11,0x11,0x11,0x11,0x11,0xFF,0x00,0x00,0x00,0x00,//月//1 0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x01,0x01,0x21,0x41,0x3F,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0xFE,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xFE,0x00,0x00,0x00,0x00,//日//2 0x00,0x00,0x00,0x3F,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0xBE,0x2A,0x2A,0x2A,0xEA,0x2A,0x2A,0x2A,0x2A,0x3E,0x00,0x00,0x00,//星//3 0x00,0x48,0x46,0x41,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0x49,0x49,0x41,0x40,0x00, //4 //5 //6 //7 //8 //9

0x00,0x04,0xFF,0x54,0x54,0x54,0xFF,0x04,0x00,0xFE,0x22,0x22,0x22,0xFE,0x00,0x00,//

0x42,0x22,0x1B,0x02,0x02,0x0A,0x33,0x62,0x18,0x07,0x02,0x22,0x42,0x3F,0x00,0x00,

0x00,0xFC,0x44,0x44,0x44,0xFC,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,//时0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,

0x80,0x40,0x20,0x98,0x87,0x82,0x80,0x80,0x83,0x84,0x98,0x30,0x60,0xC0,0x40,0x00,//分0x00,0x80,0x40,0x20,0x10,0x0F,0x00,0x00,0x20,0x40,0x3F,0x00,0x00,0x00,0x00,0x00,

0x12,0x12,0xD2,0xFE,0x91,0x11,0xC0,0x38,0x10,0x00,0xFF,0x00,0x08,0x10,0x60,0x00,//秒0x04,0x03,0x00,0xFF,0x00,0x83,0x80,0x40,0x40,0x20,0x23,0x10,0x08,0x04,0x03,0x00,

0x00,0x40,0x42,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0x42,0x42,0x40,0x00,//天0x00,0x80,0x40,0x20,0x10,0x08,0x06,0x01,0x02,0x04,0x08,0x10,0x30,0x60,0x20,0x00,

0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x00,//一0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x06,0x04,0x00,0x00,0x00,//二//10 0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x18,0x10,0x00, 0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x04,0x00,0x00,//三//11 0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00, 0x00,0xFE,0x02,0x02,0x02,0xFE,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0xFE,0x00,0x00,//四//12 0x00,0x7F,0x28,0x24,0x23,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x22,0x7F,0x00,0x00, 0x00,0x02,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0xC2,0x82,0x02,0x00,0x00,0x00,//五//13 0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x30,0x20,0x00, 0x10,0x10,0x10,0x10,0x10,0x91,0x12,0x1E,0x94,0x10,0x10,0x10,0x10,0x10,0x10,0x00,//六//14 0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x00,0x00,0x01,0x02,0x0C,0x78,0x30,0x00,0x00, 0x00,0x40,0x42,0x44,0x4C,0x40,0x40,0x7F, 0x40,0x40,0x48,0x44,0xE6,0x40,0x00,0x00, 0x00,0x40,0x44,0x44,0x44,0x44,0x44,0x44, 0x44,0x44,0x44,0x44,0xFF,0x00,0x00,0x00,//当//15 0x08,0x08,0xE8,0x29,0x2A,0x2E,0xE8,0x08, 0x08,0xCC,0x0A,0x0B,0xE8,0x0C,0x08,0x00, 0x00,0x00,0xFF,0x09,0x49,0x89,0x7F,0x00,

0x00,0x0F,0x40,0x80,0x7F,0x00,0x00,0x00,//前//16

0x10,0x22,0x64,0x0C,0x80,0x00,0xFE,0x92, 0x92,0x92,0x92,0x92,0xFF,0x02,0x00,0x00, 0x04,0x04,0xFE,0x01,0x40,0x7E,0x42,0x42,

0x7E,0x42,0x7E,0x42,0x42,0x7E,0x40,0x00,//温//17

0x00,0x00,0xFC,0x24,0x24,0x24,0xFC,0xA5, 0xA6,0xA4,0xFC,0x24,0x34,0x26,0x04,0x00, 0x40,0x20,0x9F,0x80,0x42,0x42,0x26,0x2A,

0x12,0x2A,0x26,0x42,0x40,0xC0,0x40,0x00,//度//18

0x00,0x00,0x00,0x00,0x7F,0x49,0x49,0x49, 0x49,0x49,0x7F,0x00,0x00,0x80,0x00,0x00, 0x01,0x81,0x41,0x21,0x1D,0x21,0x41,0x7F,

0x89,0x89,0x8D,0x89,0x81,0xC1,0x41,0x00,//是//19

0x00,0x00,0x00,0x00,0x80,0xC0,0xC0,0x80, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x31,0x7B,0x7B,0x31,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//://20

0x40,0x40,0x42,0xCC,0x00,0x40,0xA0,0x9F, 0x81,0x81,0x81,0x9F,0xA0,0x20,0x20,0x00, 0x00,0x00,0x00,0x7F,0xA0,0x90,0x40,0x43,

0x2C,0x10,0x28,0x26,0x41,0xC0,0x40,0x00,//设//21

0x00,0x10,0x17,0xD5,0x55,0x57,0x55,0x7D, 0x55,0x57,0x55,0xD5,0x17,0x10,0x00,0x00, 0x40,0x40,0x40,0x7F,0x55,0x55,0x55,0x55,

0x55,0x55,0x55,0x7F,0x40,0x60,0x40,0x00,//置//22

0x40,0x42,0x44,0xCC,0x00,0x20,0x22,0x22, 0xE2,0x22,0x22,0x23,0x32,0x20,0x00,0x00, 0x00,0x40,0x20,0x1F,0x20,0x48,0x4C,0x4B,

0x48,0x48,0x4A,0x4C,0x58,0x60,0x20,0x00,//运//23

0x00,0x10,0x88,0xC4,0x23,0x40,0x42,0x42, 0x42,0x42,0x42,0xC2,0x43,0x62,0x40,0x00, 0x02,0x01,0x00,0xFF,0x00,0x00,0x00,0x00,

0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,//行//24

0x00,0xF8,0x08,0x08,0x08,0x08,0x08,0xFF, 0x08,0x08,0x08,0x08,0x08,0xFC,0x08,0x00, 0x00,0x03,0x01,0x01,0x01,0x01,0x01,0xFF,

0x01,0x01,0x01,0x01,0x01,0x03,0x00,0x00,//中//25

0x00,0x06,0x09,0x09,0xE6,0xF0,0x18,0x08, 0x08,0x08,0x18,0x30,0x78,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x07,0x0F,0x18,0x30,

0x20,0x20,0x20,0x10,0x08,0x00,0x00,0x00,//℃//26 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// 空格//27 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };

/****************************************/ /* 定义ASCII字库8列*16行 */

/****************************************/ uchar code Ezk[]={

/*此字体下对应的点阵为:宽x高=8x16 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/ 0x00,0x00,0xF0,0xF8,0x08,0x68,0xF8,0xF0,0x00,0x00,0x07,0x0F,0x0B,0x08,0x0F,0x07, //0

0x00,0x20,0x20,0x30,0xF8,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00, //1 0x00,0x30,0x38,0x08,0x88,0xF8,0x70,0x00,0x00,0x0C,0x0E,0x0B,0x09,0x08,0x08,0x00, // 2 0x00,0x30,0x38,0x88,0x88,0xF8,0x70,0x00,0x00,0x06,0x0E,0x08,0x08,0x0F,0x07,0x00, //3 0x00,0x00,0xF8,0xF8,0x00,0xE0,0xE0,0x00,0x00,0x03,0x03,0x02,0x02,0x0F,0x0F,0x02,//4 0x00,0xF8,0xF8,0x88,0x88,0x88,0x08,0x00,0x00,0x08,0x08,0x08,0x0C,0x07,0x03,0x00,//5 0x00,0xC0,0xE0,0x78,0x58,0xC8,0x80,0x00,0x00,0x07,0x0F,0x08,0x08,0x0F,0x07,0x00,//6 0x00,0x08,0x08,0x88,0xE8,0x78,0x18,0x00,0x00,0x00,0x0E,0x0F,0x01,0x00,0x00,0x00,//7 0x00,0x70,0xF8,0xC8,0x88,0xF8,0x70,0x00,0x00,0x07,0x0F,0x08,0x09,0x0F,0x07,0x00,//8 0x00,0xF0,0xF8,0x08,0x08,0xF8,0xF0,0x00,0x00,0x00,0x09,0x0D,0x0F,0x03,0x01,0x00,//9 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // - -//10 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x80,0x80,0xE0,0xE0,0x80,0x80,0x00, // -+-//11 0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, // ---//12 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -.-//13 0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00 };

/*状态检查,LCD是否忙*/ void CheckState() {

uchar dat; /*状态信息,判断是否忙*/

RS=0; /*数据\\指令选择,D/I(RS)=“L” ,表示 DB7∽DB0 为显示指令数据*/

RW=1; /*R/W=“H” ,E=“H”数据被读到DB7∽DB0*/ do{

Databus=0x00;

EN=1; /*EN下降源*/ _nop_(); /*一个时钟延时*/ dat=Databus; EN=0;

dat=0x80 & dat;/*仅当第7位为0时才可操作(判别busy信号)*/ }while(!(dat==0x00)); }

/*写命令到LCD中*/

SendCommandToLCD(uchar com) {

CheckState();/*状态检查,LCD是否忙*/

RS=0; /*向LCD发送命令。RS=0写指令,RS=1写数据*/ RW=0; /*R/W=“L” ,E=“H→L”数据被写到 IR 或 DR */ Databus=com; /*com :命令*/


基于PCF8563的单片机数字时钟.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国古代34位美女 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: