久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2391|回復: 1
打印 上一主題 下一主題
收起左側

時間繼電器程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:74868 發表于 2018-8-11 16:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <reg52.h>
#include <intrins.h>
#include<string.h>
#define uint unsigned int
#define uchar unsigned char
#define lcd_bus P0
#define date_bus P3

/*************LCD接口定義*************/
sbit rs=P2^0;
sbit rw=P2^1;
sbit e=P2^2;
sbit cs1=P2^3;
sbit cs2=P2^4;
sbit rst=P2^5;
/***************外擴輸出*************/
sbit a573a=P1^0;
sbit a573b=P1^1;
sbit a573c=P1^2;

/*********按鍵*****************/
sbit gn=P1^4;
sbit jia=P1^5;
sbit jian=P1^6;
/***************初始屏(工作)時顯示************/
uchar code table1[][32]={
//"第",
     0x10,0x08,0x94,0x97,0x9C,0x96,0x94,0xF8,
      0x97,0x94,0x9C,0x94,0xF6,0x04,0x00,0x00,
      0x00,0x40,0x47,0x24,0x24,0x14,0x0C,0xFF,
      0x04,0x04,0x24,0x44,0x44,0x3E,0x04,0x00,

//"一",
      0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
      0x80,0x80,0x80,0x80,0x80,0xC0,0x80,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//"組",
      0x20,0x30,0xAC,0x63,0x20,0x10,0x00,0xFC,
      0x44,0x44,0x44,0x44,0xFE,0x04,0x00,0x00,
      0x22,0x67,0x22,0x12,0x12,0x52,0x40,0x7F,
      0x44,0x44,0x44,0x44,0x7F,0x40,0x40,0x00,

/*******框周圍亮中間黑**********/
     0xFF,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
     0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,
        0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
     0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFF,

/****************圓滅**********************************/
        0xF0,0x1C,0x0C,0x06,0x02,0x01,0x01,0x01,
        0x01,0x01,0x02,0x02,0x04,0x1C,0xF0,0xC0,
     0x0F,0x38,0x30,0x60,0x40,0x80,0x80,0x80,
        0x80,0x80,0x40,0x60,0x30,0x38,0x0F,0x03,

/****************圓滅**********************************/
        0xF0,0x1C,0x0C,0x06,0x02,0x01,0x01,0x01,
        0x01,0x01,0x02,0x02,0x04,0x1C,0xF0,0xC0,
     0x0F,0x38,0x30,0x60,0x40,0x80,0x80,0x80,
        0x80,0x80,0x40,0x60,0x30,0x38,0x0F,0x03,

/****************圓滅**********************************/
        0xF0,0x1C,0x0C,0x06,0x02,0x01,0x01,0x01,
        0x01,0x01,0x02,0x02,0x04,0x1C,0xF0,0xC0,
     0x0F,0x38,0x30,0x60,0x40,0x80,0x80,0x80,
        0x80,0x80,0x40,0x60,0x30,0x38,0x0F,0x03,
/****************圓滅**********************************/
        0xF0,0x1C,0x0C,0x06,0x02,0x01,0x01,0x01,
        0x01,0x01,0x02,0x02,0x04,0x1C,0xF0,0xC0,
     0x0F,0x38,0x30,0x60,0x40,0x80,0x80,0x80,
        0x80,0x80,0x40,0x60,0x30,0x38,0x0F,0x03,

//"第",
      0x10,0x08,0x94,0x97,0x9C,0x96,0x94,0xF8,
      0x97,0x94,0x9C,0x94,0xF6,0x04,0x00,0x00,
      0x00,0x40,0x47,0x24,0x24,0x14,0x0C,0xFF,
      0x04,0x04,0x24,0x44,0x44,0x3E,0x04,0x00,


//"二",
      0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,
      0x08,0x08,0x08,0x0C,0x08,0x00,0x00,0x00,
      0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
      0x10,0x10,0x10,0x10,0x10,0x18,0x10,0x00,

//"組",
      0x20,0x30,0xAC,0x63,0x20,0x10,0x00,0xFC,
      0x44,0x44,0x44,0x44,0xFE,0x04,0x00,0x00,
      0x22,0x67,0x22,0x12,0x12,0x52,0x40,0x7F,
      0x44,0x44,0x44,0x44,0x7F,0x40,0x40,0x00,
/*******框周圍亮中間黑**********/
     0xFF,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
     0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,
        0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
     0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFF,


/****************圓滅**********************************/
        0xF0,0x1C,0x0C,0x06,0x02,0x01,0x01,0x01,
        0x01,0x01,0x02,0x02,0x04,0x1C,0xF0,0xC0,
     0x0F,0x38,0x30,0x60,0x40,0x80,0x80,0x80,
        0x80,0x80,0x40,0x60,0x30,0x38,0x0F,0x03,

/****************圓滅**********************************/
        0xF0,0x1C,0x0C,0x06,0x02,0x01,0x01,0x01,
        0x01,0x01,0x02,0x02,0x04,0x1C,0xF0,0xC0,
     0x0F,0x38,0x30,0x60,0x40,0x80,0x80,0x80,
        0x80,0x80,0x40,0x60,0x30,0x38,0x0F,0x03,

/****************圓滅**********************************/
        0xF0,0x1C,0x0C,0x06,0x02,0x01,0x01,0x01,
        0x01,0x01,0x02,0x02,0x04,0x1C,0xF0,0xC0,
     0x0F,0x38,0x30,0x60,0x40,0x80,0x80,0x80,
        0x80,0x80,0x40,0x60,0x30,0x38,0x0F,0x03,
/****************圓滅**********************************/
        0xF0,0x1C,0x0C,0x06,0x02,0x01,0x01,0x01,
        0x01,0x01,0x02,0x02,0x04,0x1C,0xF0,0xC0,
     0x0F,0x38,0x30,0x60,0x40,0x80,0x80,0x80,
        0x80,0x80,0x40,0x60,0x30,0x38,0x0F,0x03,

//"第",
      0x10,0x08,0x94,0x97,0x9C,0x96,0x94,0xF8,
      0x97,0x94,0x9C,0x94,0xF6,0x04,0x00,0x00,
      0x00,0x40,0x47,0x24,0x24,0x14,0x0C,0xFF,
      0x04,0x04,0x24,0x44,0x44,0x3E,0x04,0x00,

//"三",
      0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,
      0x84,0x84,0x84,0xC4,0x86,0x04,0x00,0x00,
      0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
      0x20,0x20,0x20,0x20,0x20,0x30,0x20,0x00,


//"組",
      0x20,0x30,0xAC,0x63,0x20,0x10,0x00,0xFC,
      0x44,0x44,0x44,0x44,0xFE,0x04,0x00,0x00,
      0x22,0x67,0x22,0x12,0x12,0x52,0x40,0x7F,
      0x44,0x44,0x44,0x44,0x7F,0x40,0x40,0x00,
/*******框周圍亮中間黑**********/
     0xFF,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
     0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,
        0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
     0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFF,


/****************圓滅**********************************/
        0xF0,0x1C,0x0C,0x06,0x02,0x01,0x01,0x01,
        0x01,0x01,0x02,0x02,0x04,0x1C,0xF0,0xC0,
     0x0F,0x38,0x30,0x60,0x40,0x80,0x80,0x80,
        0x80,0x80,0x40,0x60,0x30,0x38,0x0F,0x03,

/****************圓滅**********************************/
        0xF0,0x1C,0x0C,0x06,0x02,0x01,0x01,0x01,
        0x01,0x01,0x02,0x02,0x04,0x1C,0xF0,0xC0,
     0x0F,0x38,0x30,0x60,0x40,0x80,0x80,0x80,
        0x80,0x80,0x40,0x60,0x30,0x38,0x0F,0x03,

/****************圓滅**********************************/
        0xF0,0x1C,0x0C,0x06,0x02,0x01,0x01,0x01,
        0x01,0x01,0x02,0x02,0x04,0x1C,0xF0,0xC0,
     0x0F,0x38,0x30,0x60,0x40,0x80,0x80,0x80,
        0x80,0x80,0x40,0x60,0x30,0x38,0x0F,0x03,
/****************圓滅**********************************/
        0xF0,0x1C,0x0C,0x06,0x02,0x01,0x01,0x01,
        0x01,0x01,0x02,0x02,0x04,0x1C,0xF0,0xC0,
     0x0F,0x38,0x30,0x60,0x40,0x80,0x80,0x80,
        0x80,0x80,0x40,0x60,0x30,0x38,0x0F,0x03,

//"第",
      0x10,0x08,0x94,0x97,0x9C,0x96,0x94,0xF8,
      0x97,0x94,0x9C,0x94,0xF6,0x04,0x00,0x00,
      0x00,0x40,0x47,0x24,0x24,0x14,0x0C,0xFF,
      0x04,0x04,0x24,0x44,0x44,0x3E,0x04,0x00,

//"四",
      0x00,0xFC,0x04,0x04,0x04,0xFC,0x04,0x04,
      0x04,0xFC,0x04,0x04,0x04,0xFE,0x04,0x00,
      0x00,0x7F,0x20,0x28,0x24,0x23,0x20,0x20,
      0x20,0x21,0x22,0x22,0x22,0x7F,0x00,0x00,

//"組",
      0x20,0x30,0xAC,0x63,0x20,0x10,0x00,0xFC,
      0x44,0x44,0x44,0x44,0xFE,0x04,0x00,0x00,
      0x22,0x67,0x22,0x12,0x12,0x52,0x40,0x7F,
      0x44,0x44,0x44,0x44,0x7F,0x40,0x40,0x00,

/*******框周圍亮中間黑**********/
     0xFF,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
     0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,
        0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
     0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFF,


/****************圓滅**********************************/
        0xF0,0x1C,0x0C,0x06,0x02,0x01,0x01,0x01,
        0x01,0x01,0x02,0x02,0x04,0x1C,0xF0,0xC0,
     0x0F,0x38,0x30,0x60,0x40,0x80,0x80,0x80,
        0x80,0x80,0x40,0x60,0x30,0x38,0x0F,0x03,

/****************圓滅**********************************/
        0xF0,0x1C,0x0C,0x06,0x02,0x01,0x01,0x01,
        0x01,0x01,0x02,0x02,0x04,0x1C,0xF0,0xC0,
     0x0F,0x38,0x30,0x60,0x40,0x80,0x80,0x80,
        0x80,0x80,0x40,0x60,0x30,0x38,0x0F,0x03,

/****************圓滅**********************************/
        0xF0,0x1C,0x0C,0x06,0x02,0x01,0x01,0x01,
        0x01,0x01,0x02,0x02,0x04,0x1C,0xF0,0xC0,
     0x0F,0x38,0x30,0x60,0x40,0x80,0x80,0x80,
        0x80,0x80,0x40,0x60,0x30,0x38,0x0F,0x03,
/****************圓滅**********************************/
        0xF0,0x1C,0x0C,0x06,0x02,0x01,0x01,0x01,
        0x01,0x01,0x02,0x02,0x04,0x1C,0xF0,0xC0,
     0x0F,0x38,0x30,0x60,0x40,0x80,0x80,0x80,
        0x80,0x80,0x40,0x60,0x30,0x38,0x0F,0x03,
/******框中間亮******/
        0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,
        0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0x00,
    0x00,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,
        0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x00,
/****************圓亮****************************/
    0xC0,0xF0,0xF8,0xFC,0xFC,0xFE,0xFE,0xFE,
    0xFE,0xFE,0xFE,0xFC,0xFC,0xF8,0xF0,0xC0,
        0x03,0x0F,0x1F,0x3F,0x3F,0x7F,0x7F,0x7F,
        0x7F,0x7F,0x7F,0x3F,0x3F,0x1F,0x0F,0x03,

/***************調整時顯示***********************/

//
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//-- 圓 --
      0x00,0xFE,0x02,0x82,0xBA,0xAA,0xAA,0xAA,
      0xAA,0xAA,0xBA,0x82,0x02,0xFF,0x02,0x00,
      0x00,0xFF,0x40,0x4F,0x60,0x50,0x48,0x46,
      0x48,0x50,0x60,0x4F,0x40,0xFF,0x00,0x00,
//-- 間 --
      0x00,0xF8,0x01,0x02,0xF6,0x10,0x12,0x12,
      0x12,0x12,0xFA,0x12,0x02,0xFF,0x02,0x00,
      0x00,0xFF,0x00,0x00,0x3F,0x11,0x11,0x11,
      0x11,0x11,0x3F,0x40,0x80,0x7F,0x00,0x00,
//-- 隔 --
      0x00,0xFE,0x22,0x5A,0x86,0x02,0x7A,0x4A,
      0x4A,0x4A,0x4A,0x4A,0x7B,0x82,0x00,0x00,
      0x00,0xFF,0x04,0x08,0x07,0xFF,0x09,0x0B,
      0x0D,0x79,0x0D,0x4B,0x89,0x7F,0x01,0x00,
//-- 調 --
      0x20,0x21,0xE6,0x00,0x00,0xFE,0x82,0x92,
      0x92,0xFE,0x92,0xD2,0x82,0xFF,0x02,0x00,
      0x00,0x00,0x3F,0x90,0x48,0x3F,0x00,0x3E,
      0x12,0x12,0x12,0x5E,0x80,0x7F,0x00,0x00,
//-- 整 --
      0x00,0x3A,0xAA,0x6A,0xFF,0x6A,0xAA,0x3A,
      0x08,0xB7,0x44,0xA4,0x1C,0x06,0x04,0x00,
      0x41,0x41,0x42,0x42,0x7B,0x42,0x42,0x7E,
      0x4B,0x4A,0x4A,0x4A,0x43,0x61,0x41,0x00,
//      
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

//      
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

//-- 組 --
      0x20,0x30,0xAC,0x63,0x20,0x10,0x00,0xFC,
      0x44,0x44,0x44,0x44,0xFE,0x04,0x00,0x00,
      0x22,0x67,0x22,0x12,0x12,0x52,0x40,0x7F,
      0x44,0x44,0x44,0x44,0x7F,0x40,0x40,0x00,
//-- 間 --
      0x00,0xF8,0x01,0x02,0xF6,0x10,0x12,0x12,
      0x12,0x12,0xFA,0x12,0x02,0xFF,0x02,0x00,
      0x00,0xFF,0x00,0x00,0x3F,0x11,0x11,0x11,
      0x11,0x11,0x3F,0x40,0x80,0x7F,0x00,0x00,
//-- 隔 --
      0x00,0xFE,0x22,0x5A,0x86,0x02,0x7A,0x4A,
      0x4A,0x4A,0x4A,0x4A,0x7B,0x82,0x00,0x00,
      0x00,0xFF,0x04,0x08,0x07,0xFF,0x09,0x0B,
      0x0D,0x79,0x0D,0x4B,0x89,0x7F,0x01,0x00,
//-- 調 --
      0x20,0x21,0xE6,0x00,0x00,0xFE,0x82,0x92,
      0x92,0xFE,0x92,0xD2,0x82,0xFF,0x02,0x00,
      0x00,0x00,0x3F,0x90,0x48,0x3F,0x00,0x3E,
      0x12,0x12,0x12,0x5E,0x80,0x7F,0x00,0x00,
//-- 整 --
      0x00,0x3A,0xAA,0x6A,0xFF,0x6A,0xAA,0x3A,
      0x08,0xB7,0x44,0xA4,0x1C,0x06,0x04,0x00,
      0x41,0x41,0x42,0x42,0x7B,0x42,0x42,0x7E,
      0x4B,0x4A,0x4A,0x4A,0x43,0x61,0x41,0x00,
//      
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//      
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,         };
/************定義變量******************/
uchar sj,sk=1,on,gnb;
uint mm,miao,zuj=40,yuanj=20;
uint fzg,zjg=0;
uint yjiab=3,zjiab=3;
uchar ja=0,tt,ti;
/*******毫秒延時************/
void delay(uint a)
{
        uint x,y;
        for(x=0;x<a;x++)
         for(y=0;y<110;y++);
}
/***********延時*************/
void delayy()
{
        _nop_();
        _nop_();
           _nop_();
        _nop_();
           _nop_();
        _nop_();
    _nop_();
        _nop_();
           _nop_();
        _nop_();
           _nop_();
        _nop_();
}
/************測忙**************/
void lcd_busm()
{
        uchar temp;
    do
        {
                temp=0x80;
                rs=0;
            _nop_();
           _nop_();
              _nop_();
                rw=1;
                e=1;
                temp=lcd_bus;
                _nop_();
            _nop_();
               _nop_();
            e=0;
        } while((temp&0x80)==0x80);
}
/***********寫指令********************/
void send_comm(uchar comm)
{
    lcd_busm();
        rs=0;
        delayy();
        rw=0;
        lcd_bus=comm;
        delayy();
        e=1;
        delayy();
        e=0;
}
/************寫數據********************/
void send_data(uchar date)
{
        lcd_busm();
        rs=1;
        delayy();
        rw=0;
        delayy();
        lcd_bus=date;
        delayy();
        e=1;
        delayy();
        e=0;
}
/*************選屏****************/
void csp(uchar a)
{
        switch(a)
        {
                case 0:
                      {
                            cs1=1;
                            cs2=1;
                                break;
                          }
                case 1:
                          {
                        cs1=1;
                                cs2=0;
                                break;
                                }
                case 2:
                          {
                        cs1=0;        delayy();
                                cs2=1;
                                break;
                          }
                  default: break;
        }
}
/**********初始化*****************/
void init()
{
        rst=0;
        delay(150);
        rst=1;
        delay(100);
    csp(0);
        send_comm(0x3f);
        delayy();
        send_comm(0xc0);
        a573a=0;
        a573b=0;
        a573c=0;
}
/**************定時器初始化**************/
void time()
{
        TMOD=0x11;
        TH0=0x3c;
        TL0=0xb0;
        TH1=0X3C;
        TL1=0XB0;
        EA=1;
        ET0=1;
        ET1=1;
        TR0=1;
        TR1=1;
}
/***********設置頁地址*************/
void x_page(uchar x)
{
        send_comm(0xb8+x);
        delayy();               
}
/************設置列地址***********/
void y_line(uchar y)
{
        send_comm(0x40+y);
        delayy();
}
/************設置行地址***********/
void z_hang(uchar z)
{
        send_comm(0xc0+z);
        delayy();
}

