⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tc_clock.c

📁 在ICCAVR环境下做的ATMEGA128单片机实现模拟时钟
💻 C
📖 第 1 页 / 共 2 页
字号:
/*******************************************
*文件名:TC_Clock.c
*功    能:用定时器/计数器实现模拟时钟
*               在12864液晶上显示
*晶振频率:18.432MHz
*******************************************/
#include<iom128.h>
#include<macros.h>
//#include<stdio.h>
//#include "LCD12864.c"
#define  uchar  unsigned char
#define  uint    unsigned int 


#define  LCD_DAT      PORTC                            
#define  LCDENH       PORTD=PORTD|(1<<6)               
#define  LCDENL        PORTD=PORTD&(~(1<<6))
#define  LCDDIH         PORTD=PORTD|(1<<7)
#define  LCDDIL         PORTD=PORTD&(~(1<<7))   
#define  LCDCS1H     PORTD=PORTD|(1<<5)
#define  LCDCS1L      PORTD=PORTD&(~(1<<5))
#define  LCDCS2H     PORTD=PORTD|(1<<4)
#define  LCDCS2L      PORTD=PORTD&(~(1<<4))


#pragma  interrupt_handler  Timer1_int:15       
uchar   sec=20,min=59,hour=23,year=9,mon=3,date=31,day=7;
#pragma  data:code
const uchar  table[17][16]=
{
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,//0       0
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//1       1
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,//2       2
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,//3       3
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,//4       4
0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,//5       5
0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,//6       6
0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,//7       7
0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,//8       8
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,//9       9
0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//:      10
0x00,0x40,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,//c      11
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//空     12
0x00,0x04,0xFF,0x94,0x94,0xFF,0x04,0x00,0x22,0x12,0x0B,0x06,0x02,0x07,0x2A,0x10,//其13
0xFE,0x12,0x12,0x12,0xFF,0x02,0x00,0x00,0x0F,0x01,0x11,0x21,0x1F,0x00,0x00,0x00,//月  14

};

 const uchar Tab_Chinesepoem[][16]=
                                    {
{0x40,0x20,0x10,0x0C,0xE3,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0x02,0x00,0x00},
{0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x00},/*"年",0*/

{0x00,0x00,0x00,0x00,0x00,0xFF,0x11,0x11,0x11,0x11,0x11,0xFF,0x00,0x00,0x00,0x00},
{0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x01,0x01,0x21,0x41,0x3F,0x00,0x00,0x00,0x00},/*"月",1*/



{0x00,0x00,0x00,0xBE,0x2A,0x2A,0x2A,0xEA,0x2A,0x2A,0x2A,0x2A,0x3E,0x00,0x00,0x00},
{0x00,0x48,0x46,0x41,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0x49,0x49,0x41,0x40,0x00},/*"星",3*/

{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},/*"期",4*/

{0x00,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},/*"一",5*/

{0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x06,0x04,0x00,0x00,0x00},
{0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x18,0x10,0x00},/*"二",6*/

{0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x04,0x00,0x00},
{0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00},/*"三",7*/

{0x00,0xFE,0x02,0x02,0x02,0xFE,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0xFE,0x00,0x00},
{0x00,0x7F,0x28,0x24,0x23,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x22,0x7F,0x00,0x00},/*"四",8*/

{0x00,0x02,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0xC2,0x82,0x02,0x00,0x00,0x00},
{0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x30,0x20,0x00},/*"五",9*/

{0x10,0x10,0x10,0x10,0x10,0x91,0x12,0x1E,0x94,0x10,0x10,0x10,0x10,0x10,0x10,0x00},
{0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x00,0x00,0x01,0x02,0x0C,0x78,0x30,0x00,0x00},/*"六",10*/

{0x00,0x00,0x00,0xFE,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xFE,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x3F,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x00},/*"日",2*/
										  };
										  
										  
