微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 自制旋转LED时钟,遇到奇怪问题,

自制旋转LED时钟,遇到奇怪问题,

时间:10-02 整理:3721RD 点击:
资料是论坛的,我用的是12M的晶振,但是实际运行中,遥控器无法使用,即使使用也无法实现遥控功能,仅仅是要显示汉字变时间和日期,,
/*********************************旋转LED字体 时钟程序**************************************************
由于我们水平有限 提供的程序都是初级水平的 望大家多多指教!
需要改进的地方还很多,我们在后续中也会不断升级!

功能简介:
单片机 STC89C52 LQFP封装  22.1184M晶振
字体和数字钟程序!
红外遥控调时间和切换模式!
板上自带DS1302时钟芯片!有掉电保护!
自适应旋转速度 在电机有点转速不均匀的问题得到很好的解决 使得稳定显示
******************************************************************************************************/
//
#include "reg51.h"
#include "intrins.h"
#define uchar unsigned char
#define uint unsigned int    //宏定义
//手动添加定时器2寄存器定义
sfr T2CON  = 0xC8;
sfr TL2 = 0xCC;
sfr TH2 = 0xCD;
sfr RCAP2L = 0xCA;
sfr RCAP2H = 0xCB;
sbit TF2   = T2CON^7;
sbit EXF2  = T2CON^6;
sbit RCLK  = T2CON^5;
sbit TCLK  = T2CON^4;
sbit EXEN2 = T2CON^3;
sbit TR2   = T2CON^2;
sbit C_T2  = T2CON^1;
sbit CP_RL2= T2CON^0;
sbit ET2  =0xAD;
sbit KEY=P3^2;
sbit led1=P1^1;
sbit ACC0=ACC^0;           //1bit数据存储位
sbit ACC7=ACC^7;
sbit T_CLK=P3^5;      //DS1302引脚连接
sbit T_IO =P3^6;
sbit T_RST=P3^7;
uchar irtime;//红外用全局变量
uint TimeCount=0;
uint  DelayN=80,  //延时临时计数
  DelayTime=80; //每次延时的周期个数