/*************清空顯示內存***********/
void clean()
{
        uchar i,j,k;
        for(i=0;i<8;i++)
        {
           csp(0);
                y_line(0);
                delayy();
                x_page(i);
                delayy();

                csp(1);
                for(j=0;j<64;j++)
         {
                        send_data(0x00);
                }
                delayy();
                csp(2);
                for(k=64;k<128;k++)
                {
                        send_data(0x00);
                }
        }
}

/****************頁和列地址*****************/
void write_x_y(uchar x,y)
{
        x_page(x);
        y_line(y);
}

/**************指定位置寫漢字****************/
void write_zf(uchar a,b,c )
{
        uchar k,m;

                write_x_y(a,b);                    //寫頁和列地址是字的上半
                for(k=0;k<16;k++)
                {
                        send_data(table1[c][k]);
                }
                delayy();
                write_x_y(a+1,b);                        //寫頁和列地址是字的下半
                for(m=16;m<32;m++)
                {
                        send_data(table1[c][m]);
                }
}        

/*****************指定位置寫字ASCII*************/
void write_ascii(uchar a,b,c )
{
        uchar k,m;

                write_x_y(a,b);
                for(k=0;k<8;k++)
                {
                        send_data(table1[c][k]);
                }
                delayy();
                write_x_y(a+1,b);
                for(m=8;m<16;m++)
                {
                        send_data(table1[c][m]);
                }
}        
/***************滿行寫字***************/
void write_mh(uchar a,b,c)                        //(頁,列 ,字)
{
        uchar i,d;
        csp(1);
        for(i=0;i<4;i++)
        {
                write_zf(a,b+i*16,c++);        
        }        
        csp(2);        delayy();
        for(d=0;d<4;d++)
    {
                write_zf(a,b+d*16,c++);        
        }

}
/*************滿屏寫字***************/
void write_mp(uchar zi)
{        
    uchar i;
        for(i=0;i<4;i++)
    {
                write_mh(i+1*i,0,i*8+zi);                 //(頁,列,字)

        }
}
/***********間隔輸出口動作,液晶指示狀態變化***************/
void yx()
{
        switch(zjg)
        {
                case 0:                    a573a=1;
                                                a573b=1;
                                                a573c=1;
                                                date_bus=0x00;
                                                a573a=0;
                                                a573b=0;
                                                a573c=0;

                          a573a=1; date_bus=0x01;
                          csp(1);
                                  write_zf(6,48,27);
                          write_zf(0,48,32);
                                  on=1;
                                 if(fzg==1)
                                  {
                                          date_bus=date_bus|0x02;
                                        csp(2);  
                                        write_zf(0,0,33);
                                        delay(100);
                                        date_bus=0x01;
                                        write_zf(0,0,31);
                                  }
                                 if(fzg==2)
                                  {
                                          date_bus=date_bus|0x04;
                                        csp(2);  
                                        write_zf(0,16,33);
                                        delay(100);
                                        date_bus=0x01;
                                        write_zf(0,16,31);
                                  }
                                 if(fzg==3)
                                  {
                                          date_bus=date_bus|0x08;
                                        csp(2);  
                                        write_zf(0,32,33);
                                        delay(100);
                                        date_bus=0x01;
                                        write_zf(0,32,31);
                                  }
                                 if(fzg==4)
                                  {
                                          date_bus=date_bus|0x10;
                                        csp(2);  
                                        write_zf(0,48,33);
                                        delay(100);
                                        date_bus=0x01;
                                        write_zf(0,48,31);
                                        if(fzg>4)
                                        {
                                                on=0;
                                                fzg=0;
                                                while(zjg==0);
                                        }
                                  }
                                  break;

                case 1:    on=1;
                          if(fzg<3)
                                  {
                                            a573a=1; date_bus=0x20;
                                  }
                          csp(1);
                                  write_zf(0,48,27);
                          write_zf(2,48,32);
                                 if(fzg==1)
                                  {
                                          date_bus=date_bus|0x40;
                                        csp(2);  
                                        write_zf(2,0,33);
                                        delay(100);
                                        date_bus=0x20;
                                        write_zf(2,0,31);
                                  }
                                 if(fzg==2)
                                  {
                                          date_bus=date_bus|0x80;
                                        csp(2);  
                                        write_zf(2,16,33);
                                        delay(100);
                                        date_bus=0x20;
                                        write_zf(2,16,31);
                                  }
                                 if(fzg==3)
                                  {
                                        a573a=0;
                                        date_bus=0x00;
                                        a573b=1;  delay(5);
                                          date_bus=0x01;
                                        csp(2);  
                                        write_zf(2,32,33);
                                        delay(100);
                                        date_bus=0x00;
                                        write_zf(2,32,31);
                                  }
                                 if(fzg==4)
                                  { a573c=0;
                                    a573a=0;delay(2);
                                        a573b=1;
                                          date_bus=0x02;
                                        csp(2);  
                                        write_zf(2,48,33);
                                        delay(100);
                                        date_bus=0x00;
                                        write_zf(2,48,31);
                                  }
                                   if(fzg>4)
                                        {
                                                on=0;
                                                fzg=0;
                                                while(zjg==1);
                                        }
                                  break;
                case 2:     on=1;
                           a573b=0; delay(5); date_bus=0x00;
                           a573a=1;        delay(5);
                                        a573a=0; a573b=1;        csp(1);
                                        date_bus=0x04;
                                        write_zf(2,48,27);
                                        write_zf(4,48,32);
                                        csp(2);
                                  if(fzg==1)
                                        {
                                                date_bus=0x04|0x08;
                                                write_zf(4,0,33);
                                                delay(100);
                                                date_bus=0x04;
                                                write_zf(4,0,31);
                                        }
                                  if(fzg==2)
                                        {
                                                date_bus=0x04|0x10;
                                                write_zf(4,16,33);
                                                delay(100);
                                                date_bus=0x04;
                                                write_zf(4,16,31);
                                        }
                                  if(fzg==3)
                                        {
                                                date_bus=0x04|0x20;
                                                write_zf(4,32,33);
                                                delay(10);
                                                date_bus=0x04;
                                                write_zf(4,32,31);
                                        }
                                  if(fzg==4)
                                        {
                                                date_bus=0x04|0x40;
                                                write_zf(4,48,33);
                                                delay(100);
                                                date_bus=0x04;
                                                write_zf(4,48,31);
                                        }
                                        if(fzg>4)
                                        {
                                                on=0;
                                                fzg=0;
                                                while(zjg==2);
                                        }
                                        break;
          case 3 :         on=1;
                           date_bus=0x80;
                                                a573b=0;
                                                a573c=1;
                           csp(1);
                                                write_zf(4,48,27);
                                                write_zf(6,48,32);
                                                csp(2);
                                        if(fzg==1)
                                        {
                                                date_bus=0x01;
                                                write_zf(6,0,33);
                                                delay(100);
                                                date_bus=0x00;
                                                write_zf(6,0,31);
                                        }

                                        if(fzg==2)
                                        {
                                                date_bus=0x02;
                                           write_zf(6,16,33);
                                                delay(100);
                                                date_bus=0x00;
                                                write_zf(6,16,31);
                                        }
                                        if(fzg==3)
                                        {
                                                date_bus=0x04;
                                                write_zf(6,32,33);
                                                delay(100);
                                                date_bus=0x00;
                                                write_zf(6,32,31);
                                        }
                                        if(fzg==4)
                                        {
                                                date_bus=0x08;
                                                write_zf(6,48,33);
                                                delay(100);
                                                date_bus=0x00;
                                                write_zf(6,48,31);

                                        }
                                         if(fzg>4)
                                        {
                                                on=0;
                                                fzg=0;

                                                while(zjg==3);
                                        }
                                        break;
        }
}

/****************按鍵檢測****************/
void keyscan()
{
        if(gn==0)
        {
          delay(5);
          if(gn==0)
          {
                    gnb++;
                  while(!gn);
                  if(gnb>3)gnb=0;
          }        
        }
        if(jia==0)
        {
                delay(5);
                if(jia==0)
                {        if(gnb==1)
                    {
                           yjiab++;
                                if(yjiab>=7)
                          yjiab=7;
                           while(!jia);
                        }
                        if(gnb==2)
                        {
                                zjiab++;
                                if(zjiab>=7)
                          zjiab=7;
                                while(!jia);        
                        }
                }
        }
        if(jian==0)
        {
                delay(10);
                if(jian==0)
                {
                        if(gnb==1)
                    {
                           yjiab--;
                       if(yjiab<0)
                                {
                         yjiab=0;
                                }
                           while(!jian);
                        }
                        if(gnb==2)
                        {
                                zjiab--;
                       if(zjiab<0)
                         {
                                  zjiab=0;
                                 }
                                while(!jian);
                        }                        
                }
        }
}
/**************時間調整****************/
void tiaozhen()
{

        if(gnb==1&ti)
        {

                clean();
                write_mh(0,0,34);

                switch(yjiab)
                {
                        case 0:                csp(1);
                                  write_zf(4,0,33);
                                                yuanj=2;
                                                break;
                        case 1:     csp(1);
                                   write_zf(4,0,33);
                                   write_zf(4,16,33);
                                                yuanj=5;
                                           break;
                        case 2:     csp(1);
                                                write_zf(4,0,33);
                                   write_zf(4,16,33);
                                   write_zf(4,32,33);
                                                yuanj=10;
                                                break;
                   case 3:     csp(1);
                                                write_zf(4,0,33);
                                   write_zf(4,16,33);
                                   write_zf(4,32,33);
                                                write_zf(4,48,33);
                                                yuanj=20;
                                                break;
                        case 4:     csp(1);
                                                write_zf(4,0,33);
                                   write_zf(4,16,33);
                                   write_zf(4,32,33);
                                                write_zf(4,48,33);
                                                csp(2);
                                                write_zf(4,0,33);
                                                yuanj=30;
                                                break;
                   case 5:     csp(1);
                                                write_zf(4,0,33);
                                   write_zf(4,16,33);
                                   write_zf(4,32,33);
                                                write_zf(4,48,33);
                                                csp(2);
                                                write_zf(4,0,33);
                                                write_zf(4,16,33);
                                                yuanj=40;
                                                break;
                   case 6:     csp(1);
                                                write_zf(4,0,33);
                                   write_zf(4,16,33);
                                   write_zf(4,32,33);
                                                write_zf(4,48,33);
                                                csp(2);
                                                write_zf(4,0,33);
                                                write_zf(4,16,33);
                                                write_zf(4,32,33);
                                                yuanj=50;
                                                break;
                        case 7:     csp(1);
                                                write_zf(4,0,33);
                                   write_zf(4,16,33);
                                   write_zf(4,32,33);
                                                write_zf(4,48,33);
                                                csp(2);
                                                write_zf(4,0,33);
                                                write_zf(4,16,33);
                                                write_zf(4,32,33);
                                                write_zf(4,48,33);
                                                yuanj=60;


                                                  break;
                 }

          }

        if(gnb==2&ti)
     {

                clean();
                write_mh(0,0,42);

                switch(zjiab)
                {
                        case 0:                csp(1);
                                  write_zf(4,0,32);
                                                zuj=2;
                                                break;
                        case 1:     csp(1);
                                   write_zf(4,0,32);
                                   write_zf(4,16,32);
                                                zuj=5;
                                           break;
                        case 2:     csp(1);
                                                write_zf(4,0,32);
                                   write_zf(4,16,32);
                                   write_zf(4,32,32);
                                                zuj=10;
                                                break;
                   case 3:     csp(1);
                                                write_zf(4,0,32);
                                   write_zf(4,16,32);
                                   write_zf(4,32,32);
                                                write_zf(4,48,32);
                                                zuj=20;
                                                break;
                        case 4:     csp(1);
                                                write_zf(4,0,32);
                                   write_zf(4,16,32);
                                   write_zf(4,32,32);
                                                write_zf(4,48,32);
                                                csp(2);
                                                write_zf(4,0,32);
                                                zuj=30;
                                                break;
                   case 5:     csp(1);
                                                write_zf(4,0,32);
                                   write_zf(4,16,32);
                                   write_zf(4,32,32);
                                                write_zf(4,48,32);
                                                csp(2);
                                                write_zf(4,0,32);
                                                write_zf(4,16,32);
                                                zuj=40;
                                                break;
                   case 6:     csp(1);
                                                write_zf(4,0,32);
                                   write_zf(4,16,32);
                                   write_zf(4,32,32);
                                                write_zf(4,48,32);
                                                csp(2);
                                                write_zf(4,0,32);
                                                write_zf(4,16,32);
                                                write_zf(4,32,32);
                                                zuj=50;
                                                break;
                        case 7:     csp(1);
                                                write_zf(4,0,32);
                                   write_zf(4,16,32);
                                   write_zf(4,32,32);
                                                write_zf(4,48,32);
                                                csp(2);
                                                write_zf(4,0,32);
                                                write_zf(4,16,32);
                                                write_zf(4,32,32);
                                                write_zf(4,48,32);
                                                zuj=60;
                                           break;
                 }
        }
     if(gnb==3)
     {
        gnb=0;
        sk=1;
     }                          
}