const uchar   Tab_pic2[][16] = {

{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},
{0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE},
{0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFC,0xFE,0xFC},
{0xFE,0xFC,0xFC,0xFE,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC},
{0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC},
{0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xF8,0xF4,0xF8,0xF4,0xF8,0xFC,0xFC,0xFC},
{0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC},
{0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC},
{0x54,0x88,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0xBE,0xFF,0x7F,0x3F,0x9F,0x4F,0x27,0x27,0x13,0xCB,0x09,0x01,0x65,0x64,0x65,0x64},
{0x65,0x64,0x25,0x09,0x89,0x03,0x13,0x27,0x2F,0xCF,0x1F,0x3F,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x0F,0xF7},
{0xEF,0x0F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x9F,0xC7,0xF7,0x67,0x4F,0xA7,0x97,0x37,0x87},
{0xF9,0xFF,0xFB,0xFF,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F},
{0x3F,0xFF,0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFE,0x7D,0x9A,0xBC,0x16,0x20,0x80,0xC0,0x60,0x38,0x90,0x80,0x80,0x90,0x60},
{0x02,0xC1,0x1C,0x82,0x91,0x1C,0x0E,0xC4,0xF0,0xF8,0x7C,0x3E,0x9E,0x4F,0x0F,0x1E},
{0x0F,0x4F,0x9E,0x3E,0xFC,0xF8,0xF2,0x87,0x1E,0x18,0x81,0x86,0x58,0x81,0x0F,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x3F,0x07,0x89,0xCD,0xCC,0xFE,0xBF},
{0xD3,0x12,0x09,0xE9,0x19,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0x7F,0x7F,0x3F,0x97,0xCB,0x59,0x2C,0x0E,0xF7,0xFF,0x9E,0x83,0x49,0xED,0xE4},
{0xFA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0x2F,0x27,0xA0},
{0xF0,0x3F,0x19,0xCC,0xE5,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xC0,0x0C,0x5D,0x5F,0x6D,0x6F,0xEF,0xFF,0x7F,0x3D,0x07,0xC3,0xF9,0xFE},
{0x80,0x0E,0x30,0xC0,0x08,0x09,0x00,0x07,0x1F,0x3F,0x60,0x80,0x01,0x08,0xFF,0xFF},
{0xFF,0x00,0x81,0xC0,0x60,0x3F,0x1F,0x03,0x40,0x01,0x01,0xC0,0x38,0x02,0x00,0x0B},
{0x3F,0x7F,0x7F,0x7F,0x7F,0x7F,0x3F,0x05,0x00,0x3F,0x1F,0x40,0x40,0xDA,0x3F,0x97},
{0x40,0x18,0x38,0x9F,0x60,0x7A,0x7F,0x7F,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0xFF,0x7F},
{0xFF,0xFC,0x7B,0xFB,0x79,0x78,0xF2,0x46,0x93,0x3F,0x7F,0x01,0x80,0xFE,0xFF,0xFF},
{0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFB,0xF5,0x76,0xF6,0xF1},
{0xF9,0xF2,0x6E,0xEC,0x71,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xF7,0xE9,0x4D,0x0C,0x66,0x46,0x42,0xFF,0x77,0x03,0xF3,0xFB,0xFC,0xFF,0xFF,0xFF},
{0xAA,0xFF,0xFC,0xF8,0xF3,0xE4,0xC8,0xC8,0x90,0x90,0x20,0x20,0x20,0x40,0x08,0x41},
{0x40,0x20,0x20,0x20,0x00,0x90,0x90,0xC8,0xE4,0xE2,0xC1,0xA8,0xF0,0x00,0x00,0x00},
{0x00,0x0B,0x06,0x2A,0x34,0x00,0x00,0x00,0x00,0x1E,0x10,0x1E,0x00,0x1E,0x8C,0x1E},
{0x80,0x9E,0x80,0xCE,0x9C,0xC2,0xCA,0x9E,0xD6,0x80,0x9E,0x4E,0xCE,0x90,0x02,0x96},
{0x1E,0x80,0x1E,0x00,0x02,0x1E,0xE0,0xC2,0xDC,0xE6,0xE1,0xFE,0xE1,0xCE,0xD2,0xD2},
{0xCC,0xC0,0xDE,0xE4,0xE0,0xFB,0xE1,0xC2,0xD6,0xDE,0xC0,0xCC,0xD2,0xD2,0xCC,0xC0},
{0xDE,0xD0,0xCE,0xC0,0xDA,0xD6,0xC0,0xDE,0xC4,0xCC,0xD2,0xE1,0xF1,0xCC,0xDA,0xD2},
{0xC0,0xC0,0xDC,0xC4,0xDE,0xC0,0xDE,0xC2,0xCE,0xDC,0xCE,0xD0,0xCE,0xCE,0xD8,0xE3},
{0x2A,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3E},
{0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3D,0x3A},
{0x38,0x38,0x3C,0x38,0x34,0x38,0x30,0x20,0x30,0x28,0x28,0x34,0x38,0x3F,0x3E,0x3F},
{0x3E,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3C,0x3F},
{0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x03,0x03,0x0F,0x2F},
{0x3F,0x3F,0x3F,0x1F,0x1F,0x2F,0x1F,0x1F,0x03,0x0F,0x0B,0x1F,0x3F,0x0F,0x3F,0x2F},
{0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F},
{0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F},
{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},
                                     
									                 
													 };
/*****************************************
*函数名称:   delayUS(us)
*函数功能    实现1us的延时
*入口参数 :us
*出口参数:无
****************************************/
void delayUS(uint us)      
{
  uint  i;
  us=us*3;
   for(i=0;i<us;i++);
}
/****************************************
*函数名称:   delayMS(ms)
*函数功能    实现1ms的延时
*入口参数 :ms
*出口参数:无

***************************************/
void  delayMS(uint ms)
{
   uint i,j;
   for(i=0;i<1541;i++)
    for(j=0;j<ms;j++);
}
/****************************************


/**************************************
*函数名称:LCD——WRITEDAT(dat)
*函数功能:向LCD写入数据
*入口参数:dat
*出口参数:无
*************************************/
void LCD_WRITE_DAT(uchar dat)
{
    LCDENL;
	delayUS(2);
	LCDDIH;                        //选择为输入数据
	delayUS(2);
	LCDENH;
	delayUS(2);
	PORTC=dat;
	delayUS(2);
	LCDENL;
}
/******************************************

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -