芯片解密DS3231_3264双色点阵万年历三种显示
- 芯片解密#include <STC12C5A60S2.H>
- 芯片解密#include <intrins.h>
- 芯片解密#define ulong unsigned long
- 芯片解密#define uint unsigned int
- 芯片解密#define uchar unsigned char
- 芯片解密#define NOP4 _nop_();_nop_();_nop_();_nop_()
- #define CHAR 0xab
- #define ES_ON AUXR |= 0x10; ES=1
- #define ES_OFF AUXR &= 0xEF; ES=0
- #include "zimo2.h"
- #include "DS3231 + AT24C32.h" // 导入DS3231 + AT24C32驱动程序
- sbit KEYS=P2^0; //调整键,按一次设置状态位加1,轮流切换到设置年,月,日,时,分,秒,星期,正常状态.
- sbit KEYA=P2^1; //加一键,在设置状态时按一次相应设置位加1
- sbit KEYD=P2^2; //减一键,在设置状态时按一次相应设置位减1
- sbit KEYM=P2^3; //显示模式键,在设置三行或二行显示
- uchar MODE=0; //显示模式指示,0为二行显示,1为三行显示
- #include <set.h> //键控设时间头文件
- //原程序中的联接
- sbit G1=P0^4;
- sbit G2=P0^5;
- sbit R1=P2^6;
- sbit R2=P2^7;
- sbit LS=P0^6;
- sbit CK=P0^7;
- sbit OE=P2^5;
- #define ABCD P0 //ABCD接到P2.0-P2.3
- bit SHAN; //闪烁标志位,
- uchar TC=0,TC1=0; //延时计数用
- uchar con=1; //秒计数器,用于1.5秒轮显公农历日期,分时显示公农历
- uchar CKTIME_1=0; //时间快慢调整标志
- sbit GPS_POW=P1^7; //gps电源控制
- uchar data row; //行扫描变量
- uchar data RD1[8]; //数据缓存
- uchar data GD1[8];
- uchar data RD2[8];
- uchar data GD2[8];
- uchar miao1,miao2; //秒数据,1十位,2个位
- uchar fen1,fen2 ; //分数据
- uchar shi1,shi2 ; //小时数据
- uchar ri1,ri2 ; //日数据
- uchar yue1,yue2; //月数据
- uchar nian1,nian2; //年数据
- uchar week; //星期
- uchar Dtemp; //温度
- uchar idata NL_yue; //农历月 1~12
- uchar idata NL_ri; //农历日 1~30
- uchar y1,y2,r1,r2; //农历显示数据
- #include "nongli.h"
- uchar SJ[6],RQ[6];
- bit RX_over; //GPS数据接收结束标志位
- bit DW_OK; //GPS定位成功标志位
- uint ADC_L; //ADC亮度数据
- uint ADC_T; //ADC温度数据
- bit ADCL; //亮度ADC标志
- bit ADCT; //温度ADC标志
- uchar t1,t2; //温度显示数据
- void Delay (uchar t)
- { uchar i,j;
- for (i=0;i<t;i++)
- {
- for(j=0;j<10;j++)
- { _nop_();
- _nop_();
- }
- }
- }
上一篇:芯片解密单片机IR收发程序

芯片解密