/***********主程序*********************/

void main()
{

        time();
        while(1)
        {
       keyscan();
          tiaozhen();
          if(gnb==0)
          {
                  while(sk)
              {
                init();
                clean();
             write_mp(ja);
                  }
             yx();
           }
    }
}
/****************時間中斷***********/
void time0()interrupt 1
{
        TH0=0x3c;
        TL0=0xb0;
        sj++;
        if(sj>=5)
        {
                sj=0;
                sk=0;
        }
   mm++;
   if((yuanj*5+zuj)<=mm)
   {
              zjg++;
                if(zjg>3)
                zjg=0;
                mm=0;
   }

}

void time1()interrupt 3
{
        TH1=0X3C;
        TL1=0XB0;
        if(on==1)
        miao++;
        if(yuanj<=miao)
        {
           fzg++;
                if(fzg>5)
                fzg=0;
                miao=0;        
        }



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1 發表于 2018-8-11 16:21 | 只看該作者
補全原理圖后即可獲得積分
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本一卡精品视频免费 | 欧美精品综合在线 | 欧美一区二区三区视频在线观看 | 一区二区三区四区在线视频 | 免费国产一区二区 | 中文字幕中文字幕 | 日本精品免费在线观看 | 成人性视频在线播放 | 欧美一级二级在线观看 | 亚洲午夜精品一区二区三区他趣 | 先锋资源站 | 丁香五月网久久综合 | 亚洲精品免费观看 | 高清人人天天夜夜曰狠狠狠狠 | 久久综合888 | 欧美精品一区二区在线观看 | 国产精品久久国产精品久久 | 另类专区成人 | 国产成人99久久亚洲综合精品 | 一区二区三区视频免费观看 | 日韩视频成人 | 九九热免费在线观看 | 日本三级全黄三级三级三级口周 | 久热国产精品视频 | 婷婷狠狠| 91 久久 | 日韩在线小视频 | 欧美日韩国产精品一区 | 美国黄色毛片 | 天天干免费视频 | 精品国产一区二区三区免费 | 国产一区二区三区免费观看在线 | 精品国产18久久久久久二百 | 美女久久| 日本精品一区二区三区在线观看视频 | 欧美日韩免费在线 | 国产精品成人久久久久 | 久久久久久国产精品免费免费狐狸 | 夜夜艹 | 亚洲第一天堂 | 91日韩在线 |