bit irokk,flag;
uchar IRcord[2];
uchar   irdata[17];
uint j,k;
uchar miao,Cent,Hour,Month,Day,Week,count,id,mode;
uchar starts_time[7]={0x00,0x10,0x22,0x22,0x09,0x03,0x10};  //初始化后设置
void Set_id(uchar sel,uchar sel_1);
void display(void);
unsigned char code zimo[] = {
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",0*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",1*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",2*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",3*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",4*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",5*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",6*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",7*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",8*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",9*/
0x7F,0xFF,0xBF,0xFF,0x0F,0x80,0xD3,0xFF,0xBC,0xEF,0xDF,0xF3,0x67,0xFC,0xF0,0xDE,0xF5,0xBF,0x17,0xC0,0xF7,0xFF,0x77,0xFF,0xD7,0xFC,0xE3,0xE3,0xF7,0xF7,0xFF,0xFF,/*"你",0*/
0xFF,0xBF,0xFF,0xBF,0xFF,0xDF,0x00,0xDE,0xFE,0xEF,0xFE,0xF3,0xFE,0xFC,0x06,0xFF,0xFE,0xC0,0xFE,0xBF,0xFE,0xBF,0x00,0xBE,0xFF,0xBF,0xFF,0x87,0xFF,0xDF,0xFF,0xFF,/*"见",1*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xA7,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*",",2*/
0xFF,0xFF,0xF7,0xDF,0x37,0xDC,0xB7,0xDD,0xB7,0xAD,0xB7,0xAD,0x37,0xD4,0xF7,0xDF,0xF7,0xEF,0x00,0xF6,0xF7,0xF9,0xF5,0xE5,0x73,0xDE,0x77,0x87,0xFF,0xFF,0xFF,0xFF,/*"或",3*/
0xFF,0xFB,0xDF,0xFB,0xDB,0xFB,0xDB,0xFD,0xDB,0xFD,0xDB,0x00,0x5B,0xB6,0x40,0xB6,0x9B,0xB6,0xDB,0xB6,0xCB,0xB6,0xD7,0xB6,0xD9,0x00,0xDB,0xFF,0xDF,0xFF,0xFF,0xFF,/*"者",4*/
0xFF,0xFF,0xFD,0xF7,0xFD,0xFB,0xFD,0xFD,0xFD,0xFE,0x7D,0xFF,0xBD,0xFF,0x01,0x80,0xF9,0xFF,0xBD,0xFF,0x3D,0xFF,0x7D,0xFE,0xFD,0xF8,0xFC,0xFD,0xFD,0xFF,0xFF,0xFF,/*"不",5*/
0xFF,0xBF,0xFF,0xBF,0xFF,0xDF,0x00,0xDE,0xFE,0xEF,0xFE,0xF3,0xFE,0xFC,0x06,0xFF,0xFE,0xC0,0xFE,0xBF,0xFE,0xBF,0x00,0xBE,0xFF,0xBF,0xFF,0x87,0xFF,0xDF,0xFF,0xFF,/*"见",6*/
0xDF,0xFB,0xDF,0xFB,0xDD,0xBD,0xDD,0x7D,0x01,0x80,0xDE,0xFE,0xDE,0xFE,0xDF,0xEF,0xDF,0xEF,0x00,0xF7,0xDF,0xF8,0xDD,0xE5,0x53,0xDE,0xDF,0xBF,0xDF,0x0F,0xFF,0xFF,/*"我",7*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xA7,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*",",8*/
0xDF,0xFB,0xDF,0xFB,0xDD,0xBD,0xDD,0x7D,0x01,0x80,0xDE,0xFE,0xDE,0xFE,0xDF,0xEF,0xDF,0xEF,0x00,0xF7,0xDF,0xF8,0xDD,0xE5,0x53,0xDE,0xDF,0xBF,0xDF,0x0F,0xFF,0xFF,/*"我",9*/
0xFB,0xDF,0x1B,0xEE,0xDB,0xB2,0xDA,0x7E,0xD9,0x80,0xDB,0xFA,0x1B,0xA6,0xDB,0xDF,0xDF,0xE7,0x1F,0xF8,0xC0,0xFF,0x1F,0xC0,0xDD,0xBF,0xD3,0xBF,0xDF,0x8F,0xFF,0xFF,/*"就",10*/
0xFF,0xFB,0xFB,0xFD,0xFB,0xFE,0x3B,0x80,0x9B,0xFF,0x63,0xDF,0x78,0xDF,0x7B,0xDF,0x7B,0xDF,0x1B,0xC0,0x7B,0xDF,0x7B,0xDF,0x7B,0xDF,0x7B,0xDF,0xFB,0xDF,0xFF,0xFF,/*"在",11*/
0xFF,0xDF,0x6D,0xEF,0x6D,0xF3,0x01,0xFC,0x6D,0xDF,0x6D,0xBF,0x01,0xC0,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0xFD,0xFF,0xDD,0xFB,0xA5,0xF7,0x79,0xF7,0xFD,0xF8,0xFF,0xFF,/*"那",12*/
0xFF,0xBF,0xFF,0xBF,0x00,0xBB,0x6E,0xBB,0x6E,0xBB,0x6E,0xBB,0x6E,0xBB,0x00,0x80,0x6E,0xBB,0x6E,0xBB,0x6E,0xBB,0x6E,0xBB,0x00,0xBB,0xFF,0xBF,0xFF,0xBF,0xFF,0xFF,/*"里",13*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xA7,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*",",14*/
0xFF,0xFF,0xFD,0xF7,0xFD,0xFB,0xFD,0xFD,0xFD,0xFE,0x7D,0xFF,0xBD,0xFF,0x01,0x80,0xF9,0xFF,0xBD,0xFF,0x3D,0xFF,0x7D,0xFE,0xFD,0xF8,0xFC,0xFD,0xFD,0xFF,0xFF,0xFF,/*"不",15*/
0xFF,0xFF,0xBB,0xDF,0xAB,0xC7,0xAB,0xFF,0xAB,0xC3,0x00,0xBE,0xFF,0xBF,0xFF,0xBD,0xFF,0xB3,0x00,0xBE,0xAB,0xBF,0xAB,0x8F,0xAB,0xFF,0xBB,0xF7,0xBF,0xCF,0xFF,0xFF,/*"悲",16*/
0xFF,0xFF,0xFD,0xF7,0xFD,0xFB,0xFD,0xFD,0xFD,0xFE,0x7D,0xFF,0xBD,0xFF,0x01,0x80,0xF9,0xFF,0xBD,0xFF,0x3D,0xFF,0x7D,0xFE,0xFD,0xF8,0xFC,0xFD,0xFD,0xFF,0xFF,0xFF,/*"不",17*/
0xFF,0xFD,0xFD,0xFD,0xF5,0xFD,0x15,0x85,0x55,0xB5,0x55,0xB4,0x55,0xB5,0x50,0xB5,0x55,0xB5,0x55,0xB4,0x55,0xB5,0x15,0x85,0xF5,0xFD,0xFD,0xFD,0xFF,0xFD,0xFF,0xFF,/*"喜",18*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xA4,0xFF,0xC4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*";",19*/
0x7F,0xFF,0xBF,0xFF,0x0F,0x80,0xD3,0xFF,0xBC,0xEF,0xDF,0xF3,0x67,0xFC,0xF0,0xDE,0xF5,0xBF,0x17,0xC0,0xF7,0xFF,0x77,0xFF,0xD7,0xFC,0xE3,0xE3,0xF7,0xF7,0xFF,0xFF,/*"你",20*/
0xFF,0xFF,0xBF,0xBF,0xBF,0xC7,0xDF,0xFF,0xAF,0x87,0xB7,0xBF,0xBB,0xBD,0xAC,0xBB,0x9B,0xA5,0xB7,0xBE,0x2F,0xBF,0xEF,0x8F,0xDF,0xF7,0x9F,0xEF,0xDF,0xCF,0xFF,0xFF,/*"念",21*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xA7,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*",",22*/
0xFF,0xFF,0xF7,0xDF,0x37,0xDC,0xB7,0xDD,0xB7,0xAD,0xB7,0xAD,0x37,0xD4,0xF7,0xDF,0xF7,0xEF,0x00,0xF6,0xF7,0xF9,0xF5,0xE5,0x73,0xDE,0x77,0x87,0xFF,0xFF,0xFF,0xFF,/*"或",23*/
0xFF,0xFB,0xDF,0xFB,0xDB,0xFB,0xDB,0xFD,0xDB,0xFD,0xDB,0x00,0x5B,0xB6,0x40,0xB6,0x9B,0xB6,0xDB,0xB6,0xCB,0xB6,0xD7,0xB6,0xD9,0x00,0xDB,0xFF,0xDF,0xFF,0xFF,0xFF,/*"者",24*/
0xFF,0xFF,0xFD,0xF7,0xFD,0xFB,0xFD,0xFD,0xFD,0xFE,0x7D,0xFF,0xBD,0xFF,0x01,0x80,0xF9,0xFF,0xBD,0xFF,0x3D,0xFF,0x7D,0xFE,0xFD,0xF8,0xFC,0xFD,0xFD,0xFF,0xFF,0xFF,/*"不",25*/
0xFF,0xFF,0xBF,0xBF,0xBF,0xC7,0xDF,0xFF,0xAF,0x87,0xB7,0xBF,0xBB,0xBD,0xAC,0xBB,0x9B,0xA5,0xB7,0xBE,0x2F,0xBF,0xEF,0x8F,0xDF,0xF7,0x9F,0xEF,0xDF,0xCF,0xFF,0xFF,/*"念",26*/
0xDF,0xFB,0xDF,0xFB,0xDD,0xBD,0xDD,0x7D,0x01,0x80,0xDE,0xFE,0xDE,0xFE,0xDF,0xEF,0xDF,0xEF,0x00,0xF7,0xDF,0xF8,0xDD,0xE5,0x53,0xDE,0xDF,0xBF,0xDF,0x0F,0xFF,0xFF,/*"我",27*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xA7,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*",",28*/
0x8F,0xFF,0xFF,0xFF,0x00,0x00,0xF7,0xFF,0xAF,0xFF,0xBB,0xFF,0xAB,0x00,0xAB,0xEA,0xAB,0xEA,0x80,0xEA,0xAB,0xAA,0xAB,0x6A,0xAB,0x80,0xBB,0xFF,0xBF,0xFF,0xFF,0xFF,/*"情",29*/
0xFB,0xDF,0x1B,0xEE,0xDB,0xB2,0xDA,0x7E,0xD9,0x80,0xDB,0xFA,0x1B,0xA6,0xDB,0xDF,0xDF,0xE7,0x1F,0xF8,0xC0,0xFF,0x1F,0xC0,0xDD,0xBF,0xD3,0xBF,0xDF,0x8F,0xFF,0xFF,/*"就",30*/
0xFF,0xFB,0xFB,0xFD,0xFB,0xFE,0x3B,0x80,0x9B,0xFF,0x63,0xDF,0x78,0xDF,0x7B,0xDF,0x7B,0xDF,0x1B,0xC0,0x7B,0xDF,0x7B,0xDF,0x7B,0xDF,0x7B,0xDF,0xFB,0xDF,0xFF,0xFF,/*"在",31*/
0xFF,0xDF,0x6D,0xEF,0x6D,0xF3,0x01,0xFC,0x6D,0xDF,0x6D,0xBF,0x01,0xC0,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0xFD,0xFF,0xDD,0xFB,0xA5,0xF7,0x79,0xF7,0xFD,0xF8,0xFF,0xFF,/*"那",32*/
0xFF,0xBF,0xFF,0xBF,0x00,0xBB,0x6E,0xBB,0x6E,0xBB,0x6E,0xBB,0x6E,0xBB,0x00,0x80,0x6E,0xBB,0x6E,0xBB,0x6E,0xBB,0x6E,0xBB,0x00,0xBB,0xFF,0xBF,0xFF,0xBF,0xFF,0xFF,/*"里",33*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xA7,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*",",34*/
0xFF,0xFF,0xFD,0xF7,0xFD,0xFB,0xFD,0xFD,0xFD,0xFE,0x7D,0xFF,0xBD,0xFF,0x01,0x80,0xF9,0xFF,0xBD,0xFF,0x3D,0xFF,0x7D,0xFE,0xFD,0xF8,0xFC,0xFD,0xFD,0xFF,0xFF,0xFF,/*"不",35*/
0xFF,0xDF,0x7F,0xDF,0x7B,0xEF,0x7B,0xEF,0x6B,0xF7,0x5B,0xFB,0x3B,0xFD,0x00,0x00,0x7B,0xFE,0x3B,0xFD,0x4B,0xFB,0x6B,0xF7,0x7B,0xE7,0x7B,0xCF,0x7F,0xEF,0xFF,0xFF,/*"来",36*/
0xFF,0xFF,0xFD,0xF7,0xFD,0xFB,0xFD,0xFD,0xFD,0xFE,0x7D,0xFF,0xBD,0xFF,0x01,0x80,0xF9,0xFF,0xBD,0xFF,0x3D,0xFF,0x7D,0xFE,0xFD,0xF8,0xFC,0xFD,0xFD,0xFF,0xFF,0xFF,/*"不",37*/
0xFF,0xFF,0xFF,0xFE,0xF7,0xDE,0xF7,0x8E,0xF7,0xD6,0xF7,0xDA,0xF7,0xD8,0x00,0xDE,0xF7,0xDE,0xF7,0xDE,0xF7,0xD6,0xF7,0x8E,0xF7,0xDE,0xF7,0xFE,0xFF,0xFE,0xFF,0xFF,/*"去",38*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xA4,0xFF,0xC4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*";",39*/
0x7F,0xFF,0xBF,0xFF,0x0F,0x80,0xD3,0xFF,0xBC,0xEF,0xDF,0xF3,0x67,0xFC,0xF0,0xDE,0xF5,0xBF,0x17,0xC0,0xF7,0xFF,0x77,0xFF,0xD7,0xFC,0xE3,0xE3,0xF7,0xF7,0xFF,0xFF,/*"你",0*/
0xFF,0xBF,0xBF,0xDF,0x4D,0x5F,0x69,0x6F,0x65,0xB3,0x6D,0xB8,0x09,0xD5,0x65,0xD5,0x6C,0xED,0x6E,0xE5,0x66,0xD9,0x68,0xDD,0x6E,0xBF,0x6F,0x3F,0xCF,0xBF,0xFF,0xFF,/*"爱",1*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xA7,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*",",2*/
0xFF,0xFF,0xF7,0xDF,0x37,0xDC,0xB7,0xDD,0xB7,0xAD,0xB7,0xAD,0x37,0xD4,0xF7,0xDF,0xF7,0xEF,0x00,0xF6,0xF7,0xF9,0xF5,0xE5,0x73,0xDE,0x77,0x87,0xFF,0xFF,0xFF,0xFF,/*"或",3*/
0xFF,0xFB,0xDF,0xFB,0xDB,0xFB,0xDB,0xFD,0xDB,0xFD,0xDB,0x00,0x5B,0xB6,0x40,0xB6,0x9B,0xB6,0xDB,0xB6,0xCB,0xB6,0xD7,0xB6,0xD9,0x00,0xDB,0xFF,0xDF,0xFF,0xFF,0xFF,/*"者",4*/
0xFF,0xFF,0xFD,0xF7,0xFD,0xFB,0xFD,0xFD,0xFD,0xFE,0x7D,0xFF,0xBD,0xFF,0x01,0x80,0xF9,0xFF,0xBD,0xFF,0x3D,0xFF,0x7D,0xFE,0xFD,0xF8,0xFC,0xFD,0xFD,0xFF,0xFF,0xFF,/*"不",5*/
0xFF,0xBF,0xBF,0xDF,0x4D,0x5F,0x69,0x6F,0x65,0xB3,0x6D,0xB8,0x09,0xD5,0x65,0xD5,0x6C,0xED,0x6E,0xE5,0x66,0xD9,0x68,0xDD,0x6E,0xBF,0x6F,0x3F,0xCF,0xBF,0xFF,0xFF,/*"爱",6*/
0xDF,0xFB,0xDF,0xFB,0xDD,0xBD,0xDD,0x7D,0x01,0x80,0xDE,0xFE,0xDE,0xFE,0xDF,0xEF,0xDF,0xEF,0x00,0xF7,0xDF,0xF8,0xDD,0xE5,0x53,0xDE,0xDF,0xBF,0xDF,0x0F,0xFF,0xFF,/*"我",7*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xA7,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*",",8*/
0xFF,0xBF,0xBF,0xDF,0x4D,0x5F,0x69,0x6F,0x65,0xB3,0x6D,0xB8,0x09,0xD5,0x65,0xD5,0x6C,0xED,0x6E,0xE5,0x66,0xD9,0x68,0xDD,0x6E,0xBF,0x6F,0x3F,0xCF,0xBF,0xFF,0xFF,/*"爱",9*/
0xFB,0xDF,0x1B,0xEE,0xDB,0xB2,0xDA,0x7E,0xD9,0x80,0xDB,0xFA,0x1B,0xA6,0xDB,0xDF,0xDF,0xE7,0x1F,0xF8,0xC0,0xFF,0x1F,0xC0,0xDD,0xBF,0xD3,0xBF,0xDF,0x8F,0xFF,0xFF,/*"就",10*/
0xFF,0xFB,0xFB,0xFD,0xFB,0xFE,0x3B,0x80,0x9B,0xFF,0x63,0xDF,0x78,0xDF,0x7B,0xDF,0x7B,0xDF,0x1B,0xC0,0x7B,0xDF,0x7B,0xDF,0x7B,0xDF,0x7B,0xDF,0xFB,0xDF,0xFF,0xFF,/*"在",11*/
0xFF,0xDF,0x6D,0xEF,0x6D,0xF3,0x01,0xFC,0x6D,0xDF,0x6D,0xBF,0x01,0xC0,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0xFD,0xFF,0xDD,0xFB,0xA5,0xF7,0x79,0xF7,0xFD,0xF8,0xFF,0xFF,/*"那",12*/
0xFF,0xBF,0xFF,0xBF,0x00,0xBB,0x6E,0xBB,0x6E,0xBB,0x6E,0xBB,0x6E,0xBB,0x00,0x80,0x6E,0xBB,0x6E,0xBB,0x6E,0xBB,0x6E,0xBB,0x00,0xBB,0xFF,0xBF,0xFF,0xBF,0xFF,0xFF,/*"里",13*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xA7,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*",",14*/
0xFF,0xFF,0xFD,0xF7,0xFD,0xFB,0xFD,0xFD,0xFD,0xFE,0x7D,0xFF,0xBD,0xFF,0x01,0x80,0xF9,0xFF,0xBD,0xFF,0x3D,0xFF,0x7D,0xFE,0xFD,0xF8,0xFC,0xFD,0xFD,0xFF,0xFF,0xFF,/*"不",15*/
0xEF,0xF7,0xEF,0xE7,0x00,0xF0,0xEF,0xFB,0xEF,0xFB,0xFF,0xFF,0x06,0xFF,0x75,0x01,0x51,0xB5,0x37,0xB5,0x07,0xB5,0x33,0xB5,0x54,0xB5,0x75,0x01,0x07,0xFF,0xFF,0xFF,/*"增",16*/
0xFF,0xFF,0xFD,0xF7,0xFD,0xFB,0xFD,0xFD,0xFD,0xFE,0x7D,0xFF,0xBD,0xFF,0x01,0x80,0xF9,0xFF,0xBD,0xFF,0x3D,0xFF,0x7D,0xFE,0xFD,0xF8,0xFC,0xFD,0xFD,0xFF,0xFF,0xFF,/*"不",17*/
0xFF,0xFD,0xFD,0xA0,0x13,0xDF,0xFF,0xE7,0x07,0xF8,0xD7,0xFF,0xD7,0xE0,0xD7,0xB6,0xD7,0xA0,0xD7,0xDF,0x00,0xEC,0xF7,0xF3,0x75,0xEC,0x13,0xDF,0xB7,0x87,0xFF,0xFF,/*"减",18*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xA4,0xFF,0xC4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*";",19*/
0xFF,0x8B,0x41,0xFB,0x55,0xEB,0x4D,0x9B,0x01,0xEC,0x4D,0x9D,0x55,0xAD,0x41,0xDD,0xDF,0xEF,0xDF,0xF3,0x00,0xFC,0xDF,0xF3,0xDB,0xCF,0xC7,0x9F,0xDF,0xDF,0xFF,0xFF,/*"默",0*/
0x7F,0xFF,0xBF,0x37,0x8F,0x8B,0x63,0xFD,0xD8,0xEE,0x3B,0x9B,0xCB,0x3B,0xE3,0xFD,0x6F,0xEE,0x80,0x9F,0x2F,0x3F,0xED,0xFE,0xE3,0xED,0xEF,0x99,0xEF,0x3D,0xFF,0xFF,/*"然",1*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",2*/
0xEF,0xFB,0xEF,0xFC,0x2F,0xFF,0x00,0x00,0xCF,0xFF,0xAF,0xFF,0x6F,0xFE,0xFF,0xFF,0x01,0x00,0xDD,0xBD,0xDD,0xBD,0xDD,0xBD,0xDD,0xBD,0x01,0x00,0xFF,0xFF,0xFF,0xFF,/*"相",3*/
0xFF,0xBF,0xBF,0xDF,0x4D,0x5F,0x69,0x6F,0x65,0xB3,0x6D,0xB8,0x09,0xD5,0x65,0xD5,0x6C,0xED,0x6E,0xE5,0x66,0xD9,0x68,0xDD,0x6E,0xBF,0x6F,0x3F,0xCF,0xBF,0xFF,0xFF,/*"爱",4*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",5*/
0xFF,0xDF,0xE7,0xEE,0xFB,0xB2,0xFB,0x7E,0x03,0x80,0xDB,0xFA,0xDB,0x46,0xDA,0xAE,0x39,0xDF,0xDB,0xEC,0xDB,0xF3,0xDB,0xED,0x1B,0xDE,0xF3,0x3F,0xFB,0xBF,0xFF,0xFF,/*"寂",6*/
0xDD,0xFF,0x55,0x00,0x55,0xF5,0x40,0xB5,0x55,0x75,0x55,0x80,0xDD,0xFF,0x7F,0xFF,0x57,0xBD,0x58,0x7D,0x0B,0x80,0x53,0xFD,0x5B,0xFD,0x1F,0xFC,0x7F,0xFF,0xFF,0xFF,/*"静",7*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",8*/
0xEB,0xDF,0xDB,0xEF,0xBB,0xB3,0x7B,0xBC,0x9B,0xBC,0xE3,0xD3,0xDF,0xDF,0xE7,0xEF,0xF0,0xF3,0x17,0xFC,0xF7,0xF9,0xF7,0xE7,0xD7,0xCF,0xE7,0x9F,0xF7,0xDF,0xFF,0xFF,/*"欢",9*/
0xFF,0xFD,0xFD,0xFD,0xF5,0xFD,0x15,0x85,0x55,0xB5,0x55,0xB4,0x55,0xB5,0x50,0xB5,0x55,0xB5,0x55,0xB4,0x55,0xB5,0x15,0x85,0xF5,0xFD,0xFD,0xFD,0xFF,0xFD,0xFF,0xFF,/*"喜",10*/

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",0*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",1*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",2*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",3*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",4*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",5*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",4*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",5*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",5*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",4*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",5*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",5*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",5*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",4*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",5*/
};
const uchar code tab[11][16]={
0xFF,0xFF,0x03,0xFE,0xFD,0xFD,0xFE,0xFB,0xFE,0xFB,0xFD,0xFD,0x03,0xFE,0xFF,0xFF,/*"0",0*/
0xFF,0xFF,0xFD,0xFB,0xFD,0xFB,0x00,0xF8,0xFF,0xFB,0xFF,0xFB,0xFF,0xFF,0xFF,0xFF,/*"1",1*/
0xFF,0xFF,0xF1,0xF9,0xFE,0xFA,0x7E,0xFB,0xBE,0xFB,0xCE,0xFB,0xF1,0xF9,0xFF,0xFF,/*"2",2*/
0xFF,0xFF,0xF9,0xFC,0xFE,0xFB,0xEE,0xFB,0xEE,0xFB,0xD6,0xFD,0x39,0xFE,0xFF,0xFF,/*"3",3*/
0xFF,0xFF,0x1F,0xFF,0x67,0xFF,0x7B,0xFB,0x7D,0xFB,0x00,0xF8,0x7F,0xFB,0xFF,0xFF,/*"4",4*/
0xFF,0xFF,0xC0,0xFC,0xDE,0xFB,0xEE,0xFB,0xEE,0xFB,0xDE,0xFD,0x3E,0xFE,0xFF,0xFF,/*"5",5*/
0xFF,0xFF,0x03,0xFE,0xDD,0xFD,0xEE,0xFB,0xEE,0xFB,0xDC,0xFD,0x3F,0xFE,0xFF,0xFF,/*"6",6*/
0xFF,0xFF,0xF8,0xFF,0xFE,0xFF,0x1E,0xF8,0xE6,0xFF,0xF8,0xFF,0xFE,0xFF,0xFF,0xFF,/*"7",7*/
0xFF,0xFF,0x71,0xFC,0xAE,0xFB,0xDE,0xFB,0xDE,0xFB,0xAE,0xFB,0x71,0xFC,0xFF,0xFF,/*"8",8*/
0xFF,0xFF,0xE3,0xFF,0xDD,0xF9,0xBE,0xFB,0xBE,0xFB,0xDD,0xFD,0x03,0xFE,0xFF,0xFF,/*"9",9*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x99,0xFF,0x99,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"两个点"*/
};
const uchar code tab1[11][16]={
0xFF,0xFF,0xFE,0x03,0xFD,0xFD,0xFB,0xFE,0xFB,0xFE,0xFD,0xFD,0xFE,0x03,0xFF,0xFF,/*"0",0*/
0xFF,0xFF,0xFD,0xFE,0xFD,0xFE,0xF8,0x00,0xFF,0xFE,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,/*"1",1*/
0xFF,0xFF,0xFC,0x7C,0xFB,0xFA,0xFB,0xF6,0xFB,0xEE,0xFB,0x9E,0xFC,0x7C,0xFF,0xFF,/*"2",2*/
0xFF,0xFF,0xFC,0xF9,0xFB,0xFE,0xFB,0xBE,0xFB,0xBE,0xFB,0x5D,0xFC,0xE3,0xFF,0xFF,/*"3",3*/
0xFF,0xFF,0xFF,0xC7,0xFF,0x37,0xFE,0xF6,0xFD,0xF6,0xF8,0x00,0xFF,0xF6,0xFF,0xFF,/*"4",4*/
0xFF,0xFF,0xF8,0x19,0xFB,0xDE,0xFB,0xBE,0xFB,0xBE,0xFB,0xDD,0xFB,0xE3,0xFF,0xFF,/*"5",5*/
0xFF,0xFF,0xFE,0x03,0xFD,0xDD,0xFB,0xBE,0xFB,0xBE,0xF9,0xDD,0xFF,0xE3,0xFF,0xFF,/*"6",6*/
0xFF,0xFF,0xF8,0xFF,0xFB,0xFF,0xFB,0xC0,0xFB,0x3F,0xF8,0xFF,0xFB,0xFF,0xFF,0xFF,/*"7",7*/
0xFF,0xFF,0xFC,0x71,0xFB,0xAE,0xFB,0xDE,0xFB,0xDE,0xFB,0xAE,0xFC,0x71,0xFF,0xFF,/*"8",8*/
0xFF,0xFF,0xFE,0x3F,0xFD,0xDC,0xFB,0xEE,0xFB,0xEE,0xFD,0xDD,0xFE,0x03,0xFF,0xFF,/*"9",9*/
0xFF,0xFF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xFF,/*"-",10*/
};
/******************************************************************************************/
/*********延时子程序**********/
void DelayUs(uchar n)
{
for(;n>0;n--){
  DelayN=DelayTime;
  while (DelayN);
}
}
/**************************************************/
void tim1_isr (void) interrupt 3 using 3//定时器1中断服务函数
{
  irtime++;
}
//外部中断解码程序
void ex1_isr (void) interrupt 2 using 2//外部中断1服务函数
{
  static unsigned char  i,w,z;
  static bit startflag;
if(startflag)
{
  
    if(irtime<126&&irtime>=69)//引导码 TC9012的头码   63     33
           { i=0;
     
     w=1;
     z=0;
     
   irdata[i]=irtime;
   irtime=0;
   }
       z++;
   if(z>=18)
    {
      irdata[w]=irtime;
      irtime=0;
      w++;
       if(w==17)
         {
       irokk=1;
     w=0;
      }   
       }
  else
    irtime=0;         
  
    }

   
    else
  {irtime=0;startflag=1;}
}
/************************************************/
void Ircordpro(void)//红外码值处理函数
{
  unsigned char i, j, k;
  unsigned char cord,value;
  k=1;
  for(i=0;i<2;i++)//处理2个字节
     {
      for(j=1;j<=8;j++) //处理1个字节8位
         {
          cord=irdata[k];
          if(cord>10)//大于某值为1  7
      {
         
             value=value|0x80;
   }
          else
      {
             value=value;
   }
          if(j<8)
      {
    value=value>>1;
   }
           k++;
         }
     IRcord[i]=value;
     value=0;   
     }
   
}
/****************************************************************/
//定时器0
void t2(void) interrupt 5      //定时器2中断子程序
{   
   TF2=0;
   count++;
   if(count>10)
     {
      count=0;
      flag=~flag;
  }
  }
/**************************************************************/
void timer0() interrupt 1  using 1  //定时器0中断子程序
{
TimeCount++;
if (DelayN!=0)
DelayN--;
}
/*******************DS1302读写程序**********************************
/********************************************************************
函 数 名:RTInputByte()
功    能:实时时钟写入一字节
说    明:往DS1302写入1Byte数据 (内部函数)
入口参数:d 写入的数据
返 回 值:无  
***********************************************************************/
void RTInputByte(uchar d)
{
    uchar h;
    ACC = d;
    for(h=8; h>0; h--)
    {
        T_IO = ACC0;           /*相当于汇编中的 RRC */
        T_CLK = 1;
        T_CLK = 0;
        ACC = ACC >> 1;
    }
}
/********************************************************************
函 数 名:RTOutputByte()
功    能:实时时钟读取一字节
说    明:从DS1302读取1Byte数据 (内部函数)
入口参数:无  
返 回 值:ACC
设    计:zhaojunjie           日    期:2002-03-19
修    改:                     日    期:
***********************************************************************/
uchar RTOutputByte(void)
{
    uchar h;
    for(h=8; h>0; h--)
    {
        ACC = ACC >>1;         /*相当于汇编中的 RRC */
        ACC7 = T_IO;
        T_CLK = 1;
        T_CLK = 0;
    }
    return(ACC);
}
/********************************************************************
函 数 名:W1302()
功    能:往DS1302写入数据
说    明:先写地址,后写命令/数据 (内部函数)
调    用:RTInputByte() , RTOutputByte()
入口参数:ucAddr: DS1302地址, ucData: 要写的数据
返 回 值:无
***********************************************************************/
void W1302(uchar ucAddr, uchar ucDa)
{
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    RTInputByte(ucAddr);       /* 地址,命令 */
    RTInputByte(ucDa);       /* 写1Byte数据*/
    T_CLK = 1;
    T_RST = 0;
}
/********************************************************************
函 数 名:R1302()
功    能:读取DS1302某地址的数据
说    明:先写地址,后读命令/数据 (内部函数)
调    用:RTInputByte() , RTOutputByte()
入口参数:ucAddr: DS1302地址
返 回 值:ucData :读取的数据
***********************************************************************/
uchar R1302(uchar ucAddr)
{
    uchar ucData;
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    RTInputByte(ucAddr);             /* 地址,命令 */
    ucData = RTOutputByte();         /* 读1Byte数据 */
    T_CLK = 1;
    T_RST = 0;
    return(ucData);
}
/********************************************************************
函 数 名:Set1302()
功    能:设置初始时间
说    明:先写地址,后读命令/数据(寄存器多字节方式)
调    用:W1302()
入口参数:pClock: 设置时钟数据地址 格式为: 秒 分 时 日 月 星期 年
                               7Byte (BCD码)1B 1B 1B 1B 1B  1B  1B
返 回 值:无
***********************************************************************/
void Set1302(uchar *pClock)
{
    uchar h;
    uchar ucAddr = 0x80;
    W1302(0x8e,0x00);           /* 控制命令,WP=0,写操作?*/
    for(h =7; h>0; h--)
    {
        W1302(ucAddr,*pClock);  /* 秒 分 时 日 月 星期 年 */
        pClock++;
        ucAddr +=2;
    }
W1302(0xc0,0x01);
W1302(0XC2,0X03);   //初始自动转换显示时间为3秒。
    W1302(0x8e,0x80);           /* 控制命令,WP=1,写保护?*/
}
/******************读取DS1302中的时间****************/
void du1302()
{
      miao=R1302(0x81);  //对取 秒 分 时 日 月 星期 年
   Cent=R1302(0x83);   
   Hour=R1302(0x85);
   Day=R1302(0x87);
   Month=R1302(0x89);
   Week=R1302(0x8b);
  
}
/*****************************************************/
//根据选择调整相应项目
void Set_id(uchar sel,uchar sel_1)
{
  signed char time;
  uchar max,min,address;
if(sel==1)  {address=0x84; max=23;min=0;}    //小时
if(sel==2)  {address=0x82; max=59;min=0;}    //分钟
if(sel==3)  {address=0x88; max=12;min=1;}    //月
if(sel==4)  {address=0x86; max=31;min=1;}    //日
if(sel==5)  {address=0x8a; max=7;min=1;}    //星期
  time=R1302(address+1)/16*10+R1302(address+1)%16;
  if (sel_1==0) time++;  else time--;
  if(time>max) time=min;   
  if(time<min) time=max;
           
  W1302(0x8e,0x00);
  W1302(address,time/10*16+time%10);
  W1302(0x8e,0x80);  
}
/*********************************************************/
//加减键与显示
void id_case1_key(void)     
{
    if (IRcord[0]==0x0A)
       {
      
    IRcord[0]=0x00;   
        Set_id(id,0);   
       }
    if (IRcord[0]==0x09)
       {
            
    IRcord[0]=0x00;   
       Set_id(id,1);   
       }
   
}
/*****************************************************/
//按键扫描 显示时间及闪烁位选择
void Scan_Key(void)   
{
if(IRcord[0]==0x0E)     
  {
   
   IRcord[0]=0x00;   
   id++;
   if(id>5)
    id=0;   
  }
  id_case1_key();
}
/***********************************************************/
  void display(void)
  {
    uchar i;
/******************显示时分秒数据**************************/      
  if((flag==1)&&(id==1))    //实现调时 的闪烁位 (以下同)
  {
   for(i=0;i<8;i++)    //这里用16个LED实现时间显示(以下同)
{  
  P2=0xFF; //时的十位不显示(亮灭的结合就实现了闪烁)
  P0=0XFF;  
  DelayUs(1);   
  }  
   P0=0XFF;
  P2=0XFF;
  for(i=0;i<8;i++)
{
   P0=0XFF;
   P2=0XFF;  //时的个位不显示   
  DelayUs(1);   
  }
  P0=0XFF;
  P2=0XFF;
  }
else
   {
  for(i=0;i<8;i++)    //这里用8个LED实现时间显示
{  
  P0=tab[Hour/16][i*2]; //时的十位
  P2=tab[Hour/16][i*2+1];     
  DelayUs(1);   
  }  
  P0=0XFF;
  P2=0XFF;
  for(i=0;i<8;i++)
{
  P0=tab[Hour%16][i*2];  //时的个位
  P2=tab[Hour%16][i*2+1];   
  DelayUs(1);   
  }
  P0=0XFF;
  P2=0XFF;
  }
  for(i=0;i<8;i++)
{
  P0=tab[10][i*2];   //显示两点
  P2=tab[10][i*2+1];  
  DelayUs(1);  
  }
   P0=0XFF;
   P2=0XFF;
/******************************************************/
  if((flag==1)&&(id==2))      
  {
  for(i=0;i<8;i++)
{
   P0=0XFF;
   P2=0XFF;   //分的十位不显示
  DelayUs(1);
  }
   P0=0XFF;
   P2=0XFF;
  for(i=0;i<8;i++)
{
  P0=0XFF;
  P2=0XFF;  //分的个位不显示           
  DelayUs(1);  
  }
  P0=0XFF;
  P2=0XFF;
  }
else
   {
  for(i=0;i<8;i++)
{
  P0=tab[Cent/16][i*2];   //分的十位
  P2=tab[Cent/16][i*2+1];
  DelayUs(1);   
  }
  P2=0XFF;
  P0=0XFF;
  for(i=0;i<8;i++)
{
  P0=tab[Cent%16][i*2];  //分的个位
  P2=tab[Cent%16][i*2+1];         
  DelayUs(1);  
  }
  P0=0XFF;
  P2=0XFF;
  }
  for(i=0;i<8;i++)    //显示两点
{
  P0=tab[10][i*2];
  P2=tab[10][i*2+1];
  DelayUs(1);  
  }
  P0=0XFF;
  P2=0XFF;
/***********************************************/
for(i=0;i<8;i++)
{
  P0=tab[miao/16][i*2];   //秒的十位
  P2=tab[miao/16][i*2+1];
  DelayUs(1);   
  }
  P0=0XFF;
  P2=0XFF;
for(i=0;i<8;i++)
{
  P0=tab[miao%16][i*2];    //秒的个位
  P2=tab[miao%16][i*2+1];  
  DelayUs(1);   
}
  P0=0XFF;
  P2=0XFF;
  
/*********************显示月日数据***************************/
   DelayUs(25);  //这里延时的作用是 把日期与时间拉开距离
/******************显示星期数据******************************/
if((flag==1)&&(id==5))
{
  for(i=8;i>0;i--)
{
  P0=0xFF;    //星期值不显示
  P2=0xFF;
  DelayUs(1);  
}
P0=0xFF;    //星期值不显示
P2=0xFF;
}
else
{
  for(i=8;i>0;i--)
{
  P2=tab1[Week][i*2];    //星期值
  P0=tab1[Week][i*2+1];  
  DelayUs(1);  
}
}
P0=0xFF;
P2=0XFF;
/****************************************************/
  for(i=7;i>0;i--)  
{
  P2=tab1[10][i*2];       //-字符
  P0=tab1[10][i*2+1];
  DelayUs(1);  
}
      P0=0XFF;
   P2=0XFF;
/****************************************************/
if((flag==1)&&(id==4))
{
for(i=8;i>0;i--)
{
  P0=0XFF;
  P2=0XFF;  //日期个位不显示  
  DelayUs(1);  
}
  P0=0XFF;
  P2=0XFF;
for(i=8;i>0;i--)
{
  P0=0XFF;  //日期十位不显示
  P2=0XFF;
  DelayUs(1);   
}
P0=0XFF;
P2=0XFF;
}
else
{
for(i=8;i>0;i--)
{
  P2=tab1[Day%16][i*2];     //日期个位
  P0=tab1[Day%16][i*2+1];
  DelayUs(1);  
}
   P0=0XFF;
   P2=0XFF;
for(i=8;i>0;i--)
{
  P2=tab1[Day/16][i*2];    //日期十位
  P0=tab1[Day/16][i*2+1];  
  DelayUs(1);  
}
      

}
P0=0XFF;
P2=0XFF;
/******************************************/
for(i=7;i>0;i--)
{
  P2=tab1[10][i*2];     //-字符
  P0=tab1[10][i*2+1];   
  DelayUs(1);   
}
P0=0XFF;
P2=0XFF;
if((flag==1)&&(id==3))      
  {
  for(i=8;i>0;i--)
{
  P0=0XFF;
  P2=0XFF;     //月的个位不显示  
  DelayUs(1);  
}
  P0=0XFF;
  P2=0XFF;
for(i=8;i>0;i--)
{
  P0=0XFF;
  P2=0XFF;    //月的十位不显示
  DelayUs(1);   
}
  P0=0XFF;
  P2=0XFF;
  }
else
{
    for(i=8;i>0;i--)
{
  P2=tab1[Month%16][i*2];    //月的个位
  P0=tab1[Month%16][i*2+1];
  DelayUs(1);   
}
P0=0XFF;
P2=0XFF;
}
for(i=8;i>0;i--)
{
  P2=tab1[Month/16][i*2];     //月的十位
  P0=tab1[Month/16][i*2+1];
  DelayUs(1);   
}
  P0=0XFF;
  P2=0XFF;

  }
/***********************************************************/
/*****主函数*****/
void main(void)
{
   TMOD=0x22;//定时器0工作方式2  定时器1工作方式2,TH0是重装值,TL0是初值
   TH0=0x80; //设定定时器0初值
   TL0=0x80;
   TR0=1;
   ET0=1;
   TH1=0x00;//reload value
   TL1=0x00;//initial value
   ET1=1;//开中断
   TR1=1;
   RCAP2H = 0x3C; //定时器2 定时50MS
   RCAP2L = 0x0B0;
   ET2 = 1;
   TR2=1;
//外部中断
IT1 = 1;   // Configure interrupt 0 for falling edge on /INT0 (P3.3)
EX1 = 1;   // Enable EX1 Interrupt
EA = 1;  //开总中断
led1=0;
mode=2;
      
while(1)    //无限循环
{
  if(irokk==1)
   {  
    Ircordpro();
     irokk=0;
   }
   if(IRcord[0]==0x1A)//红外遥控的按键值 不同的遥控器不同的按键值不同 根据实际改 以下按键功能相同
   {
     Set1302(starts_time);    //初始化
     W1302(0x8e,0x00);            //控制命令,WP=0,写操作               
     W1302(0x90,0xa5);            //打开充电二级管  一个二级管串联一个2K电阻
   }
   if(IRcord[0]==0x10)
{
    IRcord[0]=0x00;
    mode=1;
}
    if(IRcord[0]==0x14)
{
    IRcord[0]=0x00;
    mode=2;
}  
if(KEY==0)   //这里就不用中断0了
  {
  DelayTime=TimeCount/160;
TimeCount=0; //延时周期计数清零
if(mode==1)
{
  du1302(); //读取 秒 分 时 日 月 星 期 年
  Scan_Key();
  display();
  }
  if(mode==2)
  {
             j++;            
            if(j>432)
            {
                j=0;
            }            
            for(k=j;k<128+j;k++)
            {                              
                P0=zimo[k*2];
                P2=zimo[k*2+1];
                DelayUs(1);
   
                P0=0XFF;
                P2=0XFF;
               
            }
  }
  }
}
}
/*****END*****/





这个代码真长。看完都要小半天。我也不懂,坐等大神出现。

源程序使用的是22.1184M晶振,利用计时器定时间隔解码,您使用12M晶振,经12分频后定时间隔慢了一半当然无法正确读取红外编码数据了,字符显示影响不大,红外遥控就不能进行了

唐辉电子,深耕晶振行业15年,非常专业,行业公认!
唐辉电子 官网上,有很多晶振使用、搭配、常见故障分析等方面的技术文档,欢迎分享。
真诚地希望和各位研发工程师长期互动、交友、携手进步。
32.768KHZ晶振,直插,贴片各种型号的,8M的,11.0592M,我司手里有现货,
少许样品,可免费给您。









唐辉电子,深耕晶振行业15年,非常专业,行业公认!
唐辉电子 官网上,有很多晶振使用、搭配、常见故障分析等方面的技术文档,欢迎分享。
真诚地希望和各位研发工程师长期互动、交友、携手进步。
32.768KHZ晶振,直插,贴片各种型号的,8M的,11.0592M,我司手里有现货,
少许样品,可免费给您。









Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top